(57)【特許請求の範囲】
【請求項１】
ユーザの運動に応じたセンサデータを出力可能なセンサと、
前記ユーザの入力に基づいて、運動の分類に関するユーザ情報を予め記憶手段に記憶させる記憶制御手段と、
前記ユーザに運動を行わせるための運動イベントを含むゲームを実行するゲーム実行手段と、を備え、
前記ゲーム実行手段は、
前記ゲームの実行中に、前記運動イベントを実行する運動イベント実行手段と、
前記センサからセンサデータを取得する取得手段と、
取得した前記センサデータが、実行する前記運動イベントに対応付けられる所定の条件を満たす場合には、当該運動イベントに関連する処理を実行することにより、前記ゲームを進行させるゲーム進行手段と、を含み、
前記ゲーム進行手段は、
前記運動イベントが前記ユーザ情報により示される運動の分類に対応する場合、前記所定の条件を満たすセンサデータが取得されない場合であっても、前記運動イベントに関連する処理を行うことにより、又は、前記運動イベントに関連する処理の少なくとも一部をスキップすることにより、前記ゲームを進行させる、情報処理システム。
【請求項２】
ユーザが操作可能な操作部を更に備え、
前記取得手段は、前記操作部に対する操作に応じた操作データを取得し、
前記ゲーム進行手段は、前記運動イベントが前記ユーザ情報により示される運動の分類に対応する場合、前記操作データに基づいて、前記ゲームを進行させる、請求項１に記載の情報処理システム。
【請求項３】
前記運動イベントが前記ユーザ情報により示される運動の分類に対応する場合、前記ゲーム進行手段は、前記所定の条件とは異なる第２の条件を満たす前記センサデータが取得された場合、前記ゲームを進行させる、請求項１又は２に記載の情報処理システム。
【請求項４】
前記運動イベントには、身体の部位に関する部位情報が関連付けられ、
前記記憶手段には、前記ユーザの入力に基づいて、前記ユーザ情報として身体の部位に関するユーザ部位情報が記憶され、
前記ゲーム進行手段は、前記運動イベントに関連付けられた前記部位情報の少なくとも一部と前記ユーザ部位情報の少なくとも一部とが一致する場合、前記所定の条件を満たすセンサデータが取得されない場合であっても、前記ゲームを進行させる、請求項１から３の何れかに記載の情報処理システム。
【請求項５】
前記記憶手段には、前記ユーザ情報として、特定の運動を示す運動情報が記憶され、
前記ゲーム進行手段は、前記運動イベントが前記運動情報により示される特定の運動に対応する場合、前記所定の条件を満たすセンサデータが取得されない場合であっても、前記ゲームを進行させる、請求項１から４の何れかに記載の情報処理システム。
【請求項６】
前記運動イベント実行手段は、複数の運動イベントの中から、前記ユーザ情報に対応付けられた運動イベント以外の少なくとも１の運動イベントを選択して実行する、請求項１から５の何れかに記載の情報処理システム。
【請求項７】
前記運動イベント実行手段は、ユーザが選択した運動をユーザに行わせる第１の運動イベントを実行する場合と、予め定められた運動をユーザに行わせる第２の運動イベントを実行する場合とがあり、
前記ゲーム進行手段は、
前記第１の運動イベントが実行される場合において、前記ユーザが選択した運動に応じた条件を満たす前記センサデータが取得された場合、前記ゲームを進行させ、
前記第２の運動イベントが実行される場合において、前記第２の運動イベントが前記ユーザ情報により示される運動の分類に対応する場合には、前記予め定められた運動に応じた条件を満たす前記センサデータが取得されない場合であっても、前記ゲームを進行させる、請求項１から６の何れかに記載の情報処理システム。
【請求項８】
前記ゲーム実行手段は、前記ゲームの実行中の第１のタイミングで前記運動イベントを実行し、当該運動イベントに応じた所定の条件を満たす前記センサデータが取得された場合に当該運動イベントを終了して前記ゲームを進行させ、その後の第２のタイミングでさらに次の前記運動イベントを実行し、
前記ゲーム進行手段は、
前記運動イベントが前記ユーザ情報により示される運動の分類に対応する場合、前記所定の条件を満たすセンサデータが取得されない場合であっても、前記運動に関連する処理を行ってから前記運動イベントを終了することにより、又は、前記運動に関連する処理を行わずに前記運動イベントを終了することにより、前記ゲームを進行させる、請求項１から７の何れかに記載の情報処理システム。
【請求項９】
前記ゲーム実行手段は、
前記運動イベントが前記ユーザ情報により示される運動の分類に対応しない場合に、前記ユーザに当該運動イベントに応じた運動を行わせるための第１の指示を行い、
前記運動イベントが前記ユーザ情報により示される運動の分類に対応する場合に、前記ユーザに前記操作部に対する操作を行わせるための第２の指示を行う、請求項１から８の何れかに記載の情報処理システム。
【請求項１０】
前記ゲーム実行手段は、前記運動イベントが前記ユーザ情報により示される運動の分類に対応する場合に、前記第１の指示に替えて前記第２の指示を行う、請求項９に記載の情報処理システム。
【請求項１１】
ユーザの運動に応じたセンサデータを出力可能なセンサから前記センサデータを取得可能な情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、前記コンピュータを、
前記ユーザの入力に基づいて、運動の分類に関するユーザ情報を予め記憶手段に記憶させる記憶制御手段、および、
前記ユーザに運動を行わせるための運動イベントを含むゲームを実行するゲーム実行手段、として機能させ、
前記ゲーム実行手段は、
前記ゲームの実行中に、前記運動イベントを実行する運動イベント実行手段と、
前記センサデータを取得する取得手段と、
取得した前記センサデータが、実行する前記運動イベントに対応付けられる所定の条件を満たす場合には、当該運動イベントに関連する処理を実行することにより、前記ゲームを進行させるゲーム進行手段と、を含み、
前記ゲーム進行手段は、
前記運動イベントが前記ユーザ情報により示される運動の分類に対応する場合、前記所定の条件を満たすセンサデータが取得されない場合であっても、前記運動イベントに関連する処理を行うことにより、又は、前記運動イベントに関連する処理の少なくとも一部をスキップすることにより、前記ゲームを進行させる、情報処理プログラム。
【請求項１２】
ユーザの運動に応じたセンサデータを出力可能なセンサから前記センサデータを取得可能な情報処理装置であって、
前記ユーザの入力に基づいて、運動の分類に関するユーザ情報を予め記憶手段に記憶させる記憶制御手段と、
前記ユーザに運動を行わせるための運動イベントを含むゲームを実行するゲーム実行手段とを備え、
前記ゲーム実行手段は、
前記ゲームの実行中に、前記運動イベントを実行する運動イベント実行手段と、
前記センサデータを取得する取得手段と、
取得した前記センサデータが、実行する前記運動イベントに対応付けられる所定の条件を満たす場合には、当該運動イベントに関連する処理を実行することにより、前記ゲームを進行させるゲーム進行手段と、を含み、
前記ゲーム進行手段は、
前記運動イベントが前記ユーザ情報により示される運動の分類に対応する場合、前記所定の条件を満たすセンサデータが取得されない場合であっても、前記運動イベントに関連する処理を行うことにより、又は、前記運動イベントに関連する処理の少なくとも一部をスキップすることにより、前記ゲームを進行させる、情報処理装置。
【請求項１３】
ユーザの運動に応じたセンサデータを出力可能なセンサから前記センサデータを取得可能な情報処理システムにおいて実行される情報処理方法であって、
前記ユーザの入力に基づいて、運動の分類に関するユーザ情報を予め記憶手段に記憶させる記憶制御ステップと、
前記ユーザに運動を行わせるための運動イベントを含むゲームを実行するゲーム実行ステップとを備え、
前記ゲーム実行ステップは、
前記ゲームの実行中に、前記運動イベントを実行する運動イベント実行ステップと、
前記センサデータを取得する取得ステップと、
取得した前記センサデータが、実行する前記運動イベントに対応付けられる所定の条件を満たす場合には、当該運動イベントに関連する処理を実行することにより、前記ゲームを進行させるゲーム進行ステップと、を含み、
前記ゲーム進行ステップは、
前記運動イベントが前記ユーザ情報により示される運動の分類に対応する場合、前記所定の条件を満たすセンサデータが取得されない場合であっても、前記運動イベントに関連する処理を行うことにより、又は、前記運動イベントに関連する処理の少なくとも一部をスキップすることにより、前記ゲームを進行させる、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの運動に応じた処理を行うことが可能な情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法に関する。
【背景技術】
【０００２】
先行技術として、例えば、ゲームにおいてプレイヤの動きによりコマンドを入力するものがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１９−３３８６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ユーザが身体を動かすことによって進行するゲームにおいて、ユーザによってはゲームを進行させることが困難となる場合があり、改善の余地があった。
【０００５】
それ故、本発明の目的は、ユーザが身体を動かすことによって進行するゲームにおいて、ユーザに応じて、ゲームを進行させることをサポートすることが可能な情報処理システムを提供することである。
【課題を解決するための手段】
【０００６】
上記の課題を解決すべく、本発明は、以下の構成を採用した。
【０００７】
本発明の情報処理システムは、ユーザの運動に応じたセンサデータを出力可能なセンサと、前記ユーザの入力に基づいて、ユーザ情報を予め記憶手段に記憶させる記憶制御手段と、前記ユーザに運動を行わせるための運動イベントを含むゲームを実行するゲーム実行手段と、を備える。前記ゲーム実行手段は、前記ゲームの実行中に、前記運動イベントを実行する運動イベント実行手段と、前記センサからセンサデータを取得する取得手段と、取得した前記センサデータが、実行する前記運動イベントに対応付けられる所定の条件を満たす場合には、当該運動イベントに関連する処理を実行することにより、前記ゲームを進行させるゲーム進行手段と、を含む。前記ゲーム進行手段は、前記運動イベントが前記ユーザ情報に対応する場合、前記センサデータが取得されない場合であっても、前記運動イベントに関連する処理を行うことにより、又は、前記運動イベントに関連する処理の少なくとも一部をスキップすることにより、前記ゲームを進行させる。
【０００８】
上記によれば、運動イベントに応じた運動を行うことにより進行するゲームにおいて、ユーザが運動を行わなくてもゲームを進行させることができる。
【０００９】
他の構成では、上記情報処理システムは、ユーザが操作可能な操作部を更に備えてもよい。前記取得手段は、前記操作部に対する操作に応じた操作データを取得してもよい。前記ゲーム進行手段は、前記運動イベントが前記ユーザ情報に対応する場合、前記操作データに基づいて、前記ゲームを進行させてもよい。
【００１０】
上記によれば、運動イベントに応じた運動に代えて、操作部に対する操作によりゲームを進行させることができる。
【００１１】
また、他の構成では、前記運動イベントが前記ユーザ情報に対応する場合、前記ゲーム進行手段は、前記所定の条件とは異なる第２の条件を満たす前記センサデータが取得された場合、前記ゲームを進行させてもよい。
【００１２】
上記によれば、所定の条件とは異なる第２の条件を満たすセンサデータが取得された場合にゲームが進行する。このため、ユーザは、ユーザ情報に対応付けられた運動に代えて、別の運動を行うことでゲームを進行させることができる。
【００１３】
また、他の構成では、前記記憶制御手段は、前記ユーザの入力に基づいて、前記ユーザ情報として運動の分類に関する分類情報を前記記憶手段に記憶させてもよい。前記ゲーム進行手段は、前記運動イベントが、前記分類情報が示す分類に関係付けられる場合、前記センサデータが取得されない場合であっても、前記ゲームを進行させてもよい。
【００１４】
上記によれば、ユーザは、運動の分類を指定してユーザ情報として設定することができ、運動に関する詳細を設定しなくても簡単な設定でゲームを進行させることができる。
【００１５】
また、他の構成では、前記運動イベントには、身体の部位に関する部位情報が関連付けられてもよい。前記記憶手段には、前記ユーザの入力に基づいて、前記ユーザ情報として身体の部位に関するユーザ部位情報が記憶されてもよい。前記ゲーム進行手段は、前記運動イベントに関連付けられた前記部位情報の少なくとも一部と前記ユーザ部位情報の少なくとも一部とが一致する場合、前記センサデータが取得されない場合であっても、前記ゲームを進行させてもよい。
【００１６】
上記によれば、ユーザは身体の部位に関するユーザ部位情報を設定することで当該設定に基づく運動を行わなくてもゲームを進行させることができるため、運動に関する詳細を設定しなくても簡単な設定でゲームを進行させることができる。
【００１７】
また、他の構成では、前記記憶手段には、前記ユーザ情報として、特定の運動が運動情報として記憶されてもよい。前記ゲーム進行手段は、前記運動イベントが前記運動情報に対応する場合、前記センサデータが取得されない場合であっても、前記ゲームを進行させてもよい。
【００１８】
上記によれば、ユーザは予め指定した特定の運動を行わなくてもゲームを進行させることができる。
【００１９】
また、他の構成では、前記運動イベント実行手段は、複数の運動イベントの中から、前記ユーザ情報に対応付けられた運動イベント以外の少なくとも１の運動イベントを選択して実行してもよい。
【００２０】
上記によれば、ユーザによって設定されたユーザ情報に基づく運動以外の運動が選択されるため、当該選択された運動を行うことで、ゲームを進行させることができる。
【００２１】
また、他の構成では、前記運動イベント実行手段は、ユーザが選択した運動をユーザに行わせる第１の運動イベントを実行する場合と、予め定められた運動をユーザに行わせる第２の運動イベントを実行する場合とがあってもよい。前記ゲーム進行手段は、前記第１の運動イベントが実行される場合において、前記ユーザが選択した運動に応じた条件を満たす前記センサデータが取得された場合、前記ゲームを進行させてもよい。また、前記ゲーム進行手段は、前記第２の運動イベントが実行される場合において、前記第２の運動イベントが前記ユーザ情報に対応する場合には、前記予め定められた運動に応じた条件を満たす前記センサデータが取得されない場合であっても、前記ゲームを進行させてもよい。
【００２２】
上記によれば、ユーザの意思を反映して運動を行わせることができるとともに、ユーザが運動を選択できない場合については運動を行わなくてもゲームを進行させることができる。
【００２３】
また、他の構成では、前記ゲーム実行手段は、前記ゲームの実行中の第１のタイミングで前記運動イベントを実行し、当該運動イベントに応じた所定の条件を満たす前記センサデータが取得された場合に当該運動イベントを終了して前記ゲームを進行させ、その後の第２のタイミングでさらに次の前記運動イベントを実行してもよい。前記ゲーム進行手段は、前記運動イベントが前記ユーザ情報に対応する場合、前記センサデータが取得されない場合であっても、前記運動に関連する処理を行ってから前記運動イベントを終了することにより、又は、前記運動に関連する処理を行わずに前記運動イベントを終了することにより、前記ゲームを進行させてもよい。
【００２４】
上記によれば、運動イベントに応じた運動を順次行うことにより進行するゲームにおいて、ユーザが運動を行わなくても、ゲームを進行させることができる。
【００２５】
また、他の構成では、前記ゲーム実行手段は、前記運動イベントが前記ユーザ情報に対応しない場合に、前記ユーザに当該運動イベントに応じた運動を行わせるための第１の指示を行い、前記運動イベントが前記ユーザ情報に対応する場合に、前記ユーザに前記操作部に対する操作を行わせるための第２の指示を行ってもよい。
【００２６】
また、他の構成では、前記ゲーム実行手段は、前記運動イベントが前記ユーザ情報に対応する場合に、前記第１の指示に替えて前記第２の指示を行ってもよい。
【００２７】
上記によれば、運動イベントに応じた運動がユーザ情報に対応する場合は異なる指示が行われるため、ユーザにとって分かり易い。例えば、ユーザが誤って運動してしまうことを防止することができる。
【００２８】
また、他の発明は、上記情報処理システムに含まれる情報処理装置であってもよいし、情報処理プログラムであってもよい。また、上記情報処理システムにおいて行われる情報処理方法であってもよい。
【発明の効果】
【００２９】
本発明によれば、運動イベントに応じた運動を行うことにより進行するゲームにおいて、ユーザが運動を行わなくてもゲームを進行させることができる。
【図面の簡単な説明】
【００３０】
【図１】ゲームシステムに含まれる各装置の一例を示す図
【図２】本体装置２に左コントローラ３および右コントローラ４を装着した状態の一例を示す図
【図３】本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図
【図４】本体装置２の一例を示す六面図
【図５】左コントローラ３の一例を示す六面図
【図６】右コントローラ４の一例を示す六面図
【図７】本体装置２の内部構成の一例を示すブロック図
【図８】本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図
【図９】リング型拡張装置５の一例を示す図
【図１０】リング型拡張装置５の内部構成の一例を示すブロック図
【図１１】ベルト型拡張装置６の一例を示す図
【図１２】リング型拡張装置５およびベルト型拡張装置６をユーザが使用する様子の一例を示す図
【図１３】本実施形態のゲームの進行について説明するための図
【図１４】本実施形態のゲームが行われているときのゲーム画像の一例を示す図
【図１５】図１４からユーザキャラクタ４０１が道４０３に沿って所定距離だけ進んだ後のゲーム画像の一例を示す図
【図１６】ユーザキャラクタ４０１が敵キャラクタ４１０に攻撃を行うシーンの一例を示す図であって、ユーザが実行する運動を選択するための選択画面の一例を示す図
【図１７】図１６の選択画面において「スクワット」が選択された後のゲーム画像の一例を示す図
【図１８】敵キャラクタ４１０からの攻撃をユーザキャラクタ４０１が防御するときのゲーム画像の一例を示す図
【図１９】図１８に示すゲーム画像が表示された後、ユーザが指示に従った運動を行ったときのゲーム画像の一例を示す図
【図２０】運動サポートの設定画面の一例を示す図
【図２１】運動サポートの設定が行われている場合において、図１８で示したユーザキャラクタ４０１の防御シーンにおけるゲーム画像の一例を示す図
【図２２】図２１に示す画像が表示された場合においてＸボタン５５が押下された後のゲーム画像の一例を示す図
【図２３】本実施形態のゲームの実行中に行われる複数の運動イベントの一例を示す図
【図２４】予め設定されている運動の情報を記憶した運動情報テーブルの一例を示す図
【図２５】ユーザによって設定されたユーザ情報の一例を示す図
【図２６】本体装置２に記憶されるデータの一例を示す図
【図２７】本体装置２のプロセッサ８１において行われるメイン処理の一例を示すフローチャート
【図２８】ステップＳ１０７の運動判定処理の一例を示すフローチャート
【発明を実施するための形態】
【００３１】
以下、本実施形態の一例に係るゲームシステムについて説明する。図１は、ゲームシステムに含まれる各装置の一例を示す図である。図１に示すように、ゲームシステム１は、本体装置２と、左コントローラ３および右コントローラ４と、リング型拡張装置５と、ベルト型拡張装置６とを含む。
【００３２】
本体装置２は、情報処理装置の一例であり、本実施形態ではゲーム機本体として機能する。本体装置２には、左コントローラ３および右コントローラ４がそれぞれ着脱可能である（図１および図３参照）。つまり、ユーザは、左コントローラ３および右コントローラ４をそれぞれ本体装置２に装着して一体化された装置として使用することができる（図２参照）。また、ユーザは、本体装置２と左コントローラ３および右コントローラ４とを別体として使用することもできる（図３参照）。なお、以下においては、本体装置２と各コントローラ３および４とをまとめて、「ゲーム装置」と呼ぶことがある。
【００３３】
リング型拡張装置５は、右コントローラ４に用いられる拡張装置の一例である。リング型拡張装置５は、右コントローラ４をリング型拡張装置５に装着した状態で使用される。また、ベルト型拡張装置６は、左コントローラ３に用いられる拡張装置の一例である。ベルト型拡張装置６は、左コントローラ３をベルト型拡張装置６に装着した状態で使用される。このように、本実施形態においては、ユーザは、各コントローラ３および４を各拡張装置に装着した状態で使用することもできる（図１２参照）。なお、リング型拡張装置５は、右コントローラ４に限らず、左コントローラ３を自身に装着することが可能であってもよい。ベルト型拡張装置６は、左コントローラ３に限らず、右コントローラ４を自身に装着することが可能であってもよい。
【００３４】
図２は、本体装置２に左コントローラ３および右コントローラ４を装着した状態の一例を示す図である。図２に示すように、左コントローラ３および右コントローラ４は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、ゲームシステム１における各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置２は、ディスプレイ１２を備える。左コントローラ３および右コントローラ４は、ユーザが入力を行うための操作部を備える装置である。
【００３５】
図３は、本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図である。図２および図３に示すように、左コントローラ３および右コントローラ４は、本体装置２に着脱可能である。なお、以下において、左コントローラ３および右コントローラ４の総称として「コントローラ」と記載することがある。
【００３６】
図４は、本体装置２の一例を示す六面図である。図４に示すように、本体装置２は、略板状のハウジング１１を備える。本実施形態において、ハウジング１１の主面（換言すれば、表側の面、すなわち、ディスプレイ１２が設けられる面）は、大略的には矩形形状である。
【００３７】
なお、ハウジング１１の形状および大きさは、任意である。一例として、ハウジング１１は、携帯可能な大きさであってよい。また、本体装置２単体または本体装置２に左コントローラ３および右コントローラ４が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２または一体型装置が手持ち型の装置となってもよい。また、本体装置２または一体型装置が可搬型装置となってもよい。
【００３８】
図４に示すように、本体装置２は、ハウジング１１の主面に設けられるディスプレイ１２を備える。ディスプレイ１２は、本体装置２が生成した画像を表示する。本実施形態においては、ディスプレイ１２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ１２は任意の種類の表示装置であってよい。
【００３９】
また、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備える。本実施形態においては、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル１３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００４０】
本体装置２は、ハウジング１１の内部においてスピーカ（すなわち、図７に示すスピーカ８８）を備えている。図４に示すように、ハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成される。そして、スピーカ８８の出力音は、これらのスピーカ孔１１ａおよび１１ｂからそれぞれ出力される。
【００４１】
また、本体装置２は、本体装置２が左コントローラ３と有線通信を行うための端子である左側端子１７と、本体装置２が右コントローラ４と有線通信を行うための右側端子２１を備える。
【００４２】
図４に示すように、本体装置２は、スロット２３を備える。スロット２３は、ハウジング１１の上側面に設けられる。スロット２３は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム１およびそれと同種の情報処理装置に専用の記憶媒体（例えば、専用メモリカード）である。所定の種類の記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２８を備える。
【００４３】
本体装置２は、下側端子２７を備える。下側端子２７は、本体装置２がクレードルと通信を行うための端子である。本実施形態において、下側端子２７は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。上記一体型装置または本体装置２単体をクレードルに載置した場合、ゲームシステム１は、本体装置２が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置２単体を充電する機能を有する。また、クレードルは、ハブ装置（具体的には、ＵＳＢハブ）の機能を有する。
【００４４】
図５は、左コントローラ３の一例を示す六面図である。図５に示すように、左コントローラ３は、ハウジング３１を備える。本実施形態においては、ハウジング３１は、縦長の形状、すなわち、上下方向（すなわち、図２および図５に示すｙ軸方向）に長い形状である。左コントローラ３は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング３１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ３は、横長となる向きで把持されることも可能である。左コントローラ３が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００４５】
左コントローラ３は、アナログスティック３２を備える。図５に示すように、アナログスティック３２は、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック３２を傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。なお、左コントローラ３は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック３２を押下する入力が可能である。
【００４６】
左コントローラ３は、各種操作ボタンを備える。左コントローラ３は、ハウジング３１の主面上に４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および左方向ボタン３６）を備える。さらに、左コントローラ３は、録画ボタン３７および−（マイナス）ボタン４７を備える。左コントローラ３は、ハウジング３１の側面の左上に第１Ｌボタン３８およびＺＬボタン３９を備える。また、左コントローラ３は、ハウジング３１の側面の、本体装置２に装着される際に装着される側の面に第２Ｌボタン４３および第２Ｒボタン４４を備える。これらの操作ボタンは、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。
【００４７】
また、左コントローラ３は、左コントローラ３が本体装置２と有線通信を行うための端子４２を備える。
【００４８】
図６は、右コントローラ４の一例を示す六面図である。図６に示すように、右コントローラ４は、ハウジング５１を備える。本実施形態においては、ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング５１は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ４は、横長となる向きで把持されることも可能である。右コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００４９】
右コントローラ４は、左コントローラ３と同様、方向入力部としてアナログスティック５２を備える。本実施形態においては、アナログスティック５２は、左コントローラ３のアナログスティック３２と同じ構成である。また、右コントローラ４は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ４は、左コントローラ３と同様、ハウジング５１の主面上に４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、およびＹボタン５６）を備える。さらに、右コントローラ４は、＋（プラス）ボタン５７およびホームボタン５８を備える。また、右コントローラ４は、ハウジング５１の側面の右上に第１Ｒボタン６０およびＺＲボタン６１を備える。また、右コントローラ４は、左コントローラ３と同様、第２Ｌボタン６５および第２Ｒボタン６６を備える。
【００５０】
また、ハウジング５１の下側面には、窓部６８が設けられる。詳細は後述するが、右コントローラ４は、ハウジング５１の内部に配置される赤外撮像部１２３および赤外発光部１２４を備えている。赤外撮像部１２３は、右コントローラ４の下方向（図６に示すｙ軸負方向）を撮像方向として、窓部６８を介して右コントローラ４の周囲を撮像する。赤外発光部１２４は、右コントローラ４の下方向（図６に示すｙ軸負方向）を中心とする所定範囲を照射範囲として、赤外撮像部１２３が撮像する撮像対象に窓部６８を介して赤外光を照射する。窓部６８は、赤外撮像部１２３のカメラのレンズや赤外発光部１２４の発光体等を保護するためのものであり、当該カメラが検知する波長の光や当該発光体が照射する光を透過する材質（例えば、透明な材質）で構成される。なお、窓部６８は、ハウジング５１に形成された孔であってもよい。なお、本実施形態においては、カメラが検知する光（本実施形態においては、赤外光）以外の波長の光の透過を抑制するフィルタ部材を赤外撮像部１２３自身が有する。ただし、他の実施形態においては、窓部６８がフィルタの機能を有していてもよい。
【００５１】
また、右コントローラ４は、右コントローラ４が本体装置２と有線通信を行うための端子６４を備える。
【００５２】
図７は、本体装置２の内部構成の一例を示すブロック図である。本体装置２は、図４に示す構成の他、図７に示す各構成要素８１〜９１、９７、および９８を備える。これらの構成要素８１〜９１、９７、および９８のいくつかは、電子部品として電子回路基板上に実装されてハウジング１１内に収納されてもよい。
【００５３】
本体装置２は、プロセッサ８１を備える。プロセッサ８１は、本体装置２において実行される各種の情報処理を実行する情報処理部であって、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のみから構成されてもよいし、ＣＰＵ機能、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）機能等の複数の機能を含むＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）から構成されてもよい。プロセッサ８１は、記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、あるいは、スロット２３に装着される外部記憶媒体等）に記憶される情報処理プログラム（例えば、ゲームプログラム）を実行することによって、各種の情報処理を実行する。
【００５４】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８５を備える。フラッシュメモリ８４およびＤＲＡＭ８５は、プロセッサ８１に接続される。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００５５】
本体装置２は、スロットインターフェース（以下、「Ｉ／Ｆ」と略記する。）９１を備える。スロットＩ／Ｆ９１は、プロセッサ８１に接続される。スロットＩ／Ｆ９１は、スロット２３に接続され、スロット２３に装着された所定の種類の記憶媒体（例えば、専用メモリカード）に対するデータの読み出しおよび書き込みを、プロセッサ８１の指示に応じて行う。
【００５６】
プロセッサ８１は、フラッシュメモリ８４およびＤＲＡＭ８５、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００５７】
本体装置２は、ネットワーク通信部８２を備える。ネットワーク通信部８２は、プロセッサ８１に接続される。ネットワーク通信部８２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。本実施形態においては、ネットワーク通信部８２は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部８２は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００５８】
本体装置２は、コントローラ通信部８３を備える。コントローラ通信部８３は、プロセッサ８１に接続される。コントローラ通信部８３は、左コントローラ３および／または右コントローラ４と無線通信を行う。本体装置２と左コントローラ３および右コントローラ４との通信方式は任意であるが、本実施形態においては、コントローラ通信部８３は、左コントローラ３との間および右コントローラ４との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００５９】
プロセッサ８１は、上述の左側端子１７、右側端子２１、および下側端子２７に接続される。プロセッサ８１は、左コントローラ３と有線通信を行う場合、左側端子１７を介して左コントローラ３へデータを送信するとともに、左側端子１７を介して左コントローラ３から操作データを受信する。また、プロセッサ８１は、右コントローラ４と有線通信を行う場合、右側端子２１を介して右コントローラ４へデータを送信するとともに、右側端子２１を介して右コントローラ４から操作データを受信する。また、プロセッサ８１は、クレードルと通信を行う場合、下側端子２７を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置２は、左コントローラ３および右コントローラ４との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置または本体装置２単体がクレードルに装着された場合、本体装置２は、クレードルを介してデータ（例えば、画像データや音声データ）を据置型モニタ等に出力することができる。
【００６０】
ここで、本体装置２は、複数の左コントローラ３と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。したがって、複数のユーザは、左コントローラ３および右コントローラ４のセットをそれぞれ用いて、本体装置２に対する入力を同時に行うことができる。一例として、第１ユーザが左コントローラ３および右コントローラ４の第１セットを用いて本体装置２に対して入力を行うと同時に、第２ユーザが左コントローラ３および右コントローラ４の第２セットを用いて本体装置２に対して入力を行うことが可能となる。
【００６１】
本体装置２は、タッチパネル１３の制御を行う回路であるタッチパネルコントローラ８６を備える。タッチパネルコントローラ８６は、タッチパネル１３とプロセッサ８１との間に接続される。タッチパネルコントローラ８６は、タッチパネル１３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ８１へ出力する。
【００６２】
また、ディスプレイ１２は、プロセッサ８１に接続される。プロセッサ８１は、（例えば、上記の情報処理の実行によって）生成した画像および／または外部から取得した画像をディスプレイ１２に表示する。
【００６３】
本体装置２は、コーデック回路８７およびスピーカ（具体的には、左スピーカおよび右スピーカ）８８を備える。コーデック回路８７は、スピーカ８８および音声入出力端子２５に接続されるとともに、プロセッサ８１に接続される。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する回路である。
【００６４】
また、本体装置２は、加速度センサ８９を備える。本実施形態においては、加速度センサ８９は、所定の３軸（例えば、図２に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ８９は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。
【００６５】
また、本体装置２は、角速度センサ９０を備える。本実施形態においては、角速度センサ９０は、所定の３軸（例えば、図２に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ９０は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。
【００６６】
加速度センサ８９および角速度センサ９０は、プロセッサ８１に接続され、加速度センサ８９および角速度センサ９０の検出結果は、プロセッサ８１へ出力される。プロセッサ８１は、上記の加速度センサ８９および角速度センサ９０の検出結果に基づいて、本体装置２の動きおよび／または姿勢に関する情報を算出することが可能である。
【００６７】
本体装置２は、電力制御部９７およびバッテリ９８を備える。電力制御部９７は、バッテリ９８およびプロセッサ８１に接続される。また、図示しないが、電力制御部９７は、本体装置２の各部（具体的には、バッテリ９８の電力の給電を受ける各部、左側端子１７、および右側端子２１）に接続される。電力制御部９７は、プロセッサ８１からの指令に基づいて、バッテリ９８から上記各部への電力供給を制御する。
【００６８】
また、バッテリ９８は、下側端子２７に接続される。外部の充電装置（例えば、クレードル）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、供給された電力がバッテリ９８に充電される。
【００６９】
図８は、本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図である。なお、本体装置２に関する内部構成の詳細については、図７で示しているため図８では省略している。
【００７０】
左コントローラ３は、本体装置２との間で通信を行う通信制御部１０１を備える。図８に示すように、通信制御部１０１は、端子４２を含む各構成要素に接続される。本実施形態においては、通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行うことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行う。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行う。コントローラ通信部８３と通信制御部１０１との間の無線通信は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）の規格に従って行われる。
【００７１】
また、左コントローラ３は、例えばフラッシュメモリ等のメモリ１０２を備える。通信制御部１０１は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【００７２】
左コントローラ３は、各ボタン１０３（具体的には、ボタン３３〜３９、４３、４４、および４７）を備える。また、左コントローラ３は、アナログスティック（図８では「スティック」と記載する）３２を備える。各ボタン１０３およびアナログスティック３２は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部１０１へ出力する。
【００７３】
左コントローラ３は、慣性センサを備える。具体的には、左コントローラ３は、加速度センサ１０４を備える。また、左コントローラ３は、角速度センサ１０５を備える。本実施形態においては、加速度センサ１０４は、所定の３軸（例えば、図５に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ１０５は、所定の３軸（例えば、図５に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５は、それぞれ通信制御部１０１に接続される。そして、加速度センサ１０４および角速度センサ１０５の検出結果は、適宜のタイミングで繰り返し通信制御部１０１へ出力される。
【００７４】
通信制御部１０１は、各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から、入力に関する情報（具体的には、操作に関する情報、またはセンサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【００７５】
上記操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ３に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン１０３およびアナログスティック３２に対する操作を、操作データに基づいて判別することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を、操作データ（具体的には、加速度センサ１０４および角速度センサ１０５の検出結果）に基づいて算出することができる。
【００７６】
左コントローラ３は、振動によってユーザに通知を行うための振動子１０７を備える。本実施形態においては、振動子１０７は、本体装置２からの指令によって制御される。すなわち、通信制御部１０１は、本体装置２からの上記指令を受け取ると、当該指令に従って振動子１０７を駆動させる。ここで、左コントローラ３は、コーデック部１０６を備える。通信制御部１０１は、上記指令を受け取ると、指令に応じた制御信号をコーデック部１０６へ出力する。コーデック部１０６は、通信制御部１０１からの制御信号から振動子１０７を駆動させるための駆動信号を生成して振動子１０７へ与える。これによって振動子１０７が動作する。
【００７７】
振動子１０７は、より具体的にはリニア振動モータである。リニア振動モータは、回転運動をする通常のモータと異なり、入力される電圧に応じて所定方向に駆動されるため、入力される電圧の波形に応じた振幅および周波数で振動をさせることができる。本実施形態において、本体装置２から左コントローラ３に送信される振動制御信号は、単位時間ごとに周波数と振幅とを表すデジタル信号であってよい。別の実施形態においては、本体装置２から波形そのものを示す情報を送信するようにしてもよいが、振幅および周波数だけを送信することで通信データ量を削減することができる。また、さらにデータ量を削減するため、そのときの振幅および周波数の数値に替えて、前回の値からの差分だけを送信するようにしてもよい。この場合、コーデック部１０６は、通信制御部１０１から取得される振幅および周波数の値を示すデジタル信号をアナログの電圧の波形に変換し、当該波形に合わせて電圧を入力することで振動子１０７を駆動させる。したがって、本体装置２は、単位時間ごとに送信する振幅および周波数を変えることによって、そのときに振動子１０７を振動させる振幅および周波数を制御することができる。なお、本体装置２から左コントローラ３に送信される振幅および周波数は、１つに限らず、２つ以上送信するようにしてもよい。その場合、コーデック部１０６は、受信された複数の振幅および周波数それぞれが示す波形を合成することで、振動子１０７を制御する電圧の波形を生成することができる。
【００７８】
左コントローラ３は、電力供給部１０８を備える。本実施形態において、電力供給部１０８は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ３の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。
【００７９】
図８に示すように、右コントローラ４は、本体装置２との間で通信を行う通信制御部１１１を備える。また、右コントローラ４は、通信制御部１１１に接続されるメモリ１１２を備える。通信制御部１１１は、端子６４を含む各構成要素に接続される。通信制御部１１１およびメモリ１１２は、左コントローラ３の通信制御部１０１およびメモリ１０２と同様の機能を有する。したがって、通信制御部１１１は、端子６４を介した有線通信と、端子６４を介さない無線通信（具体的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信）との両方で本体装置２と通信を行うことが可能であり、右コントローラ４が本体装置２に対して行う通信方法を制御する。
【００８０】
右コントローラ４は、左コントローラ３の各入力部と同様の各入力部を備える。具体的には、各ボタン１１３、アナログスティック５２、慣性センサ（加速度センサ１１４および角速度センサ１１５）を備える。これらの各入力部については、左コントローラ３の各入力部と同様の機能を有し、同様に動作する。
【００８１】
また、右コントローラ４は、振動子１１７およびコーデック部１１６を備える。振動子１１７およびコーデック部１１６は、左コントローラ３の振動子１０７およびコーデック部１０６と同様に動作する。すなわち、通信制御部１１１は、本体装置２からの指令に従って、コーデック部１１６を用いて振動子１１７を動作させる。
【００８２】
また、右コントローラ４は、赤外撮像部１２３を備える。赤外撮像部１２３は、右コントローラ４の周囲を撮像する赤外線カメラを有する。一例として、本体装置２および／または右コントローラ４は、撮像された情報（例えば、撮像された撮像画像における少なくとも一部の領域全体を分割した複数のブロックの輝度に関連する情報等）を算出し、当該情報に基づいて、右コントローラ４の周囲変化を判別する。また、赤外撮像部１２３は、環境光によって撮像を行ってもよいが、本実施形態においては、赤外線を照射する赤外発光部１２４を有する。赤外発光部１２４は、例えば、赤外線カメラが画像を撮像するタイミングと同期して、赤外線を照射する。そして、赤外発光部１２４によって照射された赤外線が撮像対象によって反射され、当該反射された赤外線が赤外線カメラによって受光されることで、赤外線の画像が取得される。これによって、赤外撮像部１２３は、より鮮明な赤外線画像を得ることができる。なお、赤外撮像部１２３と赤外発光部１２４とは、それぞれ別のデバイスとして右コントローラ４内に設けられてもよいし、同じパッケージ内に設けられた単一のデバイスとして右コントローラ４内に設けられてもよい。また、本実施形態においては、赤外線カメラを有する赤外撮像部１２３が用いられるが、他の実施形態においては、撮像手段として、赤外線カメラに代えて可視光カメラ（可視光イメージセンサを用いたカメラ）が用いられてもよい。
【００８３】
右コントローラ４は、処理部１２１を備える。処理部１２１は、通信制御部１１１に接続される。また、処理部１２１は、赤外撮像部１２３、および赤外発光部１２４に接続される。
【００８４】
また、処理部１２１は、ＣＰＵやメモリ等を含み、右コントローラ４に備えられた図示しない記憶装置（例えば、不揮発性メモリ等）に記憶された所定のプログラム（例えば、画像処理や各種演算を行うためのアプリケーションプログラム）に基づいて、本体装置２からの指令に応じて赤外撮像部１２３に対する管理処理を実行する。例えば、処理部１２１は、赤外撮像部１２３に撮像動作を行わせたり、撮像結果に基づく情報（撮像画像の情報、あるいは、当該情報から算出される情報等）を取得および／または算出して通信制御部１１１を介して本体装置２へ送信したりする。また、処理部１２１は、本体装置２からの指令に応じて赤外発光部１２４に対する管理処理を実行する。例えば、処理部１２１は、本体装置２からの指令に応じて赤外発光部１２４の発光を制御する。なお、処理部１２１が処理を行う際に用いるメモリは、処理部１２１内に設けられてもいいし、メモリ１１２であってもよい。
【００８５】
右コントローラ４は、電力供給部１１８を備える。電力供給部１１８は、左コントローラ３の電力供給部１０８と同様の機能を有し、同様に動作する。
【００８６】
図９は、リング型拡張装置の一例を示す図である。なお、図９は、右コントローラ４が装着された状態のリング型拡張装置５を示している。本実施形態においては、リング型拡張装置５は、右コントローラ４を装着可能な拡張装置である。詳細は後述するが、本実施形態においては、ユーザは、リング型拡張装置５に力を加えて変形させるという新規な操作を行う。ユーザは、例えばエクササイズを行う感覚でリング型拡張装置５を用いたフィットネス動作を行うことによって、リング型拡張装置５に対する操作を行うことができる。
【００８７】
図９に示すように、リング型拡張装置５は、環状部２０１と、本体部２０２とを備える。環状部２０１は、環状の形状を有する。なお、本実施形態においては、環状部２０１は、後述する弾性部材および台座部によって環状に形成される。本実施形態においては、環状部２０１は円環状である。なお、他の実施形態においては、環状部２０１の形状は任意であり、例えば楕円環状であってもよい。
【００８８】
本体部２０２は、環状部２０１に設けられる。本体部２０２は、図示しないレール部を有する。レール部は、右コントローラ４を装着可能な装着部の一例である。本実施形態においては、レール部は、右コントローラ４のスライダ６２（図６参照）に対してスライド可能に係合する。スライダ６２がレール部材に対して所定の直線方向（すなわち、スライド方向）に挿入されることで、レール部材に対してスライダ６２が当該直線方向にスライド移動が可能な状態でレール部材がスライダ６２と係合する。なお、レール部は、コントローラのスライダに対してスライド可能に係合することが可能である点で、本体装置２が有するレール部と同様である。そのため、レール部は、本体装置２が有するレール部と同様の構成であってもよい。
【００８９】
本実施形態においては、右コントローラ４は、係止部６３を有する（図６参照）。係止部６３は、スライダ６２から側方（すなわち、図６に示すｚ軸正方向）に突出して設けられる。係止部６３は、スライダ６２の内部の方向へ移動可能であるとともに、上記側方へ突出した状態となる向きに（例えばバネによって）付勢されている。また、レール部には、切欠きが設けられる。スライダ６２がレール部の奥まで挿入された状態において、係止部６３は切欠きに係止する。レール部にスライダ６２が係合した状態で係止部６３が切欠きに係止することによって、本体部２０２に右コントローラ４が装着される。
【００９０】
なお、右コントローラ４は、押下可能な解除ボタン６９を備える（図６参照）。上記係止部６３は、解除ボタン６９が押下されることに応じて、スライダ６２の内部の方向へ移動し、スライダ６２に対して突出しない（あるいは、ほとんど突出しない）状態となる。したがって、リング型拡張装置５の本体部２０２に右コントローラ４が装着された状態において、解除ボタン６９が押下されると、係止部６３は切欠きに係止しなくなる（あるいは、ほとんど係止しなくなる）。以上より、リング型拡張装置５の本体部２０２に右コントローラ４が装着される状態において、ユーザは、解除ボタン６９を押下することによって右コントローラ４をリング型拡張装置５から容易に取り外すことができる。
【００９１】
図９に示すように、リング型拡張装置５は、グリップカバー２０３および２０４を有する。グリップカバー２０３および２０４は、ユーザが把持するための部品である。本実施形態においては、グリップカバー２０３および２０４は、環状部２０１に対して取り外し可能である。本実施形態においては、環状部２０１の左端付近の左把持部分に左グリップカバー２０３が設けられ、環状部２０１の右端付近の右把持部分に右グリップカバー２０４が設けられる。なお、把持部分の数は任意であり、想定される操作方法に応じて、３箇所以上に把持部分が設けられてもよいし、１箇所のみに把持部分が設けられてもよい。また、ゲームの内容（あるいは、ゲームにおいてユーザが行うフィットネス動作の内容）によっては、複数の把持部のうちの特定の把持部のみが片手または両手で把持されることがあってもよい。
【００９２】
図１０は、リング型拡張装置５が備える構成要素の電気的な接続関係を示すブロック図である。図１０に示すように、リング型拡張装置５は、歪み検出部２１１を備える。歪み検出部２１１は、環状部２０１が変形したことを検出する検出部の一例である。本実施形態においては、歪み検出部２１１は、歪みゲージを含む。歪み検出部２１１は、後述する弾性部材の変形に応じた台座部の歪みを示す信号（換言すれば、弾性部材の変形の大きさおよび変形の向きを示す信号）を出力する。
【００９３】
ここで、本実施形態においては、環状部２０１は、弾性変形可能な弾性部と、台座部とを有する。台座部は、当該台座部と弾性部材とによって環が形成されるように当該弾性部材の両端部を保持する。なお、台座部は、本体部２０２の内部に設けられるので、図９において図示されていない。台座部は、弾性部材よりも剛性が高い材質で構成される。例えば、弾性部材は、樹脂（具体的には、ＦＲＰ（Ｆｉｂｅｒ  Ｒｅｉｎｆｏｒｃｅｄ  Ｐｌａｓｔｉｃｓ））で構成され、台座部は、金属で構成される。上記歪みゲージは、台座部に設けられ、当該台座部の歪みを検出する。環状部２０１が定常状態から変形した場合、変形によって台座部に歪みが生じるので、歪みゲージによって台座部の歪みが検出される。検出された歪みに基づいて、環状部２０１が変形する向き（すなわち、２つのグリップカバー２０３および２０４が近づく向き、または、離れる向き）と、変形量とを算出することができる。
【００９４】
なお、他の実施形態においては、歪み検出部２１１は、歪みゲージに代えて、環状部２０１が定常状態から変形したことを検出可能な任意のセンサを含んでもよい。例えば、検出部２１１は、環状部２０１が変形した場合に加わる圧力を検出する感圧センサを含んでもよいし、環状部２０１が曲げられた量を検出する曲げセンサを含んでもよい。
【００９５】
リング型拡張装置５は、信号変換部２１２を備える。本実施形態においては、信号変換部２１２は、アンプと、ＡＤコンバータとを含む。信号変換部２１２は、歪み検出部２１１に電気的に接続され、歪み検出部２１１の出力信号をアンプによって増幅し、ＡＤコンバータによってＡＤ変換を行う。信号変換部２１２は、上記歪み値を示すデジタル信号を出力する。なお、他の実施形態においては、信号変換部２１２はＡＤコンバータを含まず、後述する処理部２１３がＡＤコンバータを含んでいてもよい。
【００９６】
リング型拡張装置５は、処理部２１３を備える。処理部２１３は、プロセッサとメモリとを備える処理回路であり、例えばＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）である。処理部２１３は、信号変換部２１２に電気的に接続され、信号変換部２１２の出力信号が処理部２１３に入力される。また、リング型拡張装置５は、端子２１４を備える。端子２１４は、処理部２１３に電気的に接続される。リング型拡張装置５に右コントローラ４が装着されている場合、処理部２１３は、信号変換部２１２の出力信号が示す歪み値を示す情報（換言すれば、後述するリング操作データ）を、端子２１４を介して右コントローラ４へ送信する。
【００９７】
リング型拡張装置５は、電力変換部２１５を備える。電力変換部２１５は、上記各部２１１〜２１４に電気的に接続される。電力変換部２１５は、端子２１４を介して外部（すなわち、右コントローラ４）から供給される電力を、上記各部２１１〜２１４に供給する。電力変換部２１５は、供給される電力について電圧等の調整を行って上記各部２１１〜２１４に供給してもよい。
【００９８】
なお、リング型拡張装置５が他の装置へ送信する「歪み検出部の検出結果に関するデータ」は、当該検出結果（本実施形態においては、台座部の歪みを示す、歪み検出部２１１の出力信号）そのものを示すデータであってもよいし、当該検出結果に対して何らかの処理（例えば、データ形式の変換、および／または、歪み値に対する計算処理等）が行われることによって得られるデータであってもよい。例えば、処理部２１３は、上記検出結果である歪み値に基づいて弾性部材の変形量を算出する処理を行ってもよく、このとき、「歪み検出部の検出結果に関するデータ」は、当該変形量を示すデータであってもよい。
【００９９】
なお、他の実施形態においては、リング型拡張装置５は、電池を備え、当該電池の電力によって動作してもよい。また、リング型拡張装置５が備える電池は、右コントローラ４から供給される電力によって充電可能な充電池であってもよい。
【０１００】
図１１は、ベルト型拡張装置の一例を示す図である。ベルト型拡張装置６は、自身に左コントローラ３が装着された状態で、ユーザの足に締着して使用する（図１２参照）。図１１に示すように、ベルト型拡張装置６は、収容部３０１と、ベルト部３０２とを備える。収容部３０１は、平面状の形状であり、左コントローラ３を収容可能である。具体的には、収容部３０１は、ポケット部３０３を有する。ポケット部３０３は、左コントローラ３を収容可能な大きさの袋状に形成される。本実施形態においては、収容部３０１が左コントローラを収容することで、左コントローラ３がベルト型拡張装置６に装着される。なお、他の実施形態においては、ベルト型拡張装置６に左コントローラ３を装着させるための構成は任意である。
【０１０１】
収容部３０１には、ポケット部３０３の側方に通し孔３０４が設けられる。ベルト部３０２は、収容部３０１のうち、ポケット部３０３の側方であって、ポケット部３０３を基準に通し孔３０４の反対側に設けられる。ベルト部３０２は、帯状の形状であり、その一端が収容部３０１に固定される。本実施形態においては、ベルト部３０２は、伸縮性を有する材質（例えば、織ゴム）で構成される。
【０１０２】
ベルト部３０２のうち、収容部３０１においてポケット部３０３が設けられる側の面と同じ側の面には、第１面ファスナー３０５および第２面ファスナー３０６が設けられる。第１面ファスナー３０５は、収容部３０１に固定される側と反対側の端部付近に設けられる。また、第２面ファスナー３０６は、第１面ファスナー３０５と同じ面において、第１面ファスナー３０５と比べて収容部３０１に近い側に設けられる。第１面ファスナー３０５と第２面ファスナー３０６とは、互いに着脱可能である。例えば、第１面ファスナー３０５は、フック面の面ファスナーであり、第２面ファスナー３０６は、ループ面の面ファスナーである。
【０１０３】
ベルト型拡張装置６を締着する際、ユーザは、ベルト部３０２を足に一周させた状態でベルト部３０２を通し孔３０４に通して、第１面ファスナー３０５と第２面ファスナー３０６とを接着させる。これによって、ユーザは、左コントローラ３が装着されたベルト型拡張装置６を足に締着することができる（図１２参照）。
【０１０４】
図１２は、リング型拡張装置５およびベルト型拡張装置６をユーザが使用する様子の一例を示す図である。図１２に示すように、ユーザは、ゲーム装置（すなわち、本体装置２ならびに各コントローラ３および４）に加えて、２つの拡張装置５および６を用いてゲームを行うことができる。例えば、ユーザは、リング型拡張装置５とベルト型拡張装置６とをセットで使用することができる。
【０１０５】
例えば図１２に示すように、ユーザは、右コントローラ４が装着されたリング型拡張装置５を両手で把持し、左コントローラ３が装着されたベルト型拡張装置６を足に締着する。このとき、ユーザは、リング型拡張装置５に対する操作（例えば、リング型拡張装置５を曲げる操作、および、リング型拡張装置５を動かす操作）と、ベルト型拡張装置６を締着した足を動かす操作とによって、ゲームを行うことができる。
【０１０６】
なお、図１２においては、ユーザがグリップカバー２０３および２０４を把持してリング型拡張装置５を曲げる動作を行う様子を例示している。この動作によって、ユーザは、両腕を鍛えるフィットネス動作をゲーム操作として行うことができる。なお、ユーザはリング型拡張装置５に対する種々の動作でゲーム操作を行うことができる。例えば、ユーザは、一方のグリップカバーを両手で把持し、他方のグリップカバーを腹部に当てた状態で、リング型拡張装置５を曲げる動作を行うこともできる。この動作によって、ユーザは、腕と腹筋を鍛えるフィットネス動作をゲーム操作として行うことができる。また、ユーザは、両足の内股にグリップカバー２０３および２０４を当ててリング型拡張装置５を足で挟んだ状態で、リング型拡張装置５を曲げる動作を行うこともできる。この動作によって、ユーザは、足の筋肉を鍛えるフィットネス動作をゲーム操作として行うことができる。
【０１０７】
本体装置２においてゲーム処理が実行される場合、右コントローラ４は、リング型拡張装置５からリング操作データを受信する。リング操作データは、上記歪み値を示す情報を含む。具体的には、リング型拡張装置５の処理部２１３は、端子２１４を介してリング操作データを右コントローラ４へ送信する。例えば、処理部２１３は、所定時間に１回の割合でリング操作データを繰り返し送信する。
【０１０８】
上記の場合、右コントローラ４の通信制御部１１１は、リング型拡張装置５から端子６４を介して受信したリング操作データを本体装置２へ送信する。また、通信制御部１１１は、右コントローラ４に含まれる各入力部（具体的には、各ボタン１１３、アナログスティック５２、各センサ１１４および１１５）から取得された情報を含む右コントローラ操作データを本体装置２へ送信する。なお、右コントローラ４がリング型拡張装置５に装着される状態では、右コントローラ４から本体装置２への通信は、無線通信によって行われる。通信制御部１１１は、右コントローラ操作データとリング操作データとをまとめて本体装置２へ送信してもよいし、別個に本体装置２へ送信してもよい。また、通信制御部１１１は、受信したリング操作データをそのまま本体装置２へ送信してもよいし、受信したリング操作データに何らかの加工（例えば、データ形式の変換、および／または、歪み値に対する計算処理等）を行って本体装置２へ送信してもよい。
【０１０９】
一方、本体装置２においてゲーム処理が実行される場合、左コントローラ３の通信制御部１０１は、左コントローラ３に含まれる各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から取得された情報を含む左コントローラ操作データを本体装置２へ送信する。左コントローラ３がベルト型拡張装置６に装着される状態では、左コントローラ３から本体装置２への通信は、無線通信によって行われる。
【０１１０】
（本実施形態のゲームの概要）
次に、本実施形態のゲームの概要について説明する。本実施形態では、右コントローラ４が装着されたリング型拡張装置５および左コントローラ３が装着されたベルト型拡張装置６を用いて、ゲームが行われる。図１２に示したように、ユーザは、リング型拡張装置５を両手で把持し、ベルト型拡張装置６を、脚（例えばもも）に装着した状態でゲームを行う。以下では、右コントローラ４が装着されたリング型拡張装置５を「リングコントローラ」と表記し、左コントローラ３が装着されたベルト型拡張装置６を「脚コントローラ」と表記することがある。
【０１１１】
図１３は、本実施形態のゲームの進行について説明するための図である。本実施形態のゲームは、ユーザに運動させるためのフィットネスゲームである。本実施形態のゲームは、ユーザに運動を行わせるための複数の運動イベント（Ａ〜Ｃ等）を含む。ゲームの実行中に、ゲームの進行に応じて運動イベントが行われる。運動イベントは、ユーザに運動を行わせるためにゲームの実行中に発生するイベントである。運動イベントでは、ユーザに対して複数の運動の中から何れかをさせるための指示が行われる。当該指示に従ってユーザが運動を行うことにより、ゲームが進行する。例えば、運動イベントＡが発生し、当該運動イベントＡに対応する運動をユーザが行うことにより、運動イベントＡが終了する。運動イベントＡが終了するとゲームが進行し、次に運動イベントＢが発生し、当該運動イベントＢに対応する運動をユーザが行う。このようにして、複数の運動イベントが順次実行され、各運動イベントに対応する運動をユーザが行うことで、ゲームが進行する。
【０１１２】
ゲームの進行度合いは、ゲームの内容や種類によって定められる。例えば、ユーザに対応するユーザキャラクタが仮想空間を移動するようなゲームでは、ゲームの進行度合いは、ユーザキャラクタの仮想空間における位置によって定められてもよい。また、複数のステージを有するゲームでは、ゲームの進行度合いは、各ステージの進行状況や、あるステージから次のステージへの遷移を繰り返した回数等によって定められてもよい。また、敵を倒すことを目的とするゲームでは、倒した敵の数や種類（レベル）によって、ゲームの進行度合いが定められてもよい。また、味方（プレイヤ）側の行動と敵側の行動とが交互に行われるターン制の戦闘ゲームにおいては、戦闘ゲームの実行が開始してから何ターン経過したかによって、ゲームの進行度合いが定められても良い。そして、ゲームを進行させるとは、上記のような種々の進行度合いを進める／戻すこと等を意味する。
【０１１３】
本実施形態のゲームは、ユーザキャラクタが仮想空間内を冒険するアドベンチャーゲームであるものとする。ユーザキャラクタが仮想空間内を冒険する過程で、ユーザキャラクタの位置やユーザキャラクタが行う動作（例えば攻撃動作）によって運動イベントが発生し、当該運動イベントに応じた運動をユーザが行う。アドベンチャーゲームを進行させるためにはユーザは運動を行う必要があるため、ユーザに長期間にわたる継続的な運動を行わせることができる。
【０１１４】
図１４は、本実施形態のゲームが行われているときのゲーム画像の一例を示す図である。ゲーム画像４００は、ディスプレイ１２、又は、外部の据置型モニタ（例えば、テレビ）に表示される。
【０１１５】
図１４に示すように、ゲーム画像４００は、ユーザキャラクタ４０１を含む。ユーザキャラクタ４０１は仮想的なリングコントローラ４０２を把持している。仮想空間におけるリングコントローラ４０２の姿勢は、現実空間におけるリングコントローラの姿勢と一致するように設定される。ユーザキャラクタ４０１は、ユーザの動作に基づいて仮想空間内の所定の経路に沿って移動したり、仮想空間内で所定の動作を行ったりする。
【０１１６】
ユーザは、ユーザキャラクタ４０１を道４０３に沿ってジョギングさせるために、運動を行う。例えば、ユーザが現実空間でジョギングするように足踏みすると、ユーザキャラクタ４０１が道４０３に沿ってジョギングする様子が表示される。
【０１１７】
具体的には、本体装置２は、脚コントローラからのセンサデータ（加速度センサ１０４および角速度センサ１０５からのデータ）に基づいて、ユーザがジョギング動作（足踏み）を行っているか否かの判定を行う。なお、本体装置２は、脚コントローラからのセンサデータに加えて、リングコントローラからのセンサデータ（加速度センサ１１４、角速度センサ１１５、及び歪みゲージからのデータ）にも基づいて、当該判定を行ってもよい。当該判定の結果、ユーザがジョギング動作を行っていると判定した場合、本体装置２は、仮想空間内の道４０３に沿ってユーザキャラクタ４０１を前進させる。
【０１１８】
図１５は、図１４からユーザキャラクタ４０１が道４０３に沿って所定距離だけ進んだ後のゲーム画像の一例を示す図である。図１５に示すように、ユーザキャラクタ４０１が道４０３に沿って進むと、仮想空間内の所定の位置まで到達し、敵キャラクタ４１０に遭遇する。ユーザキャラクタ４０１が敵キャラクタ４１０に遭遇した場合、ユーザキャラクタ４０１と敵キャラクタ４１０との格闘が行われる。ユーザキャラクタ４０１が敵キャラクタ４１０を倒した場合、ユーザはゲームを進めることができる。すなわち、ユーザキャラクタ４０１が敵キャラクタ４１０より向こう側の仮想空間に進むためには、敵キャラクタ４１０を倒す必要がある。敵キャラクタ４１０より向こう側の仮想空間には、例えば、レール４０４が設けられている。ユーザキャラクタ４０１が敵キャラクタ４１０を倒し、さらにレール４０４に沿って進めば、さらに別の仮想空間が広がっている。
【０１１９】
ユーザキャラクタ４０１と敵キャラクタ４１０との格闘では、ユーザキャラクタ４０１の攻撃と、敵キャラクタ４１０の攻撃（ユーザキャラクタ４０１にとっては防御）とが交互に行われる。
【０１２０】
ユーザキャラクタ４０１が攻撃を行う場合、運動イベントが実行され、当該運動イベントにおいてユーザは運動を行う。また、ユーザキャラクタ４０１が防御する場合、別の運動イベントが実行され、当該運動イベントにおいてユーザは運動を行う。さらにユーザキャラクタ４０１の攻撃が行われる場合は、さらに別の運動イベントが実行され、当該運動イベントにおいてユーザによって運動が行われる。
【０１２１】
図１６は、ユーザキャラクタ４０１が敵キャラクタ４１０に攻撃を行うシーンの一例を示す図であって、ユーザが実行する運動を選択するための選択画面の一例を示す図である。
【０１２２】
図１６に示すように、ユーザキャラクタ４０１が攻撃を行う場合の運動イベント（ユーザキャラクタ４０１の攻撃に係る運動イベント）では、運動を選択するための選択画面が表示される。当該選択画面では、ユーザは、複数の運動の中から何れかの運動を選択する。
【０１２３】
ユーザが複数の運動の中から何れかを選択する方法はどのようなものであってもよい。例えば、ユーザが、予め複数の運動を選択した運動セットを設定し、図１６の選択画面が表示されたときに、ユーザは、予め設定した運動セットの中から１の運動を選択可能であってもよい。また、ユーザが、予め複数の運動を選択した運動セットを設定し、運動イベントが実行されるときに、設定された運動セットの中から１の運動が自動的に選択されてもよい。また、予め複数の運動を含む運動セットがゲーム製作者によって用意されており、図１６の選択画面が表示されたときに、ユーザが、当該運動セットの中から１の運動を選択してもよい。
【０１２４】
図１６に示す選択画面では、運動表示画像４２０〜４２２が表示されている。各運動表示画像は、それぞれ異なる運動を示す。例えば、運動表示画像４２０は、「スクワット」を示す。また、運動表示画像４２１は、例えば、「上げてプッシュ」という名称の運動を示す。この「上げてプッシュ」は、両腕を頭の上に上げてリングコントローラを押す運動である。また、運動表示画像４２２は、例えば、「お腹押し込み」という名称の運動を示す。この「お腹押し込み」は、リングコントローラを腹部に押し付ける運動である。
【０１２５】
例えば、ユーザは、リングコントローラ（右コントローラ４）のアナログスティック５２を用いて左右方向を入力することにより、複数の運動の中から何れか１つの運動を選択する。図１６に示す選択画面では、「スクワット」を示す運動表示画像４２０が選択されており、この状態でユーザによって決定操作が行われると、「スクワット」が選択される。
【０１２６】
図１７は、図１６の選択画面において「スクワット」が選択された後のゲーム画像の一例を示す図である。
【０１２７】
図１７に示すように、ユーザキャラクタ４０１の攻撃シーンでは、選択画面において選択された運動である「スクワット」をユーザに行わせるための第１の指示画像４０５が表示される。この第１の指示画像４０５は、ユーザが行う運動の具体的な内容を示す。例えば、第１の指示画像４０５は、キャラクタが今回の運動イベントに応じた運動を行う様子を示した画像と、その運動を行うときの姿勢、脚の動き、腕の動き等を説明する文章とを含んでもよい。なお、ユーザに運動を行わせるための指示は、画像に限らず、音声によって行われてもよい。
【０１２８】
ユーザが「スクワット」を行うと、図１７に示すように、ユーザキャラクタ４０１が両膝を曲げる様子が表示される。また、ユーザの運動に応じて、敵キャラクタ４１０に対する攻撃が行われる。例えば、敵キャラクタ４１０に対する攻撃が行われたことを示す攻撃効果画像４０７が表示される。この攻撃によって、敵キャラクタ４１０にダメージが加わる。ユーザの運動によって加えられたダメージの度合いが予め敵キャラクタ４１０に設定された体力値以上となった場合は、敵キャラクタ４１０が倒れる。敵キャラクタ４１０に加わるダメージの度合いは、ユーザが行った運動や負荷に応じて異なってもよい。例えば、各センサ（加速度センサ、角速度センサ、歪みゲージ）によって検出された値に基づいて、消費カロリーや負荷が算出され、当該消費カロリーや負荷に応じて、敵キャラクタ４１０に加わるダメージの度合いが定められてもよい。例えば、「スクワット」が行われる場合には、スクワットの回数や脚の曲げ度合いによって、敵キャラクタ４１０に加わるダメージの度合いが定められてもよい。また、運動によって消費された消費カロリー値が算出され、当該消費カロリー値が消費カロリー画像４０６として表示されてもよい。例えば、ゲームを開始してからの合計消費カロリー値が、運動が行われる毎に加算され、消費カロリー画像４０６として表示されてもよい。また、同日に、複数回ゲームを行った場合において、本日の合計消費カロリー値が、消費カロリー画像４０６として表示されてもよい。
【０１２９】
１回の敵キャラクタ４１０への攻撃によって敵キャラクタ４１０が倒れなかった場合、次に、敵キャラクタ４１０の攻撃（ユーザキャラクタ４０１の防御）が行われる。ユーザキャラクタ４０１が防御を行う場合においても、運動イベントが実行され、ユーザは当該運動イベントに応じた運動を行う。
【０１３０】
図１８は、敵キャラクタ４１０からの攻撃をユーザキャラクタ４０１が防御するときのゲーム画像の一例を示す図である。ユーザキャラクタ４０１が防御を行う場合、図１６に示した選択画面は表示されず、ユーザは、予め定められた運動を行う。すなわち、ユーザキャラクタ４０１の防御に係る運動イベントでは、ユーザは、自身で運動を選択することができず、予め定められた運動を行う。例えば、ユーザキャラクタ４０１の防御に係る運動イベントに応じた運動として、「上げてプッシュ」が予め設定されている。このため、ユーザキャラクタ４０１の防御では、図１８に示すように、「上げてプッシュ」をユーザに行わせるための第１の指示画像４０５が表示される。「上げてプッシュ」は、ユーザが両腕を上げてリングコントローラを内側に押し込む運動であり、この運動をユーザが行い易いような第１の指示（第１の指示画像４０５の表示、及び／又は、音声の出力）が行われる。
【０１３１】
図１９は、図１８に示すゲーム画像が表示された後、ユーザが指示に従った運動を行ったときのゲーム画像の一例を示す図である。
【０１３２】
図１９に示すように、ユーザが、予め定められた運動を行う場合、その運動をユーザキャラクタ４０１が行う様子が表示される。また、ユーザキャラクタ４０１が敵キャラクタ４１０からの攻撃を防御していることを示す防御効果画像４０８が表示される。また、その運動による消費カロリー値が加算されて、消費カロリー画像４０６として表示される。
【０１３３】
図１６及び図１７に示したユーザキャラクタ４０１の攻撃と、図１８及び図１９に示したユーザキャラクタ４０１の防御とが交互に行われる。ユーザキャラクタ４０１の攻撃又は防御シーンでは、少なくとも１の運動イベントが実行され、当該運動イベントに応じて少なくとも１の運動がユーザによって行われる。
【０１３４】
ユーザキャラクタ４０１の攻撃の結果（すなわち、ユーザの運動の結果）、ユーザキャラクタ４０１が敵キャラクタ４１０を倒した場合には、ユーザキャラクタ４０１と敵キャラクタ４１０との格闘シーンが終了し、ゲームが進行する。例えば、格闘シーンが終了すると、ユーザキャラクタ４０１がトロッコに乗ってレール４０４上を進むシーンに移行する。当該ユーザキャラクタ４０１がレール４０４上を進むシーンにおいても、ユーザの運動によって、ユーザキャラクタ４０１を乗せたトロッコが前進する。すなわち、レール４０４上を進むシーンにおいても、別の運動イベントが実行され、当該運動イベントに応じた運動をユーザが行う。ユーザが運動を行わなければ、ユーザキャラクタ４０１は前進せず、したがってゲームは進行しない。このため、ユーザは、ゲームを進行させるために、ゲームの各シーンにおいて運動イベントに応じた運動を行う。
【０１３５】
このように、本実施形態のゲームでは、ゲームの実行中にユーザに運動を行わせるための運動イベントを実行し、当該運動イベントに応じた運動をユーザが行うことで、ゲームが進行する。
【０１３６】
（運動サポート機能）
ここで、このようなユーザの運動によって進行するゲームにおいて、ユーザによっては、特定の運動を避けたいと考えている場合や、特定の運動を行うことが困難である場合がありうる。このとき、ユーザはゲームの進行を諦めてしまう可能性がある。
【０１３７】
このため、本実施形態では、ユーザが運動を行わなくてもゲームを進めることができるように、運動サポート機能が用意されている。運動サポート機能は、ユーザが運動を行わなくてもゲームを進行させることができる機能である。運動サポート機能を作動させるために、ユーザは、予め自身で運動サポートの設定を行う。
【０１３８】
図２０は、運動サポートの設定画面の一例を示す図である。
【０１３９】
図２０に示すように、運動サポートの設定画面では、ユーザの入力に応じて、ユーザ情報の一例として、身体の部位に関する情報が設定される。例えば、運動サポート機能を作動させる運動の分類として、「肩を動かす運動」、「腰を動かす運動」、「膝を動かす運動」及び「お腹を押し付ける運動」が予め定められている。ユーザは、これらの分類から１又は複数を設定することができる。ここで設定された情報は、例えば、フラッシュメモリ８４（あるいは、スロット２３に装着された外部記憶媒体でもよい）に記憶される。
【０１４０】
ここで、複数の運動のそれぞれには、「肩を動かす運動」か否か、「腰を動かす運動」か否か、「膝を動かす運動」か否か、「お腹を押し付ける運動」か否かを示す情報が予め設定されている。運動イベントにおいて実行される運動が、運動サポートの設定画面で設定された運動の分類に含まれる場合、当該運動をユーザが行わなくても、ゲームが進行する。
【０１４１】
図２１は、運動サポートの設定が行われている場合において、図１８で示したユーザキャラクタ４０１の防御シーンにおけるゲーム画像の一例を示す図である。
【０１４２】
図２１に示すように、例えば、予め運動サポートの設定画面において「肩を動かす運動」がユーザによって設定されている場合において、運動イベントに応じた運動として「上げてプッシュ」が行われる場合、運動サポート機能が作動する。この場合、ユーザにボタン操作を行わせるための第２の指示画像４０５が表示される。第２の指示画像４０５においては、図１８で示したキャラクタが両腕を上げてリングコントローラを押し込む画像に代えて、例えば、リングコントローラ（右コントローラ４）のＸボタン５５をユーザに押下させるための画像が表示される。すなわち、運動サポート機能が作動する場合、運動「上げてプッシュ」は、Ｘボタン５５を押下する操作に置換される。なお、ユーザにボタン操作を行わせるための第２の指示として、第２の指示画像４０５の表示に加えて（又は代えて）、音声が出力されてもよい。
【０１４３】
なお、ここで行われるボタン操作は所定のボタンを押下する操作に限らず、所定のボタンを長押しする操作、所定のボタンをタイミングよく押下する操作（例えばリズムに応じたボタン操作）等、任意の操作であってもよい。
【０１４４】
第２の指示画像４０５以外には、基本的には、運動サポートの設定がされていないときと同様の画像が表示される。
【０１４５】
図２２は、図２１に示す画像が表示された場合においてＸボタン５５が押下された後のゲーム画像の一例を示す図である。
【０１４６】
図２２に示すように、Ｘボタン５５が押下された場合、ユーザが運動「上げてプッシュ」を行ったときと同様の画像が表示される。具体的には、図１９と同様に、ユーザキャラクタ４０１が敵キャラクタ４１０からの攻撃を防御していることを示す防御効果画像４０８が表示される。なお、ユーザは実際には運動していないため、消費カロリー画像４０６が示す消費カロリーの値は増加しない。
【０１４７】
図２２に示すゲーム画像が表示された後、上記と同様にゲームが進行する。例えば、次に２回目のユーザキャラクタ４０１の攻撃が行われる。この２回目のユーザキャラクタ４０１の攻撃では、上述のようにユーザが運動を選択するための選択画面が表示され、ユーザが選択した運動を行うことで、ユーザキャラクタ４０１の攻撃が行われる。ユーザキャラクタ４０１が敵キャラクタ４１０を倒した場合には、ゲームが進行し、ユーザキャラクタ４０１がレール４０４上を進むシーンに移行する。
【０１４８】
このように、本実施形態では、ユーザによって予め運動サポートの設定がされている場合、当該設定に対応する運動が行われる場合には、ユーザが実際に運動を行わなくても、ボタン操作により、ゲームが進行する。これにより、ユーザは、避けたいと考えている運動や行うことが困難な運動があっても、本実施形態のゲームを進めることができる。
【０１４９】
ここで、本実施形態では、運動イベントが実行される場合に、ユーザが選択した運動が行われるときと、ユーザの選択に依らずに予め設定された運動が行われるときとがある。上記ユーザキャラクタ４０１の攻撃シーンでは、運動を選択するための選択画面が表示されるため、攻撃シーンにおいて行われる運動は、ユーザが選択した運動である。一方、ユーザキャラクタ４０１の防御シーンでは、選択画面は表示されないため、防御シーンにおいて行われる運動は、予め設定された運動である。本実施形態では、ユーザが選択した運動が行われる場合には、運動サポート機能は作動せず、ゲーム製作者によって予め設定された運動が行われる場合に、運動サポート機能が作動可能である。なお、他の実施形態では、ユーザが選択した運動が行われる場合であっても、運動サポート機能を作動させてもよい。
【０１５０】
図２３は、本実施形態のゲームの実行中に行われる複数の運動イベントの一例を示す図である。
【０１５１】
図２３に示すように、例えば、ユーザキャラクタ４０１が道４０３に沿って進むシーンでは、運動イベントＡが実行される。運動イベントＡは、予め定められた運動を行わせる運動イベントであり、ユーザにジョギング動作を行わせる。また、ユーザキャラクタ４０１の攻撃シーンでは、運動イベントＢが実行される。運動イベントＢは、図１６及び図１７で示したユーザキャラクタ４０１の攻撃に係る運動イベントである。運動イベントＢでは、ユーザは複数の運動の中から何れかを選択可能である。この運動イベントＢでは、ユーザが選択した運動が、運動サポートの設定画面で設定された運動に分類される場合であっても、運動サポート機能は作動しない。
【０１５２】
また、次のユーザキャラクタ４０１の防御シーンでは、運動イベントＣが実行される。運動イベントＣは、図１８及び図１９で示したユーザキャラクタ４０１の防御に係る運動イベントである。運動イベントＣでは、運動の選択画面は表示されず、予め設定された運動「上げてプッシュ」が行われる。この運動イベントＣでは、運動サポート機能が作動可能である。具体的には、運動「上げてプッシュ」が、運動サポートの設定画面において設定された運動に分類される場合、運動サポート機能が作動する（図２１及び図２２参照）。
【０１５３】
ユーザキャラクタ４０１と敵キャラクタ４１０との格闘シーンが終了すると、ユーザキャラクタ４０１がレール４０４上を進むシーンに移行する。このシーンでは運動イベントＤが実行される。この運動イベントＤでは、ユーザが選択した運動ではなく、予め設定された運動「お腹押し込み」が行われる。「お腹押し込み」は、腹部をリングコントローラで押し付ける運動である。
【０１５４】
予め運動サポートの設定画面において「お腹を押し付ける運動」が設定されていない場合、ユーザがリングコントローラを腹部に押し付ける運動を行うことにより、ユーザキャラクタ４０１がレール４０４上を進む様子が表示され、ゲームが進行する。具体的には、ユーザの運動に応じて、ユーザキャラクタ４０１がレール４０４上の開始点から移動を開始する。「お腹を押し付ける運動」が継続して行われることで、ユーザキャラクタ４０１はレール４０４上の終了点まで移動する。ユーザキャラクタ４０１が終了点に到着すると、次のゲームのシーンに移行する。
【０１５５】
一方、予め運動サポートの設定画面において「お腹を押し付ける運動」が設定されている場合、運動サポート機能が作動するため、ユーザが運動「お腹押し込み」を行わなくても、ゲームが進められる。具体的には、ユーザによるボタン操作に応じて、運動イベントＤがスキップされる。すなわち、ユーザキャラクタ４０１がレール４０４上を進むシーンがスキップ（省略）され、ユーザキャラクタ４０１は、レール４０４上の開始点から終了点までワープする。そして、次のゲームのシーンに移行する。
【０１５６】
なお、運動イベントＤ（ユーザキャラクタ４０１がレール４０４上を進むシーン）において、運動サポート機能が作動する場合、ユーザによるボタン操作に応じて、ユーザキャラクタ４０１がレール４０４上を進む様子が表示されてもよい。
【０１５７】
なお、ユーザキャラクタ４０１が道４０３に沿って進むシーン（運動イベントＡ）においても、運動サポート機能が作動してもよい。例えば、予め運動サポートの設定画面において「膝を動かす運動」が設定されている場合、ユーザキャラクタ４０１が道４０３に沿って進むシーンにおいて運動サポート機能が作動してもよい。この場合、ユーザがボタン操作を行わなくても、ユーザキャラクタ４０１が自動的に道４０３に沿ってジョギングしてもよい。
【０１５８】
また、運動サポート機能が作動する場合、運動によって、異なるボタン操作に置換されてもよい。例えば、「上げてプッシュ」は、Ｘボタン５５を押下する操作に置換され、「お腹押し込み」は、Ａボタン５３を押下する操作に置換されてもよい。
【０１５９】
次に、各運動に予め設定されている情報、及び、ユーザによって設定されるユーザ情報について説明する。図２４は、予め設定されている各運動の情報を記憶した運動情報テーブルの一例を示す図である。図２４に示す情報は、予めゲーム製作者によって設定され、例えば、スロット２３に装着された外部記憶媒体やフラッシュメモリ８４等に記憶されてもよい。
【０１６０】
図２４に示すように、複数の運動のそれぞれには、運動の名称を示す「運動名」と、「部位情報」とが予め設定されている。部位情報は、人間の身体の部位に関する情報であり、その運動が身体のどの部位を動かす運動であるかを示す情報である。部位情報には、例えば、「肩」、「腰」、「膝」、「腹」等、各部位に関する情報が含まれる。各部位に関する情報としては、「０」又は「１」が設定され、「１」は、その部位を動かす運動であることを示している。
【０１６１】
例えば、運動名「スクワット」は、両膝を曲げる運動であり、膝と腰を動かす運動に分類されるため、「腰」と「膝」に「１」が設定され、「肩」と「腹」には「０」が設定されている。また、運動名「上げてプッシュ」は、両腕を上げてリングコントローラを押し込む運動であり、肩を動かす運動に分類されるため、「肩」に「１」が設定され、その他の部位には「０」が設定されている。また、運動名「お腹押し込み」は、腹部にリングを押し付ける運動に分類されるため、「腹」に「１」が設定され、その他の部位には「０」が設定されている。
【０１６２】
図２５は、ユーザによって設定されたユーザ情報の一例を示す図である。
【０１６３】
図２５に示すように、本体装置２には、ユーザ情報として、ユーザ名と、ユーザ部位情報と、年齢と、体重とが記憶される。これらの情報は、ユーザの入力により設定される。例えば、本実施形態のゲームを開始する際に、ユーザによってユーザ名が入力され、ユーザアカウントが作成される。各ユーザは、自身の体重や年齢等を入力する。また、ユーザ毎に「進捗情報」が記憶される。進捗情報は、ゲームの進捗状況を示す情報であり、例えば、ユーザキャラクタの仮想空間における位置を含んでもよい。図２５に示す各情報は、ユーザがゲームを終了した後もセーブデータとして記憶される。
【０１６４】
ユーザ部位情報は、ユーザの身体の部位に関する情報であり、運動サポートの設定画面においてユーザによって設定される情報である。ユーザ部位情報には、例えば、「肩」、「腰」、「膝」、「腹」等、各部位に関する情報が含まれる。運動サポートの設定がされていない場合は、各部位に対応する記憶領域には「０」が設定されている。運動サポートの設定画面において「肩を動かす運動」が設定された場合、ユーザ部位情報における「肩」には「１」が設定される。また、運動サポートの設定画面において「腰を動かす運動」が設定された場合、ユーザ部位情報における「腰」には「１」が設定される。また、運動サポートの設定画面において「膝を動かす運動」が設定された場合、ユーザ部位情報における「膝」には「１」が設定される。また、運動サポートの設定画面において「お腹を押し付ける運動」が設定された場合、ユーザ部位情報における「腹」には「１」が設定される。
【０１６５】
図２４の運動情報テーブルと、図２５のユーザ情報とに基づいて、運動サポート機能を作動させるか否か（すなわち、ユーザに運動を行わせずにゲームを進行させるか否か）が判定される。具体的には、各運動に予め設定された部位情報の少なくとも一部と、ユーザにより設定されたユーザ部位情報の少なくとも一部とが一致する場合、運動サポート機能が作動する。言い換えると、予め定められた運動に設定された部位に関する部位情報が、ユーザによって設定されたユーザ部位情報の少なくとも一部を含む場合、運動サポート機能が作動する。
【０１６６】
例えば、図２５に示すように、ユーザＡのユーザ部位情報として、「膝」に「１」が設定されている。また、図２４に示すように、「スクワット」の部位情報として、「腰」と「膝」に「１」が設定されている。すなわち、スクワットは、腰を動かす運動であり、かつ、膝を動かす運動として設定されている。この場合、ユーザＡがゲームを実行中に予め定められた運動として「スクワット」を行わせる運動イベントが実行されるとき、運動サポート機能が作動する。これにより、ユーザＡは、「スクワット」を行わなくてもゲームを進行させることができる。なお、ユーザＡがある運動イベントにおける運動の選択画面で「スクワット」を選択した場合には、運動サポート機能は作動しない。
【０１６７】
また、例えば、ユーザＢのユーザ部位情報としては、「肩」に「１」が設定されている。このため、ユーザＢがゲームを実行中に、「肩」に「１」が設定された運動（上げてプッシュ）が予め定められた運動として行われる場合には、運動サポート機能が作動する。一方、ユーザＢがゲームを実行中に、「肩」に「１」が設定されていない運動（スクワット及びお腹押し込み）が予め定められた運動として行われる場合には、運動サポート機能は作動しない。
【０１６８】
このように、本実施形態では、ユーザが運動を行うことでゲームが進行する。ユーザは、避けたいと考えている運動や実行することが困難な運動がある場合、予め運動サポートの設定を行い、ユーザ情報として本体装置２に記憶させることが可能である。具体的には、ユーザは、ユーザ情報として、身体の部位に関する情報を設定する。ゲームの実行中の運動イベントにおいて予め定められた運動が行われる場合、その運動がユーザによって設定されたユーザ情報に対応する場合、運動サポート機能が作動する。
【０１６９】
このような運動サポート機能により、ユーザが一部の運動を避けたいと考えている場合や実行することが困難な場合であってもゲームを進めることができ、長期間にわたって運動（ユーザが実行可能な運動）をユーザに行わせることができる。
【０１７０】
（処理の詳細）
次に、本体装置２において行われる処理の一例について具体的に説明する。まず、本体装置２に記憶されるデータについて説明する。
【０１７１】
図２６は、本体装置２に記憶されるデータの一例を示す図である。図２６に示すデータは、主にＤＲＡＭ８５に記憶されるが、これらの一部又は全部は、フラッシュメモリ８４に記憶されてもよいし、スロット２３に装着された外部記憶媒体に記憶されてもよい。
【０１７２】
図２６に示すように、本体装置２には、ゲームプログラムと、脚コントローラデータと、リングコントローラデータと、運動情報テーブルと、ユーザ情報とが記憶される。これらの他にも、仮想空間に配置されるユーザキャラクタの位置や姿勢に関するデータ、敵キャラクタに関するデータ、仮想空間の地形に関するデータ、仮想空間内に配置される他のオブジェクトに関するデータ等、様々なデータが記憶される。
【０１７３】
ゲームプログラムは、本実施形態のゲームを実行するためのプログラムであり、後述するフローチャートによる処理を実行するためのプログラムである。ゲームプログラムは、例えば外部記憶媒体やフラッシュメモリ８４に記憶されており、当該外部記憶媒体やフラッシュメモリ８４からＤＲＡＭ８５に読み込まれる。なお、ゲームプログラムは、他の装置からネットワーク（例えば、ＬＡＮ、ＷＡＮ、インターネット等）を介して取得されてもよい。
【０１７４】
脚コントローラデータは、左コントローラ３から送信されたデータである。脚コントローラデータは、加速度センサ１０４が検出した加速度に関する加速度データ、角速度センサ１０５が検出した角速度に関する角速度データ、及び、左コントローラ３の各ボタンに対する操作に応じたボタン操作データを含む。なお、脚コントローラデータは、所定の時間間隔（例えば、１／２００秒間隔）で左コントローラ３から送信される。
【０１７５】
リングコントローラデータは、右コントローラ４から送信されたデータである。リングコントローラデータは、加速度センサ１１４が検出した加速度に関する加速度データ、角速度センサ１１５が検出した角速度に関する角速度データ、右コントローラ４の各ボタン１１３（ボタン５３〜５６等）に対する操作に関するボタン操作データ、及び、歪み検出部２１１が検出した環状部２０１の変形に関する歪みデータ（リング操作データ）を含む。なお、リングコントローラデータは、所定の時間間隔（例えば、１／２００秒間隔）で右コントローラ４から送信される。
【０１７６】
運動情報テーブルは、各運動に設定された情報を記憶したテーブルであり、図２４で示したように人間の身体の部位に関する部位情報を含む。運動情報テーブルにおける部位情報は、ゲーム製作者によって予め設定されている。
【０１７７】
ユーザ情報は、ユーザ毎に設定された情報であり、図２５で示したように、ユーザの身体の部位に関するユーザ部位情報を含む。ユーザ情報は、各ユーザの入力によって設定される。
【０１７８】
（フローチャートの説明）
次に、本体装置２において行われる処理の詳細について説明する。図２７は、本体装置２のプロセッサ８１において行われるメイン処理の一例を示すフローチャートである。図２７に示す処理は、本体装置２のプロセッサ８１が上記ゲームプログラムを実行することによって行われる。なお、図２７では、主に上述した運動サポート機能に関する処理が示されており、他の処理は省略されている。
【０１７９】
図２７に示すように、プロセッサ８１は、まず、ユーザ情報設定処理を行う（ステップＳ１０１）。ユーザ情報設定処理では、図２０で示した運動サポートの設定画面が表示され、ユーザの入力に基づいて、運動サポート機能を作動させる運動の設定が行われる。ステップＳ１０１のユーザ情報設定処理の後、ゲームが開始される（ステップＳ１０２）。なお、ゲームが開始された後も、ユーザの所定の操作によって運動サポートの設定画面が呼び出され、ユーザ情報設定処理が行われてもよい。
【０１８０】
次に、プロセッサ８１は、運動イベントを実行するか否かを判定する（ステップＳ１０３）。例えば、プロセッサ８１は、ユーザキャラクタ４０１が仮想空間内の所定の位置にいる場合、運動イベントを実行すると判定してもよい。例えば、ユーザキャラクタ４０１が図１４に示すような道４０３上に位置する場合、プロセッサ８１は、ステップＳ１０３において「ＹＥＳ」と判定する。また、ユーザキャラクタ４０１が図１５に示す位置にいる場合、プロセッサ８１は、ステップＳ１０３において「ＹＥＳ」と判定する。
【０１８１】
運動イベントを実行しないと判定した場合（ステップＳ１０３：ＮＯ）、プロセッサ８１は、後述するステップＳ１１３の処理を実行する。ステップＳ１０３でＮＯと判定された後にステップＳ１１３の処理が行われることで、ゲームが進行し、現在のゲームシーンから次のゲームシーンに移行する画像が表示される。例えば、ゲームの開始時にはオープニングシーンが表示され、次のゲームシーン（例えば図１４に示すシーン）に移行するまで当該オープニングシーンが表示される。
【０１８２】
一方、運動イベントを実行すると判定した場合（ステップＳ１０３：ＹＥＳ）、プロセッサ８１は、当該運動イベントに応じた運動をユーザが選択可能か否かを判定する（ステップＳ１０４）。運動イベントに応じた運動をユーザが選択可能か否かは、ゲームのシーンに応じて予め定められている。例えば、ユーザキャラクタ４０１が敵キャラクタ４１０を攻撃するシーンでは、ユーザは運動を選択可能である。また、ユーザキャラクタ４０１の防御シーンでは、ユーザは運動を選択不可能である。また、図１４に示すような道４０３に沿ってユーザキャラクタ４０１が移動するシーンでは、ユーザは運動を選択不可能である。プロセッサ８１は、現在のゲームのシーンによって、ユーザが運動を選択可能か否かを判定する。
【０１８３】
ユーザが運動を選択可能であると判定した場合（ステップＳ１０４：ＹＥＳ）、プロセッサ８１は、運動選択処理を実行する（ステップＳ１０５）。例えば、プロセッサ８１は、図１６の選択画面を表示しユーザに運動を選択させる。
【０１８４】
次に、プロセッサ８１は、運動選択処理でユーザによって選択された運動をセットする（ステップＳ１０６）。これにより、今回の運動イベントに応じた運動として、ステップＳ１０５で選択された運動がセットされる。
【０１８５】
ステップＳ１０６に続いて、プロセッサ８１は、運動判定処理を行う（ステップＳ１０７）。運動判定処理では、リングコントローラ及び脚コントローラからのセンサデータに基づいて、セットされた運動をユーザが行ったか否かが判定される。ステップＳ１０７の運動判定処理の詳細については後述する。
【０１８６】
一方、ユーザが運動を選択可能でないと判定した場合（ステップＳ１０４：ＮＯ）、プロセッサ８１は、予め定められた運動をセットする（ステップＳ１０８）。ここでは、ステップＳ１０５の運動選択処理は行われず、ゲームのシーンに応じてゲーム製作者によって予め定められた運動がセットされる。
【０１８７】
次に、プロセッサ８１は、ステップＳ１０８でセットされた運動がユーザ情報に対応する運動か否かを判定する（ステップＳ１０９）。ここでは、実行される運動イベントが、ユーザによって予め設定されたユーザ情報に対応するか否かが判定される。この判定は、運動サポート機能を作動させるか否かの判定である。具体的には、プロセッサ８１は、運動情報テーブルを参照して、ユーザによって予め設定されたユーザ情報に基づいて、セットされた運動の部位情報の少なくとも一部と、ユーザ部位情報の少なくとも一部とが一致するか否かを判定する。
【０１８８】
ステップＳ１０９において「ＮＯ」と判定した場合、プロセッサ８１は、ステップＳ１０７の運動判定処理を実行する。
【０１８９】
一方、ステップＳ１０９において「ＹＥＳ」と判定した場合、プロセッサ８１は、ユーザにボタンを押下させるための第２の指示画像４０５（図２１参照）を表示し（ステップＳ１１０）、ユーザからのボタン操作を受け付ける（ステップＳ１１１）。具体的には、プロセッサ８１は、リングコントローラ（又は脚コントローラでもよい）からのボタン操作データに基づいて、ユーザによって所定のボタン（例えば、Ｘボタン５５）が押下されたか否かを判定し、所定のボタンが押下された場合、処理を次に進める。なお、ボタン操作がなくても自動的にゲームを進める場合には、ステップＳ１０９で「ＹＥＳ」と判定された場合、ステップＳ１１０及びステップＳ１１１を実行することなく、次にステップＳ１１２が実行される。例えば、図１４に示すような道４０３に沿ってユーザキャラクタ４０１が移動するシーンでは、ステップＳ１０９で「ＹＥＳ」と判定された場合に、次にステップＳ１１２が実行される。これにより、実行される運動がユーザ情報に対応する運動である場合、ユーザが運動やボタン操作を行わなくても自動的にゲームが進行する。例えば、図１４に示すようなシーンでは、「膝を動かす運動」が予めユーザ情報として記憶されている場合には、ユーザがジョギング動作（足踏み）やボタン操作を行わなくても、ユーザキャラクタ４０１が道４０３に沿って移動する様子が表示される。
【０１９０】
ステップＳ１１１の処理を実行した場合、又は、ステップＳ１０７の処理を実行した場合、プロセッサ８１は、運動に関連するゲーム処理を行う（ステップＳ１１２）。例えば、プロセッサ８１は、ユーザによって行われた運動に応じた画像を表示させる。例えば、実行中の運動イベントが、ユーザキャラクタ４０１の攻撃に係る運動イベントである場合、プロセッサ８１は、攻撃効果画像４０７（図１７参照）を表示させる。また、例えば、実行中の運動イベントが、ユーザキャラクタ４０１の防御に係る運動イベントである場合、プロセッサ８１は、防御効果画像４０８（図１９又は図２２参照）を表示させる。また、例えば、実行中の運動イベントが、ユーザキャラクタ４０１が道４０３に沿って移動するシーンに係る運動イベントである場合、プロセッサ８１は、ユーザキャラクタ４０１が道４０３に沿ってジョギングする画像を表示させる。なお、運動サポート機能が作動する場合に、運動イベントをスキップする場合には、ステップＳ１１２の運動に関連するゲーム処理は行われず、次に、ステップＳ１１３の処理が実行される。
【０１９１】
ステップＳ１１２の処理の後、プロセッサ８１は、ゲームを進行させる（ステップＳ１１３）。ここでいう「ゲームを進行させる」とは、例えば、現在のシーンから次のシーンに移行させたり、ユーザキャラクタ４０１を所定の経路に沿って前進させたりすることである。例えば、ユーザキャラクタ４０１と敵キャラクタ４１０とが格闘するシーンの場合、当該格闘シーンが終了し、次にユーザキャラクタ４０１がレール４０４上を移動するシーンにゲームが移行する。なお、図１４に示すようなユーザキャラクタ４０１が道４０３に沿って移動するシーンでは、運動サポート機能が作動しない場合、ステップＳ１０７、ステップＳ１１２、及びステップＳ１１３の処理が所定回数繰り返し実行される。これにより、ユーザが足踏みを継続している場合は、ユーザキャラクタ４０１が道４０３に沿って移動してゲームが進行する。そして、ユーザキャラクタ４０１が仮想空間の所定位置に到達した時点で、当該移動シーンが終了し、次のゲームシーン（図１５に示すシーン）に移行する。ユーザが足踏みを行っていない場合は、ユーザキャラクタ４０１は道４０３上で停止したままとなり、ゲームは進行しない。一方、運動サポート機能が作動する場合には、次のゲームシーンに移行するまで、ユーザキャラクタ４０１が道４０３に沿って自動的に移動するシーンが表示される。あるいは、運動サポート機能が作動する場合、ユーザキャラクタ４０１が道４０３に沿って自動的に移動するシーンがスキップされ、次のゲームシーンに移行してもよい。なお、上記例ではユーザキャラクタ４０１と敵キャラクタ４１０との格闘シーンが終了した後、ユーザキャラクタ４０１がレール４０４上を移動するシーンに移行するものとしたが、他の例としては、格闘シーンの後、ユーザキャラクタ４０１が移動するシーンを挟まずに、次に別の戦闘シーンに移行してもよい。
【０１９２】
ステップＳ１１３の処理の後、プロセッサ８１は、ステップＳ１０２に処理を戻す。
【０１９３】
なお、運動サポート機能を作動させるか否かの判定（ステップＳ１０９の判定）は、ステップＳ１０３の次に行われてもよい。すなわち、運動イベントを実行すると判定された場合に、実行される運動イベントがユーザ情報に対応するか否かが判定されてもよい。実行される運動イベントがユーザ情報に対応する場合（具体的には、実行される運動イベントにおいて行われる運動がユーザ情報に対応する場合）には、次にステップＳ１１０及びステップＳ１１１が実行されることで、運動サポート機能が作動する。実行される運動イベントがユーザ情報に対応しない場合は、運動サポート機能は作動せず、センサデータに基づく運動判定処理（ステップＳ１０７）が行われる。
【０１９４】
（運動判定処理）
次に、上記ステップＳ１０７の運動判定処理について説明する。図２８は、ステップＳ１０７の運動判定処理の一例を示すフローチャートである。
【０１９５】
図２８に示すように、プロセッサ８１は、セットした運動をユーザに行わせるための第１の指示画像４０５（図１８参照）を表示させる（ステップＳ１３０）。
【０１９６】
ステップＳ１３０に続いて、プロセッサ８１は、脚コントローラおよびリングコントローラからのセンサデータを取得する（ステップＳ１３１）。具体的には、プロセッサ８１は、リングコントローラ（右コントローラ４）の加速度センサ１１４、角速度センサ１１５、及び、歪み検出部２１１の出力に応じたデータをセンサデータとして取得する。また、プロセッサ８１は、脚コントローラ（左コントローラ３）の加速度センサ１０４、及び、角速度センサ１０５の出力に応じたデータをセンサデータとして取得する。
【０１９７】
次に、プロセッサ８１は、取得したセンサデータに基づいて、脚コントローラおよびリングコントローラの姿勢をそれぞれ算出する（ステップＳ１３２）。具体的には、プロセッサ８１は、脚コントローラ（左コントローラ３）からの加速度データ及び角速度データに基づいて、脚コントローラの姿勢を算出する。また、プロセッサ８１は、リングコントローラ（右コントローラ４）からの加速度データ及び角速度データに基づいて、リングコントローラの姿勢を算出する。
【０１９８】
続いて、プロセッサ８１は、ステップＳ１０６又はステップＳ１０８でセットされた運動が行われたか否かを判定する（ステップＳ１３３）。プロセッサ８１は、ステップＳ１３２で算出した各コントローラの姿勢と、各コントローラの加速度と、ステップＳ１３１で取得した歪みデータ（歪み検出部２１１の出力に応じたデータ）とに基づいて、セットされた運動をユーザが行ったか否かを判定する。具体的には、センサデータに関する、運動に応じた複数の条件が、予め本体装置２に記憶されている。例えば、「スクワット」に対応するセンサデータに関する条件、「上げてプッシュ」に対応するセンサデータに関する条件、「ジョギング」に対応するセンサデータに関する条件等が記憶されている。これらの条件は、各コントローラの姿勢や動きに関する条件と、リングコントローラの変形に関する条件とのうちの少なくとも何れか一方を含む。プロセッサ８１は、各コントローラから取得したセンサデータが、運動イベントに対応付けられる所定の条件を満たす場合に、ステップＳ１３３において「ＹＥＳ」と判定する。より具体的には、プロセッサ８１は、各コントローラからのセンサデータが、セットされた運動に応じた所定の条件を満たすか否かを判定する。ここで、「取得したセンサデータが運動イベントに対応付けられる所定の条件を満たす」ことは、ユーザが運動イベントに応じた運動を行ったことを意味する。ユーザが運動イベントに応じた運動を行ったか否かの判定は、所定期間に取得されたセンサデータに基づいて算出された各コントローラの動きやリングコントローラの変形のパターンが、予め記憶されたパターンと一致するか否かに基づいて行われてもよい。また、ユーザが運動イベントに応じた運動を行ったか否かの判定は、所定期間に取得されたセンサデータを学習済みモデルに入力し、その出力結果を取得することで行われてもよい。ここで学習済みモデルは、センサデータに基づいてユーザの運動を判定するためのプログラムであり、予め運動を判定するための学習データに基づいて学習されたモデルである。
【０１９９】
セットされた運動が行われていないと判定した場合（ステップＳ１３３：ＮＯ）、プロセッサ８１は、ステップＳ１３１の処理を再び実行する。プロセッサ８１は、ステップＳ１３３で「ＹＥＳ」と判定するまで、ステップＳ１３１〜ステップＳ１３３の処理を所定の時間間隔（例えば、１／６０秒間隔）で繰り返し実行する。
【０２００】
セットされた運動が行われたと判定した場合（ステップＳ１３３：ＹＥＳ）、プロセッサ８１は、図２８に示す処理を終了し、次に図２７のステップＳ１１１に処理を進める。
【０２０１】
なお、上記フローチャートで示した処理は単なる例示に過ぎず、処理の順番や内容は適宜変更されてもよい。
【０２０２】
以上のように、本実施形態では、ゲームの実行中にユーザに運動を行わせるための運動イベントを実行し（ステップＳ１０３でＹＥＳ）、運動イベントに応じた運動をユーザが行うことでゲームが進行する（ステップＳ１０２、ステップＳ１１２）。ユーザは、予めユーザ情報を設定する（ステップＳ１０１）。ユーザが選択不可能な運動であって、ユーザ情報に対応する運動が運動イベントにおいて行われる場合には（ステップＳ１０９でＹＥＳ）、その運動イベントに応じた運動に代えて、ボタン操作の受け付けが行われる（ステップＳ１１０）。そして、ボタン操作が行われたことに応じて、運動が行われたときと同様のゲーム処理が行われ（ステップＳ１１１）、ゲームが進行する（ステップＳ１１２）。
【０２０３】
これにより、複数種類の運動を順次行うことによって進行するゲームにおいて、実行することが困難な運動があっても、ユーザはゲームを進めることができ、ユーザにゲーム（運動）を継続させることができる。
【０２０４】
また、本実施形態では、通常時（すなわち、運動サポート機能が作動しないとき）には、ユーザが、運動イベントに応じた運動を行った場合に、当該運動に関連するゲーム処理（例えば、図１９に示す防御効果画像４０８の表示）が行われる。これにより、ユーザは、ビデオゲームを行う感覚で運動を行うことができ、ユーザに運動以外の楽しみを与え、ユーザに運動を継続的に行わせることができる。
【０２０５】
また、本実施形態では、運動サポート機能の作動時には、ユーザが運動イベントに応じた運動を行わなくても、通常時と同様に運動に関連するゲーム処理（例えば、図２２に示す防御効果画像４０８の表示）が行われる。これにより、ユーザがその運動を行うことを避けたいと考えている場合や、その運動を行うことが困難な場合であっても、ゲームの連続性を維持しつつゲームを進行させることができる。
【０２０６】
また、本実施形態では、ユーザによる選択が介在する運動が行われる場合には、運動サポート機能を作動させずユーザの運動に応じてゲームを進行させ、ユーザによる選択が介在しない予め定められた運動が行われる場合には、運動サポート機能を作動させる。これにより、ユーザの意思を反映させつつ、特定の運動を行わなくてもゲームを進行させることができる。
【０２０７】
また、本実施形態では、通常時にはユーザに運動を行わせるための第１の指示画像４０５（図１８参照）が表示されるため、ユーザにとってどのような運動を行えばよいか分かり易い。一方、運動サポート機能の作動時には、第１の指示画像４０５が表示されることなく、ユーザにボタン操作を行わせるための第２の指示画像４０５（図２１参照）が表示される。このため、ユーザにボタン操作を促すことができるとともに、ユーザが誤って運動することを抑制することができる。
【０２０８】
（変形例）
以上、本実施形態のゲームについて説明したが、上記実施形態は単なる一例であり、例えば以下のような変形が加えられてもよい。
【０２０９】
例えば、上記実施形態では、複数種類の運動を身体の部位によって分類し、運動サポート機能を作動させる運動の分類（具体的には身体の部位）をユーザに入力させ、当該分類に応じた分類情報がユーザ情報として記憶された。他の実施形態では、複数の運動は、身体の部位に限らず他の観点で分類されてもよい。例えば、その運動が、瞬発力を要する運動か、持久力を要する運動か、有酸素運動か無酸素運動か等によって分類してもよい。
【０２１０】
また、他の実施形態では、ユーザが、避けたいと考えている運動や、行うことが困難である運動を直接指定し、当該運動を示す運動情報がユーザ情報として記憶されてもよい。例えば、スクワットとジャンプとは、ともに「脚を動かす運動」である。仮にユーザが、部位情報として「脚を動かす運動」を設定した場合、運動イベントにおいて、スクワットとジャンプはともに行われなくともゲームが進行されることになる。一方で、運動情報として「スクワット」のみを設定することができれば、ユーザは運動イベントとしてスクワットは行わなくともよい一方、ジャンプは行う必要がある。このように、部位情報に代えて、あるいは加えて、運動情報を設定可能とすることで、ユーザのニーズに細かく対応することが可能となる。なお、「スクワット」を運動情報として設定する一例を記載したが、設定される運動情報は、同種の複数の運動を含む概念であってもよいし、一意に特定される運動に向けられる概念であってもよい。例えば、標準的なスクワットだけではなく、種々のタイプのスクワットも同様に、運動イベントにおいて行われることなくゲームが進行されるようにしてもよいし、特定のタイプのスクワットのみが運動イベントにおいて行われることなくゲームが進行されるようにしてもよい。
【０２１１】
また、他の実施形態では、ゲームの実行中にユーザが所定の運動を上手く行えているか否かを判断し、上手く行えていないと判断した運動について、ユーザ情報として記憶し、当該運動について運動サポート機能を作動させてもよい。また、ユーザが所定の運動を上手く行えなかった回数が所定以上となった場合には、当該運動についてユーザ情報として記憶し、運動サポート機能を作動させてもよい。例えば、ユーザ情報として予め「膝を動かす運動」が設定されていない場合であっても、運動イベントにおいて「スクワット」が複数回行われ、プロセッサが、ユーザがスクワットを繰り返し上手く行えていないと判断した場合には、運動サポート機能を作動させる運動として、「膝を動かす運動」を設定してもよい。すなわち、所定の運動に対して運動サポートの設定がされていない場合でも、ユーザが所定の運動を繰り返し上手く行えていない場合には、プロセッサが、所定の運動に対する運動サポートの設定をしてもよい。ここで、「所定の運動に対する運動サポートの設定」とは、所定の運動の分類全般をサポートすることであってもよいし、所定の運動自体をサポートすることであってもよい。前者の場合には、例えば、ユーザがスクワットをうまく行えていない場合には、スクワットが属する分類である「膝を動かす運動」に対して運動サポートの設定がされる。このため、スクワットのみならずジャンプに対しても運動サポート機能が作動し、ユーザは運動イベントにおいてスクワットやジャンプ等の「膝を動かす運動」を行わなくてもゲームを進行させることができる。一方、後者の場合には、例えば、ユーザがスクワットをうまく行えていない場合には、スクワット（種々のタイプのスクワットでもよいし、特定のタイプのスクワットでもよい）を指定して運動サポートの設定がされる。これによりスクワットに対してのみ運動サポート機能が作動する。このため、ユーザは運動イベントとしてスクワット（種々のタイプのスクワット、又は、特定のタイプのスクワット）を行わなくてもよいが、例えば「ジャンプ」は行う必要がある。
【０２１２】
また、上記実施形態では、運動サポート機能が作動する場合、ユーザの運動の代わりに、ボタン操作を受け付けた。すなわち、運動に置換してボタン操作が行われた場合に、ゲームを進行させた。他の実施形態では、運動は、ボタン操作に限らず、アナログスティックを用いた方向操作に置換され、アナログスティックを用いた方向操作が行われた場合に、ゲームを進行させてもよい。すなわち、ユーザが指で操作可能な操作部に対する所定の操作が行われた場合に、ゲームを進行させてもよい。なお、サポートされる運動または運動の分類によって、ゲームを進行させる方法が異なっても良い。例えば、サポートされる運動の動作イメージに近い操作方法（ボタン操作やアナログスティックを用いた操作、加速度センサを用いた操作など）が設定されてもよい。また、運動サポート機能が作動する場合、操作部に対する操作が行われなくても、自動的にゲームを進行させてもよい。
【０２１３】
また、他の実施形態では、運動サポート機能が作動する場合、運動イベントに応じた運動とは異なる運動がユーザによって行われたときに、ゲームを進行させてもよい。例えば、図２５に示すユーザＡがゲームの実行中に、「スクワット」（膝を動かす運動）を行わせる運動イベントが実行されるときに、ユーザＡが「スクワット」とは異なる「上げてプッシュ」（肩を動かす運動）を行った場合、ゲームを進行させてもよい。
【０２１４】
すなわち、ユーザ情報に対応付けられた運動イベント（例えば、「スクワット」を行わせる運動イベント）が実行される場合、当該運動イベントに応じた運動（スクワット）とは異なる運動（例えば、上げてプッシュ）が行われた場合には、ゲームを進行させてもよい。言い換えると、運動サポート機能が作動する場合、運動イベントに応じた運動が他の異なる運動に置換され、置換された運動に応じた第２の条件を満たすセンサデータが取得された場合に、ゲームを進行させてもよい。
【０２１５】
また、上記実施形態では、ユーザが選択した運動については運動サポート機能を作動させないようにしたが、他の実施形態では、ユーザが選択した運動であっても、ユーザ情報に対応する運動である場合には、運動サポート機能を作動させてもよい。例えば、上記ステップＳ１０６の処理の後に、ステップＳ１０９の処理が行われてもよい。
【０２１６】
また、他の実施形態では、運動サポート機能が作動する場合、複数の運動の中から、ユーザ情報に対応付けられた運動以外の少なくとも１の運動が自動的に実行されてもよい。例えば、膝を動かす運動がユーザ情報として設定されている場合、運動イベントを実行するときに、膝を動かす運動とは異なる運動が自動的に選択されてもよい。そして、自動的に選択された運動をユーザが行った場合にゲームを進行させてもよい。この自動的に選択される運動は、ユーザが予め設定した複数の運動のうちの１つであってもよいし、ゲーム製作者によって設定された複数の運動のうちの１つであってもよい。
【０２１７】
また、上記実施形態では、運動サポート機能が作動する場合、運動が行われたときと同様に、運動に関連するゲーム処理（例えば、防御効果画像４０８の表示）が行われた。すなわち、上記実施形態では、通常は、運動イベントに応じた運動がユーザによって行われたと判定された場合には、当該運動に関連する処理を行ってから当該運動イベントを終了することにより、ゲームを進行させた。一方、運動サポート機能の作動時には、運動イベントに応じた運動がユーザによって行われたと判定されない場合であっても、同じ運動に関連する処理を行ってから当該運動イベントを終了することにより、ゲームを進行させた。
【０２１８】
運動サポート機能の作動時には、運動イベントを実行するときに、当該運動イベントをスキップしてもよい。この場合、運動に関連する処理は行われない。例えば、図２１に示すボタン操作を促すゲーム画像が表示された後、ボタン操作に応じて、図２２のような敵からの攻撃の防御する様子を示すゲーム画像は表示されず、ユーザキャラクタ４０１の防御に係る運動イベントが終了し、ゲームが進行してもよい。あるいは、図２１に示すボタン操作を促すゲーム画像も表示されず、自動的にユーザキャラクタ４０１の防御に係る運動イベントがスキップされてもよい。
【０２１９】
また、上記実施形態では、ゲームにおけるシーンに応じて運動イベントが発生し、運動を行うことでゲームのシーンを進めた。すなわち、ゲーム全体の一部として運動イベントが実行された。このように、ゲームと運動イベントの関係については、一例として、ゲームプログラムにおいて実行されるゲームアプリケーション全体と、ゲームアプリケーションに含まれる特定のゲームとの関係ともいうことができる。また、ゲームと運動イベントとの関係は、ゲームモードと、モード中のミニゲームの関係であってもよい。つまり、ゲームと運動イベントの関係については、他の例として、ゲームプログラムにおいて実行されるゲームアプリケーション全体に含まれるゲームモードと、そのゲームモードに含まれる特定のゲームとの関係ともいうこともできる。例えば、ゲームアプリケーション全体は第１ゲームモードと第２ゲームモードとを備え、第１ゲームモードは複数の特定のゲームを含む場合、ゲームと運動イベントの関係は、第１ゲームモードと、当該第１ゲームモードに含まれる特定のゲームの関係であってもよい。上記のように、他の実施形態では、運動イベントがゲーム全体の一部として構成されていれば、ゲームと運動イベントとの関係はどのようなものでもよい。
【０２２０】
また、上記実施形態のゲームシステム１の構成は単なる一例であり、他の任意の構成において上述したゲームが行われてもよい。例えば、上記実施形態では、リング型拡張装置５に右コントローラ４を装着し、ベルト型拡張装置６に左コントローラ３を装着することにより、リングコントローラ及び脚コントローラを構成した。他の実施形態では、ユーザの運動を検出することが可能な装置であれば、どのような装置が用いられてもよい。例えば、リング型拡張装置５は、円形状ではなく、棒状、楕円状、Ｌ字型等任意の形状であってもよい。また、ユーザが力を加えることによって変形する装置は、用いられなくてもよい。また、例えば、ユーザの両腕、両足、頭部、胴体部等に運動を検出可能なセンサを装着してもよい。また、ユーザをカメラで撮影することで、ユーザの動きを検出し、ユーザが所定の運動を行ったか否かを判定してもよい。例えば、ユーザの身体にマーカを装着し、マーカをカメラで撮影することで、ユーザの動きを検出してもよい。また、ユーザが乗るための面を備える荷重を検出する装置によって、ユーザの運動を検出してもよい。例えば、ユーザが所定の面上に立ち、運動を行うことで荷重値および重心位置が変化し、荷重値及び重心位置を検出することで、ユーザの動きを検出してもよい。
【０２２１】
また、ネットワーク（ＷＡＮ、インターネット等）で接続された複数の装置によって、上述したゲームシステム１が構成されてもよい。また、本体装置２に代えて、任意の情報処理装置（例えば、パーソナルコンピュータ、スマートフォン、タブレット端末、サーバ等）が用いられ、当該情報処理装置を含む情報処理システムが構成されてもよい。
【０２２２】
以上、本発明について説明したが、上記説明は本発明の例示に過ぎず、種々の改良や変形が加えられてもよい。
【符号の説明】
【０２２３】
１  ゲームシステム
２  本体装置
３  左コントローラ
４  右コントローラ
５  リング型拡張装置
６  ベルト型拡張装置
８１  プロセッサ
４０１  ユーザキャラクタ
４０５  指示画像
４０７  攻撃効果画像
４０８  防御効果画像
４１０  敵キャラクタ
【要約】
【課題】ユーザが身体を動かすことによって進行するゲームにおいて、ユーザに応じて、ゲームを進行させることをサポートすることが可能な情報処理システムを提供する。
【解決手段】情報処理システムの一例は、複数の運動イベントを順次実行し、ユーザが運動イベントに応じた運動を実行することでゲームを進行させる。ユーザは予め避けたい運動を設定する。運動イベントに応じた運動が、予めユーザにより設定された運動である場合、運動に代えてボタン操作が行われることで、ゲームを進行させる。
【選択図】図２７【図１】
0006691258.tif 000002
【図２】
0006691258.tif 000003
【図３】
0006691258.tif 000004
【図４】
0006691258.tif 000005
【図５】
0006691258.tif 000006
【図６】
0006691258.tif 000007
【図７】
0006691258.tif 000008
【図８】
0006691258.tif 000009
【図９】
0006691258.tif 000010
【図１０】
0006691258.tif 000011
【図１１】
0006691258.tif 000012
【図１２】
0006691258.tif 000013
【図１３】
0006691258.tif 000014
【図１４】
0006691258.tif 000015
【図１５】
0006691258.tif 000016
【図１６】
0006691258.tif 000017
【図１７】
0006691258.tif 000018
【図１８】
0006691258.tif 000019
【図１９】
0006691258.tif 000020
【図２０】
0006691258.tif 000021
【図２１】
0006691258.tif 000022
【図２２】
0006691258.tif 000023
【図２３】
0006691258.tif 000024
【図２４】
0006691258.tif 000025
【図２５】
0006691258.tif 000026
【図２６】
0006691258.tif 000027
【図２７】
0006691258.tif 000028
【図２８】
0006691258.tif 000029