(57)【特許請求の範囲】
【請求項１】
少なくとも第１センサを備える入力装置と第２センサと情報処理装置とを含む情報処理システムであって、
前記入力装置は、外部から力が加わることに応じて少なくとも一部が弾性変形し、前記入力装置上の所定の２点が近づく向きと離れる向きとに変形可能であり、
前記第１センサは、前記入力装置の変形に応じた出力を行い、
前記第２センサは、当該第２センサの動きおよび／または姿勢に応じた出力を行い、
前記情報処理装置は、
前記第１センサの出力に応じた第１データと前記第２センサの出力に応じた第２データとを取得するデータ取得部と、
（Ｉ）前記第１データが、前記入力装置の前記所定の２点が近づく向きまたは離れる向きのうちの一方の態様で変形していることを示す間、前記第２データに基づいて所定のゲーム処理を実行し、（ＩＩ）当該第１データが、当該入力装置の前記所定の２点が近づく向きまたは離れる向きのうちの他方の態様で変形していることを示す間、前記第２データに基づいて当該所定のゲーム処理を実行しないゲーム処理部とを備える、情報処理システム。
【請求項２】
前記入力装置は、環状であり、当該環状上の対向する２点が前記所定の２点とされる、請求項１に記載の情報処理システム。
【請求項３】
前記第１データが、前記入力装置が前記一方の態様で変形していることを示す間であって、（Ｉ−１）当該第１データが、当該入力装置の変形量が第１閾値を超えていることを示す間には、前記第２データに基づいて所定のゲーム処理を実行し、（Ｉ−２）当該第１データが、当該入力装置の変形量が当該第１閾値を超えていないことを示す間には、前記第２データに基づいて所定のゲーム処理を実行しない、請求項１または２に記載の情報処理システム。
【請求項４】
少なくとも第１センサを備える入力装置と第２センサと情報処理装置とを含む情報処理システムであって、
前記入力装置は、外部から力が加わることに応じて少なくとも一部が弾性変形し、
前記第１センサは、前記入力装置の変形に応じた出力を行い、
前記第２センサは、当該第２センサの動きおよび／または姿勢に応じた出力を行い、
前記情報処理装置は、
前記第１センサの出力に応じた第１データと前記第２センサの出力に応じた第２データとを取得するデータ取得部と、
前記第１データに基づいて、前記入力装置が変形していることを当該第１データが示す間、前記第２データに基づいて所定のゲーム処理を実行するゲーム処理部とを備え、
前記ゲーム処理部は、前記入力装置が変形状態から定常状態に所定条件を満たすように戻るまでは、前記所定のゲーム処理の再実行を制限する制限部を含み、
前記データ取得部は、前記所定のゲーム処理の実行中にも前記第１データおよび／または前記第２データを取得し、
前記ゲーム処理部は、前記所定のゲーム処理の実行中に取得した前記第１データおよび／または前記第２データに基づいて、当該所定のゲーム処理の実行後に新たに所定のゲーム処理を再実行する、情報処理システム。
【請求項５】
少なくとも第１センサを備える入力装置と第２センサと情報処理装置とを含む情報処理システムであって、
前記入力装置は、外部から力が加わることに応じて少なくとも一部が弾性変形し、
前記第１センサは、前記入力装置の変形に応じた出力を行い、
前記第２センサは、当該第２センサの動きおよび／または姿勢に応じた出力を行い、
前記情報処理装置は、
前記第１センサの出力に応じた第１データと前記第２センサの出力に応じた第２データとを取得するデータ取得部と、
前記第１データに基づいて、前記入力装置が変形していることを当該第１データが示す間、前記第２データに基づいて所定のゲーム処理を実行するゲーム処理部とを備え、
前記ゲーム処理部は、
前記入力装置が変形している間に前記第２センサに動きが生じている場合には前記所定のゲーム処理を実行し、前記入力装置が変形していない間または前記第２センサに動きが生じていない場合には当該所定のゲーム処理を実行せず、
前記入力装置の変形量が第１閾値を越えていることを前記第１データが示す場合には前記第２データに基づいて前記所定のゲーム処理を実行し、当該変形量が当該第１閾値を超えていることを当該第１データが示さない場合であっても、前記入力装置の変形量が第１閾値を超えたことを示した後であって当該第１閾値よりも小さい第２閾値を下回らないことを示す場合には、前記第２データに基づいて前記所定のゲーム処理を実行する、情報処理システム。
【請求項６】
少なくとも第１センサを備える入力装置と第２センサと情報処理装置とを含む情報処理システムであって、
前記入力装置は、外部から力が加わることに応じて少なくとも一部が弾性変形し、
前記第１センサは、前記入力装置の変形に応じた出力を行い、
前記第２センサは、当該第２センサの動きおよび／または姿勢に応じた出力を行い、
前記情報処理装置は、
前記第１センサの出力に応じた第１データと前記第２センサの出力に応じた第２データとを取得するデータ取得部と、
前記第１データに基づいて、前記入力装置が変形していることを当該第１データが示す間、前記第２データに基づいて所定のゲーム処理を実行するゲーム処理部とを備え、
前記ゲーム処理部は、
前記第２センサに動きが生じたタイミングにおける前記入力装置の変形量に応じて、前記所定のゲーム処理を実行し、
前記第２センサに動きが生じたタイミングにおける前記入力装置の変形量が当該タイミングから所定時間前までの前記入力装置の変形量より小さい場合、当該所定時間前までの前記入力装置の変形量に応じて、前記所定のゲーム処理を実行する、情報処理システム。
【請求項７】
少なくとも第１センサを備える入力装置と第２センサと情報処理装置とを含む情報処理システムであって、
前記入力装置は、外部から力が加わることに応じて少なくとも一部が弾性変形し、
前記第１センサは、前記入力装置の変形に応じた出力を行い、
前記第２センサは、当該第２センサの動きおよび／または姿勢に応じた出力を行い、
前記情報処理装置は、
前記第１センサの出力に応じた第１データと前記第２センサの出力に応じた第２データとを取得するデータ取得部と、
前記第１データに基づいて、前記入力装置が変形していることを当該第１データが示す間、前記第２データに基づいて所定のゲーム処理を実行するゲーム処理部とを備え、
前記ゲーム処理部は、
前記第２データに基づいて、所定の達成目標が設定されるゲームの達成度合いを更新する更新処理を、前記所定のゲーム処理として実行し、前記入力装置が変形していることを検知しない間は、当該更新処理を実行せず、
前記第２データが所定の方向へ前記入力装置が動いたことを示す場合に前記更新処理を実行し、前記第２データが当該所定の方向とは異なる方向へ前記入力装置が動いたことを示す場合には前記更新処理を実行せず、
前記第２データを用いて前記所定の方向へ前記入力装置が動いたことを判定するための閾値を、前記異なる方向へ前記入力装置が動いたことを判定するための閾値より緩く設定する、情報処理システム。
【請求項８】
前記第２センサは、前記入力装置に備えられる、請求項１乃至７の何れか１つに記載の情報処理システム。
【請求項９】
前記第２センサは、角速度センサおよび／または加速度センサである、請求項１乃至８の何れか１つに記載の情報処理システム。
【請求項１０】
前記ゲーム処理部は、前記第２データに基づいて、所定の達成目標が設定されるゲームの達成度合いを更新する更新処理を、前記所定のゲーム処理として実行し、前記入力装置が変形していることを検知しない間は、当該更新処理を実行しない、請求項１乃至６の何れか１つに記載の情報処理システム。
【請求項１１】
前記ゲーム処理部は、前記第２センサに動きが生じたタイミングにおける前記入力装置の変形量に応じて、前記所定のゲーム処理を実行する、請求項１乃至４の何れか１つまたは７に記載の情報処理システム。
【請求項１２】
前記ゲーム処理部は、前記入力装置が変形している間、当該入力装置の変形量を示す画像を生成する変形量画像生成部を含む、請求項６に記載の情報処理システム。
【請求項１３】
前記ゲーム処理部は、前記入力装置が変形状態から定常状態に所定条件を満たすように戻るまでは、前記所定のゲーム処理の再実行を制限する制限部を含む、請求項１乃至４の何れか１つまたは請求項５乃至７の何れか１つに記載の情報処理システム。
【請求項１４】
前記制限部は、前記所定のゲーム処理の実行開始後であって当該ゲーム処理が行われている間において前記入力装置が変形状態から定常状態に前記所定条件を満たすように戻った場合、前記再実行の制限を解除する、請求項１３に記載の情報処理システム。
【請求項１５】
前記ゲーム処理部は、前記第２データが所定の方向へ前記入力装置が動いたことを示す場合に前記所定のゲーム処理として前記達成度合いを更新する更新処理を実行し、前記第２データが当該所定の方向とは異なる方向へ前記入力装置が動いたことを示す場合には前記更新処理を実行しない、請求項１０に記載の情報処理システム。
【請求項１６】
前記第１センサは、自身の変形の検出に応じた出力を行うセンサまたは自身に加わった圧力に応じた出力を行うセンサである、請求項１乃至１５の何れか１つに記載の情報処理システム。
【請求項１７】
前記第１センサは、歪センサである、請求項１乃至１６の何れか１つに記載の情報処理システム。
【請求項１８】
前記ゲーム処理部は、前記入力装置の変形量が第１閾値を越えていることを前記第１データが示す間には、前記第２データに基づいて前記所定のゲーム処理を実行し、当該変形量が当該第１閾値を超えていることを当該第１データが示さない間には、当該所定のゲーム処理を実行しない、請求項４に記載の情報処理システム。
【請求項１９】
少なくとも第１センサを備える入力装置からの出力と第２センサからの出力とを用いて処理を行う情報処理装置のコンピュータで実行される情報処理プログラムであって、
前記入力装置は、外部から力が加わることに応じて少なくとも一部が弾性変形し、前記入力装置上の所定の２点が近づく向きと離れる向きとに変形可能であり、
前記第１センサは、前記入力装置の変形に応じた出力を行い、
前記第２センサは、当該第２センサの動きおよび／または姿勢に応じた出力を行い、
前記コンピュータを、
前記第１センサの出力に応じた第１データと前記第２センサの出力に応じた第２データとを取得するデータ取得手段と、
（Ｉ）前記第１データが、前記入力装置の前記所定の２点が近づく向きまたは離れる向きのうちの一方の態様で変形していることを示す間、前記第２データに基づいて所定のゲーム処理を実行し、（ＩＩ）当該第１データが、当該入力装置の前記所定の２点が近づく向きまたは離れる向きのうちの他方の態様で変形していることを示す間、前記第２データに基づいて当該所定のゲーム処理を実行しないゲーム処理手段として機能させる、情報処理プログラム。
【請求項２０】
少なくとも第１センサを備える入力装置からの出力と第２センサからの出力とを用いて処理を行う情報処理装置であって、
前記入力装置は、外部から力が加わることに応じて少なくとも一部が弾性変形し、前記入力装置上の所定の２点が近づく向きと離れる向きとに変形可能であり、
前記第１センサは、前記入力装置の変形に応じた出力を行い、
前記第２センサは、当該第２センサの動きおよび／または姿勢に応じた出力を行い、
前記情報処理装置は、
前記第１センサの出力に応じた第１データと前記第２センサの出力に応じた第２データとを取得するデータ取得部と、
（Ｉ）前記第１データが、前記入力装置の前記所定の２点が近づく向きまたは離れる向きのうちの一方の態様で変形していることを示す間、前記第２データに基づいて所定のゲーム処理を実行し、（ＩＩ）当該第１データが、当該入力装置の前記所定の２点が近づく向きまたは離れる向きのうちの他方の態様で変形していることを示す間、前記第２データに基づいて当該所定のゲーム処理を実行しないゲーム処理部とを備える、情報処理装置。
【請求項２１】
少なくとも第１センサを備える入力装置からの出力と第２センサからの出力とを用いて処理を行う情報処理方法であって、
前記入力装置は、外部から力が加わることに応じて少なくとも一部が弾性変形し、前記入力装置上の所定の２点が近づく向きと離れる向きとに変形可能であり、
前記第１センサは、前記入力装置の変形に応じた出力を行い、
前記第２センサは、当該第２センサの動きおよび／または姿勢に応じた出力を行い、
前記第１センサの出力に応じた第１データと前記第２センサの出力に応じた第２データとを取得するデータ取得ステップと、
（Ｉ）前記第１データが、前記入力装置の前記所定の２点が近づく向きまたは離れる向きのうちの一方の態様で変形していることを示す間、前記第２データに基づいて所定のゲーム処理を実行し、（ＩＩ）当該第１データが、当該入力装置の前記所定の２点が近づく向きまたは離れる向きのうちの他方の態様で変形していることを示す間、前記第２データに基づいて当該所定のゲーム処理を実行しないゲーム処理ステップとを含む、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ操作に応じてオブジェクトを動作させる処理を行う情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法に関する。
【背景技術】
【０００２】
従来、ユーザに把持される装置の出力を用いたゲーム処理が実行可能な入力装置が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１６−０５９９４３号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１で開示された入力装置を用いたゲームでは、ユーザ体感においては改良の余地があった。
【０００５】
それ故に、本発明の目的は、ユーザ体感を向上させることを可能とする情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
【０００７】
本発明の情報処理システムの一構成例は、少なくとも歪センサを含む入力装置と動きセンサと情報処理装置とを含む。入力装置は、外部から力が加わることに応じて少なくとも一部が弾性変形する。歪センサは、入力装置の変形に応じた出力を行う。動きセンサは、当該動きセンサの動きおよび／または姿勢に応じた出力を行う。情報処理装置は、データ取得部およびゲーム処理部を備える。データ取得部は、歪センサの出力に応じた歪データと動きセンサの出力に応じた動きデータとを取得する。ゲーム処理部は、歪データに基づいて、入力装置が変形していることを検知している間、動きデータに基づいて所定のゲーム処理を実行する。
【０００８】
上記によれば、入力装置を変形させながら動きセンサを動かすことによって所定のゲーム処理が行われるため、入力装置を用いた操作におけるユーザ体感を向上させることができる。
【０００９】
また、上記動きセンサは、入力装置に備えられてもよい。
【００１０】
上記によれば、入力装置を変形させながら動かすことによって所定のゲーム処理が行われるため、入力装置を用いた操作におけるユーザ体感を向上させることができる。
【００１１】
また、上記動きセンサは、角速度センサおよび／または加速度センサを含んでもよい。
【００１２】
上記によれば、角速度および／または加速度によって容易に動きセンサの動きを検出することができる。
【００１３】
また、上記ゲーム処理部は、動きデータに基づいて、所定の達成目標が設定されるゲームの達成度合いを更新する更新処理を、所定のゲーム処理として実行し、入力装置が変形していることを検知しない間は、当該更新処理を実行しなくてもよい。
【００１４】
上記によれば、入力装置を変形させながら動きセンサを動かす複合的な操作について、ユーザが行うインセンティブを与えることができる。
【００１５】
また、上記ゲーム処理部は、入力装置が変形している間に動きセンサに動きが生じている場合には所定のゲーム処理を実行し、入力装置が変形していない間または動きセンサに動きが生じていない場合には当該所定のゲーム処理を実行しなくてもよい。
【００１６】
上記によれば、入力装置を変形させないまたは動きセンサを動かしていない場合、所定のゲーム処理が実行されないため、当該所定のゲーム処理を特定の操作に応じた限定的なものにすることができる。
【００１７】
また、上記ゲーム処理部は、入力装置の変形量が第１閾値を越えていることを歪データが示す場合には動きデータに基づいて所定のゲーム処理を実行し、当該変形量が当該第１閾値を超えていることを当該歪データが示さない場合であっても、入力装置の変形量が第１閾値を超えたことを示した後であって当該第１閾値よりも小さい第２閾値を下回らないことを示す場合には、動きデータに基づいて所定のゲーム処理を実行してもよい。
【００１８】
上記によれば、入力装置を変形させる操作後に当該変形が戻った場合を許容して所定のゲーム処理を継続することができる。
【００１９】
また、上記ゲーム処理部は、動きセンサに動きが生じたタイミングにおける入力装置の変形量に応じて、所定のゲーム処理を実行してもよい。
【００２０】
上記によれば、変形量に応じたゲーム処理となるため、入力装置の変形量によってゲーム内容を制御することができる。
【００２１】
また、上記ゲーム処理部は、動きセンサに動きが生じたタイミングにおける入力装置の変形量が当該タイミングから所定時間前までの入力装置の変形量より小さい場合、当該所定時間前までの入力装置の変形量に応じて、所定のゲーム処理を実行してもよい。
【００２２】
上記によれば、動きセンサに動きが生じたタイミングにおいて入力装置の変形が戻った場合を考慮して所定のゲーム処理を継続することができる。
【００２３】
また、上記ゲーム処理部は、変形量画像生成部を含んでもよい。変形量画像生成部は、入力装置が変形していると間、当該入力装置の変形量を示す画像を生成する。
【００２４】
上記によれば、入力装置を変形させている変形量をユーザに示すことができる。
【００２５】
また、上記ゲーム処理部は、制限部を含んでもよい。制限部は、入力装置が変形状態から定常状態に所定条件を満たすように戻るまでは、所定のゲーム処理の再実行を制限する。
【００２６】
上記によれば、所定のゲーム処理を再度行うためには、入力装置の変形状態を戻す必要があり、入力装置を用いた操作におけるユーザ体感をさらに向上させることができる。
【００２７】
また、上記制限部は、所定のゲーム処理の実行開始後であって当該ゲーム処理が行われている間において入力装置が変形状態から定常状態に所定条件を満たすように戻った場合、再実行の制限を解除してもよい。
【００２８】
上記によれば、所定のゲーム処理の実行中であっても、入力装置の変形状態を戻すことによって、所定のゲーム処理の再実行が可能となるため、入力装置を用いた先行入力が可能となる。
【００２９】
また、上記データ取得部は、所定のゲーム処理の実行中にも歪データまたは動きデータを取得してもよい。上記ゲーム処理部は、所定のゲーム処理の実行中に取得した歪データおよび／または動きデータに基づいて、当該所定のゲームの実行後に新たに所定のゲーム処理を再実行してもよい。
【００３０】
上記によれば、所定のゲーム処理の実行中であっても、当該実行中に取得された歪データおよび／または動きデータに基づいて新たな所定のゲーム処理が可能となるため、ユーザによる先行入力が可能となる。
【００３１】
また、上記ゲーム処理部は、入力装置が変形していない状態から変形した状態となったタイミングの動きデータを用いて当該入力装置の基準姿勢を算出し当該基準姿勢と、当該タイミング以降に取得した動きデータとに基づいて所定のゲーム処理を実行してもよい。
【００３２】
上記によれば、動きセンサの動きによる操作の判定に用いる基準姿勢の算出を、入力装置を変形させる操作によって行うことができる。
【００３３】
また、上記ゲーム処理部は、動きデータが所定の方向へ入力装置が動いたことを示す場合に所定のゲーム処理として達成度合いを更新する更新処理を実行し、動きデータが当該所定の方向とは異なる方向へ入力装置が動いたことを示す場合には更新処理を実行しなくてもよい。
【００３４】
上記によれば、入力装置が動く方向に応じて、異なるゲーム処理を行うことができる。
【００３５】
また、上記ゲーム処理部は、動きデータを用いて所定の方向へ入力装置が動いたことを判定するための閾値を、異なる方向へ入力装置が動いたことを判定するための閾値より緩く設定してもよい。
【００３６】
上記によれば、入力装置が動く方向に応じて、操作感覚を調整することができる。
【００３７】
また、本発明は、情報処理プログラム、情報処理装置、情報処理方法の形態で実施されてもよい。
【００３８】
本発明の情報処理システムの他の構成例は、少なくとも歪センサを備える入力装置と動きセンサと情報処理装置とを含む。入力装置は、外部から力が加わることに応じて少なくとも一部が弾性変形する。歪センサは、入力装置の変形に応じた出力を行う。動きセンサは、当該動きセンサの動きおよび／または姿勢に応じた出力を行う。情報処理装置は、データ取得部およびゲーム処理部を備える。データ取得部は、歪センサの出力に応じた歪データと動きセンサの出力に応じた動きデータとを取得する。ゲーム処理部は、動きデータに基づいて動きセンサに動きが生じたことを検知したタイミングにおいて、歪データに基づいて入力装置が変形していることを検知した場合、所定のゲーム処理を実行する。
【００３９】
上記によれば、入力装置を変形させながら動きセンサを動かすことによって所定のゲーム処理が行われるため、入力装置を用いた操作におけるユーザ体感を向上させることができる。
【発明の効果】
【００４０】
本発明によれば、入力装置を変形させながら動きセンサを動かすことによって所定のゲーム処理が行われるため、入力装置を用いた操作におけるユーザ体感を向上させることができる。
【図面の簡単な説明】
【００４１】
【図１】ゲームシステム１に含まれる各装置の一例を示す図
【図２】本体装置２に左コントローラ３および右コントローラ４を装着した状態の一例を示す図
【図３】本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図
【図４】本体装置２の一例を示す六面図
【図５】左コントローラ３の一例を示す六面図
【図６】右コントローラ４の一例を示す六面図
【図７】本体装置２の内部構成の一例を示すブロック図
【図８】本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図
【図９】リング型拡張装置の一例を示す図
【図１０】リング型拡張装置５が備える構成要素の電気的な接続関係を示すブロック図
【図１１】ユーザがリング型拡張装置５を両手で把持してプレイする様子を示す図
【図１２】第１のゲーム例において、ユーザがリング型拡張装置５を操作する様子の一例を示す図
【図１３】ユーザ操作に応じて据置型モニタ９に表示される第１のゲーム例におけるゲーム画像の第１の例を示す図
【図１４】ユーザ操作に応じて据置型モニタ９に表示される第１のゲーム例におけるゲーム画像の第２の例を示す図
【図１５】ユーザ操作に応じて据置型モニタ９に表示される第１のゲーム例におけるゲーム画像の第３の例を示す図
【図１６】第１のゲーム例において本体装置２のＤＲＡＭ８５に設定されるデータ領域の一例を示す図
【図１７】第１のゲーム例においてゲームシステム１で実行される情報処理の一例を示すフローチャート
【図１８】図１７におけるステップＳ３０７において行われるスイング設定処理の詳細な一例を示すサブルーチン
【図１９】図１７におけるステップＳ３１１において行われるスイング演出処理の詳細な一例を示すサブルーチン
【図２０】第２のゲーム例において、ユーザがリング型拡張装置５を操作する様子の一例を示す図
【図２１】ユーザ操作に応じて据置型モニタ９に表示される第２のゲーム例におけるゲーム画像の第１の例を示す図
【図２２】ユーザ操作に応じて据置型モニタ９に表示される第２のゲーム例におけるゲーム画像の第２の例を示す図
【図２３】ユーザ操作に応じて据置型モニタ９に表示される第２のゲーム例におけるゲーム画像の第３の例を示す図
【図２４】第２のゲーム例において本体装置２のＤＲＡＭ８５に設定されるデータ領域の一例を示す図
【図２５】第２のゲーム例においてゲームシステム１で実行される情報処理の一例を示すフローチャート
【図２６】図２５におけるステップＳ４１０において行われるジャンプ演出処理の詳細な一例を示すサブルーチン
【発明を実施するための形態】
【００４２】
以下、本実施形態の一例に係る情報処理システムについて説明する。本実施形態における情報処理システムは、一例としてゲームシステム１を用いている。図１は、ゲームシステム１に含まれる各装置の一例を示す図である。図１に示すように、ゲームシステム１は、本体装置２と、右コントローラ４と、リング型拡張装置５とを含む。
【００４３】
本体装置２は、情報処理装置の一例であり、本実施形態ではゲーム機本体として機能する。本体装置２には、左コントローラ３および右コントローラ４がそれぞれ着脱可能である（図１および図３参照）。つまり、ユーザは、左コントローラ３および右コントローラ４をそれぞれ本体装置２に装着して一体化された装置として使用することができる（図２参照）。また、ユーザは、本体装置２と左コントローラ３および右コントローラ４とを別体として使用することもできる（図３参照）。なお、以下においては、本体装置２と各コントローラ３および４とをまとめて、「ゲーム装置」と呼ぶことがある。
【００４４】
リング型拡張装置５は、右コントローラ４に用いられる拡張装置の一例である。リング型拡張装置５は、右コントローラ４をリング型拡張装置５に装着した状態で使用される。このように、本実施形態においては、ユーザは、コントローラ４を拡張装置に装着した状態で使用することもできる（図１１参照）。
【００４５】
図２は、本体装置２に左コントローラ３および右コントローラ４を装着した状態の一例を示す図である。図２に示すように、左コントローラ３および右コントローラ４は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、ゲームシステム１における各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置２は、ディスプレイ１２を備える。左コントローラ３および右コントローラ４は、ユーザが入力を行うための操作部を備える装置である。
【００４６】
図３は、本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図である。図２および図３に示すように、左コントローラ３および右コントローラ４は、本体装置２に着脱可能である。なお、以下において、左コントローラ３および右コントローラ４の総称として「コントローラ」と記載することがある。
【００４７】
図４は、本体装置２の一例を示す六面図である。図４に示すように、本体装置２は、略板状のハウジング１１を備える。本実施形態において、ハウジング１１の主面（換言すれば、表側の面、すなわち、ディスプレイ１２が設けられる面）は、大略的には矩形形状である。
【００４８】
なお、ハウジング１１の形状および大きさは、任意である。一例として、ハウジング１１は、携帯可能な大きさであってよい。また、本体装置２単体または本体装置２に左コントローラ３および右コントローラ４が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２または一体型装置が手持ち型の装置となってもよい。また、本体装置２または一体型装置が可搬型装置となってもよい。
【００４９】
図４に示すように、本体装置２は、ハウジング１１の主面に設けられるディスプレイ１２を備える。ディスプレイ１２は、本体装置２が生成した画像を表示する。本実施形態においては、ディスプレイ１２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ１２は任意の種類の表示装置であってよい。
【００５０】
また、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備える。本実施形態においては、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル１３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００５１】
本体装置２は、ハウジング１１の内部においてスピーカ（すなわち、図７に示すスピーカ８８）を備えている。図４に示すように、ハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成される。そして、スピーカ８８の出力音は、これらのスピーカ孔１１ａおよび１１ｂからそれぞれ出力される。
【００５２】
また、本体装置２は、本体装置２が左コントローラ３と有線通信を行うための端子である左側端子１７と、本体装置２が右コントローラ４と有線通信を行うための右側端子２１を備える。
【００５３】
図４に示すように、本体装置２は、スロット２３を備える。スロット２３は、ハウジング１１の上側面に設けられる。スロット２３は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム１およびそれと同種の情報処理装置に専用の記憶媒体（例えば、専用メモリカード）である。所定の種類の記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２８を備える。
【００５４】
本体装置２は、下側端子２７を備える。下側端子２７は、本体装置２がクレードルと通信を行うための端子である。本実施形態において、下側端子２７は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。上記一体型装置または本体装置２単体をクレードルに載置した場合、ゲームシステム１は、本体装置２が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置２単体を充電する機能を有する。また、クレードルは、ハブ装置（具体的には、ＵＳＢハブ）の機能を有する。
【００５５】
図５は、左コントローラ３の一例を示す六面図である。図５に示すように、左コントローラ３は、ハウジング３１を備える。本実施形態においては、ハウジング３１は、縦長の形状、すなわち、上下方向（すなわち、図２および図５に示すｙ軸方向）に長い形状である。左コントローラ３は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング３１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ３は、横長となる向きで把持されることも可能である。左コントローラ３が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００５６】
左コントローラ３は、アナログスティック３２を備える。図５に示すように、アナログスティック３２は、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック３２を傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。なお、左コントローラ３は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック３２を押下する入力が可能である。
【００５７】
左コントローラ３は、各種操作ボタンを備える。左コントローラ３は、ハウジング３１の主面上に４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および左方向ボタン３６）を備える。さらに、左コントローラ３は、録画ボタン３７および−（マイナス）ボタン４７を備える。左コントローラ３は、ハウジング３１の側面の左上に第１Ｌボタン３８およびＺＬボタン３９を備える。また、左コントローラ３は、ハウジング３１の側面の、本体装置２に装着される際に装着される側の面に第２Ｌボタン４３および第２Ｒボタン４４を備える。これらの操作ボタンは、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。
【００５８】
また、左コントローラ３は、左コントローラ３が本体装置２と有線通信を行うための端子４２を備える。
【００５９】
図６は、右コントローラ４の一例を示す六面図である。図６に示すように、右コントローラ４は、ハウジング５１を備える。本実施形態においては、ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング５１は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ４は、横長となる向きで把持されることも可能である。右コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００６０】
右コントローラ４は、左コントローラ３と同様、方向入力部としてアナログスティック５２を備える。本実施形態においては、アナログスティック５２は、左コントローラ３のアナログスティック３２と同じ構成である。また、右コントローラ４は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ４は、左コントローラ３と同様、ハウジング５１の主面上に４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、およびＹボタン５６）を備える。さらに、右コントローラ４は、＋（プラス）ボタン５７およびホームボタン５８を備える。また、右コントローラ４は、ハウジング５１の側面の右上に第１Ｒボタン６０およびＺＲボタン６１を備える。また、右コントローラ４は、左コントローラ３と同様、第２Ｌボタン６５および第２Ｒボタン６６を備える。
【００６１】
また、ハウジング５１の下側面には、窓部６８が設けられる。詳細は後述するが、右コントローラ４は、ハウジング５１の内部に配置される赤外撮像部１２３および赤外発光部１２４を備えている。赤外撮像部１２３は、右コントローラ４の下方向（図６に示すｙ軸負方向）を撮像方向として、窓部６８を介して右コントローラ４の周囲を撮像する。赤外発光部１２４は、右コントローラ４の下方向（図６に示すｙ軸負方向）を中心とする所定範囲を照射範囲として、赤外撮像部１２３が撮像する撮像対象に窓部６８を介して赤外光を照射する。窓部６８は、赤外撮像部１２３のカメラのレンズや赤外発光部１２４の発光体等を保護するためのものであり、当該カメラが検知する波長の光や当該発光体が照射する光を透過する材質（例えば、透明な材質）で構成される。なお、窓部６８は、ハウジング５１に形成された孔であってもよい。なお、本実施形態においては、カメラが検知する光（本実施形態においては、赤外光）以外の波長の光の透過を抑制するフィルタ部材を赤外撮像部１２３自身が有する。ただし、他の実施形態においては、窓部６８がフィルタの機能を有していてもよい。
【００６２】
また、右コントローラ４は、右コントローラ４が本体装置２と有線通信を行うための端子６４を備える。
【００６３】
図７は、本体装置２の内部構成の一例を示すブロック図である。本体装置２は、図４に示す構成の他、図７に示す各構成要素８１〜９１、９７、および９８を備える。これらの構成要素８１〜９１、９７、および９８のいくつかは、電子部品として電子回路基板上に実装されてハウジング１１内に収納されてもよい。
【００６４】
本体装置２は、プロセッサ８１を備える。プロセッサ８１は、本体装置２において実行される各種の情報処理を実行する情報処理部であって、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のみから構成されてもよいし、ＣＰＵ機能、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）機能等の複数の機能を含むＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）から構成されてもよい。プロセッサ８１は、記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、あるいは、スロット２３に装着される外部記憶媒体等）に記憶される情報処理プログラム（例えば、ゲームプログラム）を実行することによって、各種の情報処理を実行する。
【００６５】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８５を備える。フラッシュメモリ８４およびＤＲＡＭ８５は、プロセッサ８１に接続される。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００６６】
本体装置２は、スロットインターフェース（以下、「Ｉ／Ｆ」と略記する。）９１を備える。スロットＩ／Ｆ９１は、プロセッサ８１に接続される。スロットＩ／Ｆ９１は、スロット２３に接続され、スロット２３に装着された所定の種類の記憶媒体（例えば、専用メモリカード）に対するデータの読み出しおよび書き込みを、プロセッサ８１の指示に応じて行う。
【００６７】
プロセッサ８１は、フラッシュメモリ８４およびＤＲＡＭ８５、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００６８】
本体装置２は、ネットワーク通信部８２を備える。ネットワーク通信部８２は、プロセッサ８１に接続される。ネットワーク通信部８２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。本実施形態においては、ネットワーク通信部８２は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部８２は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００６９】
本体装置２は、コントローラ通信部８３を備える。コントローラ通信部８３は、プロセッサ８１に接続される。コントローラ通信部８３は、左コントローラ３および／または右コントローラ４と無線通信を行う。本体装置２と左コントローラ３および右コントローラ４との通信方式は任意であるが、本実施形態においては、コントローラ通信部８３は、左コントローラ３との間および右コントローラ４との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００７０】
プロセッサ８１は、上述の左側端子１７、右側端子２１、および下側端子２７に接続される。プロセッサ８１は、左コントローラ３と有線通信を行う場合、左側端子１７を介して左コントローラ３へデータを送信するとともに、左側端子１７を介して左コントローラ３から操作データを受信する。また、プロセッサ８１は、右コントローラ４と有線通信を行う場合、右側端子２１を介して右コントローラ４へデータを送信するとともに、右側端子２１を介して右コントローラ４から操作データを受信する。また、プロセッサ８１は、クレードルと通信を行う場合、下側端子２７を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置２は、左コントローラ３および右コントローラ４との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置または本体装置２単体がクレードルに装着された場合、本体装置２は、クレードルを介してデータ（例えば、画像データや音声データ）を据置型モニタ等に出力することができる。
【００７１】
ここで、本体装置２は、複数の左コントローラ３と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。したがって、複数のユーザは、左コントローラ３および右コントローラ４のセットをそれぞれ用いて、本体装置２に対する入力を同時に行うことができる。一例として、第１ユーザが左コントローラ３および右コントローラ４の第１セットを用いて本体装置２に対して入力を行うと同時に、第２ユーザが左コントローラ３および右コントローラ４の第２セットを用いて本体装置２に対して入力を行うことが可能となる。
【００７２】
本体装置２は、タッチパネル１３の制御を行う回路であるタッチパネルコントローラ８６を備える。タッチパネルコントローラ８６は、タッチパネル１３とプロセッサ８１との間に接続される。タッチパネルコントローラ８６は、タッチパネル１３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ８１へ出力する。
【００７３】
また、ディスプレイ１２は、プロセッサ８１に接続される。プロセッサ８１は、（例えば、上記の情報処理の実行によって）生成した画像および／または外部から取得した画像をディスプレイ１２に表示する。
【００７４】
本体装置２は、コーデック回路８７およびスピーカ（具体的には、左スピーカおよび右スピーカ）８８を備える。コーデック回路８７は、スピーカ８８および音声入出力端子２５に接続されるとともに、プロセッサ８１に接続される。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する回路である。
【００７５】
また、本体装置２は、加速度センサ８９を備える。本実施形態においては、加速度センサ８９は、所定の３軸（例えば、図２に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ８９は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。
【００７６】
また、本体装置２は、角速度センサ９０を備える。本実施形態においては、角速度センサ９０は、所定の３軸（例えば、図２に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ９０は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。
【００７７】
加速度センサ８９および角速度センサ９０は、プロセッサ８１に接続され、加速度センサ８９および角速度センサ９０の検出結果は、プロセッサ８１へ出力される。プロセッサ８１は、上記の加速度センサ８９および角速度センサ９０の検出結果に基づいて、本体装置２の動きおよび／または姿勢に関する情報を算出することが可能である。
【００７８】
本体装置２は、電力制御部９７およびバッテリ９８を備える。電力制御部９７は、バッテリ９８およびプロセッサ８１に接続される。また、図示しないが、電力制御部９７は、本体装置２の各部（具体的には、バッテリ９８の電力の給電を受ける各部、左側端子１７、および右側端子２１）に接続される。電力制御部９７は、プロセッサ８１からの指令に基づいて、バッテリ９８から上記各部への電力供給を制御する。
【００７９】
また、バッテリ９８は、下側端子２７に接続される。外部の充電装置（例えば、クレードル）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、供給された電力がバッテリ９８に充電される。
【００８０】
図８は、本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図である。なお、本体装置２に関する内部構成の詳細については、図７で示しているため図８では省略している。
【００８１】
左コントローラ３は、本体装置２との間で通信を行う通信制御部１０１を備える。図８に示すように、通信制御部１０１は、端子４２を含む各構成要素に接続される。本実施形態においては、通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行うことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行う。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行う。コントローラ通信部８３と通信制御部１０１との間の無線通信は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）の規格に従って行われる。
【００８２】
また、左コントローラ３は、例えばフラッシュメモリ等のメモリ１０２を備える。通信制御部１０１は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【００８３】
左コントローラ３は、各ボタン１０３（具体的には、ボタン３３〜３９、４３、４４、および４７）を備える。また、左コントローラ３は、アナログスティック（図８では「スティック」と記載する）３２を備える。各ボタン１０３およびアナログスティック３２は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部１０１へ出力する。
【００８４】
左コントローラ３は、慣性センサを備える。具体的には、左コントローラ３は、加速度センサ１０４を備える。また、左コントローラ３は、角速度センサ１０５を備える。本実施形態においては、加速度センサ１０４は、所定の３軸（例えば、図５に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ１０５は、所定の３軸（例えば、図５に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５は、それぞれ通信制御部１０１に接続される。そして、加速度センサ１０４および角速度センサ１０５の検出結果は、適宜のタイミングで繰り返し通信制御部１０１へ出力される。
【００８５】
通信制御部１０１は、各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から、入力に関する情報（具体的には、操作に関する情報、またはセンサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【００８６】
上記操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ３に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン１０３およびアナログスティック３２に対する操作を、操作データに基づいて判別することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を、操作データ（具体的には、加速度センサ１０４および角速度センサ１０５の検出結果）に基づいて算出することができる。
【００８７】
左コントローラ３は、振動によってユーザに通知を行うための振動子１０７を備える。本実施形態においては、振動子１０７は、本体装置２からの指令によって制御される。すなわち、通信制御部１０１は、本体装置２からの上記指令を受け取ると、当該指令に従って振動子１０７を駆動させる。ここで、左コントローラ３は、コーデック部１０６を備える。通信制御部１０１は、上記指令を受け取ると、指令に応じた制御信号をコーデック部１０６へ出力する。コーデック部１０６は、通信制御部１０１からの制御信号から振動子１０７を駆動させるための駆動信号を生成して振動子１０７へ与える。これによって振動子１０７が動作する。
【００８８】
振動子１０７は、より具体的にはリニア振動モータである。リニア振動モータは、回転運動をする通常のモータと異なり、入力される電圧に応じて所定方向に駆動されるため、入力される電圧の波形に応じた振幅および周波数で振動をさせることができる。本実施形態において、本体装置２から左コントローラ３に送信される振動制御信号は、単位時間ごとに周波数と振幅とを表すデジタル信号であってよい。別の実施形態においては、本体装置２から波形そのものを示す情報を送信するようにしてもよいが、振幅および周波数だけを送信することで通信データ量を削減することができる。また、さらにデータ量を削減するため、そのときの振幅および周波数の数値に替えて、前回の値からの差分だけを送信するようにしてもよい。この場合、コーデック部１０６は、通信制御部１０１から取得される振幅および周波数の値を示すデジタル信号をアナログの電圧の波形に変換し、当該波形に合わせて電圧を入力することで振動子１０７を駆動させる。したがって、本体装置２は、単位時間ごとに送信する振幅および周波数を変えることによって、そのときに振動子１０７を振動させる振幅および周波数を制御することができる。なお、本体装置２から左コントローラ３に送信される振幅および周波数は、１つに限らず、２つ以上送信するようにしてもよい。その場合、コーデック部１０６は、受信された複数の振幅および周波数それぞれが示す波形を合成することで、振動子１０７を制御する電圧の波形を生成することができる。
【００８９】
左コントローラ３は、電力供給部１０８を備える。本実施形態において、電力供給部１０８は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ３の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。
【００９０】
図８に示すように、右コントローラ４は、本体装置２との間で通信を行う通信制御部１１１を備える。また、右コントローラ４は、通信制御部１１１に接続されるメモリ１１２を備える。通信制御部１１１は、端子６４を含む各構成要素に接続される。通信制御部１１１およびメモリ１１２は、左コントローラ３の通信制御部１０１およびメモリ１０２と同様の機能を有する。したがって、通信制御部１１１は、端子６４を介した有線通信と、端子６４を介さない無線通信（具体的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信）との両方で本体装置２と通信を行うことが可能であり、右コントローラ４が本体装置２に対して行う通信方法を制御する。
【００９１】
右コントローラ４は、左コントローラ３の各入力部と同様の各入力部を備える。具体的には、各ボタン１１３、アナログスティック５２、慣性センサ（加速度センサ１１４および角速度センサ１１５）を備える。これらの各入力部については、左コントローラ３の各入力部と同様の機能を有し、同様に動作する。なお、右コントローラ４に備えられる慣性センサ（例えば、加速度センサ１１４や角速度センサ１１５）が動きセンサの一例に相当する。
【００９２】
また、右コントローラ４は、振動子１１７およびコーデック部１１６を備える。振動子１１７およびコーデック部１１６は、左コントローラ３の振動子１０７およびコーデック部１０６と同様に動作する。すなわち、通信制御部１１１は、本体装置２からの指令に従って、コーデック部１１６を用いて振動子１１７を動作させる。
【００９３】
また、右コントローラ４は、赤外撮像部１２３を備える。赤外撮像部１２３は、右コントローラ４の周囲を撮像する赤外線カメラを有する。一例として、本体装置２および／または右コントローラ４は、撮像された情報（例えば、撮像された撮像画像における少なくとも一部の領域全体を分割した複数のブロックの輝度に関連する情報等）を算出し、当該情報に基づいて、右コントローラ４の周囲変化を判別する。また、赤外撮像部１２３は、環境光によって撮像を行ってもよいが、本実施形態においては、赤外線を照射する赤外発光部１２４を有する。赤外発光部１２４は、例えば、赤外線カメラが画像を撮像するタイミングと同期して、赤外線を照射する。そして、赤外発光部１２４によって照射された赤外線が撮像対象によって反射され、当該反射された赤外線が赤外線カメラによって受光されることで、赤外線の画像が取得される。これによって、赤外撮像部１２３は、より鮮明な赤外線画像を得ることができる。なお、赤外撮像部１２３と赤外発光部１２４とは、それぞれ別のデバイスとして右コントローラ４内に設けられてもよいし、同じパッケージ内に設けられた単一のデバイスとして右コントローラ４内に設けられてもよい。また、本実施形態においては、赤外線カメラを有する赤外撮像部１２３が用いられるが、他の実施形態においては、撮像手段として、赤外線カメラに代えて可視光カメラ（可視光イメージセンサを用いたカメラ）が用いられてもよい。
【００９４】
右コントローラ４は、処理部１２１を備える。処理部１２１は、通信制御部１１１に接続される。また、処理部１２１は、赤外撮像部１２３、および赤外発光部１２４に接続される。
【００９５】
また、処理部１２１は、ＣＰＵやメモリ等を含み、右コントローラ４に備えられた図示しない記憶装置（例えば、不揮発性メモリ等）に記憶された所定のプログラム（例えば、画像処理や各種演算を行うためのアプリケーションプログラム）に基づいて、本体装置２からの指令に応じて赤外撮像部１２３に対する管理処理を実行する。例えば、処理部１２１は、赤外撮像部１２３に撮像動作を行わせたり、撮像結果に基づく情報（撮像画像の情報、あるいは、当該情報から算出される情報等）を取得および／または算出して通信制御部１１１を介して本体装置２へ送信したりする。また、処理部１２１は、本体装置２からの指令に応じて赤外発光部１２４に対する管理処理を実行する。例えば、処理部１２１は、本体装置２からの指令に応じて赤外発光部１２４の発光を制御する。なお、処理部１２１が処理を行う際に用いるメモリは、処理部１２１内に設けられてもいいし、メモリ１１２であってもよい。
【００９６】
右コントローラ４は、電力供給部１１８を備える。電力供給部１１８は、左コントローラ３の電力供給部１０８と同様の機能を有し、同様に動作する。
【００９７】
図９は、リング型拡張装置の一例を示す図である。なお、図９は、右コントローラ４が装着された状態のリング型拡張装置５を示している。本実施形態においては、リング型拡張装置５は、右コントローラ４を装着可能な拡張装置である。詳細は後述するが、本実施形態においては、ユーザは、リング型拡張装置５に力を加えて変形させるという新規な操作を行う。ユーザは、例えばエクササイズを行う感覚でリング型拡張装置５を用いたフィットネス動作を行うことによって、リング型拡張装置５に対する操作を行うことができる。なお、リング型拡張装置５が入力装置の一例に相当する。
【００９８】
図９に示すように、リング型拡張装置５は、環状部２０１と、本体部２０２とを備える。環状部２０１は、環状の形状を有する。なお、本実施形態においては、環状部２０１は、後述する弾性部材および台座部によって環状に形成される。本実施形態においては、環状部２０１は円環状である。なお、他の実施形態においては、環状部２０１の形状は任意であり、例えば楕円環状であってもよい。
【００９９】
本体部２０２は、環状部２０１に設けられる。本体部２０２は、図示しないレール部を有する。レール部は、右コントローラ４を装着可能な装着部の一例である。本実施形態においては、レール部は、右コントローラ４のスライダ６２（図６参照）に対してスライド可能に係合する。スライダ６２がレール部材に対して所定の直線方向（すなわち、スライド方向）に挿入されることで、レール部材に対してスライダ６２が当該直線方向にスライド移動が可能な状態でレール部材がスライダ６２と係合する。なお、レール部は、コントローラのスライダに対してスライド可能に係合することが可能である点で、本体装置２が有するレール部と同様である。そのため、レール部は、本体装置２が有するレール部と同様の構成であってもよい。
【０１００】
本実施形態においては、右コントローラ４は、係止部６３を有する（図６参照）。係止部６３は、スライダ６２から側方（すなわち、図６に示すｚ軸正方向）に突出して設けられる。係止部６３は、スライダ６２の内部の方向へ移動可能であるとともに、上記側方へ突出した状態となる向きに（例えばバネによって）付勢されている。また、レール部には、切欠きが設けられる。スライダ６２がレール部の奥まで挿入された状態において、係止部６３は切欠きに係止する。レール部にスライダ６２が係合した状態で係止部６３が切欠きに係止することによって、本体部２０２に右コントローラ４が装着される。
【０１０１】
なお、右コントローラ４は、押下可能な解除ボタン６９を備える（図６参照）。上記係止部６３は、解除ボタン６９が押下されることに応じて、スライダ６２の内部の方向へ移動し、スライダ６２に対して突出しない（あるいは、ほとんど突出しない）状態となる。したがって、リング型拡張装置５の本体部２０２に右コントローラ４が装着された状態において、解除ボタン６９が押下されると、係止部６３は切欠きに係止しなくなる（あるいは、ほとんど係止しなくなる）。以上より、リング型拡張装置５の本体部２０２に右コントローラ４が装着される状態において、ユーザは、解除ボタン６９を押下することによって右コントローラ４をリング型拡張装置５から容易に取り外すことができる。
【０１０２】
図９に示すように、リング型拡張装置５は、グリップカバー２０３および２０４を有する。グリップカバー２０３および２０４は、ユーザが把持するための部品である。本実施形態においては、グリップカバー２０３および２０４は、環状部２０１に対して取り外し可能である。本実施形態においては、環状部２０１の左端付近の左把持部分に左グリップカバー２０３が設けられ、環状部２０１の右端付近の右把持部分に右グリップカバー２０４が設けられる。なお、把持部分の数は任意であり、想定される操作方法に応じて、３箇所以上に把持部分が設けられてもよいし、１箇所のみに把持部分が設けられてもよい。また、ゲームの内容（あるいは、ゲームにおいてユーザが行うフィットネス動作の内容）によっては、複数の把持部のうちの特定の把持部のみが片手または両手で把持されることがあってもよい。
【０１０３】
図１０は、リング型拡張装置５が備える構成要素の電気的な接続関係を示すブロック図である。図１０に示すように、リング型拡張装置５は、歪み検出部２１１を備える。歪み検出部２１１は、環状部２０１が変形したことを検出する検出部の一例である。本実施形態においては、歪み検出部２１１は、歪みゲージを含む。歪み検出部２１１は、後述する弾性部材の変形に応じた台座部の歪みを示す信号（換言すれば、弾性部材の変形の大きさおよび変形の向きを示す信号）を出力する。
【０１０４】
ここで、本実施形態においては、環状部２０１は、弾性変形可能な弾性部と、台座部とを有する。台座部は、当該台座部と弾性部材とによって環が形成されるように当該弾性部材の両端部を保持する。なお、台座部は、本体部２０２の内部に設けられるので、図９において図示されていない。台座部は、弾性部材よりも剛性が高い材質で構成される。例えば、弾性部材は、樹脂（具体的には、ＦＲＰ（Ｆｉｂｅｒ  Ｒｅｉｎｆｏｒｃｅｄ  Ｐｌａｓｔｉｃｓ））で構成され、台座部は、金属で構成される。上記歪みゲージは、台座部に設けられ、当該台座部の歪みを検出する。環状部２０１が定常状態から変形した場合、変形によって台座部に歪みが生じるので、歪みゲージによって台座部の歪みが検出される。検出された歪みに基づいて、環状部２０１が変形する向き（すなわち、２つのグリップカバー２０３および２０４が近づく向き、または、離れる向き）と、変形量とを算出することができる。ここで、環状部２０１の定常状態とは、上記台座部と弾性部材とによって環が形成されるように当該弾性部材を環形状に成形し、上記台座部が当該弾性部材の両端部を保持した状態において、環状部２０１に対して外部から（例えば、ユーザから）弾性部材を当該環形状から変形させる力が加わっていない状態を示している。そして、環状部２０１の変形状態とは、外部から力が加えられることによって、加えられた力に応じて定常状態から変形している状態を指すものとする。環状部２０１を上記歪みゲージは、当該環形状を初期値として当該環形状から変形した際の歪みを検出することになる。
【０１０５】
なお、他の実施形態においては、歪み検出部２１１は、歪みゲージに代えて、環状部２０１が定常状態から変形したことを検出可能な任意のセンサを含んでもよい。例えば、検出部２１１は、環状部２０１が変形した場合に加わる圧力を検出する感圧センサを含んでもよいし、環状部２０１が曲げられた量を検出する曲げセンサを含んでもよい。
【０１０６】
リング型拡張装置５は、信号変換部２１２を備える。本実施形態においては、信号変換部２１２は、アンプと、ＡＤコンバータとを含む。信号変換部２１２は、歪み検出部２１１に電気的に接続され、歪み検出部２１１の出力信号をアンプによって増幅し、ＡＤコンバータによってＡＤ変換を行う。信号変換部２１２は、歪み検出部２１１によって検出された歪み値を示すデジタル信号を出力する。なお、他の実施形態においては、信号変換部２１２はＡＤコンバータを含まず、後述する処理部２１３がＡＤコンバータを含んでいてもよい。
【０１０７】
リング型拡張装置５は、処理部２１３を備える。処理部２１３は、プロセッサとメモリとを備える処理回路であり、例えばＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）である。処理部２１３は、信号変換部２１２に電気的に接続され、信号変換部２１２の出力信号が処理部２１３に入力される。また、リング型拡張装置５は、端子２１４を備える。端子２１４は、処理部２１３に電気的に接続される。リング型拡張装置５に右コントローラ４が装着されている場合、処理部２１３は、信号変換部２１２の出力信号が示す歪み値を示す情報（換言すれば、後述するリング操作データ）を、端子２１４を介して右コントローラ４へ送信する。
【０１０８】
リング型拡張装置５は、電力変換部２１５を備える。電力変換部２１５は、上記各部２１１〜２１４に電気的に接続される。電力変換部２１５は、端子２１４を介して外部（すなわち、右コントローラ４）から供給される電力を、上記各部２１１〜２１４に供給する。電力変換部２１５は、供給される電力について電圧等の調整を行って上記各部２１１〜２１４に供給してもよい。
【０１０９】
なお、リング型拡張装置５が他の装置へ送信する「歪み検出部の検出結果に関するデータ」は、当該検出結果（本実施形態においては、台座部の歪みを示す、歪み検出部２１１の出力信号）そのものを示すデータであってもよいし、当該検出結果に対して何らかの処理（例えば、データ形式の変換、および／または、歪み値に対する計算処理等）が行われることによって得られるデータであってもよい。例えば、処理部２１３は、上記検出結果である歪み値に基づいて弾性部材の変形量を算出する処理を行ってもよく、このとき、「歪み検出部の検出結果に関するデータ」は、当該変形量を示すデータであってもよい。
【０１１０】
なお、他の実施形態においては、リング型拡張装置５は、電池を備え、当該電池の電力によって動作してもよい。また、リング型拡張装置５が備える電池は、右コントローラ４から供給される電力によって充電可能な充電池であってもよい。
【０１１１】
図１１は、リング型拡張装置５およびベルト型拡張装置６をユーザが使用する様子の一例を示す図である。図１１に示すように、ユーザは、ゲーム装置（すなわち、本体装置２および右コントローラ４）に加えて、リング型拡張装置５を用いてゲームを行うことができる。
【０１１２】
例えば図１１に示すように、ユーザは、右コントローラ４が装着されたリング型拡張装置５を両手で把持する。このとき、ユーザは、リング型拡張装置５に対する操作（例えば、リング型拡張装置５を曲げる操作、および、リング型拡張装置５を動かす操作）によって、ゲームを行うことができる。
【０１１３】
なお、図１１においては、ユーザがグリップカバー２０３および２０４を把持してリング型拡張装置５を曲げる動作を行う様子を例示している。この動作によって、ユーザは、両腕を鍛えるフィットネス動作をゲーム操作として行うことができる。なお、ユーザはリング型拡張装置５に対する種々の動作でゲーム操作を行うことができる。例えば、ユーザは、一方のグリップカバーを両手で把持し、他方のグリップカバーを腹部に当てた状態で、リング型拡張装置５を曲げる動作を行うこともできる。この動作によって、ユーザは、腕と腹筋を鍛えるフィットネス動作をゲーム操作として行うことができる。また、ユーザは、両足の内股にグリップカバー２０３および２０４を当ててリング型拡張装置５を足で挟んだ状態で、リング型拡張装置５を曲げる動作を行うこともできる。この動作によって、ユーザは、足の筋肉を鍛えるフィットネス動作をゲーム操作として行うことができる。
【０１１４】
本体装置２においてゲーム処理が実行される場合、右コントローラ４は、リング型拡張装置５からリング操作データを受信する。リング操作データは、上記歪み値を示す情報を含む。具体的には、リング型拡張装置５の処理部２１３は、端子２１４を介してリング操作データを右コントローラ４へ送信する。例えば、処理部２１３は、所定時間に１回の割合でリング操作データを繰り返し送信する。
【０１１５】
上記の場合、右コントローラ４の通信制御部１１１は、リング型拡張装置５から端子６４を介して受信したリング操作データを本体装置２へ送信する。また、通信制御部１１１は、右コントローラ４に含まれる各入力部（具体的には、各ボタン１１３、アナログスティック５２、各センサ１１４および１１５）から取得された情報を含む右コントローラ操作データを本体装置２へ送信する。なお、右コントローラ４がリング型拡張装置５に装着される状態では、右コントローラ４から本体装置２への通信は、無線通信によって行われる。通信制御部１１１は、右コントローラ操作データとリング操作データとをまとめて本体装置２へ送信してもよいし、別個に本体装置２へ送信してもよい。また、通信制御部１１１は、受信したリング操作データをそのまま本体装置２へ送信してもよいし、受信したリング操作データに何らかの加工（例えば、データ形式の変換、および／または、歪み値に対する計算処理等）を行って本体装置２へ送信してもよい。
【０１１６】
（第１のゲーム例）
次に、本体装置２が行う第１のゲーム例における具体的な処理を説明する前に、図１２〜図１５を用いて、本体装置２で行う第１のゲーム例の概要について説明する。なお、図１２は、第１のゲーム例において、ユーザがリング型拡張装置５を操作する様子の一例を示す図である。図１３は、ユーザ操作に応じて据置型モニタ９に表示される第１のゲーム例におけるゲーム画像の第１の例を示す図である。図１４は、ユーザ操作に応じて据置型モニタ９に表示される第１のゲーム例におけるゲーム画像の第２の例を示す図である。図１５は、ユーザ操作に応じて据置型モニタ９に表示される第１のゲーム例におけるゲーム画像の第３の例を示す図である。
【０１１７】
図１２に示すように、第１のゲーム例では、ユーザがリング型拡張装置５における一方のグリップカバー（例えば、グリップカバー２０３）を両手で把持した状態で、他方のグリップカバー（例えば、グリップカバー２０４）をユーザの腹部に当接させることによって、ユーザの両手と腹部との間にリング型拡張装置５を挟むような状態で操作が行われる。そして、両手と腹部との間に挟んだリング型拡張装置５における２つのグリップカバー２０３および２０４が近づくようにリング型拡張装置５を変形させながら、リング型拡張装置５を左右に振るように動かすユーザ操作が行われる。ここで、ユーザの両手と腹部との間にリング型拡張装置５を挟むような状態でリング型拡張装置５を左右に振るためには、ユーザの腹部全体、すなわちユーザの腰を左右に回転するように振ることとなり、第１のゲーム例では、両手を腹部に近づけるように力を加えながら腰をツイストさせるようなゲーム操作が必要となる。
【０１１８】
上述したように、本実施形態におけるゲームシステム１については、左コントローラ３および右コントローラ４が本体装置２から着脱可能である。また、図１３〜図１５に示すように、クレードル８に本体装置２単体を装着することによって据置型モニタ９に画像（および音声）を出力可能である。以下、左コントローラ３および右コントローラ４を本体装置２から取り外した状態で、クレードル８に本体装置２単体を装着して、クレードル８に接続された据置型モニタ９から画像（および音声）を出力する利用態様におけるゲームシステムを用いて説明する。そして、ユーザは、リング型拡張装置５に装着された右コントローラ４を用いて、ゲーム操作を行う例を用いる。また、第１のゲーム例におけるゲーム処理の一例として、据置型モニタ９に表示されるプレイヤキャラクタＰＣがユーザ操作に応じて、左右のオブジェクトＯＢＪＬおよびＯＢＪＲを振り動かすことによって、仮想ゲーム空間内の標的オブジェクトＴを倒す（攻撃する）処理を用いる。
【０１１９】
例えば、図１３においては、仮想ゲーム空間内にプレイヤキャラクタＰＣが配置されている。プレイヤキャラクタＰＣの左方にはオブジェクトＯＢＪＬが備えられており、プレイヤキャラクタＰＣの右方にはオブジェクトＯＢＪＲが備えられている。左右のオブジェクトＯＢＪＬおよびＯＢＪＲは、標的オブジェクトＴを倒すことが可能な開いた状態と標的オブジェクトＴを倒すことができない閉じた状態とに変化可能であり、図１３に示すようなリング型拡張装置５の環状部２０１が変形していない定常状態においては閉じた状態とされる。
【０１２０】
一方、図１４に示すように、グリップカバー２０３および２０４が互いに近づくように環状部２０１を定常状態から所定の状態以上までリング型拡張装置５を変形させる操作（図示Ｂ方向に変形させる押込操作）が行われた場合、左右のオブジェクトＯＢＪＬおよびＯＢＪＲは、プレイヤキャラクタＰＣの左右にそれぞれ開くように移動することによって標的オブジェクトＴを倒すことが可能な開いた状態に変化する。このような押込操作は、リング型拡張装置５に設けられた歪みゲージが検出する歪みに基づいて検出される。リング型拡張装置５の環状部２０１が定常状態から変形した場合、上記歪みゲージによって台座部の歪みが検出され、検出された歪みに基づいて、環状部２０１が変形する向き（すなわち、２つのグリップカバー２０３および２０４が離れる向き、または、近づく向き）と変形量とを算出することができる。そして、環状部２０１が変形する向きが２つのグリップカバー２０３および２０４が近づく向きであり、予め設定された閾値以上の変形量である場合、左右のオブジェクトＯＢＪＬおよびＯＢＪＲを開いた状態とするための押込操作が行われたと判定される。なお、上記押込操作が解除された場合、左右のオブジェクトＯＢＪＬおよびＯＢＪＲは、プレイヤキャラクタＰＣの後方にそれぞれ閉じるように移動することによって標的オブジェクトＴを倒すことができない閉じた状態に変化する。この場合、標的オブジェクトＴを倒すことによって得られるゲームスコアを得ることができず、ゲーム達成度合いを更新することができなくなる。したがって、左右のオブジェクトＯＢＪＬおよびＯＢＪＲが閉じられた状態である場合、一例として、ユーザにリング型拡張装置５を変形させる操作を促すために、所定の画像や音声によってユーザに報知（例えば、文字画像「押し込んでください」を表示する、音声「押し込んでください」を生じさせる）してもかまわない。他の例として、左右のオブジェクトＯＢＪＬおよびＯＢＪＲが閉じられた状態である場合、リング型拡張装置５が左右に振られる操作が行われたとしても、左右のオブジェクトＯＢＪＬおよびＯＢＪＲが空振りして標的オブジェクトＴを倒せない演出が行われることによって、ユーザにリング型拡張装置５を変形させる操作を促してもかまわない。
【０１２１】
図１５に示すように、プレイヤキャラクタＰＣの攻撃対象となる複数の標的オブジェクトＴ（図１５においては標的オブジェクトＴ１およびＴ２）が、プレイヤキャラクタＰＣの前方から近づくように移動する。そして、プレイヤキャラクタＰＣは、左右のオブジェクトＯＢＪＬおよびＯＢＪＲの一方を標的オブジェクトＴに衝突させることによって、当該標的オブジェクトＴを倒して消滅させる攻撃が可能となり、標的オブジェクトＴを倒すことによって所定のゲームスコアを得ることができる。
【０１２２】
例えば、図１５に示すように、上記押込操作された状態でリング型拡張装置５が右に振られる操作が行われた場合、プレイヤキャラクタＰＣは、開いた状態の左のオブジェクトＯＢＪＬを前方に回しながら右のオブジェクトＯＢＪＲを後方に回すように左右のオブジェクトＯＢＪＬおよびＯＢＪＲの両方を回転させるような動作を行う。ここで、リング型拡張装置５が右に振られる操作とは、実空間において、リング型拡張装置５における環状部２０１の円環軸が鉛直方向となった状態（すなわち、環状部２０１が水平に配置されている状態）で押込操作されている場合、当該円環軸が鉛直状態を維持した状態で右に移動しながら円環軸周りに右（図示Ｃ方向）に回転するようにリング型拡張装置５が移動するような操作である。また、上記押込操作された状態でリング型拡張装置５が左に振られる操作が行われた場合、プレイヤキャラクタＰＣは、開いた状態の右のオブジェクトＯＢＪＲを前方に回しながら左のオブジェクトＯＢＪＬを後方に回すように左右のオブジェクトＯＢＪＬおよびＯＢＪＲの両方を回転させるような動作を行う。ここで、リング型拡張装置５が左に振られる操作とは、実空間において、リング型拡張装置５における環状部２０１の円環軸が鉛直方向となった状態で押込操作されている場合、当該円環軸が鉛直状態を維持した状態で左に移動しながら円環軸周りに左に回転するようにリング型拡張装置５が移動するような操作である。なお、第１のゲーム例においては、リング型拡張装置５が押込操作された状態で左右に振られる操作に応じて、標的オブジェクトＴを攻撃するゲーム処理が所定のゲーム処理の一例に相当する。
【０１２３】
このようにリング型拡張装置５が左または右に振られる操作が行われた場合、リング型拡張装置５に装着されている右コントローラ４には、実空間の水平方向への加速度が生じるとともに、ｚ軸方向周り（図６参照）の角速度が生じることになる。したがって、右コントローラ４における加速度センサ１１４によって検出される加速度および／または角速度センサ１１５によって検出される角速度を用いることによって、リング型拡張装置５が左または右に振られた操作の操作方向、操作角度、および操作速度等を算出することができる。そして、第１のゲーム例では、上記押込操作された状態でリング型拡張装置５が所定の操作角度以上に振られた場合、当該方向に振られる操作が行われたと判定される。なお、現実には、リング型拡張装置５が左または右に振られる操作は、リング型拡張装置５のロール操作、ピッチ操作、ヨー操作が混ざった操作となることがあるため、ロール操作、ピッチ操作、およびヨー操作によってそれぞれ変化するリング型拡張装置５の方向を合成することによって、最終的な操作角度や操作速度が算出されてもよい。
【０１２４】
ここで、振られる操作が行われたことを判定するための操作角度は、上記押込操作された時点におけるリング型拡張装置５の姿勢を基準姿勢、すなわち操作角度を０として、当該基準姿勢から変化したリング型拡張装置５の円環軸周りの回転角度を操作角度としてもよい。すなわち、ユーザは、リング型拡張装置５を定常状態に戻した後に押込操作を行うことによって、上記操作角度を０に戻すことが可能となる。なお、上記押込操作された時点とリング型拡張装置５の基準姿勢、すなわち操作角度を０に設定する時点とは、ある程度、時間差があってもかまわない。例えば、上記押込操作された時点から所定時間経過後のリング型拡張装置５の姿勢を基準姿勢、すなわち操作角度を０に設定してもかまわない。また、リング型拡張装置５に装着される右コントローラ４内の角速度センサ１１５の性質として、検出を続けることによってノイズが加算されて、正確な角速度が検出できなくなる、いわゆる検出値がドリフトすることがある。このように角速度センサ１１５の検出値に誤差が累積する状態になったとしても、リング型拡張装置５を定常状態に戻した状態において操作角度を０に初期化することによって、当該誤差を除去しながら操作角度が０の方向（例えば、正面方向）を再設定することが可能となる。
【０１２５】
また、左右のオブジェクトＯＢＪＬおよびＯＢＪＲの両方を回転させる操作は、１回の押込操作に対して１回のみ可能としてもよい。一例として、左右のオブジェクトＯＢＪＬおよびＯＢＪＲが振り出される動作が行われた後は、上記押込操作が継続されている場合であっても、左右のオブジェクトＯＢＪＬおよびＯＢＪＲがプレイヤキャラクタＰＣの後方にそれぞれ閉じるように移動することによって標的オブジェクトＴを倒すことができない閉じた状態に変化してもよい。この場合、ユーザは、左右のオブジェクトＯＢＪＬおよびＯＢＪＲを開いた状態にして複数回動かすためには、リング型拡張装置５の環状部２０１を定常状態に一旦戻した後に再度押込操作を行って、リング型拡張装置５を振り動かす操作が必要となる。
【０１２６】
なお、左右のオブジェクトＯＢＪＬおよびＯＢＪＲの両方を回転させる指示を行う操作は、プレイヤキャラクタＰＣの演出に対して先行して入力可能であってもよい。例えば、プレイヤキャラクタＰＣが左右のオブジェクトＯＢＪＬおよびＯＢＪＲを振り動かすアクション中に、リング型拡張装置５の押込操作が一旦解除されて再度押込操作が新たに行われた場合、上記演出中であっても新たな押込操作に応じて左右のオブジェクトＯＢＪＬおよびＯＢＪＲの両方を回転させる指示を行う操作を先行して入力可能としてもよい。また、アクション中に先行入力可能な上記操作の回数は、制限（例えば、先行入力可能な回数を１回に制限）が設けられてもよい。
【０１２７】
また、上記押込操作が行われていない状態から上記押込操作が有効となったと判定するためにリング型拡張装置５の環状部２０１の変形量を判定するための閾値（第１閾値）と、上記押込操作が行われている状態から上記押込操作を無効と判定するための閾値（第２閾値）とは、異なる値に設定してもよい。例えば、上記第１閾値に対して上記第２閾値を相対的に小さく設定することによって、上記押込操作が行われた後にリング型拡張装置５を振り動かす操作によって当該押込操作に対する力が緩んでしまうような状態となっても、左右のオブジェクトＯＢＪＬおよびＯＢＪＲが閉じた状態に戻ってしまうような状況をある程度防止することができる。一例として、上記第２閾値は、リング型拡張装置５が定常状態からの最大変形可能量を１０割とした場合に、当該定常状態から２割程度変形する状態に押込操作された変形量に設定される。
【０１２８】
また、標的オブジェクトＴは、左右のオブジェクトＯＢＪＬおよびＯＢＪＲの何れがプレイヤキャラクタＰＣ前方に振り出される場合であっても倒して消滅させることが可能としてもよいし、左右のオブジェクトＯＢＪＬおよびＯＢＪＲの何れか一方がプレイヤキャラクタＰＣ前方に振り出される場合に限って倒して消滅させることが可能としてもよい。第１の例として、出現する標的オブジェクトＴ毎に、左右のオブジェクトＯＢＪＬおよびＯＢＪＲの両方によって倒すことが可能な特性、左のオブジェクトＯＢＪＬのみによって倒すことが可能な特性、右のオブジェクトＯＢＪＲのみによって倒すことが可能な特性を設定し、それぞれの特性がユーザによって視認可能に表示してもかまわない。第２の例として、標的オブジェクトＴの位置に応じて、倒すことが可能なオブジェクトＯＢＪＬおよびＯＢＪＲが区別されてもよい。例えば、プレイヤキャラクタＰＣの正面から近づく標的オブジェクトＴを左右のオブジェクトＯＢＪＬおよびＯＢＪＲの両方によって倒すことが可能とし、プレイヤキャラクタＰＣの左方から近づく標的オブジェクトＴを左のオブジェクトＯＢＪＬのみによって倒すことが可能とし、プレイヤキャラクタＰＣの右方から近づく標的オブジェクトＴを右のオブジェクトＯＢＪＲのみによって倒すことが可能としてもよい。
【０１２９】
このように、左右のオブジェクトＯＢＪＬおよびＯＢＪＲの何れか一方がプレイヤキャラクタＰＣ前方に振り出される場合に限って倒して消滅させる標的オブジェクトＴが設定されている場合、標的オブジェクトＴを倒すためにはリング型拡張装置５を振る方向が限定されることになる。すなわち、図１２に示したようにリング型拡張装置５を操作するユーザは、一方向だけにリング型拡張装置５を振るだけでなく、標的オブジェクトＴのタイプや位置に応じて両方向にリング型拡張装置５を振ることが必要となる。なお、標的オブジェクトＴを倒すためのリング型拡張装置５を振る方向が限定されている場合、リング型拡張装置５が振られたと判定するための判定角度をそれぞれの方向において異なる角度に設定してもよい。例えば、標的オブジェクトＴを倒すことが可能な方向（正方向）にリング型拡張装置５が振られたと判定するための判定角度に対して、標的オブジェクトＴを倒すことができない方向（誤方向）にリング型拡張装置５が振られたと判定するための判定角度を大きく設定してもかまわない。この場合、左右のオブジェクトＯＢＪＬおよびＯＢＪＲが標的オブジェクトＴを倒すことができない誤方向に振り出されるような、ユーザが意図しないユーザ操作を少なくすることができる。
【０１３０】
なお、リング型拡張装置５を用いた操作は、右コントローラ４（リング型拡張装置５）における動きセンサの出力に加えて、左コントローラ３や他の入力装置からの出力を用いて判定されてもかまわない。
【０１３１】
また、上述した説明では、リング型拡張装置５が振られたことを判定するために、リング型拡張装置５の操作角度を用いているが、他のパラメータを用いて当該判定が行われてもよい。例えば、リング型拡張装置５が実空間において左右に振られる速度や加速度を用いて、これらのパラメータが所定の閾値を越える場合にリング型拡張装置５が振られたと判定されてもよい。
【０１３２】
次に、図１６〜図１９を参照して、第１のゲーム例においてゲームシステム１で実行される具体的な処理の一例について説明する。図１６は、第１のゲーム例において本体装置２のＤＲＡＭ８５に設定されるデータ領域の一例を示す図である。なお、ＤＲＡＭ８５には、図１６に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。
【０１３３】
第１のゲーム例において、ＤＲＡＭ８５のプログラム記憶領域には、ゲームシステム１で実行される各種プログラムＰ１が記憶される。本実施形態においては、各種プログラムＰ１は、上述した右コントローラ４との間で無線通信するための通信プログラムや、右コントローラ４から取得したデータに基づいた情報処理を行うためのアプリケーションプログラム（例えば、ゲームプログラム）等が記憶される。なお、各種プログラムＰ１は、フラッシュメモリ８４に予め記憶されていてもよいし、ゲームシステム１に着脱可能な記憶媒体（例えば、スロット２３に装着された所定の種類の記憶媒体）から取得されてＤＲＡＭ８５に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてＤＲＡＭ８５に記憶されてもよい。プロセッサ８１は、ＤＲＡＭ８５に記憶された各種プログラムＰ１を実行する。
【０１３４】
また、第１のゲーム例において、ＤＲＡＭ８５のデータ記憶領域には、ゲームシステム１において実行される通信処理や情報処理等の処理において用いられる各種のデータが記憶される。本実施形態においては、ＤＲＡＭ８５には、操作データＤ１ａ、角速度データＤ１ｂ、加速度データＤ１ｃ、姿勢データＤ１ｄ、重力方向データＤ１ｅ、リング変形量データＤ１ｇ、リング回転速度データＤ１ｈ、リング回転角度データＤ１ｉ、スイング動作データＤ１ｊ、変形フラグデータＤ１ｋ、スイング設定フラグデータＤ１ｍ、スイング演出フラグデータＤ１ｎ、スコアデータＤ１ｐ、プレイヤキャラクタ動作データＤ１ｑ、標的オブジェクト動作データＤ１ｒ、および画像データＤ１ｓ等が記憶される。
【０１３５】
操作データＤ１ａは、右コントローラ４から適宜取得した操作データである。上述したように、右コントローラ４から送信される操作データには、各入力部（具体的には、各ボタン、アナログスティック、各センサ）からの入力に関する情報（具体的には、操作に関する情報や各センサによる検出結果）やリング型拡張装置５における環状部２０１の変形状態を示す歪み値が含まれている。本実施形態では、無線通信によって右コントローラ４から所定周期で操作データが送信されており、当該受信した操作データを用いて操作データＤ１ａが適宜更新される。なお、操作データＤ１ａの更新周期は、ゲームシステム１で実行される処理の周期である１フレーム毎に更新されてもよいし、上記無線通信によって操作データが送信される周期毎に更新されてもよい。
【０１３６】
角速度データＤ１ｂは、右コントローラ４から取得した操作データのうち、現時点から所定時間前までに取得された右コントローラ４に生じている角速度の履歴を示すデータである。例えば、角速度データＤ１ｂは、右コントローラ４に生じているｘｙｚ軸周りの角速度を示すデータの履歴等を含んでいる。
【０１３７】
加速度データＤ１ｃは、右コントローラ４から取得した操作データのうち、現時点から所定時間前までに取得された右コントローラ４に生じている加速度の履歴を示すデータである。例えば、加速度データＤ１ｃは、右コントローラ４に生じているｘｙｚ軸方向の加速度を示すデータの履歴等を含んでいる。
【０１３８】
姿勢データＤ１ｄは、実空間における右コントローラ４の姿勢を示すデータであり、現時点から所定時間前までにおける姿勢の履歴を示すデータである。一例として、姿勢データＤ１ｄは、実空間における右コントローラ４のｘｙｚ軸方向（例えば、実空間におけるＸＹＺ軸に対する角度）の履歴を示すデータである。
【０１３９】
重力方向データＤ１ｅは、右コントローラ４に作用している重力加速度の方向を示すデータである。
【０１４０】
リング変形量データＤ１ｇは、リング型拡張装置５の変形方向および変形量を示すデータである。リング回転速度データＤ１ｈは、リング型拡張装置５が振られて回転する速度（操作速度）を示すデータである。リング回転角度データＤ１ｉは、リング型拡張装置５が振られて回転した角度（操作角度）を示すデータである。
【０１４１】
スイング動作データＤ１ｊは、リング型拡張装置５を用いた操作に応じて設定された、プレイヤキャラクタＰＣを動作させるスイング動作を示すデータである。
【０１４２】
変形フラグデータＤ１ｋは、リング型拡張装置５が押込操作されている場合にオンに設定される変形フラグを示すデータである。スイング設定フラグデータＤ１ｍは、リング型拡張装置５を用いた操作によってスイング動作が設定されている場合にオンに設定されるスイング設定フラグを示すデータである。スイング演出フラグデータＤ１ｎは、プレイヤキャラクタＰＣがスイング動作をしている場合にオンに設定されるスイング演出フラグを示すデータである。
【０１４３】
スコアデータＤ１ｐは、現時点のゲームスコアを示すデータである。
【０１４４】
プレイヤキャラクタ動作データＤ１ｑは、仮想ゲーム空間に配置されているプレイヤキャラクタＰＣの位置、状態、姿勢、動作等を示すデータである。標的オブジェクト動作データＤ１ｒは、標的オブジェクトＴの位置、状態、姿勢、動作等を示すデータである。
【０１４５】
画像データＤ１ｓは、表示画面に画像（例えば、プレイヤキャラクタＰＣの画像、標的オブジェクトＴの画像、フィールド画像、背景画像等）を表示するためのデータである。
【０１４６】
次に、図１７〜図１９を参照して、第１のゲーム例における情報処理の詳細な一例を説明する。図１７は、第１のゲーム例においてゲームシステム１で実行される情報処理の一例を示すフローチャートである。図１８は、図１７におけるステップＳ３０７において行われるスイング設定処理の詳細な一例を示すサブルーチンである。図１９は、図１７におけるステップＳ３１１において行われるスイング演出処理の詳細な一例を示すサブルーチンである。第１のゲーム例においては、図１７〜図１９に示す一連の処理は、プロセッサ８１が各種プログラムＰ１に含まれる通信プログラムや所定のアプリケーションプログラム（ゲームプログラム）を実行することによって行われる。また、図１７〜図１９に示す情報処理が開始されるタイミングは任意である。
【０１４７】
なお、図１７〜図１９に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて（または代えて）別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をプロセッサ８１が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、プロセッサ８１以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置２において実行される処理の一部は、本体装置２と通信可能な他の情報処理装置（例えば、本体装置２とネットワークを介して通信可能なサーバ）によって実行されてもよい。すなわち図１７〜図１９に示す各処理は、本体装置２を含む複数の情報処理装置が協働することによって実行されてもよい。
【０１４８】
図１７において、プロセッサ８１は、情報処理における初期設定を行い（ステップＳ３０１）、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ８１は、以下に説明する処理を行うためのパラメータを初期化する。例えば、プロセッサ８１は、仮想ゲーム空間において各オブジェクト（オブジェクトＯＢＪＬおよびＯＢＪＲを備えるプレイヤキャラクタＰＣを含む）を初期配置して仮想ゲーム空間の初期状態を生成し、プレイヤキャラクタＰＣの位置、方向、状態（左右のオブジェクトＯＢＪＬおよびＯＢＪＲを閉じた状態）、および姿勢等を用いてプレイヤキャラクタ動作データＤ１ｑを更新する。
【０１４９】
次に、プロセッサ８１は、右コントローラ４から操作データを取得して操作データＤ１ａを更新し（ステップＳ３０２）、次のステップに処理を進める。なお、プロセッサ８１は、上記ステップＳ３０２において右コントローラ４から取得した操作データのうち、右コントローラ４に生じている角速度を示すデータを、角速度データＤ１ｂに格納する。また、プロセッサ８１は、上記ステップＳ３０２において右コントローラ４から取得した操作データのうち、右コントローラ４に生じている加速度を示すデータを、加速度データＤ１ｃに格納する。なお、データ取得部は、歪データと動きデータとを取得する処理を行うものであり、一例として右コントローラ４から操作データを取得して操作データＤ１ａを更新する処理を行うプロセッサ８１に相当する。
【０１５０】
次に、プロセッサ８１は、右コントローラ４の姿勢を算出し（ステップＳ３０３）、次のステップに処理を進める。例えば、プロセッサ８１は、角速度データＤ１ｂに格納されている角速度データを用いて、右コントローラ４のｘｙｚ軸周りの角速度を取得する。そして、プロセッサ８１は、姿勢データＤ１ｄが示す右コントローラ４の姿勢における重力加速度方向を基準としたｘｙｚ軸を、取得された角速度に応じてそれぞれ回転させて、当該回転後の重力加速度方向を基準としたｘｙｚ軸の方向を右コントローラ４の姿勢を示す最新のデータとして、姿勢データＤ１ｄに格納する。また、プロセッサ８１は、加速度データＤ１ｃに格納されている加速度データを用いて、右コントローラ４に作用している重力加速度の方向を算出して、重力方向データＤ１ｅに格納する。なお、重力加速度を抽出する方法については任意の方法を用いればよく、例えば右コントローラ４に平均的に生じている加速度成分を算出して当該加速度成分を重力加速度として抽出してもよい。また、プロセッサ８１は、重力方向データＤ１ｅが示す右コントローラ４に生じている重力加速度の方向を用いて、姿勢データＤ１ｄが示す右コントローラ４の最新の姿勢を適時補正してもかまわない。
【０１５１】
次に、プロセッサ８１は、リング型拡張装置５の変形量を算出し（ステップＳ３０４）、次のステップに処理を進める。例えば、プロセッサ８１は、操作データＤ１ａが示す歪み値を用いて、リング型拡張装置５における環状部２０１の変形量および変形方向を算出し、当該算出結果を用いてリング変形量データＤ１ｇを更新する。
【０１５２】
次に、プロセッサ８１は、変形フラグがオフであるか否かを判定する（ステップＳ３０５）。例えば、プロセッサ８１は、変形フラグデータＤ１ｋが示す変形フラグがオフに設定されている場合、上記ステップＳ３０５において肯定判定する。そして、プロセッサ８１は、変形フラグがオフである場合、ステップＳ３０６に処理を進める。一方、プロセッサ８１は、変形フラグがオンである場合、ステップＳ３０８に処理を進める。
【０１５３】
ステップＳ３０６において、プロセッサ８１は、上記ステップＳ３０４において算出された変形量が第１閾値以上であるか否かを判定する。そして、プロセッサ８１は、上記変形量が第１閾値以上である場合、ステップＳ３０７に処理を進める。一方、プロセッサ８１は、上記変形量が第１閾値未満である場合、ステップＳ３１０に処理を進める。ここで、上記第１閾値は、リング型拡張装置５に対する押込操作が開始されたことを検出するために、リング型拡張装置５の変形量を判定するための閾値であり、リング型拡張装置５の変形量が当該第１閾値以上に到達した場合に押込操作が開始されたと判定される。
【０１５４】
ステップＳ３０７において、プロセッサ８１は、スイング設定処理を行い、ステップＳ３１０に処理を進める。以下、図１８を参照して、上記ステップＳ３０７において行われるスイング設定処理について説明する。なお、ゲーム処理部は、歪データに基づいて、入力装置が変形していることを検出している間、動きデータに基づいて所定のゲーム処理を実行する処理を行うものであり、一例としてスイング設定処理を行うプロセッサ８１に相当する。
【０１５５】
図１８において、プロセッサ８１は、変形フラグをオンに設定して（ステップＳ３２１）、次のステップに処理を進める。例えば、プロセッサ８１は、変形フラグデータＤ１ｋが示す変形フラグをオンに設定して、変形フラグデータＤ１ｋを更新する。
【０１５６】
次に、プロセッサ８１は、スイング設定フラグがオフであるか否かを判定する（ステップＳ３２２）。例えば、プロセッサ８１は、スイング設定フラグデータＤ１ｍが示すスイング設定フラグがオフに設定されている場合、上記ステップＳ３２２において肯定判定する。そして、プロセッサ８１は、スイング設定フラグがオフである場合、ステップＳ３２３に処理を進める。一方、プロセッサ８１は、スイング設定フラグがオンである場合、当該サブルーチンによる処理を終了する。
【０１５７】
ステップＳ３２３において、プロセッサ８１は、実空間においてリング型拡張装置５が振られて回転移動する速度（操作速度）を算出し、次のステップに処理を進める。例えば、プロセッサ８１は、加速度データＤ１ｃを参照して、上記操作速度を算出して、リング回転速度データＤ１ｈを更新する。なお、上記操作速度は、姿勢データＤ１ｄが示す最新の姿勢に基づいて算出される実空間における水平方向へリング型拡張装置５（右コントローラ４）が移動する速度としてもよいし、リング型拡張装置５の環状部２０１の円環軸に垂直な方向（すなわち、右コントローラ４のｚ軸方向に垂直な方向）へリング型拡張装置５（右コントローラ４）が移動する速度としてもよい。
【０１５８】
次に、プロセッサ８１は、実空間においてリング型拡張装置５が振られて回転した角度（操作角度）および操作方向を算出し、次のステップに処理を進める。例えば、プロセッサ８１は、角速度データＤ１ｃおよび姿勢データＤ１ｄを参照して、変形フラグがオフからオンに変化した時点のリング型拡張装置５を基準姿勢として、当該基準姿勢から回転したリング型拡張装置５の角度を上記操作角度およびとして算出して、当該操作角度および操作方向を用いてリング回転角度データＤ１ｉを更新する。なお、上記操作角度は、上記基準姿勢における実空間の鉛直方向周りにリング型拡張装置５（右コントローラ４）が回転する角度としてもよいし、リング型拡張装置５の環状部２０１の円環軸周り（すなわち、右コントローラ４のｚ軸方向周り）にリング型拡張装置５（右コントローラ４）が回転する角度としてもよい。
【０１５９】
次に、プロセッサ８１は、正方向／誤方向を設定し（ステップＳ３２５）、次のステップに処理を進める。ここで、上述したように、正方向は、左右のオブジェクトＯＢＪＬまたはＯＢＪＲによって標的オブジェクトＴを倒すことが可能な方向であり、誤方向は、左右のオブジェクトＯＢＪＬまたはＯＢＪＲによって標的オブジェクトＴを倒すことができない方向である。そして、プロセッサ８１は、現時点における仮想ゲーム空間においてプレイヤキャラクタＰＣに最も接近している標的オブジェクトＴのタイプに基づいて、正方向／誤方向を設定する。
【０１６０】
次に、プロセッサ８１は、上記ステップＳ３２４において算出された操作方向に対応して左右のオブジェクトＯＢＪＬまたはＯＢＪＲが振り出される仮想ゲーム空間における方向が、正方向であるか否かを判定する（ステップＳ３２６）。そして、プロセッサ８１は、上記振り出される方向が正方向である場合、ステップＳ３２７に処理を進める。一方、プロセッサ８１は、上記振り出される方向が誤方向である場合、ステップＳ３２９に処理を進める。なお、プロセッサ８１は、上記ステップＳ３２５において正方向／誤方向が設定されていない場合や上記ステップＳ３２４において操作方向が算出されていない（すなわち、操作角度が０）である場合、上記ステップＳ３２６において肯定判定する。
【０１６１】
ステップＳ３２７において、プロセッサ８１は、上記ステップＳ３２４において算出された操作角度が第３閾値以上であるか否かを判定する。そして、プロセッサ８１は、上記操作角度が第３閾値以上である場合、ステップＳ３２８に処理を進める。一方、プロセッサ８１は、上記操作角度が第３閾値未満である場合、当該サブルーチンによる処理を終了する。ここで、上記第３閾値は、正方向にリング型拡張装置５が振られたことを検出するために、リング型拡張装置５の操作角度を判定するための閾値であり、例えば、４５度に設定される。そして、正方向へのリング型拡張装置５の操作角度が当該第３閾値以上に到達した場合に正方向にリング型拡張装置５が振られる操作が行われたと判定される。
【０１６２】
ステップＳ３２８において、プロセッサ８１は、プレイヤキャラクタＰＣにおける正方向へのスイング動作を設定し、ステップＳ３３１に処理を進める。例えば、プロセッサ８１は、プレイヤキャラクタＰＣが左右のオブジェクトＯＢＪＬまたはＯＢＪＲを正方向に予め定められた速度で予め定められた角度まで振り出すように左右のオブジェクトＯＢＪＬおよびＯＢＪＲをスイングする動作を設定し、当該設定された動作を用いてスイング動作データＤ１ｊを更新する。なお、設定されるスイング動作は、上記ステップＳ３２３において算出された操作速度が速いほどスイング速度が速くなるように設定してもよい。
【０１６３】
一方、ステップＳ３２９において、プロセッサ８１は、上記ステップＳ３２４において算出された操作角度が第４閾値以上であるか否かを判定する。そして、プロセッサ８１は、上記操作角度が第４閾値以上である場合、ステップＳ３３０に処理を進める。一方、プロセッサ８１は、上記操作角度が第４閾値未満である場合、当該サブルーチンによる処理を終了する。ここで、上記第４閾値は、誤方向にリング型拡張装置５が振られたことを検出するために、リング型拡張装置５の操作角度を判定するための閾値であり、上記第３閾値より大きな値（例えば、６０度）に設定されてもよい。
【０１６４】
ステップＳ３３０において、プロセッサ８１は、プレイヤキャラクタＰＣにおける誤方向へのスイング動作を設定し、ステップＳ３３１に処理を進める。例えば、プロセッサ８１は、プレイヤキャラクタＰＣが左右のオブジェクトＯＢＪＬまたはＯＢＪＲを誤方向に予め定められた速度で予め定められた角度まで振り出すように左右のオブジェクトＯＢＪＬおよびＯＢＪＲをスイングする動作を設定し、当該設定された動作を用いてスイング動作データＤ１ｊを更新する。
【０１６５】
ステップＳ３３１において、プロセッサ８１は、スイング演出フラグをオンに設定して、次のステップに処理を進める。例えば、プロセッサ８１は、スイング演出フラグデータＤ１ｎが示すスイング演出フラグをオンに設定して、スイング演出フラグデータＤ１ｎを更新する。
【０１６６】
次に、プロセッサ８１は、スイング設定フラグをオンに設定して（ステップＳ３３２）、当該サブルーチンによる処理を終了する。例えば、プロセッサ８１は、スイング設定フラグデータＤ１ｍが示すスイング設定フラグをオンに設定して、スイング設定フラグデータＤ１ｍを更新する。このように、リング型拡張装置５の操作に応じて正方向または誤方向へのスイング動作が設定された場合、スイング設定フラグがオンに設定されるため、スイング動作が設定された後もリング型拡張装置５の押込操作が続いたとしても上記ステップＳ３２２において否定判定され、新たなスイング動作が設定されることはない。
【０１６７】
図１７に戻り、上記ステップＳ３０５において変形フラグがオンされていると判定された場合、プロセッサ８１は、上記ステップＳ３０８において算出された変形量が第２閾値以上であるか否かを判定する。そして、プロセッサ８１は、上記変形量が第２閾値以上である場合、上記ステップＳ３０７に処理を進める。一方、プロセッサ８１は、上記変形量が第２閾値未満である場合、ステップＳ３０９に処理を進める。ここで、上記第２閾値は、リング型拡張装置５に対する押込操作が開始された後にリング型拡張装置５に対する押込力が緩んだ場合であっても、当該押込操作が継続していると判定するための閾値であり、上記第１閾値より小さな値に設定される。
【０１６８】
ステップＳ３０９において、プロセッサ８１は、変形フラグおよびスイング設定フラグをオフに設定して、ステップＳ３１０に処理を進める。例えば、プロセッサ８１は、変形フラグデータＤ１ｋが示す変形フラグおよびスイング設定フラグデータＤ１ｍが示すスイング設定フラグをそれぞれオフに設定して、変形フラグデータＤ１ｋおよびスイング設定フラグデータＤ１ｍをそれぞれ更新する。このようにリング型拡張装置５に対する押込操作が上記第２閾値未満の変形量まで緩んだ場合、当該押込操作が解除されたと判定されて変形フラグがオフに設定され、スイング設定フラグがオフに設定されることによって新たなスイング動作を設定することが可能となる。なお、制限部は、入力装置が変形状態から定常状態に所定条件を満たすように戻るまでは、所定のゲーム処理の再実行を制限する処理を行うものであり、一例として上記ステップＳ３０８および上記ステップＳ３０９における処理を行うプロセッサ８１に相当する。
【０１６９】
ステップＳ３１０において、プロセッサ８１は、スイング演出フラグがオンであるか否かを判定する。例えば、プロセッサ８１は、スイング演出フラグデータＤ１ｎが示すスイング演出フラグがオンに設定されている場合、上記ステップＳ３１０において肯定判定する。そして、プロセッサ８１は、スイング演出フラグがオンである場合、ステップＳ３１１に処理を進める。一方、プロセッサ８１は、スイング演出フラグがオフである場合、ステップＳ３１２に処理を進める。
【０１７０】
ステップＳ３１１において、プロセッサ８１は、スイング演出処理を行い、ステップＳ３１２に処理を進める。以下、図１９を参照して、上記ステップＳ３１１において行われるスイング演出処理について説明する。
【０１７１】
図１９において、プロセッサ８１は、プレイヤキャラクタＰＣのスイング状態を設定し（ステップＳ３４１）、次のステップに処理を進める。例えば、プロセッサ８１は、スイング動作データＤ１ｊが示すスイング動作に基づいて、プレイヤキャラクタＰＣが左右のオブジェクトＯＢＪＬおよびＯＢＪＲを振る現時点の姿勢（例えば、左右のオブジェクトＯＢＪＬおよびＯＢＪＲを振る現時点の角度やそのプレイヤキャラクタＰＣの姿勢）を設定し、プレイヤキャラクタ動作データＤ１ｑを更新する。
【０１７２】
次に、プロセッサ８１は、プレイヤキャラクタＰＣによる標的オブジェクトＴに対する攻撃が成功したか否かを判定する（ステップＳ３４２）。例えば、プロセッサ８１は、上記ステップＳ３４１におけるスイング状態が標的オブジェクトＴと衝突する状態であり、プレイヤキャラクタＰＣが正方向に左右のオブジェクトＯＢＪＬおよびＯＢＪＲをスイングしている場合、当該標的オブジェクトＴに対する攻撃が成功したと判定する。そして、プロセッサ８１は、プレイヤキャラクタＰＣによる標的オブジェクトＴに対する攻撃が成功した場合、ステップＳ３４３に処理を進める。一方、プロセッサ８１は、プレイヤキャラクタＰＣによる標的オブジェクトＴに対する攻撃が成功していない場合、ステップＳ３４５に処理を進める。
【０１７３】
ステップＳ３４３において、プロセッサ８１は、速度パラメータに応じてゲームスコアを算出し、次のステップに処理を進める。例えば、プロセッサ８１は、スイングが開始された時点においてリング型拡張装置５に作用している速度パラメータ（速度、加速度、角速度等）に基づいた攻撃力によって、標的オブジェクトＴに対する攻撃が成功したことによるゲームスコアを算出し、当該ゲームスコアを加算してスコアデータＤ１ｐを更新する。具体的には、プロセッサ８１は、スイングが開始された時点においてリング型拡張装置５が左右に振られている加速度や角速度、リング回転速度データＤ１ｈが示す速度等に基づいて、上記ゲームスコアを算出してもよい。一例として、上記速度パラメータを複数段階に分類し、当該分類に応じてゲームパラメータを算出することが考えられる。なお、ゲームスコアは、標的オブジェクトＴに対する攻撃が成功したことによって予め定められた一定のゲームスコアが得られてもよく、この場合、上記速度パラメータとは無関係にゲームスコアが加算されることになる。
【０１７４】
次に、プロセッサ８１は、攻撃された標的オブジェクトＴの状態を設定し（ステップＳ３４４）、ステップＳ３４７に処理を進める。例えば、プロセッサ８１は、攻撃された標的オブジェクトＴが当該攻撃によって倒される状態に設定するとともに、仮想ゲーム空間から当該標的オブジェクトＴを消滅させる演出を行い、当該演出に基づいて標的オブジェクト動作データＤ１ｒを更新する。
【０１７５】
一方、上記ステップＳ３４２において標的オブジェクトＴに対する攻撃が成功していないと判定された場合、プロセッサ８１は、プレイヤキャラクタＰＣによる標的オブジェクトＴに対する攻撃が失敗したことが確定したか否かを判定する（ステップＳ３４５）。例えば、プロセッサ８１は、上記ステップＳ３４１におけるスイング状態が標的オブジェクトＴと衝突する状態であるが、プレイヤキャラクタＰＣが誤方向に左右のオブジェクトＯＢＪＬおよびＯＢＪＲをスイングしている場合や、左右のオブジェクトＯＢＪＬおよびＯＢＪＲが標的オブジェクトＴと衝突せずにスイングが振り切った状態となった場合、当該標的オブジェクトＴに対する攻撃が失敗したことが確定したと判定する。そして、プロセッサ８１は、プレイヤキャラクタＰＣによる標的オブジェクトＴに対する攻撃が失敗したことが確定した場合、ステップＳ３４６に処理を進める。一方、プロセッサ８１は、プレイヤキャラクタＰＣによる標的オブジェクトＴに対する攻撃が失敗したことが確定していない場合、ステップＳ３４８に処理を進める。
【０１７６】
ステップＳ３４６において、プロセッサ８１は、攻撃に失敗した標的オブジェクトＴの状態を設定し（ステップＳ３４６）、ステップＳ３４７に処理を進める。例えば、プロセッサ８１は、攻撃に失敗した標的オブジェクトＴがプレイヤキャラクタＰＣに勝利した演出を行った後に、仮想ゲーム空間から当該標的オブジェクトＴを消滅させる演出を行い、当該演出に基づいて標的オブジェクト動作データＤ１ｒを更新する。
【０１７７】
ステップＳ３４７において、プロセッサ８１は、スイング演出フラグをオフに設定して、ステップＳ３４８に処理を進める。例えば、プロセッサ８１は、スイング演出フラグデータＤ１ｎが示すスイング演出フラグをオフに設定して、スイング演出フラグデータＤ１ｎを更新する。
【０１７８】
ステップＳ３４８において、プロセッサ８１は、上記ステップＳ３０４において算出された変形量が第２閾値未満であるか否かを判定する。そして、プロセッサ８１は、上記変形量が第２閾値未満である場合、上記ステップＳ３４９に処理を進める。一方、プロセッサ８１は、上記変形量が第２閾値以上である場合、当該サブルーチンによる処理を終了する。
【０１７９】
ステップＳ３４９において、プロセッサ８１は、変形フラグおよびスイング設定フラグをオフに設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ８１は、変形フラグデータＤ１ｋが示す変形フラグおよびスイング設定フラグデータＤ１ｍが示すスイング設定フラグをそれぞれオフに設定して、変形フラグデータＤ１ｋおよびスイング設定フラグデータＤ１ｍをそれぞれ更新する。このようにスイング演出処理中、すなわちプレイヤキャラクタＰＣが左右のオブジェクトＯＢＪＬおよびＯＢＪＲをスイングする演出中であっても、リング型拡張装置５に対する押込操作が上記第２閾値未満の変形量まで緩んだ場合、当該押込操作が解除されたと判定されて変形フラグがオフに設定され、スイング設定フラグがオフに設定されることによって新たなスイング動作を設定することが可能となる。なお、スイング演出中に変形フラグおよびスイング設定フラグがオフに変更される処理は、制限が設けられてもよい。例えば、１回のスイング演出中に変形フラグおよびスイング設定フラグがオフに変更される処理は、１回以内に制限が設けられてもよい。なお、制限部は、入力装置が変形状態から定常状態に所定条件を満たすように緩むまでは、所定のゲーム処理の再実行を制限する処理を行うものであり、他の例として上記ステップＳ３４８および上記ステップＳ３４９における処理を行うプロセッサ８１に相当する。
【０１８０】
図１７に戻り、上記ステップＳ３１２において、プロセッサ８１は、オブジェクト（プレイヤキャラクタＰＣや標的オブジェクトＴ等）の動作制御処理を行い、次のステップに処理を進める。例えば、プロセッサ８１は、プレイヤキャラクタ動作データＤ１ｑが示すプレイヤキャラクタＰＣの位置、状態、姿勢、動作等に基づいて、仮想ゲーム空間においてプレイヤキャラクタＰＣを配置する。また、プロセッサ８１は、所定のアルゴリズム（出現パターン）に基づいて、仮想ゲーム空間に標的オブジェクトＴを出現させるとともに、プレイヤキャラクタＰＣに向かって移動させ、当該出現後および移動後の位置に基づいて標的オブジェクト動作データＤ１ｒを更新する。
【０１８１】
次に、プロセッサ８１は、画像生成表示制御処理を行い（ステップＳ３１３）、次のステップに処理を進める。例えば、プロセッサ８１は、上記ステップＳ３１１およびステップＳ３１２の処理による設定に基づいて、仮想ゲーム空間に複数のオブジェクト（オブジェクトＯＢＪＬおよびＯＢＪＲを備えるプレイヤキャラクタＰＣ、標的オブジェクトＴ等）を配置して、仮想ゲーム空間を生成する。そして、プロセッサ８１は、仮想ゲーム空間に仮想カメラを配置し、当該仮想カメラから見た仮想ゲーム空間画像を生成して、当該仮想ゲーム空間画像を据置型モニタ９に出力する。また、プロセッサ８１は、スコアデータＤ１ｐが示すゲームスコアを示す画像を上記仮想ゲーム空間画像の適所に重畳して据置型モニタ９に出力する。
【０１８２】
次に、プロセッサ８１は、ゲーム処理を終了するか否かを判定する（ステップＳ３１４）。上記ステップＳ３１４においてゲーム処理を終了する条件としては、例えば、ゲーム処理が終了される条件が満たされたことや、ユーザがゲーム処理を終了する操作を行ったこと等がある。プロセッサ８１は、ゲーム処理を終了しない場合に上記ステップＳ３０２に戻って処理を繰り返し、ゲーム処理を終了する場合に当該フローチャートによる処理を終了する。以降、ステップＳ３０２〜ステップＳ３１４の一連の処理は、ステップＳ３１４でゲーム処理を終了すると判定されるまで繰り返し実行される。
【０１８３】
このように、第１のゲーム例においては、リング型拡張装置５を変形させながら振り動かすことによって所定のゲーム処理が行われるため、リング型拡張装置５を用いた操作におけるユーザ体感を向上させることができる。また、第１のゲーム例においては、リング型拡張装置５が変形していない、またはリング型拡張装置５を変形させながら振り動かされていない場合に所定のゲーム処理の実行が制限されるため、当該所定のゲーム処理が特定のユーザ操作による限定的なものとなる。なお、プレイヤキャラクタＰＣによる標的オブジェクトＴへの攻撃が成功したり、ゲームスコアがユーザに付与（加算）されたりする処理が、所定の達成目標が設定されるゲームの達成度合いを更新する更新処理の一例に相当する。
【０１８４】
（第２のゲーム例）
次に、本体装置２が行う第２のゲーム例における具体的な処理を説明する前に、図２０〜図２３を用いて、本体装置２で行う第２のゲーム例の概要について説明する。なお、図２０は、第２のゲーム例において、ユーザがリング型拡張装置５を操作する様子の一例を示す図である。図２１は、ユーザ操作に応じて据置型モニタ９に表示される第２のゲーム例におけるゲーム画像の第１の例を示す図である。図２２は、ユーザ操作に応じて据置型モニタ９に表示される第２のゲーム例におけるゲーム画像の第２の例を示す図である。図２３は、ユーザ操作に応じて据置型モニタ９に表示される第２のゲーム例におけるゲーム画像の第３の例を示す図である。
【０１８５】
図２０に示すように、第２のゲーム例では、ユーザがリング型拡張装置５における両方のグリップカバー２０３および２０４をそれぞれ両手で把持した状態で、リング型拡張装置５における２つのグリップカバー２０３および２０４が近づくようにリング型拡張装置５を両手で変形させながら、リング型拡張装置５を上からユーザの腹部付近まで振り下ろすように動かすユーザ操作が行われる。ここで、リング型拡張装置５における２つのグリップカバー２０３および２０４が近づくように変形させながらリング型拡張装置５を上から振り下ろすためには、ユーザは両手に力を加えながらジャンプするときの上半身の動きを模した動作を行うこととなり、あたかもジャンプするようなゲーム操作が必要となる。
【０１８６】
第２のゲーム例においても、左コントローラ３および右コントローラ４を本体装置２から取り外した状態で、クレードル８に本体装置２単体を装着して、クレードル８に接続された据置型モニタ９から画像（および音声）を出力する利用態様におけるゲームシステムを用いて説明する。そして、ユーザは、リング型拡張装置５に装着された右コントローラ４を用いて、ゲーム操作を行う例を用いる。また、第２のゲーム例におけるゲーム処理の一例として、据置型モニタ９に表示されるプレイヤキャラクタＰＣがユーザ操作に応じて、仮想ゲーム空間内を移動（ジャンプ）する処理を用いる。
【０１８７】
例えば、図２１においては、仮想ゲーム空間内にプレイヤキャラクタＰＣが配置されている。プレイヤキャラクタＰＣは、仮想ゲーム空間における上方へ延びる壁に沿って配置されており、図２１に示すようなリング型拡張装置５の環状部２０１が変形していない定常状態においては、当該壁に沿って静止した状態とされる。
【０１８８】
一方、図２２に示すように、グリップカバー２０３および２０４が互いに近づくように環状部２０１を定常状態から所定の状態以上までリング型拡張装置５を変形させる操作（図示Ｂ方向に変形させる押込操作）が行われた場合、プレイヤキャラクタＰＣがジャンプ移動した場合に到達可能な高さを示す標識Ｍが、上記壁に沿ったプレイヤキャラクタＰＣの上方に表示される。このような押込操作は、上記第１のゲーム例と同様に、リング型拡張装置５に設けられた歪みゲージが検出する歪みに基づいて検出される。また、リング型拡張装置５の環状部２０１が定常状態から変形した場合、上記歪みゲージによって台座部の歪みが検出され、検出された歪みに基づいて、環状部２０１が変形する向き（すなわち、２つのグリップカバー２０３および２０４が離れる向き、または、近づく向き）と変形量とを算出することができる。そして、環状部２０１が変形する向きが２つのグリップカバー２０３および２０４が近づく向きである場合、算出された変形量に応じた到達高さの標識Ｍが表示される。上記押込操作が解除された場合、標識Ｍが示す到達高さが漸減的に減少して表示され、最終的に標識Ｍが消滅する。なお、標識Ｍが入力装置の変形量を示す画像の一例に相当する。
【０１８９】
そして、図２３に示すように、上記押込操作された状態でリング型拡張装置５が実空間における下方向（図示Ｄ方向）に振られる操作が行われた場合、プレイヤキャラクタＰＣは、振られる操作が行われる直前に標識Ｍが示していた到達可能高さを目標として、壁に沿ってジャンプする動作を行う。ここで、リング型拡張装置５がした方向に振られる操作とは、実空間において、リング型拡張装置５が押込操作された状態で鉛直方向へ移動するピッチ操作である。そして、上記押込操作された状態でリング型拡張装置５が下方向に振られる操作が行われた場合、プレイヤキャラクタＰＣは、壁に沿ってジャンプするように仮想ゲーム空間を移動するような動作を行う。そして、プレイヤキャラクタＰＣが到達した位置にそれぞれ設定されているゲームポイントに基づいて、所定のゲームスコアを得ることができる。具体的には、高く飛び過ぎることによってゲームポイントが得られないこともあるため、ユーザは、適切なジャンプ力でプレイヤキャラクタＰＣをジャンプさせて移動させることが必要となる。なお、第２のゲーム例においては、リング型拡張装置５が押込操作された状態で下方向に振られる操作に応じて、プレイヤキャラクタＰＣがジャンプするゲーム処理が所定のゲーム処理の他の例に相当する。
【０１９０】
このように、リング型拡張装置５が下方向に振られるピッチ操作が行われた場合、リング型拡張装置５に装着されている右コントローラ４には、実空間の鉛直方向への加速度が生じるとともに、ｙ軸方向周り（図６参照）の角速度が生じることになる。したがって、右コントローラ４における加速度センサ１１４によって検出される加速度および／または角速度センサ１１５によって検出される角速度を用いることによって、リング型拡張装置５が下方向に振られるピッチ操作の操作方向、操作角度、および操作速度等を算出することができる。そして、第２のゲーム例では、上記押込操作された状態でリング型拡張装置５が下方向へのピッチ操作が行われた場合、上記押込操作が行われている変形量に応じた到達可能高さまでプレイヤキャラクタＰＣをジャンプさせて移動させる処理が行われる。なお、現実には、リング型拡張装置５が下方向に振られるピッチ操作は、リング型拡張装置５のロール操作やヨー操作が混ざった操作となることがあるため、ロール操作、ピッチ操作、およびヨー操作によってそれぞれ変化するリング型拡張装置５の方向を合成することによって、最終的に下方向に振られるピッチ操作の有無が判定されてもよい。
【０１９１】
なお、プレイヤキャラクタＰＣをジャンプ移動させる操作は、１回の押込操作に対して１回のみ可能としてもよい。一例として、プレイヤキャラクタＰＣをジャンプ移動した後は、上記押込操作が継続されている場合であっても、標識Ｍが表示されないようにしてもよい。この場合、ユーザは、再度標識Ｍを表示させてプレイヤキャラクタＰＣを再度ジャンプ移動させるためには、リング型拡張装置５の環状部２０１を定常状態に一旦戻した後に再度押込操作を行って、リング型拡張装置５を振り動かす操作が必要となる。
【０１９２】
また、上記押込操作を行った状態でリング型拡張装置５を下方向に振るピッチ操作を行う場合、当該ピッチ操作を行うことによって当該押込操作を行う力が緩んでしまうことが考えられる。この場合、上記ピッチ操作前に表示していた標識Ｍが示す到達可能高さまでプレイヤキャラクタＰＣがジャンプできない状態となるため、このような押込操作を行う力が緩むことによるジャンプ力の意図しない低下を防ぐために、上記ピッチ操作が行われた直前の所定時間前（例えば、５フレーム前）におけるリング型拡張装置５の変形量や現時点から所定時間前までの期間におけるリング型拡張装置５の変形量の最大値に基づいて、プレイヤキャラクタＰＣの到達高さを算出してもかまわない。
【０１９３】
また、上記押込操作を行っていない状態でリング型拡張装置５を下方向に振るピッチ操作が行われた場合、ジャンプ力が算出されないためにプレイヤキャラクタＰＣがジャンプしない演出が行われてもよい。この場合、プレイヤキャラクタＰＣがジャンプすることによって得られるゲームスコアを得ることができず、ゲーム達成度合いを更新することができなくなる。したがって、リング型拡張装置５の押込操作が行われずにリング型拡張装置５を下方向に振るピッチ操作が行われた場合、一例として、ユーザにリング型拡張装置５を変形させる操作を促すために、所定の画像や音声によってユーザに報知（例えば、文字画像「押し込んでください」を表示する、音声「押し込んでください」を生じさせる）してもかまわない。
【０１９４】
また、プレイヤキャラクタＰＣがジャンプするジャンプ力は、リング型拡張装置５の変形量だけでなく、他のパラメータが加えられてもかまわない。例えば、ジャンプを行う際にリング型拡張装置５が下方向に振られる速度パラメータ（速度、加速度、角速度等）と上記変形量との両方を用いて、上記ジャンプ力が算出されてもよい。
【０１９５】
また、ユーザがリング型拡張装置５を正規な姿勢で把持していない状態で操作していない場合、リング型拡張装置５を変形させて下方向に振る操作を行ったとしても、プレイヤキャラクタＰＣをジャンプする演出が行われないようにしてもよい。ここで、リング型拡張装置５を把持する正規な姿勢とは、図２０に示すように、右コントローラ４が装着されている位置が最上位置となって２つのグリップカバー２０３および２０４を結ぶ方向が略水平となるようにユーザが両手でグリップカバー２０３および２０４を把持して、環状部２０１の円環軸が略水平になった状態で、リング型拡張装置５を押込操作および下方向に振る操作を行うものである。このような正規な姿勢で操作が行われているか否かについては、リング型拡張装置５が下方向に振られたと判定された時点におけるリング型拡張装置５の姿勢を分析することによって可能となる。
【０１９６】
次に、図２４〜図２６を参照して、第２のゲーム例においてゲームシステム１で実行される具体的な処理の一例について説明する。図２４は、第２のゲーム例において本体装置２のＤＲＡＭ８５に設定されるデータ領域の一例を示す図である。なお、ＤＲＡＭ８５には、図２４に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。
【０１９７】
第２のゲーム例において、ＤＲＡＭ８５のプログラム記憶領域には、ゲームシステム１で実行される各種プログラムＰ２が記憶される。本実施形態においては、各種プログラムＰ２は、上述した右コントローラ４との間で無線通信するための通信プログラムや、右コントローラ４から取得したデータに基づいた情報処理を行うためのアプリケーションプログラム（例えば、ゲームプログラム）等が記憶される。なお、各種プログラムＰ２は、フラッシュメモリ８４に予め記憶されていてもよいし、ゲームシステム１に着脱可能な記憶媒体（例えば、スロット２３に装着された所定の種類の記憶媒体）から取得されてＤＲＡＭ８５に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてＤＲＡＭ８５に記憶されてもよい。プロセッサ８１は、ＤＲＡＭ８５に記憶された各種プログラムＰ２を実行する。
【０１９８】
また、第２のゲーム例において、ＤＲＡＭ８５のデータ記憶領域には、ゲームシステム１において実行される通信処理や情報処理等の処理において用いられる各種のデータが記憶される。本実施形態においては、ＤＲＡＭ８５には、操作データＤ２ａ、角速度データＤ２ｂ、加速度データＤ２ｃ、姿勢データＤ２ｄ、重力方向データＤ２ｅ、リング変形量データＤ２ｇ、ジャンプ力データＤ２ｈ、ジャンプフラグデータＤ２ｉ、スコアデータＤ２ｊ、プレイヤキャラクタ動作データＤ２ｋ、および画像データＤ２ｍ等が記憶される。
【０１９９】
操作データＤ２ａは、右コントローラ４から適宜取得した操作データである。上述したように、右コントローラ４から送信される操作データには、各入力部（具体的には、各ボタン、アナログスティック、各センサ）からの入力に関する情報（具体的には、操作に関する情報や各センサによる検出結果）やリング型拡張装置５における環状部２０１の変形状態を示す歪み値が含まれている。本実施形態では、無線通信によって右コントローラ４から所定周期で操作データが送信されており、当該受信した操作データを用いて操作データＤ２ａが適宜更新される。なお、操作データＤ２ａの更新周期は、ゲームシステム１で実行される処理の周期である１フレーム毎に更新されてもよいし、上記無線通信によって操作データが送信される周期毎に更新されてもよい。
【０２００】
角速度データＤ２ｂは、右コントローラ４から取得した操作データのうち、現時点から所定時間前までに取得された右コントローラ４に生じている角速度の履歴を示すデータである。例えば、角速度データＤ２ｂは、右コントローラ４に生じているｘｙｚ軸周りの角速度を示すデータの履歴等を含んでいる。
【０２０１】
加速度データＤ２ｃは、右コントローラ４から取得した操作データのうち、現時点から所定時間前までに取得された右コントローラ４に生じている加速度の履歴を示すデータである。例えば、加速度データＤ２ｃは、右コントローラ４に生じているｘｙｚ軸方向の加速度を示すデータの履歴等を含んでいる。
【０２０２】
姿勢データＤ２ｄは、実空間における右コントローラ４の姿勢を示すデータであり、現時点から所定時間前までにおける姿勢の履歴を示すデータである。一例として、姿勢データＤ２ｄは、実空間における右コントローラ４のｘｙｚ軸方向（例えば、実空間におけるＸＹＺ軸に対する角度）の履歴を示すデータである。
【０２０３】
重力方向データＤ２ｅは、右コントローラ４に作用している重力加速度の方向を示すデータである。
【０２０４】
リング変形量データＤ２ｇは、現時点から所定時間前までに算出されたリング型拡張装置５の変形方向および変形量の履歴を示すデータである。
【０２０５】
ジャンプ力データＤ２ｈは、リング型拡張装置５を用いた操作に応じて設定された、プレイヤキャラクタＰＣを動作させるジャンプ力を示すデータである。
【０２０６】
ジャンプフラグデータＤ２ｉは、プレイヤキャラクタＰＣがジャンプする演出を行う場合にオンに設定されるジャンプフラグを示すデータである。
【０２０７】
スコアデータＤ２ｊは、現時点のゲームスコアを示すデータである。
【０２０８】
プレイヤキャラクタ動作データＤ２ｋは、仮想ゲーム空間に配置されているプレイヤキャラクタＰＣの位置、状態、姿勢、動作等を示すデータである。
【０２０９】
画像データＤ２ｍは、表示画面に画像（例えば、プレイヤキャラクタＰＣの画像、フィールド画像、背景画像等）を表示するためのデータである。
【０２１０】
次に、図２５および図２６を参照して、第２のゲーム例における情報処理の詳細な一例を説明する。図２５は、第２のゲーム例においてゲームシステム１で実行される情報処理の一例を示すフローチャートである。図２６は、図２５におけるステップＳ４１０において行われるジャンプ演出処理の詳細な一例を示すサブルーチンである。第２のゲーム例においては、図２５および図２６に示す一連の処理は、プロセッサ８１が各種プログラムＰ２に含まれる通信プログラムや所定のアプリケーションプログラム（ゲームプログラム）を実行することによって行われる。また、図２５および図２６に示す情報処理が開始されるタイミングは任意である。
【０２１１】
なお、図２５および図２６に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて（または代えて）別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をプロセッサ８１が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、プロセッサ８１以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置２において実行される処理の一部は、本体装置２と通信可能な他の情報処理装置（例えば、本体装置２とネットワークを介して通信可能なサーバ）によって実行されてもよい。すなわち図２５および図２６に示す各処理は、本体装置２を含む複数の情報処理装置が協働することによって実行されてもよい。
【０２１２】
図２５において、プロセッサ８１は、情報処理における初期設定を行い（ステップＳ４０１）、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ８１は、以下に説明する処理を行うためのパラメータを初期化する。例えば、プロセッサ８１は、仮想ゲーム空間においてプレイヤキャラクタＰＣを初期配置して仮想ゲーム空間の初期状態を生成し、プレイヤキャラクタＰＣの位置、方向、状態、および姿勢等を用いてプレイヤキャラクタ動作データＤ２ｋを更新する。
【０２１３】
次に、プロセッサ８１は、右コントローラ４から操作データを取得して操作データＤ２ａを更新し（ステップＳ４０２）、次のステップに処理を進める。なお、プロセッサ８１は、上記ステップＳ４０２において右コントローラ４から取得した操作データのうち、右コントローラ４に生じている角速度を示すデータを、角速度データＤ２ｂに格納する。また、プロセッサ８１は、上記ステップＳ４０２において右コントローラ４から取得した操作データのうち、右コントローラ４に生じている加速度を示すデータを、加速度データＤ２ｃに格納する。なお、データ取得部は、歪データと動きデータとを取得する処理を行うものであり、一例として右コントローラ４から操作データを取得して操作データＤ２ａを更新する処理を行うプロセッサ８１に相当する。
【０２１４】
次に、プロセッサ８１は、右コントローラ４の姿勢を算出し（ステップＳ４０３）、次のステップに処理を進める。例えば、プロセッサ８１は、角速度データＤ２ｂに格納されている角速度データを用いて、右コントローラ４のｘｙｚ軸周りの角速度を取得する。そして、プロセッサ８１は、姿勢データＤ２ｄが示す右コントローラ４の姿勢における重力加速度方向を基準としたｘｙｚ軸を、取得された角速度に応じてそれぞれ回転させて、当該回転後の重力加速度方向を基準としたｘｙｚ軸の方向を右コントローラ４の姿勢を示す最新のデータとして、姿勢データＤ２ｄに格納する。また、プロセッサ８１は、加速度データＤ２ｃに格納されている加速度データを用いて、右コントローラ４に作用している重力加速度の方向を算出して、重力方向データＤ２ｅに格納する。なお、重力加速度を抽出する方法については任意の方法を用いればよく、例えば右コントローラ４に平均的に生じている加速度成分を算出して当該加速度成分を重力加速度として抽出してもよい。また、プロセッサ８１は、重力方向データＤ２ｅが示す右コントローラ４に生じている重力加速度の方向を用いて、姿勢データＤ２ｄが示す右コントローラ４の最新の姿勢を適時補正してもかまわない。
【０２１５】
次に、プロセッサ８１は、リング型拡張装置５の変形量を算出し（ステップＳ４０４）、次のステップに処理を進める。例えば、プロセッサ８１は、操作データＤ２ａが示す歪み値を用いて、リング型拡張装置５における環状部２０１の変形量および変形方向を算出し、当該算出結果を用いてリング変形量データＤ２ｇが示す変形量の履歴に追加する。
【０２１６】
次に、プロセッサ８１は、ジャンプフラグがオフであるか否かを判定する（ステップＳ４０５）。例えば、プロセッサ８１は、ジャンプフラグデータＤ２ｉが示すジャンプフラグがオフに設定されている場合、上記ステップＳ４０５において肯定判定する。そして、プロセッサ８１は、ジャンプフラグがオフである場合、ステップＳ４０６に処理を進める。一方、プロセッサ８１は、ジャンプフラグがオンである場合、ステップＳ４０８に処理を進める。
【０２１７】
ステップＳ４０６において、プロセッサ８１は、上記ステップＳ４０４において算出された変形量に基づいて、ジャンプ力を算出し、次のステップに処理を進める。例えば、プロセッサ８１は、リング変形量データＤ２ｇが示す変形量の履歴における最新の変形量に基づいてジャンプ力を算出し、当該ジャンプ力を用いてジャンプ力データＤ２ｈを更新する。
【０２１８】
次に、プロセッサ８１は、上記ステップＳ４０６において算出されたジャンプ力に応じた到達予測高さに応じた標識Ｍを設定し（ステップＳ４０７）、ステップＳ４０８に処理を進める。例えば、プロセッサ８１は、ジャンプ力データＤ２ｈが示すジャンプ力によってプレイヤキャラクタＰＣがジャンプした場合に到達可能な高さを算出し、当該到達可能な高さに応じた標識Ｍを設定する。
【０２１９】
ステップＳ４０８において、プロセッサ８１は、実空間においてリング型拡張装置５が下方向に移動する速度パラメータ（例えば、加速度、速度、角速度）を算出し、次のステップに処理を進める。例えば、プロセッサ８１は、加速度データＤ２ｃを参照して、実空間における下方向に移動するリング型拡張装置５の加速度、速度、または角速度を速度パラメータとして算出する。第１の例として、速度パラメータは、姿勢データＤ２ｄが示す最新の姿勢に基づいて算出される実空間における下方向へリング型拡張装置５（右コントローラ４）が移動する加速度または速度やリング型拡張装置５が水平方向周りにピッチ操作される角速度としてもよい。第２の例として、速度パラメータは、リング型拡張装置５において右コントローラ４から環状部２０１の円環軸に向かう方向（すなわち、右コントローラ４のｚ軸方向に垂直な方向）ｘ軸負方向）へ移動する加速度または速度やピッチ操作（すなわち、右コントローラ４のｙ軸方向周りに回転する方向への操作）される角速度としてもよい。
【０２２０】
次に、プロセッサ８１は、プレイヤキャラクタＰＣがジャンプする演出を行うか否かについて判定する（ステップＳ４０９）。例えば、プロセッサ８１は、上記ステップＳ４０８において算出された速度パラメータが、リング型拡張装置５が下方向に振り動かされる操作が開始されたと判定するための所定の閾値以上であることを示す場合、上記ステップＳ４０９において肯定判定する。また、プロセッサ８１は、ジャンプフラグデータＤ２ｉが示すジャンプフラグがオンに設定されている場合、上記ステップＳ４０９において肯定判定する。そして、プロセッサ８１は、上記ステップＳ４０９において肯定判定された場合、ステップＳ４１０に処理を進める。一方、プロセッサ８１は、上記ステップＳ４０９において否定判定された場合、ステップＳ４１１に処理を進める。
【０２２１】
なお、ユーザがリング型拡張装置５を正規な姿勢で把持していない状態で操作していないと判定される場合、上記ステップＳ４０９においては否定判定されてもかまわない。ここで、リング型拡張装置５を把持する正規な姿勢とは、図２０に例示したように、右コントローラ４が装着されている位置が最上位置となって２つのグリップカバー２０３および２０４を結ぶ方向が略水平となるようにユーザが両手でグリップカバー２０３および２０４を把持して、環状部２０１の円環軸が略水平になった状態で、リング型拡張装置５を押込操作および下方向に振る操作が行われるものである。このような正規な姿勢で操作が行われているか否かについては、姿勢データＤ２ｄが示すリング型拡張装置５の姿勢を分析することによって可能となる。
【０２２２】
ステップＳ４１０において、プロセッサ８１は、ジャンプ演出処理を行い、ステップＳ４１１に処理を進める。以下、図２６を参照して、上記ステップＳ４１０において行われるジャンプ演出処理について説明する。なお、ゲーム処理部は、歪データに基づいて、入力装置が変形していることを検知している間、動きデータに基づいて所定のゲーム処理を実行する処理を行うものであり、一例としてジャンプ演出処理を行うプロセッサ８１に相当する。
【０２２３】
図２６において、プロセッサ８１は、ジャンプフラグデータＤ２ｉが示すジャンプフラグがオフであるか否かを判定する（ステップＳ４２０）。そして、プロセッサ８１は、ジャンプフラグがオフである場合、ステップＳ４２１に処理を進める。一方、プロセッサ８１は、ジャンプフラグがオンである場合、ステップＳ４２４に処理を進める。
【０２２４】
ステップＳ４２１において、プロセッサ８１は、ジャンプフラグをオンに設定して、次のステップに処理を進める。例えば、プロセッサ８１は、ジャンプフラグデータＤ２ｉが示すジャンプフラグをオンに設定して、ジャンプフラグデータＤ２ｉを更新する。また、プロセッサ８１は、上記ステップＳ４０７において設定されている標識Ｍの設定を解除する。
【０２２５】
次に、プロセッサ８１は、リング型拡張装置５の変形量が漸減的に減少している状態にあるか否かを判定する（ステップＳ４２２）。例えば、プロセッサ８１は、リング変形量データＤ２ｇが示す変形量の履歴を参照して、当該変形量が漸減的に減少している状態にあるか否かを判定する。そして、プロセッサ８１は、リング型拡張装置５の変形量が漸減的に減少している状態にある場合、ステップＳ４２３に処理を進める。一方、プロセッサ８１は、リング型拡張装置５の変形量が漸減的に減少している状態にない場合、ステップＳ４２４に処理を進める。
【０２２６】
ステップＳ４２３において、プロセッサ８１は、所定時間前のリング型拡張装置５の変形量を用いて、新たにジャンプ力を算出し、ステップＳ４２４に処理を進める。一例として、プロセッサ８１は、リング変形量データＤ２ｇが示す変形量の履歴における所定時間前（例えば、５フレーム前）の変形量に基づいて新たなジャンプ力を算出し、当該新たなジャンプ力を用いてジャンプ力データＤ２ｈを更新する。他の例として、プロセッサ８１は、リング変形量データＤ２ｇが示す変形量の履歴における所定時間前までの変形量の最大値に基づいて新たなジャンプ力を算出し、当該新たなジャンプ力を用いてジャンプ力データＤ２ｈを更新する。
【０２２７】
ステップＳ４２４において、プロセッサ８１は、設定されているジャンプ力に応じて、プレイヤキャラクタＰＣを移動させる処理を行い、次のステップに処理を進める。例えば、プロセッサ８１は、ジャンプ力データＤ２ｈが示すジャンプ力に基づいて、プレイヤキャラクタＰＣを仮想ゲーム空間において上昇するように移動させ、移動後のプレイヤキャラクタＰＣの位置および状態に基づいて、プレイヤキャラクタ動作データＤ２ｋを更新する。
【０２２８】
次に、プロセッサ８１は、プレイヤキャラクタＰＣをジャンプさせる演出を終了するか否かを判定する（ステップＳ４２５）。例えば、プロセッサ８１は、プレイヤキャラクタＰＣがジャンプを終了する位置まで到達した場合（ジャンプの到達目標高さまで到達した場合、他のオブジェクト等と衝突することによってジャンプが終了する場合等）、上記ステップＳ４２５において肯定判定する。そして、プロセッサ８１は、ジャンプさせる演出を終了する場合、ステップＳ４２６に処理を進める。一方、プロセッサ８１は、ジャンプさせる演出を終了しない場合、当該サブルーチンによる処理を終了する。
【０２２９】
ステップＳ４２６において、プロセッサ８１は、ジャンプによってプレイヤキャラクタＰＣを移動させる処理を停止する処理を行って、次のステップに処理を進める。例えば、プロセッサ８１は、ジャンプを停止して現時点の位置に止まる状態にプレイヤキャラクタＰＣの状態を設定して、プレイヤキャラクタ動作データＤ２ｋを更新する。また、プロセッサ８１は、ジャンプフラグデータＤ２ｉが示すジャンプフラグをオフに設定して、ジャンプフラグデータＤ２ｉを更新する。
【０２３０】
次に、プロセッサ８１は、ゲームスコアを算出し、当該サブルーチンによる処理を終了する。例えば、プロセッサ８１は、ジャンプによってプレイヤキャラクタＰＣが到達した位置に基づいてゲームスコアを算出し、当該ゲームスコアを加算してスコアデータＤ２ｊを更新する。
【０２３１】
図２５に戻り、ステップＳ４１１において、プロセッサ８１は、プレイヤキャラクタＰＣの動作制御処理を行い、次のステップに処理を進める。例えば、プロセッサ８１は、プレイヤキャラクタ動作データＤ２ｋが示すプレイヤキャラクタＰＣの位置、状態、姿勢、動作等に基づいて、仮想ゲーム空間においてプレイヤキャラクタＰＣを配置する。
【０２３２】
次に、プロセッサ８１は、画像生成表示制御処理を行い（ステップＳ４１２）、次のステップに処理を進める。例えば、プロセッサ８１は、上記ステップＳ４１１の処理による設定に基づいて、仮想ゲーム空間にプレイヤキャラクタＰＣを配置する。また、プロセッサ８１は、上記ステップＳ４０７において標識Ｍが設定されている場合、当該標識Ｍを示す画像を仮想ゲーム空間に配置する。そして、プロセッサ８１は、仮想ゲーム空間に仮想カメラを配置し、当該仮想カメラから見た仮想ゲーム空間画像を生成して、当該仮想ゲーム空間画像を据置型モニタ９に出力する。また、プロセッサ８１は、スコアデータＤ２ｊが示すゲームスコアを示す画像を上記仮想ゲーム空間画像の適所に重畳して据置型モニタ９に出力する。なお、変形量画像生成部は、入力装置が変形している間、当該入力装置の変形量を示す画像を生成する処理を行うものであり、一例として標識Ｍを設定する上記ステップＳ４０７および／または標識Ｍを表示する上記ステップＳ４１２の処理を行うプロセッサ８１に相当する。
【０２３３】
次に、プロセッサ８１は、ゲーム処理を終了するか否かを判定する（ステップＳ４１３）。上記ステップＳ４１３においてゲーム処理を終了する条件としては、例えば、ゲーム処理が終了される条件が満たされたことや、ユーザがゲーム処理を終了する操作を行ったこと等がある。プロセッサ８１は、ゲーム処理を終了しない場合に上記ステップＳ４０２に戻って処理を繰り返し、ゲーム処理を終了する場合に当該フローチャートによる処理を終了する。以降、ステップＳ４０２〜ステップＳ４１３の一連の処理は、ステップＳ４１３でゲーム処理を終了すると判定されるまで繰り返し実行される。
【０２３４】
このように、第２のゲーム例においては、リング型拡張装置５を変形させながら振り動かすことによって所定のゲーム処理が行われるため、リング型拡張装置５を用いた操作におけるユーザ体感を向上させることができる。また、第２のゲーム例においては、リング型拡張装置５が変形していない、またはリング型拡張装置５を変形させながら振り動かされていない場合に所定のゲーム処理の実行が制限されるため、当該所定のゲーム処理が特定のユーザ操作による限定的なものとなる。なお、プレイヤキャラクタＰＣがジャンプして移動する処理が、所定の達成目標が設定されるゲームの達成度合いを更新する更新処理の一例に相当する。
【０２３５】
なお、上述した実施例では、弾性変形可能な材質で構成された環状部２０１をリング型拡張装置５が備えており、環状部２０１を弾性変形させることによる操作に応じた処理が行われている。このように入力装置の主部を弾性変形させる操作が可能であることによって、連続でユーザが押込操作を行うことが容易となる、押込操作に弾性変形が伴うことによってユーザの操作感覚が向上する、押込操作に弾性変形が伴うことによってプレイヤオブジェクトＯＢＪが動く感覚をユーザが体感しやすくなる、押込操作を必要とすることによってユーザの身体を動かす運動（例えば、腕を動かす運動）を促すことができる等、様々な効果を期待することができる。
【０２３６】
また、上記実施例では、リング型拡張装置５を変形させながら振り動かすことによって所定のゲーム処理が行われる操作例として、グリップカバー２０３および２０４が互いに近づくように環状部２０１を定常状態から所定の状態以上までリング型拡張装置５を変形させる押込操作を用いたが、他の態様によってリング型拡張装置５を変形させる操作が行われてもよい。例えば、リング型拡張装置５のグリップカバー２０３および２０４が互いに離れるように環状部２０１を定常状態から所定の状態以上までリング型拡張装置５を変形させる引張操作を行いながら振り動かすことによって、所定のゲーム処理が行われてもよい。
【０２３７】
また、上述した実施例におけるリング型拡張装置５を変形させる操作は、様々な態様を含んでいる。例えば、リング型拡張装置５の環状部２０１の形状に定常状態から微少な変化が生じた場合に、リング型拡張装置５を変形させる操作が行われていると定義してもよい。他の例として、リング型拡張装置５の環状部２０１の形状に定常状態から各ゲームにおいて設定される閾値以上の変形量の変形が生じた場合に、リング型拡張装置５を変形させる操作が行われていると定義してもよい。
【０２３８】
また、上述した実施例では、本体装置２と右コントローラ４とが無線通信を行うことによって、右コントローラ４の操作データが本体装置２へ送信される例を用いたが、他の態様によって上記操作データが本体装置２へ送信されてもよい。例えば、右コントローラ４のコントローラの操作データが左コントローラ３へ送信された後、左コントローラ３から両方の操作データ（または加工された操作データ）が本体装置２へ合わせて送信されてもかまわない。
【０２３９】
また、上述した実施例において、右コントローラ４の姿勢や動き（リング型拡張装置５の姿勢や動き）を検出する方法については、単なる一例であって、他の方法や他のデータを用いて当該姿勢や当該動きを検出してもよい。上述した加速度センサおよび／または角速度センサは、右コントローラ４の姿勢や動きを算出するためのデータを出力するセンサの一例である。例えば、他の実施例においては、右コントローラ４は、加速度センサおよび／または角速度センサに代えてまたは加えて磁気センサを備えていてもよく、当該磁気センサによって検出された磁気を用いて右コントローラ４の姿勢や動きが算出されてもよい。また、右コントローラ４の姿勢や動きを算出する方法は任意であり、例えば他の実施例においては、本体装置２は、右コントローラ４（リング型拡張装置５）を撮像装置によって撮像し、撮影された画像を用いて右コントローラ４（リング型拡張装置５）の姿勢を算出してもよい。また、右コントローラ４に備えられた加速度センサおよび／または角速度センサにおいて検出されたデータを用いて、右コントローラ４内部において右コントローラ４の姿勢や動きを算出してもよい。この場合、右コントローラ４内部で算出された右コントローラ４の姿勢や動きを示すデータが加えられた操作データが、右コントローラ４から本体装置２へ送信されることになる。
【０２４０】
また、上述した実施例では、リング型拡張装置５を変形させながら振り動かすことによって所定のゲーム処理が行われる例を用いたが、リング型拡張装置５を変形させながら他の入力装置を動かすことによって当該所定のゲーム処理が行われてもよい。一例として、リング型拡張装置５を変形させながら左コントローラ３本体を動かすことによって所定のゲーム処理が行われてもよい。例えば、ユーザが左コントローラ３を身体（例えば、足）に取り付けてゲーム操作している場合、リング型拡張装置５を変形させながら左コントローラ３が取り付けられた足を動かすことによって所定のゲーム処理をおこなうことが可能となる。
【０２４１】
また、ゲームシステム１は、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器（ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、パーソナルコンピュータ、カメラ、タブレット等）等であってもよい。この場合、オブジェクトを移動する操作を行うための入力装置は、左コントローラ３や右コントローラ４でなくてもよく、別のコントローラ、マウス、タッチパッド、タッチパネル、トラックボール、キーボード、十字キー、スライドパッド等であってもよい。
【０２４２】
また、上述した例では、リング型拡張装置５は、右コントローラ４が装着されることによって慣性センサ（例えば、加速度センサや角速度センサ）が搭載された入力装置として機能する例を用いたが、他の態様によって当該機能が搭載されてもよい。例えば、リング型拡張装置５自体に慣性センサの機能が搭載されていてもよい。一例として、リング型拡張装置５に生じる１軸以上の方向に沿った加速度を検出する加速度センサおよび／またはリング型拡張装置５に生じる１軸以上の軸方向周りの角速度を検出する角速度センサが、本体部２０２内部に設けられていてもよい。
【０２４３】
また、上述した説明では情報処理をゲームシステム１でそれぞれ行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲームシステム１がさらに他の装置（例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末）と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、ゲームシステム１のプロセッサ８１が所定のプログラムを実行することによって情報処理を行うことが可能であるが、ゲームシステム１が備える専用回路によって上記処理の一部または全部が行われてもよい。
【０２４４】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置（据置型のゲーム装置）と携帯型の情報処理装置（携帯型のゲーム装置）との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
【０２４５】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
【０２４６】
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じてゲームシステム１に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【０２４７】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０２４８】
以上のように、本発明は、ユーザ体感を向上させることを可能とする情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法等として利用することができる。
【符号の説明】
【０２４９】
１…情報処理システム
２…本体装置
３…左コントローラ
４…右コントローラ
５…リング型拡張装置
１１…ハウジング
１２…ディスプレイ
１７…左側端子
２１…右側端子
２７…下側端子
２９…照度センサ
３２、５２…アナログスティック
４２、６４…端子
８１…プロセッサ
８２…ネットワーク通信部
８３…コントローラ通信部
８５…ＤＲＡＭ
１０１、１１１…通信制御部
８９、１０４、１１４…加速度センサ
９０、１０５、１１５…角速度センサ
２０１…環状部
２０２…本体部
２０３、２０４…グリップカバー
【要約】
【課題】ユーザ体感を向上させることを可能とする情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法を提供する。
【解決手段】外部から力が加わることに応じて少なくとも一部が弾性変形する入力装置の変形に応じた歪データと動きセンサの動きおよび／または姿勢に応じた動きデータとに基づいて、入力装置が変形していることを検知している間、動きデータに基づいて所定のゲーム処理を実行する。
【選択図】図１２【図１】
0006688424.tif 000002
【図２】
0006688424.tif 000003
【図３】
0006688424.tif 000004
【図４】
0006688424.tif 000005
【図５】
0006688424.tif 000006
【図６】
0006688424.tif 000007
【図７】
0006688424.tif 000008
【図８】
0006688424.tif 000009
【図９】
0006688424.tif 000010
【図１０】
0006688424.tif 000011
【図１１】
0006688424.tif 000012
【図１２】
0006688424.tif 000013
【図１３】
0006688424.tif 000014
【図１４】
0006688424.tif 000015
【図１５】
0006688424.tif 000016
【図１６】
0006688424.tif 000017
【図１７】
0006688424.tif 000018
【図１８】
0006688424.tif 000019
【図１９】
0006688424.tif 000020
【図２０】
0006688424.tif 000021
【図２１】
0006688424.tif 000022
【図２２】
0006688424.tif 000023
【図２３】
0006688424.tif 000024
【図２４】
0006688424.tif 000025
【図２５】
0006688424.tif 000026
【図２６】
0006688424.tif 000027