(57)【特許請求の範囲】
【請求項１】
物理量センサを内蔵したコントローラの所与の移動態様を指示する指示画像を生成する指示画像生成手段と、
前記コントローラの物理量センサからの信号を取得し、前記コントローラの移動態様を検出し、検出された前記コントローラの移動態様の、前記指示画像で指示された移動態様に対する適合度を判定する検出判定手段と、してコンピュータを機能させるプログラムであって、
前記検出判定手段は、
前記コントローラの異なる複数の基本姿勢と、前記コントローラの各基本姿勢に対応する前記物理量センサから出力される信号とを関連付けた第１の類型判定用データベースに基づき、前記コントローラの前記物理量センサから出力される信号と前記第１の類型判定用データベースとを照合し、前記コントローラの姿勢を判定する第１の処理と、
前記基本姿勢毎に前記コントローラの異なる複数の基本移動方向を関連付けた第２の類型判定用データベースに基づき、前記指示画像で指示される移動方向へ前記第１の処理で判定された姿勢で前記コントローラを移動するとき、前記物理量センサから出力される信号と前記第２の類型判定用データベースとを照合し、移動する前記コントローラの少なくとも移動方向を含む移動態様を特定し、特定された移動態様と指示された移動態様との適合度を判定する第２の処理と、
を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記検出判定手段は、
前記コントローラの前記物理量センサから出力される信号を記憶し、前記第１の処理及び前記第２の処理を平行して行うことを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記指示画像生成手段は、
前記コンローラの姿勢を指示する指示画像を生成することを特徴とするプログラム。
【請求項４】
物理量センサを内蔵したコントローラの所与の移動態様を指示する指示画像を生成する指示画像生成手段と、
前記コントローラの物理量センサからの信号を取得し、前記コントローラの移動態様を検出し、検出された前記コントローラの移動態様の、前記指示画像で指示された移動態様に対する適合度を判定する検出判定手段と、を含み、
前記検出判定手段は、
前記コントローラの異なる複数の基本姿勢と、前記コントローラの各基本姿勢に対応する前記物理量センサから出力される信号とを関連付けた第１の類型判定用データベースに基づき、前記コントローラの前記物理量センサから出力される信号と前記第１の類型判定用データベースとを照合し、前記コントローラの姿勢を判定する第１の処理と、
前記基本姿勢毎に前記コントローラの異なる複数の基本移動方向を関連付けた第２の類型判定用データベースに基づき、前記指示画像で指示される移動方向へ前記第１の処理で判定された姿勢で前記コントローラを移動するとき、前記物理量センサから出力される信号と前記第２の類型判定用データベースとを照合し、移動する前記コントローラの少なくとも移動方向を含む移動態様を特定し、特定された移動態様と指示された移動態様との適合度を判定する第２の処理と、
を行うことを特徴とするゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、ゲームシステムに関する。
【背景技術】
【０００２】
従来より、プレーヤにダンスを振り付けを案内して、ダンスを楽しむようにしたゲームシステムが知られている。特許文献１に記載されているように、プレーヤに、前、左右及び左右斜め前の合計５箇所方向への動きをゲーム画面で指示し、プレーヤに「パラパラ」と呼ばれるダンスを行わせるものがある。
【特許文献１】特開２００２−１６６０５１号公報
【特許文献２】特開２００１−２２４７２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来のゲーム装置では、プレーヤの周囲５箇所に前記５箇所方向へのプレーヤの動きを検出するための赤外線センサを設けなければならず、構成が複雑かつ高価になるという問題があった。
【０００４】
また、近年では、加速度センサ等の物理量センサを備えた入力手段としてのコントローラと、ゲーム機の本体とが別体として形成されたゲームシステムが存在する。このようなゲームシステムでは、プレーヤがコントローラを振る入力動作や、傾ける入力動作を行ってゲームを行う。
【０００５】
しかし、このようなゲームシステムにおいて、プレーヤに簡単に且つ楽しく所与の動作、例えばダンスゲーム等を行わせるのは従来存在しなかった。
【０００６】
本発明は、係る課題に鑑みなされたものであり、その目的は、物理量センサを内蔵するコントローラの移動態様を視覚的に指示し、指示された移動態様に応じたコントローラの操作がなされたか否かを的確に判断することができ、これにより例えばゲームのプレーヤにコントローラを用いたゲームを判りやすく的確に実行させることが可能なプログラム、情報記憶媒体及びゲームシステムを提供することにある。
【課題を解決するための手段】
【０００７】
（１）本発明は、
物理量センサを内蔵したコントローラの所与の移動態様を指示する指示画像を生成する指示画像生成手段と、
前記コントローラの物理量センサからの信号を取得し、前記コントローラの移動態様を検出し、検出された前記コントローラの移動態様の、前記指示画像で指示された移動態様に対する適合度を判定する検出判定手段と、
を含むことを特徴とする。
【０００８】
また、本発明は、上記各手段を含む入力指示装置、ゲームシステムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各手段としてコンピュータを機能させる為のプログラムを記憶した情報記憶媒体に関係する。
【０００９】
ここにおいて、コントローラとは、操作者が手にして実空間内を移動可能に形成されたコントローラをいい、より好ましくは、操作者が手で持って、例えば上下、左右、前後等に自由に移動可能に形成されたコントローラであることが好ましい。
【００１０】
また、コントローラに内蔵される物理量センサは、前記コントローラの実空間内における移動態様を取得可能な物理量を検出するものであれば、センサの種別は問わない。このような物理量センサは、任意の移動方向への単位時間当りの移動量を検出可能な物理量を検出するセンサとして形成することが好ましく、実空間内における３次元的な移動を異なる３軸方向への単位時間あたりの移動量として検出することがより好ましい。３次元的な移動を互いに直交するＸ軸、Ｙ軸、Ｚ軸への加速度として検出する３軸方向に対する加速度センサを用いてもよい。
【００１１】
また、移動態様を指示する指示画像とは、コントローラを手にした操作者に対して実空間内におけるコントローラの種々の移動態様を指示する指示画像をいう。
【００１２】
本発明では、コントローラを手にした操作者は、指示画像で指示されるコントローラの移動態様を見ながら、当該移動態様に従ってコントローラを移動させる。
【００１３】
このとき、検出判定手段は、前記コントローラの物理量センサからの信号を取得し、コントローラの実空間での移動態様を検出する。そして、検出されたコントローラの実空間での移動態様の、前記指示画像で指示された移動態様に対する適合度を判定する。
【００１４】
本発明では、必要に応じて、その判定結果を操作者に伝達する手段を設けてもよい。このような判定結果の伝達は、画像データとして視覚的に伝達してもよく、また音声出力として聴覚的に伝達してもよく、また両者の組み合わせとして伝達してもよい。
【００１５】
これにより、操作者は、指示画像で指示された移動態様に沿って、どの程度正確にコントローラを実空間で移動できたのかを知ることができる。
【００１６】
このようなコントローラの移動態様の指示を行う本発明は、ゲームシステムに適用可能である。例えばコントローラを手にしたプレーヤに対し、指示画像でその移動態様を適宜指示し、当該指示に従ったコントローラの実空間での移動が正確に行われるか否かの判定結果に基づき、所与のイベント等のゲーム演出効果を発生させることもできる。またコントローラを手にしたプレーヤに対し、所与の振り付けのダンス動作を前記指示画像として指示し、プレーヤにダンスゲームを分かり易く実行させるゲームシステムを実現することもできる。
【００１７】
また、本発明は、これ以外にも種々の用途に適用でき、例えばエアロビクスや、運動トレーニング用の指示を、コントローラを手にした生徒（またはプレーヤ）に与えて適切なエクササイズを実行させ、その結果を判定する場合にも好適である。
【００１８】
（２）また、本発明において、
前記物理量センサは、移動方向及び単位時間当たりの移動量を導出可能な物理量を検出し、
前記指示画像生成手段は、
前記移動態様として、前記コントローラの移動方向及び移動タイミングを指示する指示画像を生成し、
前記検出判定手段は、
前記物理量センサからの信号を取得し、前記コントローラの移動方向及び移動タイミングを検出し、
検出された前記コントローラの移動方向及び移動タイミングの、前記指示画像による指示に対する適合度を判定ように構成してもよい。
【００１９】
本発明によれば、コントローラの移動方向のみならず、移動のタイミングをも移動態様として指示することができる。
【００２０】
（３）また、本発明において、
前記指示画像生成手段は、
前記移動タイミングとして移動開始タイミングを指示するとともに、移動継続時間を指示する指示画像を生成し、
前記検出判定手段は、
前記物理量センサからの信号を取得し、前記コントローラの移動方向、移動開始タイミング、移動継続時間を検出し、
検出された前記コントローラの移動方向、移動開始タイミング及び移動継続時間の、前記指示画像による指示に対する適合度を判定するように構成してもよい。
【００２１】
本発明によれば、操作者に、指示された方向へ、より適切なタイミングで且つ継続して手や腕を移動する動作を行わせることができる。
【００２２】
（４）また、本発明において、
前記指示画像は、
所与の軌跡に沿った前記コントローラの移動方向を指示する移動軌跡指示画像部と、
前記軌跡に沿った前記コントローラの移動タイミングを指示するタイミング指示画像部と、
を含み、指示内容の変更に関連付けて更新表示するように構成してもよい。
【００２３】
本発明によれば、移動軌跡指示画像部で、所与の移動軌跡に沿ったコントローラの移動方向を視覚的に指示し、タイミング指示画像部で、前記軌跡に沿ったコントローラの移動のタイミングを視覚的に指示することができる。このため、プレーヤは指示画像からコントローラの移動態様を視覚的に瞬時に且つ容易に理解することができる。
【００２４】
ここにおいて、移動軌跡指示画像部によって指示される軌跡は、直線であっても、曲線であってもよい。また、コントローラを手にした操作者が、コントローラを上下、左右、前後、あるいはコントローラを手にしたまま一回転するなどといった軌跡を指示してもよい。
【００２５】
また、タイミング指示画像部は、前記移動軌跡指示画像部で指示された所与の軌跡に沿ったコントローラの移動タイミングを指示する画像部であれば、どのような形態の画像部として形成してもよい。例えば、前記コントローラの移動タイミングに合わせて前記移動軌跡に沿って移動するようなタイミング指示画像部として形成してもよく、また前記移動軌跡指示画像部と一体に形成し、移動軌跡指示画像部で指示される所与の軌跡の色を、コントローラの移動タイミングに関連付けて変化させるように形成してもよく、いずれにしても移動タイミングが視覚的に何らかの形でわかるように表示されるものであればよい。
【００２６】
（５）また、本発明において、
前記タイミング指示画像部は、
前記移動軌跡指示画像部に沿って移動開始指示位置から移動継続終了指示位置まで移動することにより、指示された軌跡に沿った前記コントローラの移動開始のタイミング及び移動継続時間を指示するように構成してもよい。
【００２７】
本発明によれば、前記移動軌跡指示画像部に沿ったタイミング指示画像部の移動により、操作者に対し指示された軌跡に沿ったコントローラの移動開始タイミング及び移動継続時間を、視覚的によりわかりやすく認識させることができる。
【００２８】
（６）また、本発明において、
前記移動軌跡指示画像部及び前記指示画像部の少なくとも一方は、
前記移動開始タイミングに先立って表示される予告態様表示から、前記移動開始タイミングに近づくにつれ本表示態様表示に遷移する遷移画像として表示されるように構成してもよい。
【００２９】
本発明によれば、移動開始タイミングに先だって行われる予告態様表示から本表示態様表示への遷移画像により、移動開始タイミング、移動方向等を事前に適切に指示することができる。
【００３０】
（７）また、本発明において、
前記指示画像は、
複数の前記移動軌跡指示画像部を組み合わせて、連続した移動軌跡を指示する一組の移動軌跡指示画像部として表示され、
前記タイミング指示画像部が、連続して組み合わされた前記複数の移動軌跡指示画像部に沿って移動し、各移動軌跡指示画像部で指示された移動の軌跡に沿った前記コントローラの移動タイミングを指示するように構成してもよい。
【００３１】
本発明によれば、複数の移動軌跡指示画像部の組み合わせにより、より複雑で変化に富んだコントローラの移動態様及び移動タイミングの指示を行うことができる。
【００３２】
従って、本発明を例えばダンスゲーム、例えばチアリーダーのダンサーとしてダンスを行うゲーム等に適用した場合には、チアリーダーのダンスと同様に、プレーヤが両手に手にした二つのコントローラを、チアリーダーが両手に持つ二つのボンボンに見立て、そのボンボンを、上下左右のみならず、八の字を描くように振ったり、また両手でボンボンを持ちながら一回転するというような複雑な移動態様での指示を行い、分かり易くて変換に富んだダンスゲームを実現することができる。
【００３３】
ここにおいて、前記検出判定手段による検出判定処理は、一組の移動軌跡指示画像部を構成する各移動軌跡指示画像部による移動指示が行われる毎に、実行する構成にしてもよい。
【００３４】
（８）本発明において、
前記検出判定手段は、
前記物理量センサからの信号を取得し、前記コントローラの単位時間当たりの移動量が所与の値を上回るタイミング及び継続時間を、前記コントローラの移動開始タイミング、移動継続時間として検出し、
検出された前記コントローラの移動方向が前記指示画像により指示された移動方向と適合すると判定された場合に、検出された前記コントローラの移動開始タイミング及び移動継続時間の、前記指示画像により指示された移動開始タイミング、移動継続時間に関連付けて設定された判定用の移動開始タイミング及び移動継続時間に対する適合度を判定するように構成してもよい。
【００３５】
本発明では、検出判定手段は、物理量センサからの信号を取得し、前記コントローラの単位時間当りの移動量が所与の値を上回るタイミング及び継続時間を、コントローラの移動開始タイミング、移動継続時間として検出する。
【００３６】
この時、コントローラの移動を開始してから、単位時間当りの移動量が所与の値を上回る迄の間には、操作者によっても異なるが、所与の遅延時間が発生する。このため、指示画像で指示されたタイミングで仮にプレーヤがコントローラの移動を開始したとしても、その検出が前記所与の時間分だけ遅延することになる。
【００３７】
本発明では、指示画像により指示された移動開始タイミング、移動継続時間に関連付けて「判定用の移動開始タイミング及び移動継続時間」を設定しておき、検出されたコントローラの移動開始タイミングが指示された移動開始タイミングより遅れた場合でも、「判定用の移動開始タイミング及び移動継続時間」に適合している場合には、コントローラの移動態様が指示された移動態様に対する適合度が高いと判定する構成を採用する。
【００３８】
これにより、コントローラの移動開始タイミングの検出の遅れに起因する不都合を解消し、より適切な移動態様に対する判定を行うことができる。
【００３９】
特に、上記「判定用の移動開始タイミング及び移動継続時間」を、操作者のレベルに合わせて、初級、中級、上級用に設定してもよい。例えば、上級用は指示画像の移動開始タイミングと判定用の移動開始タイミングとの時間の遅れを短くし、初心者になるほどその時間遅れを長く設定することにより、ゲームの難易度をこの面から設定することが可能となる。また、前述した「判定用の移動継続時間」は、指示画像で指示される移動開始タイミングに対する、判定用の移動開始タイミングの時間遅れ分だけ短く設定してもよい。また「判定用移動継続時間」を、長くすればするほど難易度を下げることができ、また短くすればするほど難易度を高めることができる。
【００４０】
（９）また、本発明において、
前記検出判定手段は、
前記指示画像で指示される移動方向へ、異なる複数の姿勢にある前記コントローラを移動する際に前記物理量センサから出力される信号に関連付けて、前記コントローラの移動姿勢を判定するための第１の類型判定用データベースに基づき、前記コントローラを移動する際に前記物理量センサから出力される信号と前記第１の類型判定用データベースとを照合し、移動する前記コントローラの姿勢を判定する第１の処理と、
第１の類型判定用データベースに基づき判定される前記コントローラの移動姿勢に関連付けて、前記指示画像で指示される移動方向へ前記コントローラを移動する際に前記物理量センサから出力される信号から前記コントローラの少なくとも移動方向を含む移動態様を判定するための第２の類型判定用データベースに基づき、前記指示画像で指示される移動方向へ前記第１の処理で判定された姿勢で前記コントローラを移動する際に、前記物理量センサから出力される信号と前記第２の類型判定用データベースとを照合し、移動する前記コントローラの少なくとも移動方向を含む移動態様を特定し、特定された移動態様と指示された移動態様との適合度を判定する第２の処理と、
を行うように構成してもよい。
【００４１】
本発明によれば、第１の類型判定用データベースを用いたコントローラの姿勢を判定する第１の判定処理と、第２の類型用判定ベースを用いた、移動するコントローラの少なくとも移動方向を含む移動態様の適合度を判定する第２の処理とを行う。
【００４２】
例えば、コントローラに内蔵した物理量センサとして、コントローラを基準とする空間内の異なるＸ、Ｙ、Ｚ軸の３軸方向への３つの加速度センサを用いた場合を想定する。この場合、操作者が、コントローラをどのような姿勢で握るかによって、例えば同じ右方向へ移動する場合でもＸ、Ｙ、Ｚ方向の各方向への各センサから出力される値は異なったものとなる。
【００４３】
このような場合に、移動するコントローラの少なくとも移動方向を含む移動態様のより正確な検出を行うためには、コントローラからどのような姿勢で移動するかを事前に判断し、その移動時の姿勢に関連付けて、例えば、Ｘ、Ｙ、Ｚ軸の各センサから出力される信号の値から、移動するコントローラの少なくとも移動方向を含む移動態様を特定することが、より正確な判断を行う上で重要となる。
【００４４】
このため、例えば操作者が指示画像の指示に従って、例えば棒状のコントローラを移動する際に、操作者によって手にされたコントローラがどのような姿勢になるかを基本的な何パターンに分類する。例えば、操作者がコントローラを垂直な姿勢、水平な姿勢、これらの姿勢に対して斜めに傾けた姿勢など、複数種類の基本姿勢を想定する。
【００４５】
そして、これら各異なる基本姿勢に関連付けて、コントローラに内蔵した前記物理量センサから出力される信号を所定の許容幅をもって測定し、これをデータベース化する。この時、例えば操作者がコントローラを垂直な姿勢と思ってコントローラを手にしても、操作者によっては垂直から若干傾いてコントローラを手にしている場合も多く、このような姿勢を、垂直姿勢でないと判断すると、コントローラの基本姿勢の場合分け判定が事実上不可能になる。
【００４６】
このため、ある基本姿勢に対し実際のコントローラ姿勢が所定幅で異なっている場合、例えば、垂直という基本姿勢に対し、実際に操作者が垂直な姿勢と思って手にしているコントローラが垂直から若干傾いている場合でも、基本姿勢（例えば垂直）からの傾きが所定の許容幅にあるコントローラのセンサから出力される信号は、この「所定の許容幅」にあるデータとして収集され当該基本姿勢に関連付けてデータベース化される。
【００４７】
このようにして各基本姿勢に関連付けて「所定の許容幅」をもって収集されデータベース化されたものが、第１の類型判定用データベースである。
【００４８】
そして、本発明では、指示画像で指示される移動方向へコントローラを移動する際に、当該コントローラに内蔵された物理量センサから出力される信号を、前記第１の類型判定用データベースと照合し、当該移動方向へ移動するコントローラの姿勢を判定する第１の判定処理を行う。これにより、操作者がコントローラをどのような姿勢、例えば垂直に持っているか、画面に向けて水平方向に持っているか等を判定することができる。
【００４９】
このような第１の処理によりコントローラの姿勢が判定されると、次にこの姿勢で当該コントローラを指示された方向へ移動した際に、当該コントローラの移動が指示態様に適合しているかを判定する必要がある。
【００５０】
このため、前記第１の類型判定用データベースと同様に、第２の類型判定用データベースを用意する。具体的には、プレーヤがコントローラを持つと想定されるいくつかの基本姿勢毎に、前記指示画像によって指示される方向に各姿勢でコントローラを移動した際に、当該コントローラの物理量センサから出力される信号を収集する。そして、コントローラが各姿勢で移動された場合に物理量センサから出力される信号と、当該コントローラの移動方向とを関連付けて、所与の姿勢でコントローラを移動した際における当該コントローラの移動方向を含む移動態様を特定する為の第２の類型判定用データベースを用意する。
【００５１】
このとき、例えば同じ右方向に移動する場合でも、操作者によっては指示された方向に対して若干蛇行したり膨らんだりした軌跡で移動する場合も多く、このよう移動軌跡での移動態様を指示態様に適合していないと判断すると、子供から大人まで楽しめるゲームとして成立しないという事態が発生してしまうことになる。
【００５２】
このため、指示画像で指示された移動方向、例えば移動軌跡指示部で指示された移動軌跡に対し、コントローラが所定の許容幅をもった移動経路で移動した場合でも、この移動を、当該移動方向への移動と判定する必要がある。
【００５３】
従って、ある基本姿勢にあるコントローラを、指示画像で指示される移動方向、例えば横方向に移動する場合に、物理量センサから出力される信号は、この「所定の許容幅」をもって収集されデータベース化される。指示画像で指示される移動方向は、例えば上下、左右、前後、所定の斜め方向、垂直面に沿った半円または円、水平面に沿った半円または円などである場合には、ある基本姿勢にあるコントローラを、当該各指示方向へ移動したときに得られる所定幅のデータとして収集する。
【００５４】
そして、このように、コントローラを所与の移動方向に移動した際に「所定の許容幅」をもって収集された物理量センサからの出力データと、当該所与の方向とを関連付けたデータを、指示画像で指示される異なる移動方向のそれぞれに対して収集し、データベース化する。このようにして生成されたデータベースが第２の類型判定用データベースである。
【００５５】
そして、第１の処理でコントローラの姿勢を判定すると、第２の類型判定用データベースを用いて、当該判定された姿勢でコントローラを移動する際に物理量センサから出力される「所定の許容幅もった信号」のデータと、コントローラの物理量センサから実際に出力される信号とを照合し、当該コントローラの移動方向を含む移動態様を特定する処理を行う。
【００５６】
例えば、第１の処理で判定された姿勢のコントローラが、どの方向に、単位時間当りどのような移動量で移動しているかを特定する処理をリアルタイムで行う。このようにして求められたコントローラの移動方向及び単位時間当りの移動量に基づき特定される移動方向及び移動タイミングの判定等を行い、この移動の態様が、指示画像で指示された移動の態様と適合しているか否かの判定を行う。
【００５７】
これにより、プレーヤがコントローラをどのような姿勢で持っているかに拘わらず、当該コントローラを指示された方向へ的確に移動しているか否かを判定することができる。
【００５８】
このような第１及び第２の判定処理は、一つの移動態様を指示する指示画像によってコントローラの移動が指示される毎に行うことが好ましく、これにより、順次異なる移動態様でのコントローラの移動が指示され、その都度、コントローラの姿勢が変化しても、このような姿勢の変化に影響されることなくコントローラの移動態様を正確に検出することができる。
【００５９】
なお、前記第１の処理及び第２の処理は、順番に行ってもよく、また例えば、コントローラの物理量センサから出力される信号をバッファに記憶し、前記第１の処理と、第２の処理とを平行して行うように構成してもよい。
【００６０】
また、複数の移動軌跡指示画像部を組み合わせて、連続した移動軌跡を指示する場合には、各移動軌跡指示画像部で指示された移動軌跡及び移動タイミングでの移動をコントローラが行うべき期間に、前記第１及び第２の双方の処理をその都度行ってもよく、また必要に応じて第１の処理を適宜省略し、ある区間については第１及び第２の処理を行い、ある区間については第２の処理のみを行うような構成を採用してもよい。
【００６１】
（１０）また、本発明において、
前記指示画像生成手段は、
物理量センサを内蔵した少なくとも２個のコントローラに対し個別に所与の移動態様を指示する指示画像を生成するように構成してもよい。
【００６２】
本発明によれば、操作者の両手に二つのコントローラを把持させ、その二つのコントローラの個々の移動態様を、指示画像により指示することにより、より複雑なコントローラの指示を視覚的に与えることができる。
【００６３】
本発明を例えばダンスゲームや、エクササイズ等を行うスポーツの指示に適用する場合には、操作者の両腕の動きを、コントローラの移動態様として個々に指示することができ、複数の動きを組み合わせたダンスや、エクササイズ等の変化に富んだ指示を、操作者に対し視覚的に分かり易く与えることが可能となる。
【００６４】
また、例えば本発明をダンスゲーム等に適用した場合には、２個のコントローラを一人のプレーヤが両手に持って一人プレーのゲームを行うようにしてもよく、また各プレーヤに１個づつコントローラをもたせて二人プレーヤを行うようにしてもよく、また例えば４個のコントローラを使用可能な態様でシステムを構築した場合には、４人が１個づつコントローラを持って動作の指示を受ける４人プレー用のゲームを構築してもよく、また２人のプレーヤが両手にコントローラを持つ二人プレーヤ用のゲームを構築してもよい。
【００６５】
また、２個のコントローラを両手で持ち一人プレーを行う場合には、各コントローラのそれぞれの操作を個別判定し、個々の操作の判定結果を独立に評価してもよく、また双方の操作を総合的に評価してもよい。
【００６６】
（１１）また、本発明において、
プレーヤに前記コントローラの移動を伴うダンスアクションを指示し、前記コントローラの入力に基づき、指示したダンスアクションに関連付けたダンスを行うキャラクタを含むゲーム画面を生成するとともに、ダンスのＢＧＭ信号を生成するゲーム演算手段を含み、
前記指示画像生成手段は、
前記ゲーム画像内に前記コントローラの所与の移動態様を指示する指示画像を生成するように構成してもよい。
【００６７】
本発明によれば、指示画像を用いて操作者であるプレーヤに、片手若しくは両手の動きを伴うダンスアクションを指示し、プレーヤが分かり易くリズムに乗ったダンスを楽しめるダンスゲームを提供できる。
【００６８】
特に、本発明では、ゲーム画面上に、指示画像によって指示したダンスアクションに関連付けたダンスを行うキャラクタを登場する。そして、当該ダンスキャラクタがダンスのＢＧＭに合わせてダンスを行うと共に、当該ダンスキャラクタが登場するゲーム画像に、前記ダンスの動きに関連付けたコントローラの所与の移動態様を指示する指示画像が生成表示される。このため、プレーヤはダンスキャラクタ及びＢＧＭに合わせて、指示画像で指示された移動態様でのダンスを行うことが可能となり、プレーヤに対して分かり易く且つ親しみやすいダンスゲームを提供することができる。
【００６９】
（１２）また、本発明において、
前記ゲーム演算手段は、
前記検出判定手段の適合度判定結果に関連付けたゲーム演出を行う手段を含むように構成してもよい。
【００７０】
本発明によれば適合度判定結果に関連付けたゲーム演出、例えば指示画像で指示された移動態様でのコントローラの移動が的確に行われた場合には、その旨を表す効果音を発生したり、演出効果画像をゲーム画面上に表示することにより、ゲームをより盛り上げることができる。
【００７１】
特に、複数の連続技を指示画像により指示した場合に、この連続技に対応したコントローラの移動を、連続して成功した場合には、特別なイベントを発生させるという構成を採用し、ゲームの演出効果をより高めることもできる。
【００７２】
（１３）また、本発明において、
前記ゲーム演算手段は、
前記検出判定手段の適合度判定結果に基づき、前記コントローラの操作ミスの原因を特定しプレーヤに告知する手段を含むように構成してもよい。
【００７３】
本発明によれば、指示画像による移動態様の指示と、プレーヤの実際の移動態様とが適合しない場合には、そのミスの原因をプレーヤに告知することにより、プレーヤにより正確なコントローラの移動を促すことができる。
【００７４】
例えば、指示画像がコントローラの横移動を指示している場合に、プレーヤのコントローラの移動が斜め移動であった場合には、その旨をプレーヤに告知することにより、プレーヤはより正確な移動軌跡に沿ったコントローラの移動を行うように、自らの動作を修正することができる。これにより本発明を例えばダンスゲーム等に適用した場合には、プレーヤに自分のダンスのミスを修正し、よりレベルの高いダンスゲームにチャレンジするという動機付けを与えることができる。
【００７５】
（１４）また、本発明において、
前記ゲーム演算手段は、
前記検出判定手段により検出された前記コントローラの移動経路を、所与の条件に基づきゲーム画面内にトレース表示する手段を含むように構成してもよい。
【００７６】
これにより、操作者は、指示画像で指示された移動態様と、自分が実際にコントローラを移動した移動態様との一致度を視覚的に認識し、例えばダンスゲームを行う場合には、自分のダンス技を更にレベルの高いものに修正し、ゲームを楽しむことができる。
【００７７】
（１５）また、本発明において、
前記ゲーム画面に関連付けた位置に設置又は表示された基準位置の認識体を撮像する前記コントローラに内蔵された撮像手段からの撮像信号を取得し、前記コントローラによる前記ゲーム画面上の指示位置を検出する手段を含み、
前記ゲーム演算手段は、
ゲーム進行中に所与のタイミングで前記ゲーム画面の所定位置のポインティングを指示する位置指示画像を表示する手段を含み、
前記タイミングで前記所定位置のポインティングが検出された場合には、前記所定位置のポインティングに関連付けたイベントを発生させるように構成してもよい。
【００７８】
前記基準位置の認識体は、撮像画像からコントローラのゲーム画面内のポインティング位置が特定できるものであればよく、例えば前記ゲーム画面に関連付けた位置に設置された認識物、例えば少なくとも２つの光源や認識可能な物体であってもよく、ゲーム画面内に表示される認識用画像であってもよい。
【００７９】
例えば前記２つの光源を、ディスプレイの周囲に設置し、これをコントローラに内蔵された撮像手段で撮像することにより、撮像画面内においてコントローラとゲーム画面との相対位置関係を把握させ、コントローラがゲーム画面のどの位置をポインティングしているかをＣＰＵに認識させることができる。
【００８０】
本発明では、ゲーム進行中に、ゲーム画面内の所与の位置に対する所与のタイミングでのポインティングを指示する位置指示画像を生成表示する。
【００８１】
そして、コントローラを用い、前記指示に従ったゲーム画面内のポインティングが成功した場合には、所定のイベント、例えばダンスゲームの場合には、ゲーム画面に登場するバックダンサーの数が増えるというイベントや、ゲーム画面内でダンスする複数のバックダンサーが、特別な演技を実行するというようなイベントを発生させ、ゲームをより変化に富んだ面白いものとすることができる。
【００８２】
（１６）また、本発明において、
前記指示画像生成手段は、
前記所定位置の指示に関連付けたイベントとして、指示されたゲーム画面の前記所定位置に関連付けて、前記コントローラの所与の移動態様を指示する指示画像を生成するように構成してもよい。
【発明を実施するための最良の形態】
【００８３】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００８４】
以下の実施形態では、本発明をゲームシステムに適用する場合を例に取り説明する。
【００８５】
１．システム概略
図１は、本実施形態のゲームシステムの概略外観図である。
【００８６】
本実施形態のゲームシステムは、表示画面１１にゲーム画像を表示させる表示部１２と、ゲーム処理等を行うゲーム機１０（ゲーム機本体）と、プレーヤＰが両手に把持して所定範囲内での位置、向きを任意に変更可能な第１のコントローラ２０−１、第２のコントローラ２０−２（操作入力手段）とを含む。
【００８７】
なお図１の例では、ゲーム機１０と各コントローラ２０−１、２０−２との間では無線通信により種々の情報を送受信する。
【００８８】
図２は、本実施形態のコントローラ２０の概略外観図である。
【００８９】
コントローラ２０には、操作部の一部として十字キー１６ａと操作釦１６ｂが設けられている。
【００９０】
さらに、コントローラ２０には、コントローラの傾きや動きに応じて変化する情報を検出する物理センサとして加速度センサ２１０を内蔵し、実空間内におけるコントローラ自体の傾きや動きに関する情報を取得できるようになっている。
【００９１】
本実施形態の加速度センサ２１０は、３軸加速度センサ２１０（検出部）として形成され、コントローラの傾きの向きと傾きの大きさを各コントローラにかかる３軸それぞれの加速度ベクトル（傾き情報）として検出する。
【００９２】
またこの加速度センサ２１０は、コントローラ自体の動きに応じてコントローラの速度、向きが一定時間にどの位変化したか、コントローラ自体の動きをコントローラにかかる３軸それぞれの加速度ベクトル（動き情報）として検出することができる。
【００９３】
そして図１に示すように、プレーヤＰが第１、第２のコントローラ２０−１、２０−２を把持しながら手を動かして、各コントローラ自体の傾き、動きを変化させると、かかる傾き、動きに応じて変化する情報に基づいて、ゲーム機１０では、実空間内でのコントローラ２０−１、２０−２自体の傾き、動きを検出判定し、ゲームを制御する。
【００９４】
本実施形態のゲームシステムでは、図５に示すダンスゲーム画面を表示し、更に、このゲーム画面内に、ゲームの進行に伴い指示画像３４０を表示する。指示画像３４０は、コントローラを把持したプレーヤに対しての実空間内におけるコントローラの種々の移動態様を指示する。
【００９５】
そして、コントローラ２０を手にしたプレーヤは、指示画像で指示されるコントローラの移動態様を見ながら、当該移動態様に従ってコントローラを実空間内で移動させる。
【００９６】
このとき、ゲーム機１０は、前記コントローラ２０の加速度センサ２１０からの信号を取得し、コントローラの実空間内での移動態様を検出する。そして、検出されたコントローラの実空間内での移動態様の、前記指示画像で指示された移動態様に対する適合度を判定する。
【００９７】
そして、判定結果に基づき、所与のイベントやゲーム演出効果を発生させる。
【００９８】
このようにして、コントローラ２０を手にしたプレーヤＰに対し、例えば所与の振り付けのダンス動作の指示を前記指示画像３４０を用いて行い、プレーヤにダンスゲームを分かり易く実行させることができる。
【００９９】
また、コントローラ２０には、表示画面１１上の任意の位置を指示（ポインティング）するポインティング機能が設けられている。
【０１００】
このため、表示部１２の周囲には、表示画面１１と関連付けた位置に基準位置認識体として一対の光源１９８Ｒ、１９８Ｌが配置されている。ここでは、表示部１２の上辺に沿って所定間隔で一対の光源１９８Ｒ、１９８Ｌが配置され、非可視光である赤外線が投射されるように形成されている。さらに、コントローラ２０の前面側には、コントローラ前方を撮像する撮像部２２０が設けられている。
【０１０１】
そして、コントローラ２０による表示画面１１内のポインティング位置は次のようにして求められる。
【０１０２】
図３に示す矩形の領域は、撮像部２２０（イメージセンサ）が取得した撮像画像ＰＡである。撮像画像ＰＡは、コントローラ２０の位置、向きに応じた画像となる。
【０１０３】
まず、前記撮像画像ＰＡに含まれる光源１９８Ｒを撮像した領域ＲＡ、光源１９８Ｌを撮像した領域ＬＡのそれぞれの位置ＲＰ、ＬＰを求める。なお、位置ＲＰ、ＬＰは、撮像画像ＰＡにおける２次元座標系（ＸＹ軸の座標系）によって特定できる位置座標である。一対の光源１９８Ｒ、１９８Ｌの距離と、表示画面１１と関連付けた一対の光源１９８Ｒ、１９８Ｌの相対位置は予め判明している。従って、ゲーム機１０は、求められた位置ＲＰ、ＬＰの座標から、コントローラ２０を用いた表示画面11内における指示位置（ポインティング位置）を求めることができる。
【０１０４】
すなわち、本実施形態では、撮像画像ＰＡの原点Ｏをコントローラ２０が指示するポインティング位置として求める。このポインティング位置は、撮像画像ＰＡの原点Ｏと、撮像画像ＰＡにおける特定位置ＲＰ、ＬＰと、撮像画像ＰＡにおける表示画面１１に対応する領域である表示画面領域ＤＡとの相対的な位置関係から求める。
【０１０５】
図３の例では、特定位置ＲＰ、ＬＰが、撮像領域ＰＡの中央よりもやや上方において、撮像領域ＰＡの基準線Ｌ（Ｘ軸）に対して時計回りにθ°回転された状態で形成されている。従って図３の例では、原点Ｏは表示画面領域ＤＡの右下部の所定位置に対応させることができ、表示画面１１上における撮像部２２０を用いたコントローラ２０の指示位置（ポインティング位置）の座標を求めることができる。
【０１０６】
本実施形態のゲームシステムでは、表示画面１１上に例えば図６に示すゲーム画像が表示される。このゲーム画像では、ダンスゲームの進行に伴い、例えば左手または右手に持った第１、第２のコントローラ２０−１、２０−２を用いて、ゲーム画像内の所定位置を所与のタイミングでポインティングすることを指示する位置指示画像３５０が表示される。この位置指示画像で指示されたポインティング位置を、所定のタイミングでプレーヤが第１、第２のコントローラ２０−１、２０−２を用いて指示すると、ゲーム機１０は、当該所定位置のポインティングがタイミング良く指示されたか否かを判定し、当該ポインティング動作が適切に行われた場合には、所定のイベント、例えばダンスゲームの場合には、ゲーム画像中に登場するバックダンサーの数が増える等といったイベントを発生するゲーム演出処理を行う。
【０１０７】
前記基準位置の認識体は、撮像画像からコントローラのゲーム画面内のポインティング位置が特定できるものであればよく、例えば前記ゲーム画面に関連付けた位置に設置された認識物、例えば少なくとも２つの光源や認識可能な物体であってもよく、ゲーム画面内に表示される認識用画像であってもよい。例えば、ゲーム画面の所定位置に基準位置認識用の２個の画像を認識体として表示してもよい。また、認識体は必ずしも２個必要ではなく、表示画面１１との相対位置関係が特定できる形状をした認識体であればよく、その数は一個でもよい。
【０１０８】
２．構成
図４は、本実施形態のゲームシステムの機能ブロック図の一例である。なお本実施形態のゲームシステムでは、図１の各部を全て含む必要はなく、その一部を省略した構成としてもよい。
【０１０９】
本実施形態のゲームシステムは、ゲーム機１０と、入力手段としてのコントローラ２０と、情報記憶媒体１８０、表示部（表示装置）１９０、スピーカー１９２、光源１９８Ｒ、１９８Ｌとを含む。
【０１１０】
コントローラ２０は、加速度センサ２１０、撮像部２２０、スピーカー２３０、振動部２４０、マイコン２５０、通信部２６０によって構成されている。また、コントローラ２０は、画像入力センサ、音入力センサ、加圧センサを備えていてもよい。
【０１１１】
加速度センサ２１０は、３軸（Ｘ軸、Ｙ軸、Ｚ軸）の加速度を検出する。すなわち、加速度センサ２１０は、上下方向、左右方向、及び、前後方向の加速度を検出することができる。なお、加速度センサ２１０は、５ｍｓｅｃ毎に加速度を検出している。また、加速度センサは、１軸、２軸、６軸の加速度を検出するものであってもよい。なお、加速度センサから検出された加速度は、通信部２６０によってゲーム機に送信される。
【０１１２】
撮像部２２０は、赤外線フィルタ２２２、レンズ２２４、撮像素子（イメージセンサ）２２６、画像処理回路２２８を含む。赤外線フィルタ２２２は、コントローラの前方に配置され、表示部１９０に関連付けられて配置されている光源１９８から入射する光から赤外線のみを通過させる。レンズ２２４は、赤外線フィルタ２２２を透過した赤外線を集光して撮像素子２２６へ出射する。撮像素子２２６は、例えば、ＣＭＯＳセンサやＣＣＤのような固体撮像素子であり、レンズ２２４が集光した赤外線を撮像して撮像画像を生成する。撮像素子２２６で生成された撮像画像は、画像処理回路２２８で処理される。例えば、撮像素子２２６から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報（特定位置）を検出する。なお、光源が複数存在する場合には、撮像画像上の位置情報を検出する。また、検出した位置情報は、通信部２６０によって、ゲーム機に送信される。特に、本実施形態は、コントローラ２０をゲーム画面上の位置情報をポインティングするポインティング装置として利用してもよい。
【０１１３】
スピーカー２３０は、ゲーム機から通信部２６０を介して取得した音を出力する。本実施形態では、ゲーム機から送信された確認音やモーションに応じた効果音を出力する。
【０１１４】
振動部（バイブレータ）２４０は、ゲーム機から送信された振動信号を受信して、振動信号に基づいて作動する。
【０１１５】
マイコン（マイクロコンピュータ）２５０は、受信したゲーム機からのデータに応じて、音を出力する制御や、バイブレータを作動させる制御を行う。また、加速度センサ２１０が検出した加速度を通信部２６０を介してゲーム機に送信させる処理を行ったり、撮像部２２０によって検出された位置情報を、通信部２６０を介してゲーム機１０に送信させる処理を行う。
【０１１６】
通信部２６０は、アンテナ、無線モジュールを含み、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて、ゲーム機とデータを無線で送信受信する。なお、本実施形態の通信部は、加速度センサ２１０によって検出された加速度や撮像部２２０において検出した位置情報等を、４ｍｓｅｃ、６ｍｓｅｃの交互の間隔でゲーム機に送信している。なお、通信部２６０は、ゲーム機と通信ケーブルで接続し、当該通信ケーブルを介して情報の送受信を行うようにしてもよい。
【０１１７】
なお、コントローラ２０は、ボタン、レバー（アナログパッド）、マウス、十字キー、タッチパネル型ディスプレイなどの操作子を更に設けてもよい。また、コントローラ２０はプレーヤの入力動作によって変化する角速度を検出するジャイロセンサを備えていてもよい。
【０１１８】
次に、本実施形態のゲーム機１０について説明する。
【０１１９】
本実施形態のゲーム機１０は、記憶部１７０、処理部１００、通信部１９６によって構成される。
【０１２０】
記憶部１７０は、処理部１００や通信部１９４などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などのハードウェアにより実現できる。
【０１２１】
特に、本実施形態の記憶部１７０は、主記憶部１７２、描画バッファ１７４、音データ記憶部１７６を含む。
【０１２２】
主記憶部１７２は、処理部１００や通信部１９４などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などのハードウェアにより実現できる。
【０１２３】
本実施形態において、主記憶部１７２内には、後述する第１及び第２の類型判定用データベースを記憶する記憶領域１７３が設けられている。
【０１２４】
また、描画バッファ１７４は、描画部１２０において生成された画像を記憶する。
【０１２５】
また、音データ記憶部１７６は、プレーヤの入力動作に対するコントローラの反応を示す確認音や、ゲーム演算処理に伴い出力される効果音を記憶する。なお、確認音は、検出情報に応じて複数種類記憶する。また、効果音は、モーションや、所与のイベントに応じて複数種類記憶する。
【０１２６】
そして処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）から読み出されたデータに基づいて本実施形態の種々の処理を行う。即ち、情報記録媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。なお情報記憶媒体１８０は、メモリカードに、プレーヤの個人データやゲームのセーブデータなどを記憶するものも含む。
【０１２７】
通信部１９６は、ネットワーク（インターネット）を介して他のゲーム機と通信することができる。その機能は、各種プロセッサまたは通信用ＡＳＩＣ、ネットワーク・インタフェース・カードなどのハードウェアや、プログラムなどにより実現できる。また、通信部１９６は、有線、無線いずれの通信も行うことができる。
【０１２８】
また、通信部１９６は、アンテナ、無線モジュールを含み、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて、コントローラ２０の通信部２６０を介して、コントローラ２０とデータを送受信する。例えば、通信部１９６は、確認音、効果音等の音データ、及び、振動信号を、コントローラに送信し、コントローラ２０において、加速度センサや撮像画像センサによって検出された情報を、４ｍｓｅｃ、６ｍｓｅｃの交互の間隔で受信する。
【０１２９】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバが有する、記憶部、情報記憶媒体からネットワークを介して情報記憶媒体１８０（または、記憶部１７０）に配信するようにしてもよい。このようなサーバの情報記憶媒体の使用も本発明の範囲に含まれる。
【０１３０】
処理部１００（プロセッサ）は、コントローラ２０から受信した検出情報や情報記憶媒体１８０から記憶部１７０に展開されたプログラム等に基づいて、ゲーム演算処理、画像生成処理、或いは音制御の処理を行う。
【０１３１】
特に本実施形態の処理部１００は、指示画像生成部１０２、ポインティング位置指示部１０４、検出判定部１１０、ゲーム演算部１１２、描画部１２０、音制御部１３０、振動制御部１４０として機能する。
【０１３２】
指示画像生成部１０２は、ゲーム画面内に、前記コントローラ２０の所与の移動態様を指示する指示画像を生成する処理を行う。より具体的には、コントローラ２０の所与の移動態様として、前記コントローラ２０の移動方向及び移動タイミングを指示する指示画像３４０を生成する処理を行う。
【０１３３】
前記ポインティング位置指示部１０４は、進行中にゲーム画面内の所定位置を所与のタイミングでポインティングすることを指示する位置指示画像（ポインティング指示画像）３５０を生成する処理行う。
【０１３４】
検出判定部１１０は、コントローラ２０の加速度センサ２１０から得られる情報に基づき、コントローラ２０の移動態様を検出し、検出されたコントローラ２０の移動態様が、前記指示画像で指示された移動態様に対しどの程度適合したかの適合度の判定を行う。
【０１３５】
更に、検出判定部１１０は、前記コントローラ２０に内蔵された撮像部２２０からの情報に基づき、前記コントローラ２０による前記ゲーム画面上のポインティング位置を検出判定し、検出されたポインティング位置の指示が、前記位置指示画像で指示された所定タイミングで適切になされたか否かの判定処理を行う。
【０１３６】
ゲーム演算部１１２は、前記検出判定部１１０の判定結果及び所与のプログラムに基づき、ゲーム演算を行う。
【０１３７】
例えば、ゲーム演算部１１２は、キャラクタ（プレーヤキャラクタ、敵キャラクタ）、移動体（車、飛行機など）、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面またはサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【０１３８】
また、ゲーム演算部１１２は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）または回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【０１３９】
例えば、仮想カメラによりオブジェクト（例えば、キャラクタ等）を後方から撮影する場合には、オブジェクトの位置または回転の変化に仮想カメラが追従するように、仮想カメラの位置または回転角度（仮想カメラの向き）を制御する。この場合には、後述するモーション生成部１２４で得られたオブジェクトの位置、回転角度または速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）または回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【０１４０】
また、ゲーム演算部１１２は、モデル（キャラクタ、車、飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち、所定条件を満たすと判定された検出情報、プログラム（移動・動作アルゴリズム）や、モーションデータなどに基づいて、モデルをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【０１４１】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム演算処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず表示物（オブジェクト、モデル）を定義する各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含む表示物データ（オブジェクトデータ、モデルデータ）が入力され、入力された表示物データに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、表示物を構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【０１４２】
なお描画部１２０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【０１４３】
そして描画部１２０は、表示物を描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【０１４４】
ジオメトリ処理では、表示物に関して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）の表示物データ（表示物の頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、主記憶部１７１に保存される。
【０１４５】
テクスチャマッピングは、記憶部１７０に記憶されるテクスチャ（テクセル値）を表示物にマッピングするための処理である。具体的には、表示物の頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャを表示物にマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【０１４６】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【０１４７】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディングまたは減算αブレンディング等）のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより２つの色を合成した色を求める処理を行う。
【０１４８】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えばＲＧＢの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【０１４９】
音制御部１３０は、処理部１００で行われる種々の処理（判定処理、ゲーム演算処理等）の結果に基づいて音データ記憶部１７６に記憶されている音（確認音、効果音を含む）を、コントローラのスピーカー２３０及びスピーカー１９２の少なくとも一方から出力させる処理を行う。
【０１５０】
本実施形態の音制御部１３０は、検出判定部１１０において所定条件を満たすと判定された場合に、スピーカーから確認音を出力させる。また、音制御部１３０は、検出情報に応じた確認音をスピーカーから出力させてもよい。また、音制御部１３０は、コントローラに設けられたスピーカー２３０のみから確認音を出力させ、スピーカー１９２からゲーム演算処理に応じた効果音、例えば、検出情報に基づき決定されたモーションに応じた効果音を出力させるようにしてもよい。
【０１５１】
振動制御部１４０は、所定条件に基づき、コントローラに設けられた振動部２４０に振動させる処理を行う。
【０１５２】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つのゲーム機、表示部を用いて生成してもよい。また、ネットワーク（伝送ライン、通信回線）などで接続された複数のゲーム装置を用いて分散処理により生成してもよい。また、本実施形態は、複数のプレーヤでゲームを行う場合には、複数のプレーヤのコントローラ毎に、検出情報に基づいて所定条件を満たすか否かの判定や、判定結果に基づく音制御や、振動制御を行う。
【０１５３】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。
【０１５４】
表示部１９０は、処理部１００により生成された画像を出力するものであり、その機能は、ＣＲＴディスプレイ、ＬＣＤ（液晶ディスプレイ）、ＯＥＬＤ（有機ＥＬディスプレイ）、ＰＤＰ（プラズマディスプレイパネル）、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【０１５５】
スピーカー１９２は、音制御部１３０により再生する音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。なお、スピーカー１９２は、表示部に備えられたスピーカーとしてもよい。例えば、テレビ（家庭用テレビジョン受像機）を表示部としている場合には、テレビのスピーカーとすることができる。
【０１５６】
光源１９８は、非可視光である赤外線を発光する例えばＬＥＤであり、表示部１９０に関連付けられて配置される。なお、本実施形態は、複数の光源（光源１９８Ｒと光源１９８Ｌ）とを備え、光源Ｒと光源Ｌとの距離は所定間隔を有するように設置されている。
【０１５７】
３．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【０１５８】
３−１：本実施形態で実行されるゲーム及び指示画像の表示処理
図５には、本実施形態で行われるゲーム画面の一例が示されている。
【０１５９】
本実施形態のゲームシステムで実行されるゲームは、プレーヤがチアダンスチームのリーダーとなって、チーム全体のダンスをリードしつつ、周囲のメンバー達にダンスの指示を与えて、ダンスシーンの成功を目指すという内容のゲームとして構成されている。
【０１６０】
図５に示すように、ゲーム画面内には、ＢＧＭ音楽のビートを表す花柄のビートキャラクタ３３０が画像表示され、ビートに合わせてビートキャラクタ３３０は点滅表示される。
【０１６１】
また、ゲーム画面内には、両手にボンボンを持ったメインダンサー３１０と、その背後に複数のサブダンサー３１２−１、３１２−２が表示される。
【０１６２】
メインダンサー３１０は、チアリーダーとしてプレーヤの操作に対応したダンスを再現するプレーヤキャラクタである。
【０１６３】
指示画像生成部１０２は、ゲームの進行に伴い、プレーヤが両手に持つ第１、第２のコントローラ２０−１、２０−２の移動態様を指示する一対の指示画像３４０−１、３４０−２を生成表示する処理を行う。本実施形態では、前記指示画像３４０はゲームの進行に伴い、予め定められた順番で所与の時間間隔ごとに表示される。
【０１６４】
図５では、プレーヤキャラクタであるメインダンサー３１０の両側に、プレーヤが両手に持つ第１、第２のコントローラ２０−１、２０−２の移動態様を指示する一対の指示画像３４０−１、３４０−２が表示されている。
【０１６５】
指示画像３４０−１は、プレーヤの右手に持った第１のコントローラ２０−１の操作を指示するものであり、指示画像３４０−２は、プレーヤの左手に持った第２のコントローラ２０−２の操作を指示するものである。
【０１６６】
これらの指示画像３４０−１、３４０−２は、ゲームの進行に伴いゲーム画面内の所与の位置に表示され、プレーヤに対して、対応するコントローラ２０−１、２０−２の所与の移動態様、具体的には移動方向及び移動タイミング、更には移動継続時間を指示する。
【０１６７】
本実施形態の指示画像３４０は、コントローラの移動方向を指示する移動軌跡指示画像部であるトレースレール３４２と、移動タイミングを指示するタイミング指示部としてのタイミングマーク３４４と、移動継続時間の終了を指示する操作終了マーク３４６とを含む。
【０１６８】
そして、タイミングマーク３４４は、トレースレール３４２の一端側に表示され、操作終了マーク３６はトレースレール３４２の他端側に固定表示される。
【０１６９】
そして、コントローラ２０の操作開始タイミングに同期して、タイミングマーク３４４はトレースレール３４２に沿って、コントローラ２０の移動方向に向け移動を開始し、移動継続時間の終了タイミングで操作終了マーク３４６に到達する。
【０１７０】
これにより、プレーヤはトレースレール３４２と、このトレースレール３４２上を移動するタイミングマーク３４４により、コントローラの移動タイミングと移動方向を知ることができ、更にタイミングマーク３４４が操作終了マーク３４６に到達することにより、操作継続時間の終了を理解することができる。
【０１７１】
なお、タイミングマーク３４４がトレースレール３４２に沿って移動し操作終了マーク３４６に到達すると、同一のトレースレール３４２上に次のタイミングマーク３４４が表示され、移動を開始することにより、プレーヤに対し同じ動作指示を繰り返し行ってもよい。
【０１７２】
図５に示すゲーム画像では、トレースレール３４２には、コントローラを上方向に移動する移動態様を指示しているが、本実施形態ではこれ以外にも他の方向、例えば右横方向、左横方向、右斜め上方向、左斜め上方向、下方向、右下方向、左下方向、前後方向（奥行き方向、手前方向）等の各種基準方向への移動を指示する指示画像３４０を生成表示するように構成されている。
【０１７３】
なお、前後方向（奥行き方向、手前方向）への移動を指示する指示画像３４０は、例えば、ゲーム画面のゲーム空間内でトレースレール３４２を奥行き方向から手前方向に向けて表示し、このトレースレール３４２に沿ってタイミングマーク３４４を奥行き方向から手前方向へ又はその逆方向へ移動するように形成すればよい。
【０１７４】
図７（Ａ）（Ｂ）には、プレーヤに対して右回りターンを指示する指示画像３４０が表示され、図７（Ｃ）には、プレーヤに対してコントローラを前に移動するパンチ動作を指示する指示画像３４０が表示される。
【０１７５】
本実施形態では、ゲームが開始されると、ゲーム進行に伴いＢＧＭのリズムにのったプレーヤに対するダンスアクションの指示が、前記指示画像３４０の表示が次々と行われる。
【０１７６】
特に、本実施形態ではゲーム画面上に、指示画像３４０によって指示されたダンスアクションに関連づけたダンスを行うメインダンサー３１０が登場し、当該メインダンサー３１０及びサブダンサー３１２がダンスのＢＧＭに合わせてダンスを行う。プレーヤはＢＧＭを聞きながら、更にゲーム画面内におけるメインダンサー３１０を見ながら、次々と表示される指示画像３４０−１、３４０−２の指示に従って実空間内で第１及び第２のコントローラ２０−１、２０−２、即ち両腕を、指示された移動態様に従って移動しながら、あたかもチアダンサーのリーダーになってリズムにのったダンスを行う雰囲気を楽しむことができる。
【０１７７】
また、本実施形態では、プレーヤに複雑な移動態様の指示を行うことができるよう、移動軌跡指示画像部であるトレースレールを複数組み合わせて、連動した移動軌跡を指示する一組の移動軌跡指示画像部を生成表示する。
【０１７８】
図８（Ａ）は、コントローラ２０をほぼ八の字に移動することを指示する一組の指示画像３４０の一例であり、移動方向を異にする４本のトレースレール３４２−１〜３４２−４を組み合わせて表示している。
【０１７９】
そして、これら４本のトレースレール３４２−１〜３４２−４上を、前記タイミングマーク３４４が順次移動することにより、プレーヤに対して対応するコントローラの移動方向及び移動タイミング、更には移動継続時間を視覚的に分かり易く指示している。
【０１８０】
同様に、図８（Ｂ）には、円弧状をした複数のトレースレール３４２−１、３４２−２が組み合わせられて時計方向にコントローラ２０を円を描くように移動することを指示する一組の指示画像３４０が示される。
【０１８１】
このように、複数のトレースレール３４２を連続して組み合わせて表示することにより、例えば図８（Ａ）に示す指示画像では、プレーヤにあたかもボンボンを８の字型に移動するというダンス操作を指示することができ、同図（Ｂ）では、ボンボンを時計方向に振り回して移動するという指示を与えることができる。
【０１８２】
図９には、コントローラ２０の移動開始タイミングをより分かり易くプレーヤに指示する指示画像３４０の一例が示されている。
【０１８３】
本実施形態では、移動軌跡指示画像部であるトレースレール３４２及び指示画像部であるタイミングマーク３４４を、移動開始タイミングに先だって表示される予告態様表示から、移動開始タイミングに近づくにつれ本表示態様表示に遷移する遷移画像として表示する。
【０１８４】
即ち、図９（Ａ）に示すトレースレール３４２が、コントローラの移動開始タイミングの２ビート前に、色の薄い点線で予告表示される。そして、移動開始タイミングの１ビート前になると、図９（Ｂ）に示すようにトレースレール３４２がより明確な実線に遷移した画像として表示され、さらにタイミングマーク３４４が出現し、操作タイミングが近いことを予告表示する。
【０１８５】
そして、操作タイミングが到来すると、図９（Ｃ）に示すように、トレースレール３４２は、操作タイミングが到来したことを示す形状に変化して表示され、さらにタイミングマーク３４４は、移動開始点から移動終了点に向けてトレースレール３４２に沿った移動を開始する。この時のタイミングマーク３４４の移動に合わせて、対応するリモートコントローラ２０をトレースレール３４２が示す方向へ移動することがプレーヤに指示される。
【０１８６】
そして、図９（Ｄ）に示すように、タイミングマーク３４４がトレースレール３４２上を移動すると、移動を終了した経路は順次消滅していき、タイミングマーク３４４が操作終了マーク３４６に到達した時点で、移動継続時間の終了が指示されることになる。
【０１８７】
以上のように、本実施形態によれば、移動開始タイミングに先だって行われる予告表示態様から本表示態様表示での遷移画像により、移動開始タイミング及び移動方向を事前に適切にプレーヤが認識でき、プレーヤはコントローラ２０を指示される方向へ移動する準備を行うことができる。
【０１８８】
なお、遷移画像は、透明から本表示態様表示に遷移する遷移画像として表示してもよく、また画面の奥行き方向から透明度や大きさを変化させながら本表示される位置に移動する遷移画像として表示してもよい。
【０１８９】
また、移動軌跡指示画像部であるトレースレール３４２及び指示画像部であるタイミングマーク３４４の表示形態を、プレーヤに指示を行うタイミングにあわせて変化させる処理を行ってもよい。
【０１９０】
例えば、指示画像部であるタイミングマーク３４４の色彩、形状、大きさなどの少なくともいずれか一つの表示形態を、タイミングマーク３４４が操作終了マーク３４６に近づくにつれて視認性及び演出効果が高くなるように変化させてもよい。
【０１９１】
また、トレースレール３４２上をタイミングマーク３４４が移動する際に、トレースレール３４２及びタイミングマーク３４４の少なくとも一方の、色彩、形状、大きさなどの少なくともいずれか一つの表示形態を視認性及び演出効果が高くなるように変化させてもよい。
【０１９２】
３−２：コントローラの移動態様の検出判定処理
本実施形態の検出判定部１１０は、指示画像３４０によりコントローラ２０に対する所与の移動態様での移動が指示されると、プレーヤによるコントローラ２０の実際の移動態様を検出し、指示された移動態様に対する適合度を判定する処理を行う。
【０１９３】
以下にその詳細を説明する。
【０１９４】
コントローラ２０の姿勢検出（第１の処理）
本実施形態では、コントローラ２０の移動方向及び移動開始タイミングを、加速度センサ２１０によって検出された加速度に基づいて算出することができる。
【０１９５】
本実施形態の加速度センサ２１０は、コントローラを基準とした空間内の異なる３軸（Ｘ軸、Ｙ軸、Ｚ軸）方向の加速度を検出する。
【０１９６】
例えば、分かり易く説明するために、２軸（ＸＹ軸）において、コントローラ２０の重力加速度を算出する手法について図１０（Ａ）（Ｂ）を用いて説明する。図１０（Ａ）は、実空間座標系における重力加速度を示す図であり、図１０（Ｂ）は、コントローラ２０を基準とするコントローラ２０の座標系における重力加速度を示す図である。
【０１９７】
例えば、図１０（Ａ）に示すように、コントローラ２０を水平状態に置いた場合（かかる場合、コントローラ２０に備えられた加速度センサ２１０も水平状態であるとする）では、Ｙ軸下方向（重力加速度の方向）に１Ｇの重力がかかる。一方、図１０（Ｂ）に示すように、コントローラ２０座標系においても、ｙ軸の下方向に１Ｇの重力がかかる。そして、プレーヤがコントローラ２０を、実空間座標系のＸＹ軸上を反時計回りに４５度に傾けると、図１０（Ａ）に示すように、実空間座標系ではＹ軸方向に１Ｇの重力加速度であるが、図１０（Ｂ）に示すように、コントローラ座標系では、１Ｇの重力加速度がｘ軸、ｙ軸のそれぞれに分解される。つまり、ｘ軸方向の成分、ｙ軸方向の成分は、それぞれ１／√２Ｇとなる。
【０１９８】
このように、本実施形態では、重力加速度を利用してコントローラ２０自体の傾きを検出している。つまり、図９（Ｂ）の例ではｘ軸のマイナス方向に１／√２Ｇ、ｙ軸のマイナス方向に１／√２Ｇの加速度を検出した場合には、実空間座標系のＸＹ軸上を反時計周りに４５度傾いていることを検出することができる。本実施形態では、３軸の加速度を検出できるので、各軸における加速度の値から実空間内での３次元での傾きを算出することができる。
【０１９９】
以上のことから、プレーヤがコントローラ２０を垂直に持って所与の方向（例えば右方向）に移動した場合と、コントローラ２０を水平に持って当方向に移動した場合とでは、加速度センサ２１０の３軸（Ｘ軸、Ｙ軸、Ｚ軸）方向のそれぞれに対して出力される値は異なったものとなることが理解される。
【０２００】
このため、コントローラ２０の移動方向等を正確に検出するためには、これに先だって、コントローラ２０の実空間内での姿勢を検出するという第１の処理を行うことが好ましい。
【０２０１】
本実施形態では、図１１に示すように、コントローラの実空間内での姿勢を判定するための第１の類型判定用データベースが形成され、主記憶部１７２の記憶領域１７３に記憶されている。具体的にはプレーヤがコントローラ２０を持つ姿勢のバリエーションを考慮し、コントローラ２０の実空間内での姿勢を複数の基本姿勢に分類分けする。本実施形態では、縦、右斜め、左斜め、水平、その他の基本姿勢に類型分けする。そして、各基本姿勢に対応して、コントローラ座標系のｘ、ｙ、ｚ軸の各加速度センサの出力を対応付けて記憶する。従って、加速度センサ２１０のｘ、ｙ、ｚ軸方向への出力に基づき、コントローラ２０の実空間内での姿勢を判定する第１の処理を実行することができる。
【０２０２】
この時、例えばコントローラ２０の基本姿勢と、コントローラ座標系のｘ、ｙ、ｚ軸の各加速度センサの出力との対応付けを厳密に行うと、基本姿勢から若干ずれた姿勢でプレーヤがコントローラ２０を持っている場合に、当該コントローラの姿勢を判断できなくなってしまうという事態が発生する。
【０２０３】
本実施形態のゲームは、子供から大人まで幅広いユーザーを対象としているため、基本姿勢から多少ずれた姿勢でプレーヤがコントローラ２０を手にしていても、当該姿勢を基本姿勢として判断できるように、各基本姿勢に対し所定の許容幅を持った姿勢を、対応する基本姿勢と判断できるように第１の類型判定用データベースを構築する必要がある。
【０２０４】
このため、ある基本姿勢に対し実際のコントローラ２０の姿勢が所定幅で異なっている場合、例えば垂直という基本姿勢に対し、実際に操作者が垂直と思って手にしているコントローラが垂直から所定の許容範囲で傾いているときに加速度センサから出力される信号も、当該基本姿勢に対応付けたセンサ出力として収集し、データベース化する。
【０２０５】
このようにして、各基本姿勢に関連付けて「所定の許容幅」をもってデータを収集しデータベース化されたものを、第１の類型用判定ベースとして使用する。
【０２０６】
そして、本実施形態では、指示画像３４で指示される移動方向へのコントローラ２０を移動する際に、当該コントローラ２０に内蔵された加速度センサから出力されるｘ、ｙ、ｚ軸方向の各信号を、第１の類型用判定用データベースと照合し、当該移動方向へ移動するコントローラの姿勢がどの基本姿勢に該当するかを判定する第１の判定処理を行う。
【０２０７】
これにより、操作者がコントローラ２０をどのような姿勢、例えば垂直に持っているか、画面に向けて水平に持っているか等の姿勢判定を柔軟に行うことができる。
【０２０８】
コントローラ２０の移動態様の検出判定（第２の処理）
第１の処理によりコントローラ２０の実空間内での基本姿勢が判定されると、次に実空間内でのコントローラ２０の移動方向を含む移動態様を検出する第２の処理が行われる。
【０２０９】
この第２の処理を実行するため、本実施形態では図１２に示す第２の類型判定用データベースが用いられる。当該第２の類型判定用データベースは、主記憶部１７２の記憶領域１７３に記憶されている。
【０２１０】
この第２の類型判定用データベースは、以下のように生成される。
【０２１１】
まず、図１１に示すコントローラ２０の基本姿勢毎に、前述した指示画像３４０によって指示される方向にコントローラ２０を実空間で移動した際に、当該コントローラ２０の加速度センサから出力されるｘ、ｙ、ｚ方向の信号を収集する。
【０２１２】
そして、コントローラ２０が各基本姿勢で移動された場合に加速度センサ２１０からをもって出力される信号を、当該コントローラ２０の実空間内での移動方向と関連付けて第２の類型判定用データベースを作成する。
【０２１３】
この時、コントローラ２０を、同じ基本姿勢で同一指示方向（例えば右方向）に移動する場合でも、指示された方向に対して若干蛇行したり膨らんだりした軌道でコントローラ２０を移動するプレーヤも多く、このような移動軌跡での移動態様を、指示された移動方向への移動態様に適合していないと判定すると、子供から大人まで楽しめるゲームとして成立することが難しいという事態が発生する恐れがある。
【０２１４】
そのため、ある基本姿勢にあるコントローラ２０を、指示画像で指示される移動方向に移動する場合に、加速度センサ２１０から出力されるｘ、ｙ、ｚ軸方向への信号は、「所定の許容幅」をもって収集されデータベース化される。例えば指示画像３４０で指示される方向に対し、所定の許容幅をもってずれた軌跡を描きながら移動する場合でも、このような所定の許容幅でずれた軌跡で移動する際に得られる加速度センサの出力信号を当該指示された基本姿勢に対応する信号として収集し、データベース化する。
【０２１５】
本実施形態では、各基本姿勢にあるコントローラ２０に対し、右方向、右斜め上方向、左斜め上方向、上方向、下方向、下斜め右方向、下斜め左方向、前方向、後方向、時計回り方向、反時計回り方向、その他の方向という各基本移動方向毎にデータを分類分けし、各分類分けされた各基本移動方向と対応付けて、加速度センサから出力されるｘ、ｙ、ｚ軸の各信号を「所定の許容幅」をもって収集しデータベース化する。
【０２１６】
このようにして、図１２に示す第２の類型判定用データベースを生成する。尚、図１２では、一つの基本姿勢に対するデータベースを例示したが、図１１に示す他の基本姿勢に対しても同様にデータが収集されデータベース化される。
【０２１７】
そして、前述したように第１の処理でコントローラ２０の姿勢を判定すると、第２の類型判定用データベースを用いて、当該判定された姿勢に対応するデータと、コントローラ２０の加速度センサから実際に出力される信号とを照合し、当該コントローラ２０の移動方向を含む移動態様を特定する処理を行う。
【０２１８】
即ち、第１の処理で判定された姿勢のコントローラ２０は、どの方向に、単位時間当りどのような移動量で移動しているかを特定する処理をリアルタイムで行う。そして、このようにして求められたコントローラ２０の移動方向及び単位時間当りの移動量に基づき、コントローラ２０の実空間内での移動方向及び移動タイミングの判定、更には移動継続時間の判定行い、この移動の態様が指示画像３４０で指示された移動の態様と適合しているか否かの評価判定を行う。
【０２１９】
このようにすることにより、プレーヤがコントローラ２０をどのような姿勢で持っているかに拘わらず、当該コントローラ２０を指示された方向へ指示に従い移動しているか否かを評価判定することができる。
【０２２０】
本実施形態では、図４に示す各指示画像３４０−１、３４０−２による指示に対して、第１及び第２のコントローラ２０−１、２０−２の移動態様は個別に評価判定される。
【０２２１】
そして、各コントローラ２０−１、２０−２のそれぞれの入力が個別に成功したと判定された場合（指示された入力タイミングで指示方向へ所定の継続時間移動したと判定された場合）には、各判定結果毎にスコアに５００点加算され、スコア３２０として表示される。第１及び第２のコントローラ２０−１、２０−２の両方の入力が正解入力であると判定された場合には、合計１０００点がスコア３２０に加算されることになる。
【０２２２】
この時、ゲーム画面中に表示されるメインダンサー３１０は、プレーヤの操作に対応したダンスを再現するように動作する。
【０２２３】
なお、各コントローラ２０−１、２０−２のそれぞれの入力の双方が成功したと判定された場合には、一方のみが成功した場合に比べて、より高い評価を行うように形成してもよい。
【０２２４】
更に、図５に示すゲーム画面の右上には、プレーヤの操作を評価表示エリア３２２が設けられ、入力方向とタイミングが正しければ「ＣＯＯＬ」と表示され、方向が間違ってたり、タイミングが合ってなければ「ＰＯＯＲ」と表示される。
【０２２５】
また、前記評価判定の結果に基づき、図１３に示す演出画面を表示するように構成してもよい。
【０２２６】
例えば、前記適合度の判定結果に基づき、コントローラ２０の操作ミスの原因を特定し、図１３（Ａ）、（Ｂ）に示すように、タイミングのミスを指摘し、またはコントローラの振り方のミスを指摘する演出画面を表示してもよい。
【０２２７】
このようにミスの原因をプレーヤに告知することにより、プレーヤに正しいコントローラ２０の移動を促すことができ、これにより、プレーヤは、自分のダンスのミスを修正し、よりレベルの高いダンスゲームにチャレンジするという動機付を得ることができる。
【０２２８】
また、指示画像で指示された移動態様でコントローラ２０の移動を的確に行ったと判断された場合には、図１３（Ｃ）に示す「パーフェクト」という演出画面を表示し、更にその旨を表す効果音を発生することで、ゲームをより盛り上げる演出を行うこともできる。
【０２２９】
特に、複数の連続技を指示画像により指示した場合に、指示された連続技を成功させると特別なイベントを発生させるように形成しても良く、これによりゲームの演出効果をより高めることが可能となる。
【０２３０】
また、指示画像３４０によりコントローラ２０の移動態様が指示され、プレーヤがその指示に従ってコントローラ２０を移動した場合に、当該コントローラ２０の移動軌跡を、対応する指示画像３４０の近傍に表示する構成を採用してもよい。これにより、プレーヤは指示画像３４０で指示された移動態様と、自分が実際にコントローラ２０を移動した移動態様との一致度を視覚的に認識し、自分のダンス技を更にレベルの高いものに修正しながらゲームを楽しむことができる。
【０２３１】
判定用の移動開始タイミング及び移動継続時間
本実施形態では、指示画像３４０によりコントローラの所定方向への移動及び移動開始タイミングの指示が行われると、前述したように第１及び第２の処理が行われ、コントローラ２０の移動態様の検出測定が行われ、検出された移動態様が指示された移動態様と適合しているか否かの判定が行われる。
【０２３２】
本実施形態では、コントローラ２０の単位時間当りの移動量を表す速度ベクトルを、コントローラ２０に内蔵されたｘ、ｙ、ｚ軸方向の各加速度センサ２１０から得られるｘ、ｙ、ｚ軸方向の速度ベクトルの合成値として求めることができる。このようにして求められる速度ベクトルの値は、コントローラ２０を指示画像３４０で指示される移動開始タイミングで指示された方向へ移動を開始した場合であっても、移動開始時に検出される速度ベクトルの値は小さく、数フレーム後（例えばＴ１フレームで移動を開始した場合には数フレーム後のＴ３フレーム）に所定の基準値に達することになる、従ってコントローラ２０を実際に操作したタイミングと当該操作が検出されるタイミングとの間には所定フレーム分の時間遅れが発生する。
【０２３３】
このため、本実施形態では、指示画像３４０で指示される移動開始タイミング及び移動継続時間とは別に、前記検出遅れを考慮した「判定用の移動開始タイミング」及び「判定用の移動継続時間」を設定し、コントローラ２０の移動態様の判定を行っている。
【０２３４】
具体的には、「判定用移動開始タイミング」は、指示画像で指示される実際の移動開始タイミングより数フレーム分遅れて設定し、「判定用の移動継続時間」は、指示画像３４０で指示される移動継続時間の終了タイミングと一致させるか、その終了時より所定フレーム分遅れて終了するように設定する。
【０２３５】
これにより、前記コントローラの移動開始タイミングの検出遅れに遅延する問題を解消し、コントローラの移動態様の判定処理を的確に行うことができる。
【０２３６】
なお、本実施形態によれば、「判定用の移動開始タイミング」及び「判定用の移動継続時間」の設定の仕方により、この面からゲームの難易度を設定することができる。
【０２３７】
例えば、指示画像で指示される実際の移動開始タイミングに対する「判定用の移動開始タイミング」の時間遅れを大きく設定すれば難易度を低く、短く設定すれば難易度を高く設定できる。
【０２３８】
また、「判定用移動継続時間」を短く設定することにより難易度を高く、長く設定することにより難易度を低く設定することができる。
【０２３９】
従って、例えばプレーヤの選択するゲームの難易度に合わせて、このような判定用の移動開始タイミング及び移動継続時間を設定する構成を採用してもよい。
【０２４０】
３−３：ゲーム画面の所定位置のポインティング指示及び検出判定処理
本実施形態のポインティング位置指示部１０４は、ゲームの進行に伴い、所与のタイミングでゲーム画面の所定位置のポインティングを指示するポインティング指示画像３５０を位置指示画像として生成する処理を行う。
【０２４１】
図６には、ゲーム画面中に表示されるポインティング指示画像３５０の具体例が示され、同図（Ａ）には、ゲーム画面の左側のキャラクタに対応付けてポインティング指示画像３５０が表示される。
【０２４２】
図１５に示すように、このポインティング指示画像３５０は、ポインティング位置に表示されるターゲットボード部３５２と、その周囲に表示されるリング部３５４とを含む。そして、ポインティング指示画像３５０が表示された直後では、図１５（Ａ）に示すように、リング部３５４はターゲットボード部３５２の周囲を囲むような大きなリングとして表示され、ポインティングタイミングが近づくにつれ図１５（Ａ）〜（Ｄ）に示すように除除にリングが収縮し、ポインティングタイミングが到達すると図１５（Ｄ）に示すように、リング部３５４はターゲットボード部３５２と重なるように表示される。
【０２４３】
このポインティングのタイミング指示に合わせて、プレーヤは対応するコントローラ２０（図６では、プレーヤが右手でもつ第１のコントローラ２０−１）を用いてゲーム画面内に表示されるターゲットボード部３５２の位置を、所定時間内でタイミングよくポインティングする動作を行う。
【０２４４】
前述したように、表示部１２の周囲には一対の光源１９８Ｌ、１９８Ｒが設けられている。プレーヤはコントローラ２０の前方に設けられた撮像部２２０をゲーム画面方向に向けることにより、ゲーム画面上の任意の点をポインティングするポインティングデバイスとしてコントローラ２０を操作することができる。図１４に、コントローラ２０を用いてゲーム画面上の所望の位置をポインティングしている様子の一例を示す。
【０２４５】
本実施形態の検出判定部１１０は、前述したように、プレーヤがポインティング指示画像３５０で指示されるターゲットボード部３５２を、指示されたタイミングでポインティングしたか否かを、コントローラ２０の撮像部２２０から取得した信号に基づきが判定する。
【０２４６】
そして指示された位置をタイミング良くポインティングしたと判断された場合には、所定のイベント、この場合にはバックダンサーの女の子を図６（Ｂ）に示すように持ち上げるというイベントが発生し、更に図６（Ｂ）に示すように、ゲーム画面中央に新たなポインティング指示画像３５０が表示される。
【０２４７】
更に、図６（Ｂ）に示すように、新たなポインティング指示画像３５０の表示に関連付けて、コントローラの所与の移動態様を指示する指示画像３４０−１、３４０−２が表示される。
【０２４８】
この場合には、新たに表示されるポインティング指示画像３５０で指示されたターゲットボード部３５２を、指示されたタイミングでポインティングすることに成功すると、その一定時間後、前記指示画像３４０−１、３４０−２のタイミングマーク３４４がトレースレール３４２に沿って移動を開始し、プレーヤに対しコントローラ２０−１、２０−２の所与の移動態様での移動指示が行われる。
【０２４９】
プレーヤが、この指示に従った移動態様でコントローラ２０−１、２０−２の移動を成功させると、例えば図６（Ｃ）に示すようなアクロバティックなチアダンスが成功した画面の演出表示が行われる。また、このような連続技が成功した場合には、そのゲームにおいて例えば図１６に示すようにゲーム画面に登場するバックダンサーの数を順次増やしていくというゲームイベントを発生させ、係る観点からゲームの演出を盛り上げるように構成してもよい。
【０２５０】
３−４：複数人プレー
また、本実施形態では、ゲーム開始時に二人プレー、四人プレー等の複数人プレーを選択することもできる。
【０２５１】
図１７（Ａ）は、二人プレーを選択した場合のゲーム画面の一例である。
【０２５２】
二人プレーの場合には、第１、第２のコントローラ２０−１、２０−２をそれぞれ一本ずつ二人のプレーヤが手にし、図１７（Ａ）に示す指示画像３４０−１、３４０−２の指示に従って各プレーヤがコントローラ２０−１、２０−２をそれぞれ移動操作し、互いにダンス技を競い合うことができる。
【０２５３】
また、異なるＩＤを持つコントローラ２０が４本用意できる場合には、図１７（Ｂ）に示すような四人プレーも選択することができる。
【０２５４】
各プレーヤは自分に対応づけられたコントローラ２０を一本手に持ちながら、ゲーム画面中で指示される指示画像３４０に注目する。
【０２５５】
本実施形態では、スポットライトによって照らされた二人のダンスキャラクタに対応する二人のプレーヤに対し、指示画像３４０−１、３４０−２のそれぞれによってコントローラ２０の移動態様が指示される。
【０２５６】
ゲーム進行に伴い、スポットライトによって照らされるダンスキャラクタは随時変更されるため、プレーヤは自分に対応したダンスキャラクタがスポットライトで照らされることにより、自分に順番が回ってきたことを視覚的に認識し、この時、対応する指示画像３４０で指示される移動態様でコントローラを移動することでダンス技を競い合うことができる。
【０２５７】
なお、本実施形態では、複数人プレーの場合には、一人プレーヤに対し一本のコントローラを対応づける場合を例にとり説明したが、必要に応じて一人のプレーヤに二つのコントローラを対応付けて、同様にダンスゲームを行わせるように構成してもよい。
【０２５８】
４．本実施形態の処理
次に、本実施形態の処理の一例について、図１８〜２１のフローチャートを用いて説明する。
【０２５９】
図１８には、本実施形態をゲームシステムに適用した場合の、動作の一例が示されている。
【０２６０】
まず、プレーヤが一人プレーまたは複数人プレーのいずれかを選択してゲームを開始すると、ゲーム演算が開示される（ステップＳ１０）。
【０２６１】
そして、表示部１２上にはチアダンスのゲーム画面が表示されると共に、このダンスに合わせたＢＧＭがダンスミュージックとして音声出力される。
【０２６２】
この際、必要に応じて、コントローラ２０をどのような姿勢で手に持つかという指示をプレーヤに対して行っても良い。例えば、プレーヤＰに対し、コントローラ２０を垂直に持ってゲームを行うか、水平に持ってゲームを行うかという指示を行っても良い。
【０２６３】
そして、ゲームが開始され、図５に示すようにゲーム画面上のダンスキャラクタ３１０、３１２が踊り始めると、ゲームの進行に合わせて所与のタイミングでコントローラ２０−１、２０−２の移動態様を指示する指示画像３４０−１、３４０−２の表示が行われ、さらに当該指示画像３４０−１、３４０−２の指示に従ってプレーヤが各コントローラ２０−１、２０−２を移動したかの検出判定処理が実行される（ステップＳ１２、Ｓ１４）。
【０２６４】
またゲーム進行に伴い、図６に示すポインティング指示画像３５０の表示タイミングが到来すると、ゲーム画面中に図６に示すようにポインティング指示画像３５０の表示が行われると共に、当該ポインティング指示画像３５０で指示されたターゲットボード部３５２のエリアに、指示されたタイミングでコントローラ２０を用いたポインティングが行われた否かの検出判定処理が行われる（ステップＳ２０、Ｓ２２）。
【０２６５】
このような一連の処理を、ゲームが終了するまで繰り返して行い（ステップＳ３０）、ゲームが終了した時点で最終的なゲーム成績の表示が行われる（ステップＳ３２）。
【０２６６】
すなわち、本実施形態では、ステップＳ１４、ステップＳ２２で行われる個別の検出判定処理の判定結果毎に、その判定結果に基づく成績表示イベント、例えばスコア演算や、図１７に示す画面表示を行っているが、これに加えて、ステップＳ３２において、ステップ１４、ステップＳ２２で行われる個別の検出判定処理の判定結果の合計値、例えばスコアの合計値などから総合的なゲーム成績を求め、最終的なゲーム成績として表示する処理を行う。
【０２６７】
図１９には、図１８のステップＳ１４で示す処理の具体例が示されている。
【０２６８】
ゲーム進行に伴い指示画像３４０の生成タイミングが到来すると、指示画像３４０−１、３４０−２がゲーム画面中に生成表示され（ステップＳ４０）、当該指示画像３４０−１、３４０−２で指示された指示態様でのコントローラ２０−１、２０−２の実空間内での移動がそれぞれ正確に行われたか否かの判定処理が行われる（ステップＳ４２）。
【０２６９】
そして、指示画像の判定結果に基づき、スコア３２０の更新が行われ、更に評価エリア３２２にはクール、バッドの評価を表示するゲーム演出が行われる。
【０２７０】
加えて、評価結果に応じて、図１３に示す演出画像の表示も行われる（ステップＳ４４）。
【０２７１】
なお、図１３に示す演出画像の表示は、ゲーム進行中における所定場面においてのみ行っても良く、またゲーム開始に先だってプレーヤやオペレータが、当該演出画面の表示設定を行った場合にのみ表示するように構成しても良い。
【０２７２】
図２０には、図１９に示すステップＳ４０の処理の具体例が示されている。
【０２７３】
ゲームの進行中に指示画像３４０の表示のタイミングが到来すると、コントローラ２０の移動開始タイミングに先だって、図９（Ａ）、（Ｂ）に示す遷移画像の表示が行われる。これにより、プレーヤは、コントローラ２０の移動開始のタイミングに先だって、コントローラの移動方向、移動開始のタイミングを予測認識しその準備をすることができる。
【０２７４】
そして、コントローラの移動開始タイミングが到来すると（ステップＳ５２）、図９（Ｃ）に示すように、タイミングマーク３４４をトレースレール３４２に沿って操作終了マーク３４６に向け移動させる処理が行われる。
【０２７５】
このタイミングマーク３４４の移動のタイミングに合わせて、プレーヤはトレースレール３４２で指示される方向へのコントローラ２０の移動を開始し、タイミングマーク３４４が操作終了マーク３４６に到達するまで、指示に従った当該コントローラ２０の移動を継続して行う。
【０２７６】
そして、図９（Ｄ）に示すように継続移動終了タイミングが到来すると（ステップＳ５６）、指示画像３４０の表示を終了する（ステップＳ５８）。
【０２７７】
このような一連の表示制御処理により、プレーヤにより適切なタイミングで、コントローラを所望の方向へ移動する指示を、視覚的に分かり易く与えることができる。
【０２７８】
図２１には、図１９のステップＳ４２の検出判定処理の具体例が示されている。
【０２７９】
まず、図９（Ｃ）に示すように、指示画像３４０によるコントローラの移動開始タイミングが到来すると（ステップＳ６０）、コントローラ２０の加速度センサから出力される信号の取得を開始し（ステップＳ６２）、前述した第１の処理及び第２の処理を実行する（ステップＳ６４、Ｓ６６）。
【０２８０】
即ち、コントローラ２０の姿勢がどの基本姿勢にあるかを検出判定する第１の処理を行い、その姿勢でコントローラ２０がどの方向へどのような移動態様で移動しているかを判定し、指示画像３４０で指示された移動態様との適合度を判定する第２の処理を行う。
【０２８１】
図２２には、図１８のステップＳ２２に示す処理の具体例が示されている。
【０２８２】
ゲーム進行中に、例えば図６に示すポインティング指示画像３５０の表示タイミングが到来すると、ゲーム画面の所与の位置にポインティング指示画像３５０を表示する処理が行われる（ステップＳ７０）。
【０２８３】
このポインティング指示画像３５０は、図１５に示すように、ポインティングエリアを示すターゲットボード部３５２と、これに向けて収縮するリング部３５４とを含んで表示される。そして、リング部３５４がターゲットボード部３５２まで収縮した時点、即ち図１５（Ｄ）に到達した時点がターゲットボード部３５２で指示された位置を、コントローラ２０でポインティングするタイミングとなる。
【０２８４】
そして、このタイミングでプレーヤがコントローラ２０を用いて、指示された位置をポインティングするプレーヤのポインティング動作が成功したか否かが判定され（ステップＳ７２）、成功したと判定された場合には、当該ポインティング指示に関連付けたイベントを発生させる（ステップＳ７４）。
【０２８５】
例えば、図６（Ａ）に示す例では、ポインティングされたバックダンサーが隣のバックダンサーを持ち上げるというイベントが発生する。図６（Ｂ）に示す例では、ポインティング指示画像３５０の表示位置に関連付けて指示画像３４０−１、３４０−２が表示され、ポインティング指示が成功した後に、指示画像３４０−１、３４０−２で指示される方向にコントローラ２０−１、２０−２を移動する動作が指示され、この連続技を成功した場合に図６（Ｃ）に示すようにアクロバティックなダンスが完了するというダンスシーンが表示されるというゲーム演出が行われる。
【０２８６】
なお、本発明は前述した前記実施形態に限定されるものではなく、本発明の要旨の範囲内で各種の変形実施が可能である。
【０２８７】
例えば、前記実施形態では本発明をダンスゲームに適用する場合を例にとり説明したが、本発明はこれに限らず、他の用途、例えばエアロビクスや運動トレーニング用の指示を、コントローラを手にした生徒に対して与え、適切なエアロビクスやエクササイズを実行させ、その結果を判定する場合にも好適である。
【０２８８】
また、前記実施の形態では、指示画像３４０としてトレースレール３４２に沿ってタイミングマーク３４４が移動する場合を例にとり説明したが、本発明はこれに限らず、コントローラの所与の移動態様を指示することができれば、どのような形態の指示画像であってもよい。例えばトレースレール３４２で表示される所与の軌跡の色を、コントローラの移動タイミング及び操作継続期間に関連付けて変化させるように形成してもよい。また、移動方向を矢印等で表示し、操作開始タイミングはカウントダウン表示で指示し、操作継続時間もカウントダウン表示で指示する構成を採用してもよい。
【図面の簡単な説明】
【０２８９】
【図１】本実施形態のゲームシステムを一例の説明図。
【図２】本実施形態で使用されるコントローラの一例を示す説明図。
【図３】本実施形態のコントローラを用いて行われるポインティング指示の原理説明図。
【図４】本実施形態のゲームシステムの機能ブロック図。
【図５】指示画像を含むゲーム画面の一例を示す説明図。
【図６】ポインティング指示画像含むゲーム画面の一連の変化を示す説明図。
【図７】ターン及びパンチ等の指示画像を含むゲーム画面の一例を示す説明図。
【図８】複数の移動軌跡指示画像部の組み合わせから構成された指示画像の一例の説明図。
【図９】指示画像の変化の一例の説明図。
【図１０】コントローラの姿勢検出原理の説明図。
【図１１】第１の類型判定用データの説明図。
【図１２】第２の類型判定用データの説明図。
【図１３】判定結果に基づく演出画面の説明図。
【図１４】コントローラを用いたゲーム画面のポインティング動作の説明図。
【図１５】ポインティング指示画像の一例の原理説明図。
【図１６】バックダンサーの数が増えるゲーム演出画面の説明図。
【図１７】二人プレー、四人プレーの説明図。
【図１８】本実施形態のゲームシステムの処理の一例を示すフローチャート図。
【図１９】図１８のステップＳ１４の処理の一例を示すフローチャート図。
【図２０】図１９のステップＳ４０の処理の一例を示すフローチャート図。
【図２１】図１９のステップＳ４２の処理の一例を示すフローチャート図。
【図２２】図１８のステップＳ２２の処理の一例を示すフローチャート図。
【符号の説明】
【０２９０】
Ｐ…プレーヤ
１０…ゲーム機
１１…表示画面
１２…表示部
２０…コントローラ
１００…処理部
１０２…指示画像生成部
１０４…ポインティング位置指示部
１１０…検出判定部
１１２…ゲーム演算部
１７３…記憶領域
２１０…加速度センサ
２２０…撮像部
【図１】
0005410710.tif 000002
【図２】
0005410710.tif 000003
【図３】
0005410710.tif 000004
【図４】
0005410710.tif 000005
【図５】
0005410710.tif 000006
【図６】
0005410710.tif 000007
【図７】
0005410710.tif 000008
【図８】
0005410710.tif 000009
【図９】
0005410710.tif 000010
【図１０】
0005410710.tif 000011
【図１１】
0005410710.tif 000012
【図１２】
0005410710.tif 000013
【図１３】
0005410710.tif 000014
【図１４】
0005410710.tif 000015
【図１６】
0005410710.tif 000016
【図１７】
0005410710.tif 000017
【図１８】
0005410710.tif 000018
【図１９】
0005410710.tif 000019
【図２０】
0005410710.tif 000020
【図２１】
0005410710.tif 000021
【図２２】
0005410710.tif 000022
【図１５】
0005410710.tif 000023