(57)【要約】【課題】プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することのできるゲーム装置等を提供する。【解決手段】測定情報取得部３４０は、ゲームが開始されると、各コントローラの加速度情報を含む測定情報を取得する。処理制御部３５０は、各コントローラに対応した加速度情報に基づいて、プレイヤによるコントローラを振る動作がなされたことを検出する。すると、処理制御部３５０は、振る動作が検出されたコントローラの動作方向を、そのコントローラの加速度情報に基づいて判定し、更に、判定した動作方向を、両コントローラにおける各基準方向（上面法線方向）がどれだけ違っているかに応じて補正する。そして、処理制御部３５０は、補正後の動作方向を含む動作情報と課題情報とを比較して、プレイヤによるコントローラを振る動作を評価する。【選択図】図３
2010233742.tif 000002
【特許請求の範囲】
【請求項１】
所定のセンサ素子をそれぞれ有する複数のコントローラの動作を判定するゲーム装置であって、
当該各センサ素子にてそれぞれ測定される各コントローラの動きを示す測定情報を取得する測定情報取得部と、
取得された当該各測定情報に基づいて、コントローラの動作を検出する動作検出部と、
動作が検出された当該コントローラの動作方向を、各コントローラにおける各基準方向の関係に基づいて特定する動作方向特定部と、を備える、
ことを特徴とするゲーム装置。
【請求項２】
所定の加速度センサをそれぞれ有する１組のコントローラの動作を判定するゲーム装置であって、
当該各加速度センサにてそれぞれ測定される各コントローラの加速度情報を取得する加速度情報取得部と、
取得された当該各加速度情報に基づいて、一方のコントローラについて振る動作がなされたことを検出する動作検出部と、
振る動作が検出された当該コントローラの動作方向を、当該コントローラの加速度情報に基づいて判定する動作方向判定部と、
当該判定された動作方向を、両コントローラにおける各基準方向の関係に基づいて補正する動作方向補正部と、を備える、
ことを特徴とするゲーム装置。
【請求項３】
請求項２に記載されたゲーム装置であって、
前記動作方向補正部は、両コントローラにおける各上面法線方向の角度差に基づいて、前記動作方向判定部により判定された動作方向を補正する、
ことを特徴とするゲーム装置。
【請求項４】
請求項２に記載されたゲーム装置であって、
前記動作方向補正部は、振る動作が検出されたコントローラの加速度情報と、他方のコントローラの加速度情報との差分に基づいて、前記動作方向判定部により判定された動作方向を補正する、
ことを特徴とするゲーム装置。
【請求項５】
請求項２乃至４の何れか１項に記載されたゲーム装置であって、
各コントローラは、少なくとも３軸方向の加速度を測定可能な加速度センサを有しており、
前記動作方向判定部は、当該３軸方向の加速度情報に基づいて、当該コントローラの動作方向を判定し、
前記動作方向補正部は、両コントローラの各加速度情報における３軸方向のうち１つの軸方向を基準とした加速度情報を用いて、前記動作方向判定部により判定された動作方向を補正する、
ことを特徴とするゲーム装置。
【請求項６】
所定のセンサ素子をそれぞれ有する複数のコントローラ、情報取得部、及び、演算処理部を有するゲーム装置における動作判定方法であって、
前記情報取得部が、各センサ素子にてそれぞれ測定される各コントローラの動きを示す測定情報を取得する測定情報取得ステップと、
前記演算処理部が行う、取得された当該各測定情報に基づいて、コントローラの動作を検出する動作検出ステップと、
前記演算処理部が行う、動作が検出された当該コントローラの動作方向を、各コントローラにおける各基準方向の関係に基づいて特定する動作方向特定ステップと、を備える、
ことを特徴とする動作判定方法。
【請求項７】
所定のセンサ素子をそれぞれ有する複数のコントローラの動作を判定するコンピュータを、
当該各センサ素子にてそれぞれ測定される各コントローラの動きを示す測定情報を取得する測定情報取得部、
取得された当該各測定情報に基づいて、コントローラの動作を検出する動作検出部、
動作が検出された当該コントローラの動作方向を、各コントローラにおける各基準方向の関係に基づいて特定する動作方向特定部、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することのできるゲーム装置、動作判定方法、および、プログラムに関する。
【背景技術】
【０００２】
近年、新たな発想の入力デバイスを、コントローラとしたゲーム装置が普及してきている。
このコントローラは、例えば、テレビ等のリモコン（リモートコントローラ）と類似した外観を有し、ゲーム装置とワイヤレス（無線通信等）で接続され、プレイヤが片手で持ってそのまま操作可能となっている。
【０００３】
プレイヤは、このコントローラを用いて、種々のゲームをプレイすることができる。例えば、画面上に表示されたオブジェクト（標的や敵キャラクタ等）を、コントローラから狙って射撃等を行うゲームや、画面の指示や表示状況等に応じて、コントローラを所定方向に動かす等の動作を行う体感型のゲームである。
このようなコントローラには、一例として、３軸の加速度センサが埋設されており、プレイヤがコントローラを任意に動かすと、３軸方向（上下方向、左右方向、及び、前後方向）の加速度を計測して、コントローラの動きを得ることができるようになっている。
【０００４】
このようなコントローラを用いたゲーム装置の技術として、コントローラにより指し示された画面上の照準位置を適切に補正することのできる発明が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２６０３４７号公報（第７−１４頁、第３図）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、加速度センサが埋設されたコントローラは、プレイヤによる任意の動作（コントローラを所定方向に動かす等の動作）を得ることができる。
しかしながら、コントローラを振るなどの動きが激しい（速度の速い）動作の場合には、得られる精度が低下してしまう場合があった。
【０００７】
例えば、図１０（ａ）に示すようなコントローラＣｎｔを振る動作において、斜め方向の動きを適切に判定することができない場合がある。
具体的には、図１０（ｂ）に示すように、Ｘ軸方向に水平となるように持ったコントローラＣｎｔをプレイヤがＹ軸方向に沿って下方向に振った場合と、図１０（ｃ）に示すように、Ｘ軸方向（Ｙ軸方向）に対して傾けるように持ったコントローラＣｎｔを点線ｎに沿って斜め下方向に振った場合とでは、両者の違いを充分に得られない場合がある。
これは、加速度センサの特性によるところが大きい。つまり、コントローラＣｎｔを傾ける等のようなゆっくりとした動きであれば、３軸の加速度センサは、各軸における重力加速度の変化により、そのような動きを判定できる。それでも、コントローラＣｎｔを振る等のような激しい動きの場合には、重力加速度と動きによる加速度とを、はっきりと区別できない状況が生じ易くなる。
そのため、図１０（ｂ），（ｃ）のように、現実に異なる方向に振られた場合に、何れも、コントローラＣｎｔを基準として、相対的に下方向に振られたところまでは明確に判定できるものの、図１０（ｃ）の動作が、現実の斜め方向に振られたと適切に判定できない場合があった。
【０００８】
このような不都合を解消すべく、従来では、コントローラの持ち方を一律に定め、プレイヤにその持ち方のまま、コントローラを振る動作を行ってもらうようにしていた。
具体的には、図１０（ｄ）に示すように、コントローラＣｎｔをＸ軸方向に水平となるように持ってもらい、その状態を維持したまま、各方向に振ってもらっていた。例えば、斜め下方向へ振る場合には、コントローラＣｎｔをその状態のまま点線に沿って、振ってもらっていた。つまり、加速度センサで測定される加速度の方向が、そのままコントローラＣｎｔを振った方向となるように、コントローラＣｎｔの姿勢を変えずに（ひねらないように）振ることを、プレイヤに要求していた。
【０００９】
要求されるこのような動作は、普通に物を持って振る場合の動作と異なっており、極めて不自然であるため、プレイし難いものとなっていた。つまり、物を持って斜め方向に振る場合には、通常手首をひねって、例えば、図１０（ｃ）のように、コントローラＣｎｔをある程度傾けることになる。
そのため、図１０（ｄ）のように、コントローラＣｎｔの姿勢を変えないように斜め方向に振ることが要求されていたとしても、プレイヤは、無意識のうちにある程度手首をひねって振ってしまっていた。つまり、図１０（ｃ）のように、コントローラＣｎｔを傾けて振った場合に近いものとなっていた。
そうすると、加速度センサが、下方向（コントローラＣｎｔを基準とした下方向）の加速度を大きく計測するため、結果的に、図１０（ｂ）のように、下向きに振られたと誤って判定されてしまうことになる。
【００１０】
このように、プレイヤの意識では、要求通りにコントローラを斜め下方向に振っているにも拘わらず、ゲームにおいては、下に振っていると誤判定され易くなるため、ゲームの得点等が思うように伸びないことになる。その結果、このようなコントローラを使ったゲームが難しいと誤解してしまうプレイヤも多かった。
【００１１】
このようなことから、プレイヤがコントローラを斜め方向に振った場合でも、精度を上げて適切に判定できるゲーム装置の技術が求められていた。
【００１２】
本発明は、このような課題を解決するためになされたもので、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することのできるゲーム装置、動作判定方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１の観点に係るゲーム装置は、所定のセンサ素子をそれぞれ有する複数のコントローラの動作を判定するゲーム装置であって、、測定情報取得部、動作検出部、及び、動作方向特定部を含んで構成される。
【００１４】
まず、測定情報取得部は、各センサ素子にてそれぞれ測定される各コントローラの動きを示す測定情報（例えば、加速度情報）を取得する。また、動作検出部は、取得された各測定情報に基づいて、コントローラの動作を検出する。そして、動作方向特定部は、動作が検出されたコントローラの動作方向を、各コントローラにおける各基準方向の関係に基づいて特定する。例えば、動作方向特定部は、取得された加速度情報によって、コントローラを振る動作と動作方向を検出し、検出した動作方向を、各コントローラにおける各上面法線方向の関係に基づいて補正する。つまり、振られた方のコントローラの動作方向を、各コントローラの上面法線方向がどれだけ違っているかに応じて補正する。
これにより、プレイヤが一方のコントローラを斜め方向に振った場合でも、振られていない他方のコントローラとの関係を利用して、その動作方向を適切に判定することができる。
この結果、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することができる。
【００１５】
本発明の第２の観点に係るゲーム装置は、所定の加速度センサをそれぞれ有する１組のコントローラの動作を判定するゲーム装置であって、加速度情報取得部、動作検出部、動作方向判定部、及び、動作方向補正部を含んで構成される。
【００１６】
まず、加速度情報取得部は、各加速度センサにてそれぞれ測定されれる各コントローラの加速度情報（例えば、３軸方向の加速度を含む加速度情報）を取得する。また動作検出部は、取得された各加速度情報に基づいて、一方のコントローラについて振る動作がなされたことを検出する。動作方向判定部は、振る動作が検出されたコントローラの動作方向を、コントローラの加速度情報に基づいて判定する。例えば、動作方向判定部は、振る動作が検出されたコントローラの加速度情報によって、コントローラを基準とした相対的な動作方向を判定する。そして、動作方向補正部は、判定された動作方向を、両コントローラにおける各基準方向の関係に基づいて補正する。例えば、動作方向補正部は、両コントローラにおける各上面法線方向の関係に基づいて、動作方向を補正する。つまり、振られた方のコントローラの動作方向を、各コントローラの上面法線方向がどれだけ違っているかに応じて補正する。
これにより、プレイヤが一方のコントローラを斜め方向に振った場合でも、振られていない他方のコントローラとの関係を利用して、その動作方向を適切に判定することができる。
この結果、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することができる。
【００１７】
動作方向補正部は、両コントローラにおける各上面法線方向の角度差に基づいて、動作方向判定部により判定された動作方向を補正してもよい。
例えば、角度差が基準値よりも大きい場合に、コントローラの動作方向を斜め方向（絶対的な方向）に補正する。一方、角度差が基準値以下の場合に、コントローラの動作方向を絶対的な方向として確定する。
この場合、振られたコントローラの上面法線方向と、振られていないコントローラの上面法線方向との角度差を利用して、振られたコントローラの動作方向を適切に補正することができる。
【００１８】
動作方向補正部は、振る動作が検出されたコントローラの加速度情報と、他方のコントローラの加速度情報との差分に基づいて、動作方向判定部により判定された動作方向を補正してもよい。
例えば、振る動作が検出されたコントローラのｙ軸方向の加速度と、他のコントローラのｙ軸方向の加速度との差分に基づいて、コントローラの動作方向を補正する。
この場合、振る動作が検出されたコントローラの加速度情報から、ほぼ重力加速度分の加速度を引くことにより、振られたコントローラの動作方向を適切に補正することができる。
【００１９】
各コントローラは、少なくとも３軸方向の加速度を測定可能な加速度センサを有しており、
動作方向判定部は、３軸方向の加速度情報に基づいて、当該コントローラの動作方向を判定し、
動作方向補正部は、両コントローラの各加速度情報における３軸方向のうち１つの軸方向を基準とした加速度情報を用いて、動作方向判定部により判定された動作方向を補正してもよい。
この場合、３軸方向の加速度を用いて、動作方向の判定とその補正を行うことができる。
【００２０】
本発明の第３の観点に係る動作判定方法は、所定のセンサ素子をそれぞれ有する複数のコントローラ、情報取得部、及び、演算処理部を有するゲーム装置における動作判定方法であって、測定情報取得ステップ、動作検出ステップ、及び、動作方向特定ステップを含んで構成される。
【００２１】
まず、測定情報取得ステップでは、各センサ素子にてそれぞれ測定される各コントローラの動きを示す測定情報（例えば、加速度情報）を取得する。また、動作検出ステップでは、取得された各測定情報に基づいて、コントローラの動作を検出する。そして、動作方向特定ステップでは、動作が検出されたコントローラの動作方向を、各コントローラにおける各基準方向の関係に基づいて特定する。例えば、動作方向特定ステップは、取得された加速度情報によって、コントローラを振る動作と動作方向を検出し、検出した動作方向を、各コントローラにおける各上面法線方向の関係に基づいて補正する。つまり、振られた方のコントローラの動作方向を、各コントローラの上面法線方向がどれだけ違っているかに応じて補正する。
これにより、プレイヤが一方のコントローラを斜め方向に振った場合でも、振られていない他方のコントローラとの関係を利用して、その動作方向を適切に判定することができる。
この結果、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することができる。
【００２２】
本発明の第４の観点に係るプログラムは、コンピュータ（電子機器を含む。）を、上記のゲーム装置として機能させるように構成する。
【００２３】
このプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
【００２４】
上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００２５】
本発明によれば、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である
【図２】コントローラユニットの概要を説明するための外観図である。
【図３】本発明の実施形態に係るゲーム装置の概要構成を示す模式図である。
【図４】生成されるゲーム画像の一例を示す模式図である。
【図５】（ａ）〜（ｄ）全て、コントローラの動作方向の判定について説明するための模式図である。
【図６】（ａ），（ｂ）共に、動作方向の補正について説明するための模式図である。
【図７】（ａ）〜（ｆ）全て、動作方向の他の補正手法を説明するための模式図である。
【図８】（ａ），（ｂ）共に、評価の様子を説明するための模式図である。
【図９】本発明の実施形態に係る動作評価処理を説明するためのフローチャートである。
【図１０】（ａ）〜（ｄ）全て、従来のコントローラの振り方を説明するための模式図である。
【発明を実施するための形態】
【００２７】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、ＰＤＡ、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００２８】
図１は、本発明の実施形態に係るゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００２９】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラユニット１０５と、外部メモリ１０６と、ＤＶＤ（Digital Versatile Disc）−ＲＯＭドライブ１０７と、画像処理部１０８と、音声処理部１０９と、ＮＩＣ（Network Interface Card）１１０と、を備える。
【００３０】
なお、ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０７に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置が実現される。
【００３１】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【００３２】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００３３】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。
【００３４】
インターフェース１０４を介して接続された、コントローラユニット１０５は、プレイヤがゲーム実行の際に行う動作等を受け付ける。より詳細には、後述するコントローラ２１０及びコントローラ２２０を左右の手で１つずつ把持したプレイヤが、例えば、コントローラ２１０，２２０を所定方向に振る動作を行うと、その動作に応じた測定情報（一例として、加速度情報等）を無線通信により受け付ける。なお、コントローラユニット１０５の詳細については後述する。
【００３５】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲームの進行状態を示すデータ、チャット通信のログ（記録）のデータなどが書き換え可能に記憶される。プレイヤは、コントローラユニット１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００３６】
ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０７は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００３７】
画像処理部１０８は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や自身が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを自身が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号（映像信号）に変換され画像処理部１０８に接続されるモニタ（後述するディスプレイ２９０）へ出力される。これにより、各種の画像表示が可能となる。
【００３８】
なお、画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００３９】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、ＤＶＤ−ＲＯＭに記録された専用のフォント情報を利用することも可能である。
【００４０】
音声処理部１０９は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、外部のスピーカ（後述するディスプレイ２９０のスピーカ）に供給して音声を出力させる。例えば、音声処理部１０９は、ＣＰＵ  １０１による制御の下、ゲームの進行中に発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００４１】
ＮＩＣ  １１０は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格に従うものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００４２】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
また、プレイヤからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。
【００４３】
また、本実施形態の情報処理装置１００にかえて、一般的なコンピュータ（汎用のパーソナルコンピュータ等）をゲーム装置として利用することもできる。たとえば、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣを備え、情報処理装置１００よりも簡易な機能となる画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、ゲームプログラムをインストールした後に、そのプログラムを実行させると、ゲーム装置として機能する。
【００４４】
（コントローラユニットの概要）
図２は、上述したコントローラユニット１０５の概要を説明するための外観図である。
コントローラユニット１０５は、図示するような一組のコントローラ２１０，２２０とセンサバー２３０とを含んで構成される。各コントローラ２１０，２２０は、所定の接続ケーブルにて接続されている。また、情報処理装置１００は、所定のケーブルを介してセンサバー２３０及びディスプレイ２９０とそれぞれ接続されている。
【００４５】
コントローラ２１０は、主となるコントローラであり、例えば、テレビ等のリモコンと類似した外観を有し、情報処理装置１００とワイヤレスで（無線通信によって）接続される。
一方、コントローラ２２０は、コントローラ２１０と接続された状態で使用される補助的なコントローラであり、接続されたコントローラ２１０を介して、情報処理装置１００に情報を送信する。
プレイヤは、各コントローラ２１０，２２０を左右の手で１つずつ把持して、ゲームをプレイすることになる。一例として、プレイヤは、コントローラ２１０を右手で把持し、また、コントローラ２２０を左手で把持してプレイする。
【００４６】
また、センサバー２３０は、所定の長さの棒状に形成され、例えば、ディスプレイ２９０の上部に、画面の向きに沿って適宜固定される。このセンサバー２３０には、両端に１つずつ発光素子２３１が埋設されている。なお、発光素子２３１の数は一例であり、両端に複数ずつ埋設されていてもよい。
センサバー２３０は、情報処理装置１００から電源供給を受けて発光素子２３１を適宜発光させる。
【００４７】
コントローラ２１０は、先端にＣＣＤカメラ２１１が配置され、先端がディスプレイ２９０に向けられると、このＣＣＤカメラ２１１がセンサバー２３０の２つの発光素子２３１（２つの発光点）を含む画像を撮影する。また、コントローラ２１０は、内部に無線通信部を備えており、撮影した画像の情報を、無線通信にて情報処理装置１００に順次送信する。
そして、情報処理装置１００は、コントローラ２１０から送られた画像中における２つの発光点の位置関係等に基づいて、コントローラ２１０の位置及び向き等を適宜取得する。例えば、ＣＰＵ  １０１及び画像処理部１０８等は、コントローラ２１０から見える２つの発光点の位置関係等を解析して、コントローラ２１０の空間位置及び、その先端の向き（長手軸線の方向）を算定し、最終的に、プレイヤがコントローラ２１０を画面上のどこに向けて操作しているか等を取得する。
なお、このようなコントローラ２１０の位置等の計測は、例えば、垂直同期割り込み（１／６０秒）毎に行われる。
【００４８】
また、コントローラ２１０は、例えば、３軸の加速度センサを内部に備えており、コントローラ２１０の３軸方向の動き（加速度）を測定することが可能となっている。なお、このような加速度センサの代わりに、角速度センサや傾きセンサ等により、コントローラ２１０の動きを測定してもよい。
コントローラ２１０は、このような測定情報（例えば、３軸それぞれの加速度情報）を情報処理装置１００に順次送信する。
そして、情報処理装置１００は、コントローラ２１０から送られる測定情報に基づいて、コントローラ２１０の動きを検出する。例えば、プレイヤにより行われるコントローラ２１０を振る動作やその動作方向（振られた方向）等を取得する。
なお、このようなコントローラ２１０の動作検出（動きの検出）も、例えば、垂直同期割り込み毎に行われる。
【００４９】
コントローラ２１０の上面には、十字形キー２１２が配置されており、プレイヤが任意の方向を指定した指示入力を行うことができる。また、Ａボタン２１３や、各種ボタン２１５も上面に配置されており、当該ボタンに対応付けられた指示入力を行うことができる。
【００５０】
一方、Ｂボタン２１４は、コントローラ２１０の下面に配置され、その下面に窪みが構成されていることもあり、プレイヤがトリガを引くように操作することができるようになっている。
【００５１】
コントローラ２１０の上面には、複数の小さな孔２１６が設けられており、内部に埋設されたスピーカからクリアな音声を出力できるようになっている。
【００５２】
コントローラ２１０の上面のインジケータ２１７は、コントローラ２１０が複数使用された場合でもプレイヤが識別できるように、適宜点灯する。
また、コントローラ２１０の上面に用意された電源ボタン２１８は、例えば、情報処理装置１００のオン・オフを指示する。
【００５３】
更に、コントローラ２１０の内部には、バイブレータ等の振動機構が配置され、情報処理装置１００から送られる振動指示情報に応答して、振動を発生させることもできるようになっている。
【００５４】
一方、コントローラ２２０は、コントローラ２１０と同様の３軸の加速度センサを内部に備えており、コントローラ２２０の３軸方向の動きを測定することが可能となっている。なお、同様に、このような加速度センサの代わりに、角速度センサや傾きセンサ等により、コントローラ２２０の動きを測定してもよい。
コントローラ２２０は、このような測定情報（例えば、３軸それぞれの加速度情報）を、コントローラ２１０を介して情報処理装置１００に順次送信する。
そして、情報処理装置１００は、同様に、コントローラ２２０からの測定情報に基づいて、コントローラ２２０の動きを検出する。例えば、プレイヤにより行われるコントローラ２２０を振る動作やその動作方向（振られた方向）等を取得する。
なお、このようなコントローラ２２０の動作検出も、例えば、垂直同期割り込み毎に行われる。
【００５５】
コントローラ２２０の上面には、コントロールスティック２２１が配置されており、プレイヤが任意の方向を指定した指示入力を行うことができる。
この他にも、コントローラ２２０の先端部には、Ｃボタン２２２が配置され、また、コントローラ２２０の下面には、Ｚボタン２２３が配置されており、プレイヤが各種操作を行えるようになっている。
【００５６】
（ゲーム装置の概要構成）
図３は、本実施形態に係るゲーム装置の概要構成を示す模式図である。このゲーム装置は、一例として、音楽ゲームにおいてプレイヤが行うコントローラを振る動作を評価する。
具体的にゲーム装置は、演奏する楽曲に合わせて画面上に目標オブジェクトを移動させて表示し、この目標オブジェクトの移動に応じてプレイヤによってなされるコントローラ２１０，２２０を振る動作を評価する。
なお、一例として、プレイヤは、コントローラ２１０を右手で把持し、また、コントローラ２２０を左手で把持してプレイするものとする。
【００５７】
ゲーム装置３００は、画像情報記憶部３１０と、画像生成部３２０と、課題情報記憶部３３０と、測定情報取得部３４０と、処理制御部３５０と、楽曲情報記憶部３６０と、楽曲再生部３７０とを備える。
【００５８】
まず、画像情報記憶部３１０は、種々の画像情報を記憶する。例えば、音楽ゲームのプレイ中に表示するための背景画像や、再生される楽曲のリズム等に同調して移動させる目標オブジェクト等の画像情報等を記憶する。
なお、上述したＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭ及び、ＲＡＭ  １０３が、このような画像情報記憶部３１０として機能しうる。
【００５９】
画像生成部３２０は、処理制御部３５０に制御され、音楽ゲームの表示画像（ゲーム画像）を生成する。
例えば、画像生成部３２０は、画像情報記憶部３１０に記憶された各種画像情報や課題情報記憶部３３０に記憶された後述する課題情報を適宜読み出し、ゲーム画像を生成する。
【００６０】
具体的に画像生成部３２０は、図４に示すようなゲーム画像を生成する。このゲーム画像では、複数種類の目標オブジェクトＭＯ１〜ＭＯ４が、演奏される楽曲のリズム等に同調して、移動レーンＬａ（オブジェクトの種類に応じたレーン）に沿って、下方から順次現れてそれぞれ上方まで移動して消えて行く様子を示している。
目標オブジェクトＭＯ１〜ＭＯ４は、異なる向きの矢印シンボルを表し、上述したコントローラ２１０，２２０を振る動作に対応している。一例として、目標オブジェクトＭＯ１，ＭＯ２が右手で把持されるコントローラ２１０に対応しており、また、目標オブジェクトＭＯ３，ＭＯ４が左手で把持されるコントローラ２２０に対応している。
【００６１】
すなわち、左斜め下向きの矢印シンボルである目標オブジェクトＭＯ１は、プレイヤにコントローラ２１０を左斜め下方向に振る動作を指示するものである。同様に、下向きの矢印シンボルである目標オブジェクトＭＯ２は、コントローラ２１０を下方向に振る動作を指示するものである。
一方、上向きの矢印シンボルである目標オブジェクトＭＯ３は、コントローラ２２０を上方向に振る動作を指示するものである。同様に、左上向きの矢印シンボルである目標オブジェクトＭＯ４は、コントローラ２２０を左上方向に振る動作を指示するものである。
なお、これらの目標オブジェクトＭＯ１〜ＭＯ４は一例であり、また、指示方向（振る方向）も一例である。つまり、目標オブジェクトや指示方向は、これらに限られず、ゲームの難易度等に応じて適宜変更可能である。
【００６２】
これら目標オブジェクトＭＯ１〜ＭＯ４は、処理制御部３５０によって制御され、移動レーンＬａの下端（起点）から出現し、移動レーンＬａを上方向に移動し、そして、移動レーンＬａの上端（終点）にて消滅する。そして、プレイヤには、いずれかの目標オブジェクトＭＯ１〜ＭＯ４が判定エリアＨＡ（各目標オブジェクトと同じ形状のオブジェクトを固定して配置したエリア）に到達したタイミングにて、その目標オブジェクトに対応した動作が要求される。
つまり、判定エリアＨＡにてオブジェクト同士がピッタリ重なったタイミングにて、そのオブジェクトにより指示されたコントローラ（コントローラ２１０，２２０の何れか）を指示方向へ振る動作が求められている。
例えば、目標オブジェクトＭＯ１が判定エリアＨＡまで移動したタイミング（より詳細にはオブジェクト同士がピッタリ重なったタイミング）にて、プレイヤには、右手で把持しているコントローラ２１０を左斜め下方向に振る動作が求められている。同様に、目標オブジェクトＭＯ２が判定エリアＨＡまで移動したタイミングにて、プレイヤには、コントローラ２１０を下方向に振る動作が求められている。
一方、目標オブジェクトＭＯ３が判定エリアＨＡまで移動したタイミングにて、プレイヤには、左手で把持しているコントローラ２２０を上方向に振る動作が求められている。同様に、目標オブジェクトＭＯ４が判定エリアＨＡまで移動したタイミングにて、プレイヤには、コントローラ２２０を左斜め上方向に振る動作が求められている。
【００６３】
なお、図４のゲーム画像では、目標オブジェクトＭＯ１〜ＭＯ４が画面の下方から上方へ移動する場合を示しているが、目標オブジェクトの移動方向はこれに限られず任意である。例えば、画面の上方から下方へ移動させてもよく、他にも、横方向（画面の右側から左側、又は、画面の左側から右側）等へ移動させてもよい。また、判定エリアＨＡの代わりに、移動レーンＬａと直交する判定ラインを表示し、判定のためのエリアとして用いてもよい。また、移動レーンＬａは、ゲーム画像において非表示としてもよい。
更に、目標オブジェクトの形状は、一例であり、他の形状であってもよい。また、プレイヤに指示する動作方向（指示方向）も一例であり、他の動作方向であってもよい。
そして、上述した画像処理部１０８が、このような画像生成部３２０として機能しうる。
【００６４】
図３に戻って、課題情報記憶部３３０は、プレイヤに課される（要求される）課題動作の内容を規定する課題情報を記憶する。例えば、再生される楽曲のリズム（テンポ）及び、メロディの音階等に応じて、プレイヤが振るべきコントローラ２１０，２２０について、その動作タイミング及び動作方向（指示方向）が時系列に規定された課題情報を記憶する。
なお、上述したＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭ及び、ＲＡＭ  １０３が、このような課題情報記憶部３３０として機能しうる。
【００６５】
測定情報取得部３４０は、各コントローラ２１０，２２０の動きについての測定情報を順次取得する。
具体的に測定情報取得部３４０は、無線通信部３４１と、加速度情報取得部３４２とを有しており、プレイヤにより行われる各コントローラ２１０，２２０の動作（振る等の動作）を検出するために必要な測定情報を取得する。
【００６６】
無線通信部３４１は、コントローラ２１０と順次無線通信を行い、必要な情報を送受信する。
例えば、無線通信部３４１は、コントローラ２１０の加速度センサにて計測される加速度情報等を、コントローラ２１０の識別子（識別番号等）と共に取得（受信）する。なお、コントローラ２２０の加速度情報等も、コントローラ２１０を介して送られる。つまり、コントローラ２２０の加速度センサにて計測される加速度情報も、コントローラ２２０の識別子と共に取得できるようになっている。
すなわち、無線通信部３４１は、コントローラ２１０，２２０の加速度情報等を識別可能に取得できる。
【００６７】
加速度情報取得部３４２は、無線通信部３４１が受信した情報のうち、加速度情報を抽出して取得する。
すなわち、加速度情報取得部３４２は、コントローラ２１０，２２０における各加速度センサにて逐次測定される加速度情報を順次取得する。
具体的に加速度情報取得部３４２は、プレイヤによって右手に把持されるコントローラ２１０における３軸方向の加速度を示す加速度情報を順次取得し、また、同様に、左手に把持されるコントローラ２２０における３軸方向の加速度を示す加速度情報を順次取得する。
そして、加速度情報取得部３４２は、取得した各加速度情報を、処理制御部３５０に供給する。
なお、上述したコントローラユニット１０５及びインターフェース１０４等が、このような構成からなる測定情報取得部３４０として機能しうる。
【００６８】
処理制御部３５０は、ゲーム装置３００全体を制御する。例えば、処理制御部３５０は、動作検出部３５１、動作方向判定部３５２、動作方向補正部３５３、及び、評価部３５４を含んで構成される。
【００６９】
動作検出部３５１は、測定情報取得部３４０が取得した測定情報に基づいて、プレイヤによるコントローラ（コントローラ２１０，２２０）を振る動作を検出する。
すなわち、動作検出部３５１は、上述した加速度情報取得部３４２が取得した各加速度情報（コントローラ２１０，２２０にそれぞれ対応した３軸方向の加速度情報）に基づいて、少なくとも一方のコントローラについて振る動作がなされたことを検出する。
例えば、動作検出部３５１は、各コントローラ２１０，２２０について、３軸方向の加速度の値をそれぞれ管理しており、それらの加速度の値、若しくは、合成（２軸や３軸）により求まる加速度の値が基準値を超えた場合に、コントローラが振られたことを検出する。
なお、コントローラの振る動作を検出する検出手法はこれに限られず、適宜変更可能である。
【００７０】
動作方向判定部３５２は、動作検出部３５１によって振る動作が検出されたコントローラの動作方向（つまり、振られた方向）を、そのコントローラの加速度情報に基づいて判定する。
例えば、動作方向判定部３５２は、振る動作が検出されたコントローラの３軸方向の加速度の値に基づいて、そのコントローラが振られた方向を判定する。
【００７１】
具体的にコントローラ２１０が振られた場合を一例として説明すると、図５（ａ）に示すように、コントローラ２１０を基準とした３軸方向（ｘ軸方向，ｙ軸方向，ｚ軸方向）の加速度の値に基づいて、動作方向を判定する。
例えば、図５（ｂ）に示すように、−ｙ方向の加速度の値が特に高い場合に、動作方向判定部３５２は、コントローラ２１０を基準として下向きに振られたと判定する。
ところで、振る動作のような激しい動きの場合に、加速度センサの特性から、この段階では、重力加速度と動作による加速度とが、はっきりと区別できない状況となっている。そのため、動作方向判定部３５２は、動作方向が、コントローラ２１０を基準とした下向き（−ｙ方向）であると判定するにとどめている。
すなわち、この段階では、コントローラ２１０を基準とした相対的な動作方向が判定できるものの、プレイヤ等を基準とした絶対的な動作方向についてはまだ明確に判定しない。
つまり、コントローラ２１０が、図５（ｃ）に示すように、絶対的なＸ軸方向に水平な状態で絶対的なＹ軸方向に沿って下向きに振られたものなのか、或いは、図５（ｄ）に示すように、絶対的なＸ軸方向（Ｙ軸方向）に対してコントローラ２１０を傾けて斜めに振られたものなのか等は、まだ明確でない。
なお、動作方向判定部３５２は、コントローラ２２０が振られた場合についても、上記と同様に、コントローラ２２０を基準とした動作方向を判定する。
【００７２】
図３に戻って、動作方向補正部３５３は、動作方向判定部３５２によって判定された動作方向を、コントローラ２１０，２２０における各基準方向の関係に基づいて補正する。
例えば、動作方向補正部３５３は、両コントローラの上面法線方向がどれだけ違っているかに応じて、コントローラが実際に振られた方向（絶対的な方向）に近づくように、動作方向を補正する。
【００７３】
具体的にコントローラ２１０が振られた場合を一例として説明すると、動作方向補正部３５３は、図６（ａ）に示すように、コントローラ２１０の上面法線方向となるｙ軸方向と、コントローラ２２０の上面法線方向となるｙ軸方向との差に基づいて、コントローラ２１０の動作方向を補正する。つまり、図６（ｂ）に示すように、コントローラ２１０のｙ軸方向とコントローラ２２０のｙ軸方向との違いとなる角度θに基づいて、コントローラ２１０の動作方向を補正する。
例えば、角度θが基準値よりも大きい場合に、動作方向補正部３５３は、コントローラ２１０の動作方向を斜め下方向（絶対的な方向）に補正する。一方、角度θが基準値以下の場合に、動作方向補正部３５３は、コントローラ２１０の動作方向を相対的な下方向から絶対的な下方向に補正する（動作方向判定部３５２が判定した動作方向を絶対的な方向として確定する）。
この図６では、コントローラ２１０が振られて、コントローラ２２０が振られていない（待機状態である）場合について説明したが、これとは逆に、コントローラ２２０が振られて、コントローラ２１０が振られていない場合についても、上記と同様に動作方向を補正する。
なお、このように、コントローラの上面法線方向（ｙ軸方向）を基準方向とするのは、一例であり、他の方向を基準方向としてもよい。例えば、ｘ軸方向を基準方向とし、両コントローラのｘ軸方向の違いに応じて、動作方向を補正するようにしてもよい。
【００７４】
また、このような基準方向により動作方向を補正する手法は、一例であり、他の手法により動作方向を補正してもよい。
例えば、図７（ａ）に示すコントローラ２１０のｙ軸方向（上面法線方向）の加速度と、図７（ｂ）に示すコントローラ２２０のｙ軸方向の加速度との差分に基づいて、コントローラ２１０の動作方向を補正してもよい。
なお、この場合、振っていない方のコントローラ２２０は待機状態であり、通常、図７（ｂ）に示すように、絶対的なＸ軸方向とコントローラ２２０のｘ軸方向とがほぼ一致し、また、絶対的なＹ軸方向とコントローラ２２０のｙ軸方向とがほぼ一致している。つまり、コントローラ２２０の相対的な方向と絶対的な方向とがほぼ一致している。
そのため、コントローラ２１０のｙ軸方向の加速度からコントローラ２２０のｙ軸方向の加速度を引いた際に、図７（ｃ）に示すように、コントローラ２２０の−ｙ方向の加速度の値が特に減った場合であれば、動作方向補正部３５３は、図７（ｄ）に示すように、コントローラ２１０の動作方向を、相対的な下方向に補正する（動作方向判定部３５２が判定した動作方向を絶対的な方向として確定する）。
【００７５】
一方、コントローラ２１０のｙ軸方向の加速度からコントローラ２２０のｙ軸方向の加速度を引いた際に、図７（ｅ）に示すように、コントローラ２２０の−ｙ方向の加速度の値が減ると共に、−ｘ方向の加速度の値も基準以上に変化（増えた、若しくは、減った）場合であれば、動作方向補正部３５３は、図７（ｆ）に示すように、コントローラ２１０の動作方向を、絶対的な斜め下方向に補正する。
つまり、待機状態であるコントローラ２２０におけるｙ軸方向のほぼ重力加速度分の加速度を引いたことにより、図７（ｅ）に示すように、−ｙ方向と−ｘ方向とを合成した方向が加速度の方向となり、図７（ｆ）に示すように、その合成方向がコントローラ２１０の動作方向として補正される。
なお、この図７では、コントローラ２１０が振られて、コントローラ２２０が振られていない（待機状態である）場合について説明したが、これとは逆に、コントローラ２２０が振られて、コントローラ２１０が振られていない場合についても、上記と同様に動作方向を補正する。
【００７６】
更に、動作方向補正部３５３は、他の補正手法により、動作方向を補正してもよい。
例えば、各コントローラ２１０，２２０について、直近の一定時間分（一例として、直近の数百ミリ秒間）の加速度情報を蓄積するようにしておき、振る動作が検出されたコントローラの振り始め時点の加速度情報と、他方（待機状態）のコントローラの加速度情報（同時点若しくは現時点）との差分に基づいて、動作方向判定部３５２が判定した動作方向を補正してもよい。つまり、振り始め時点におけるコントローラの加速度情報と他方のコントローラの加速度情報との関係に基づいて、振られたコントローラの動作方向を補正する。
また、これとは逆に、振り終わり時点におけるコントローラの加速度情報と他方のコントローラの加速度情報との関係に基づいて、振られたコントローラの動作方向を補正してもよい。
【００７７】
図３に戻って、評価部３５４は、動作方向補正部３５３により補正された動作方向を含む動作情報と、課題情報記憶部３３０に記憶された課題情報との関係に基づいて、プレイヤによるコントローラの動作内容を評価する。
例えば、図８（ａ）に示すように、課題となるコントローラ２１０の要求タイミングＴ１に対して、コントローラ２１０がほとんど等しいタイミングＴ２にて振られ（識別子がコントローラ２１０の動作があり）、かつ、課題となる要求方向に対して、動作方向（動作方向補正部３５３により補正された動作方向）が一致した場合に、評価部３５４は、正しい動作が行われたと評価する。
一方、また、図８（ｂ）に示すように、課題となるコントローラ２２０の要求タイミングＴ３に対して、コントローラ２２０がほとんど等しいタイミングＴ４にて振られた（識別子がコントローラ２２０の動作があった）場合であっても、課題となる要求方向と動作方向（動作方向補正部３５３により補正された動作方向）とが一致しない場合に、評価部３５４は、誤った動作が行われたと評価する。
この他にも、要求タイミングと動作タイミングとが基準以上にずれていれば、評価部３５４は、要求方向と動作方向との一致・不一致に関係なく、誤った動作が行われたと評価する。
なお、上述したＣＰＵ  １０１等が、このような構成からなる処理制御部３５０として機能しうる。
【００７８】
図３に戻って、楽曲情報記憶部３６０は、音楽ゲームの伴奏として演奏される楽曲情報を複数記憶する。例えば、ＭＩＤＩ（Musical Instrument Digital Interface）データのような所定形式の楽曲情報を記憶する。そして、プレイヤは、好みの楽曲を選んで、その再生音（楽曲音）に合わせて音楽ゲームをプレイできるようになっている。
また、楽曲情報記憶部３６０は、各楽曲について、リズム（テンポ）や再生時間等のような楽曲の関連情報も記憶している。
なお、上述したＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭ及び、ＲＡＭ  １０３が、このような楽曲情報記憶部３６０として機能しうる。
【００７９】
楽曲再生部３７０は、処理制御部３５０に制御され、音楽ゲームの楽曲音を再生する。
例えば、楽曲再生部３７０は、ゲーム開始前（プレイ前）に、プレイヤによって選曲された楽曲情報を楽曲情報記憶部３６０から読み出しておき、ゲーム開始後（プレイ中）に、この楽曲情報を再生して楽曲音を出力する。
なお、楽曲の再生手法はこれに限られず任意である。例えば、楽曲情報を、プレイ中に順次読み出しながら再生するようにしてもよい。
そして、上述した音声処理部１０９が、このような楽曲再生部３７０として機能しうる。
【００８０】
（ゲーム装置の動作の概要）
以下、このような構成のゲーム装置３００の動作について図面を参照して説明する。図９は、音楽ゲームにおいて、プレイヤによるコントローラを振る動作を評価するための動作評価処理の流れを示すフローチャートである。以下、この図を参照してゲーム装置３００の動作について説明する。
【００８１】
まず、ゲーム装置３００は、楽曲の再生を開始し、またゲーム画像の生成を開始する（ステップＳ４０１）。つまり、楽曲再生部３７０は、選択された楽曲情報に基づいて楽曲音を再生し、再生に伴う音声信号をディスプレイ２９０に供給して、ディスプレイ２９０のスピーカから楽曲音を出力させる。また、画像生成部３２０は、上述した図４に示すような表示画像を生成し、この映像信号をディスプレイ２９０に供給して、ディスプレイ２９０に表示させる。
【００８２】
ゲーム装置３００は、再生する楽曲に合わせて、目標オブジェクトを移動させる（ステップＳ４０２）。つまり、画像生成部３２０は、処理制御部３５０に制御され、図４に示すような目標オブジェクトＭＯ１〜ＭＯ４を楽曲のリズム等に同調して移動させる。
そして、プレイヤは、このような目標オブジェクト（ＭＯ１〜ＭＯ４）が移動するのを目で追いながら、何れかの目標オブジェクトが判定エリアＨＡに到達したタイミングで、対応する動作を行うことになる。つまり、判定エリアＨＡに到達した目標オブジェクトに応じて、要求されたコントローラ（２１０，２２０）を要求された方向に振る動作をプレイヤが行うことになる。このため、ゲーム装置３００は、プレイヤにより行われる動作の有無を検出しつつ、音楽ゲームを進める。
【００８３】
ゲーム装置３００は、プレイヤによる動作があったか否かを判別する（ステップＳ４０３）。つまり、コントローラ２１０，２２０の何れかが振られたかどうかを判別する。
より詳細に、動作検出部３５１は、測定情報取得部３４０が取得した測定情報に基づいて、プレイヤによる各コントローラ２１０，２２０の動作の有無を判別する。
すなわち、動作検出部３５１は、加速度情報取得部３４２が取得した各加速度情報（コントローラ２１０，２２０にそれぞれ対応した３軸方向の加速度）に基づいて、何れかのコントローラについて振る動作がなされたかどうかを判別する。
ゲーム装置３００は、プレイヤによる動作がなかったと判別すると（ステップＳ４０３；Ｎｏ）、後述するステップＳ４０９に処理を進める。
【００８４】
一方、プレイヤによる動作があったと判別した場合に（ステップＳ４０３；Ｙｅｓ）、ゲーム装置３００は、動作のあったコントローラの動作方向を判定する（ステップＳ４０４）。
すなわち、動作方向判定部３５２は、動作検出部３５１によって振る動作が検出されたコントローラの動作方向を、そのコントローラの加速度情報に基づいて判定する。
例えば、動作方向判定部３５２は、振る動作がなされたコントローラの３軸方向の加速度の値に基づいて、そのコントローラが振られた方向を判定する。
【００８５】
ゲーム装置３００は、判定された動作方向を補正する（ステップＳ４０５）。
すなわち、動作方向補正部３５３は、動作方向判定部３５２によって判定された動作方向を、コントローラ２１０，２２０における各基準方向の関係に基づいて補正する。
例えば、動作方向補正部３５３は、両コントローラの上面法線方向がどれだけ違っているかに応じて、コントローラが実際に振られた方向に近づくように、動作方向を補正する
具体的には、上述した図６（ａ）に示すように、振られたコントローラ２１０の上面法線方向となるｙ軸方向と、振られていないコントローラ２２０の上面法線方向となるｙ軸方向との差に基づいて、コントローラ２１０の動作方向を補正する。
つまり、上述した図６（ｂ）に示すように、両コントローラにおけるｙ軸方向の違いとなる角度θに基づいて、コントローラ２１０の動作方向を補正する。
この図６（ａ）、（ｂ）の場合、角度θが基準値よりも大きい場合に、動作方向補正部３５３は、コントローラの動作方向を斜め下方向（絶対的な方向）に補正する。一方、角度θが基準値以下の場合に、動作方向補正部３５３は、コントローラの動作方向を相対的な下方向から絶対的な下方向に補正する（動作方向判定部３５２が判定した動作方向を絶対的な方向として確定する）。
なお、上述したように、動作方向補正部３５３は、動作方向を補正する他の手法により、振られたコントローラの動作方向を補正してもよい。
【００８６】
ゲーム装置３００は、補正後の動作方向を含む動作情報と、課題情報とを比較する（ステップＳ４０６）。
すなわち、評価部３５４は、動作方向補正部３５３により補正された動作方向を含む動作情報と、課題情報記憶部３３０に記憶された課題情報とを比較する。
その比較により、例えば、上述した図８（ａ）に示すように、課題となるコントローラ２１０の要求タイミングＴ１に対して、コントローラ２１０がほとんど等しいタイミングＴ２にて振られ、かつ、要求方向と補正された動作方向とが一致した場合に、プレイヤの動作が課題と合致した（正しい動作である）と判別する。
一方、上述した図８（ｂ）に示すように、課題となるコントローラ２２０の要求タイミングＴ３に対して、コントローラ２２０がほとんど等しいタイミングＴ４にて振られた場合であっても、要求方向と補正された動作方向とが一致しない場合に、プレイヤの動作が課題と合致しない（誤った動作である）と判別する。この他にも、要求タイミングと動作タイミングとが基準以上にずれている場合には、要求方向と動作方向（補正後）との一致・不一致に拘わらずプレイヤの動作が課題と合致しないと判別する。
【００８７】
ゲーム装置３００は、比較により、プレイヤの動作が課題と合致したか否かを判別する（ステップＳ４０７）。
ゲーム装置３００は、動作が合致しないと判別すると（ステップＳ４０７；Ｎｏ）、後述するステップＳ４０９に処理を進める。
【００８８】
一方、動作が合致したと判別した場合に（ステップＳ４０７；Ｙｅｓ）、ゲーム装置３００は、得点を加算すると共に、有効な動作（正しい動作）であったことを報知するメッセージ画像をゲーム画像に合成する（ステップＳ４０８）。
【００８９】
ゲーム装置３００は、ゲームが終了したか否かを判別する（ステップＳ４０９）。つまり、１回（１曲分）の音楽ゲームが終了したかどうかを判別する。
ゲーム装置３００は、ゲームが終了していないと判別すると（ステップＳ４０９；Ｎｏ）、上述したステップＳ４０２に処理を戻す。そして、ステップＳ４０２〜Ｓ４０９の処理を繰り返し実行する。
一方、ゲームが終了したと判別した場合に（ステップＳ４０９；Ｙｅｓ）、ゲーム装置３００は、所定の終了メッセージや総合得点等を表示した後、動作評価処理を終える。
【００９０】
このような動作評価処理により、プレイヤがコントローラ２１０，２２０の何れかを振る動作を行った場合に、振られた方のコントローラの動作方向を、コントローラ２１０，２２０における各基準方向の関係に基づいて補正する。
つまり、振られた方のコントローラの動作方向を、両コントローラの上面法線方向がどれだけ違っているかに応じて補正する。
これにより、プレイヤが一方のコントローラを斜め方向に振った場合でも、振られていない他方のコントローラとの関係を利用して、その動作方向を精度を上げて適切に判定することができる。
【００９１】
この結果、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することができる。
【００９２】
上記の実施形態では、１組のコントローラとして、合計２つのコントローラがプレイヤにより動作される場合について説明したが、１組のコントローラ数は２つに限られず３つ以上であってもよい。例えば、２つのコントローラを左右の手で把持し、もう１つのコントローラを首から下げて保持するようにし、合計３つのコントローラがプレイヤにより動作される場合にも適宜適用可能である。
この場合、首から下げたコントローラが保持状態であれば（ほとんど動かない状態であれば）、両手のコントローラを同時に振る動作を行う場合にも、それぞれの動作方向を適切に判定できる。
すなわち、上記の実施形態と同様に、振られた各コントローラの動作方向を、そのコントローラと首から下げたコントローラとにおける各基準方向の関係に基づいて補正する。なお、上述したような動作方向を補正する他の手法を用いて、振られたコントローラの動作方向を補正してもよい。
これにより、各コントローラが斜め方向に振られた場合でも、振られていない１つのコントローラ（首から下げたコントローラ）との関係を利用して、その動作方向を精度を上げて適切に判定することができる。
この場合も、プレイヤによるコントローラを振る動作において、その動作方向を適切に判定することができる。
【産業上の利用可能性】
【００９３】
以上説明したように、本発明によれば、プレイヤによるコントローラを振る動作において、その動作を適切に判定することのできるゲーム装置、動作判定方法、および、プログラムを提供することができる。
【符号の説明】
【００９４】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラユニット
１０６  外部メモリ
１０７  ＤＶＤ−ＲＯＭドライブ
１０８  画像処理部
１０９  音声処理部
１１０  ＮＩＣ
２１０，２２０  コントローラ
２３０  センサバー
２９０  ディスプレイ
３００  ゲーム装置
３１０  画像情報記憶部
３２０  画像生成部
３３０  課題情報記憶部
３４０  測定情報取得部
３５０  処理制御部
３６０  楽曲情報記憶部
３７０  楽曲再生部
【図１】
2010233742.tif 000003
【図２】
2010233742.tif 000004
【図３】
2010233742.tif 000005
【図４】
2010233742.tif 000006
【図５】
2010233742.tif 000007
【図６】
2010233742.tif 000008
【図７】
2010233742.tif 000009
【図８】
2010233742.tif 000010
【図９】
2010233742.tif 000011
【図１０】
2010233742.tif 000012