しかし、従来のゲーム装置では、プレーヤの周囲5箇所に前記5箇所方向へのプレーヤの動きを検出するための赤外線センサを設けなければならず、構成が複雑かつ高価になるという問題があった。
また、近年では、加速度センサ等の物理量センサを備えた入力手段としてのコントローラと、ゲーム機の本体とが別体として形成されたゲームシステムが存在する。このようなゲームシステムでは、プレーヤがコントローラを振る入力動作や、傾ける入力動作を行ってゲームを行う。
しかし、このようなゲームシステムにおいて、プレーヤに簡単に且つ楽しく所与の動作、例えばダンスゲーム等を行わせるのは従来存在しなかった。
本発明は、係る課題に鑑みなされたものであり、その目的は、物理量センサを内蔵するコントローラの移動態様を視覚的に指示し、指示された移動態様に応じたコントローラの操作がなされたか否かを的確に判断することができ、これにより例えばゲームのプレーヤにコントローラを用いたゲームを判りやすく的確に実行させることが可能なプログラム、情報記憶媒体及びゲームシステムを提供することにある。
(1)本発明は、
物理量センサを内蔵したコントローラの所与の移動態様を指示する指示画像を生成する指示画像生成手段と、
前記コントローラの物理量センサからの信号を取得し、前記コントローラの移動態様を検出し、検出された前記コントローラの移動態様の、前記指示画像で指示された移動態様に対する適合度を判定する検出判定手段と、
を含むことを特徴とする。
また、本発明は、上記各手段を含む入力指示装置、ゲームシステムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各手段としてコンピュータを機能させる為のプログラムを記憶した情報記憶媒体に関係する。
ここにおいて、コントローラとは、操作者が手にして実空間内を移動可能に形成されたコントローラをいい、より好ましくは、操作者が手で持って、例えば上下、左右、前後等に自由に移動可能に形成されたコントローラであることが好ましい。
また、コントローラに内蔵される物理量センサは、前記コントローラの実空間内における移動態様を取得可能な物理量を検出するものであれば、センサの種別は問わない。このような物理量センサは、任意の移動方向への単位時間当りの移動量を検出可能な物理量を検出するセンサとして形成することが好ましく、実空間内における3次元的な移動を異なる3軸方向への単位時間あたりの移動量として検出することがより好ましい。3次元的な移動を互いに直交するX軸、Y軸、Z軸への加速度として検出する3軸方向に対する加速度センサを用いてもよい。
また、移動態様を指示する指示画像とは、コントローラを手にした操作者に対して実空間内におけるコントローラの種々の移動態様を指示する指示画像をいう。
本発明では、コントローラを手にした操作者は、指示画像で指示されるコントローラの移動態様を見ながら、当該移動態様に従ってコントローラを移動させる。
このとき、検出判定手段は、前記コントローラの物理量センサからの信号を取得し、コントローラの実空間での移動態様を検出する。そして、検出されたコントローラの実空間での移動態様の、前記指示画像で指示された移動態様に対する適合度を判定する。
本発明では、必要に応じて、その判定結果を操作者に伝達する手段を設けてもよい。このような判定結果の伝達は、画像データとして視覚的に伝達してもよく、また音声出力として聴覚的に伝達してもよく、また両者の組み合わせとして伝達してもよい。
これにより、操作者は、指示画像で指示された移動態様に沿って、どの程度正確にコントローラを実空間で移動できたのかを知ることができる。
このようなコントローラの移動態様の指示を行う本発明は、ゲームシステムに適用可能である。例えばコントローラを手にしたプレーヤに対し、指示画像でその移動態様を適宜指示し、当該指示に従ったコントローラの実空間での移動が正確に行われるか否かの判定結果に基づき、所与のイベント等のゲーム演出効果を発生させることもできる。またコントローラを手にしたプレーヤに対し、所与の振り付けのダンス動作を前記指示画像として指示し、プレーヤにダンスゲームを分かり易く実行させるゲームシステムを実現することもできる。
また、本発明は、これ以外にも種々の用途に適用でき、例えばエアロビクスや、運動トレーニング用の指示を、コントローラを手にした生徒(またはプレーヤ)に与えて適切なエクササイズを実行させ、その結果を判定する場合にも好適である。
(2)また、本発明において、
前記物理量センサは、移動方向及び単位時間当たりの移動量を導出可能な物理量を検出し、
前記指示画像生成手段は、
前記移動態様として、前記コントローラの移動方向及び移動タイミングを指示する指示画像を生成し、
前記検出判定手段は、
前記物理量センサからの信号を取得し、前記コントローラの移動方向及び移動タイミングを検出し、
検出された前記コントローラの移動方向及び移動タイミングの、前記指示画像による指示に対する適合度を判定ように構成してもよい。
本発明によれば、コントローラの移動方向のみならず、移動のタイミングをも移動態様として指示することができる。
(3)また、本発明において、
前記指示画像生成手段は、
前記移動タイミングとして移動開始タイミングを指示するとともに、移動継続時間を指示する指示画像を生成し、
前記検出判定手段は、
前記物理量センサからの信号を取得し、前記コントローラの移動方向、移動開始タイミング、移動継続時間を検出し、
検出された前記コントローラの移動方向、移動開始タイミング及び移動継続時間の、前記指示画像による指示に対する適合度を判定するように構成してもよい。
本発明によれば、操作者に、指示された方向へ、より適切なタイミングで且つ継続して手や腕を移動する動作を行わせることができる。
(4)また、本発明において、
前記指示画像は、
所与の軌跡に沿った前記コントローラの移動方向を指示する移動軌跡指示画像部と、
前記軌跡に沿った前記コントローラの移動タイミングを指示するタイミング指示画像部と、
を含み、指示内容の変更に関連付けて更新表示するように構成してもよい。
本発明によれば、移動軌跡指示画像部で、所与の移動軌跡に沿ったコントローラの移動方向を視覚的に指示し、タイミング指示画像部で、前記軌跡に沿ったコントローラの移動のタイミングを視覚的に指示することができる。このため、プレーヤは指示画像からコントローラの移動態様を視覚的に瞬時に且つ容易に理解することができる。
ここにおいて、移動軌跡指示画像部によって指示される軌跡は、直線であっても、曲線であってもよい。また、コントローラを手にした操作者が、コントローラを上下、左右、前後、あるいはコントローラを手にしたまま一回転するなどといった軌跡を指示してもよい。
また、タイミング指示画像部は、前記移動軌跡指示画像部で指示された所与の軌跡に沿ったコントローラの移動タイミングを指示する画像部であれば、どのような形態の画像部として形成してもよい。例えば、前記コントローラの移動タイミングに合わせて前記移動軌跡に沿って移動するようなタイミング指示画像部として形成してもよく、また前記移動軌跡指示画像部と一体に形成し、移動軌跡指示画像部で指示される所与の軌跡の色を、コントローラの移動タイミングに関連付けて変化させるように形成してもよく、いずれにしても移動タイミングが視覚的に何らかの形でわかるように表示されるものであればよい。
(5)また、本発明において、
前記タイミング指示画像部は、
前記移動軌跡指示画像部に沿って移動開始指示位置から移動継続終了指示位置まで移動することにより、指示された軌跡に沿った前記コントローラの移動開始のタイミング及び移動継続時間を指示するように構成してもよい。
本発明によれば、前記移動軌跡指示画像部に沿ったタイミング指示画像部の移動により、操作者に対し指示された軌跡に沿ったコントローラの移動開始タイミング及び移動継続時間を、視覚的によりわかりやすく認識させることができる。
(6)また、本発明において、
前記移動軌跡指示画像部及び前記指示画像部の少なくとも一方は、
前記移動開始タイミングに先立って表示される予告態様表示から、前記移動開始タイミングに近づくにつれ本表示態様表示に遷移する遷移画像として表示されるように構成してもよい。
本発明によれば、移動開始タイミングに先だって行われる予告態様表示から本表示態様表示への遷移画像により、移動開始タイミング、移動方向等を事前に適切に指示することができる。
(7)また、本発明において、
前記指示画像は、
複数の前記移動軌跡指示画像部を組み合わせて、連続した移動軌跡を指示する一組の移動軌跡指示画像部として表示され、
前記タイミング指示画像部が、連続して組み合わされた前記複数の移動軌跡指示画像部に沿って移動し、各移動軌跡指示画像部で指示された移動の軌跡に沿った前記コントローラの移動タイミングを指示するように構成してもよい。
本発明によれば、複数の移動軌跡指示画像部の組み合わせにより、より複雑で変化に富んだコントローラの移動態様及び移動タイミングの指示を行うことができる。
従って、本発明を例えばダンスゲーム、例えばチアリーダーのダンサーとしてダンスを行うゲーム等に適用した場合には、チアリーダーのダンスと同様に、プレーヤが両手に手にした二つのコントローラを、チアリーダーが両手に持つ二つのボンボンに見立て、そのボンボンを、上下左右のみならず、八の字を描くように振ったり、また両手でボンボンを持ちながら一回転するというような複雑な移動態様での指示を行い、分かり易くて変換に富んだダンスゲームを実現することができる。
ここにおいて、前記検出判定手段による検出判定処理は、一組の移動軌跡指示画像部を構成する各移動軌跡指示画像部による移動指示が行われる毎に、実行する構成にしてもよい。
(8)本発明において、
前記検出判定手段は、
前記物理量センサからの信号を取得し、前記コントローラの単位時間当たりの移動量が所与の値を上回るタイミング及び継続時間を、前記コントローラの移動開始タイミング、移動継続時間として検出し、
検出された前記コントローラの移動方向が前記指示画像により指示された移動方向と適合すると判定された場合に、検出された前記コントローラの移動開始タイミング及び移動継続時間の、前記指示画像により指示された移動開始タイミング、移動継続時間に関連付けて設定された判定用の移動開始タイミング及び移動継続時間に対する適合度を判定するように構成してもよい。
本発明では、検出判定手段は、物理量センサからの信号を取得し、前記コントローラの単位時間当りの移動量が所与の値を上回るタイミング及び継続時間を、コントローラの移動開始タイミング、移動継続時間として検出する。
この時、コントローラの移動を開始してから、単位時間当りの移動量が所与の値を上回る迄の間には、操作者によっても異なるが、所与の遅延時間が発生する。このため、指示画像で指示されたタイミングで仮にプレーヤがコントローラの移動を開始したとしても、その検出が前記所与の時間分だけ遅延することになる。
本発明では、指示画像により指示された移動開始タイミング、移動継続時間に関連付けて「判定用の移動開始タイミング及び移動継続時間」を設定しておき、検出されたコントローラの移動開始タイミングが指示された移動開始タイミングより遅れた場合でも、「判定用の移動開始タイミング及び移動継続時間」に適合している場合には、コントローラの移動態様が指示された移動態様に対する適合度が高いと判定する構成を採用する。
これにより、コントローラの移動開始タイミングの検出の遅れに起因する不都合を解消し、より適切な移動態様に対する判定を行うことができる。
特に、上記「判定用の移動開始タイミング及び移動継続時間」を、操作者のレベルに合わせて、初級、中級、上級用に設定してもよい。例えば、上級用は指示画像の移動開始タイミングと判定用の移動開始タイミングとの時間の遅れを短くし、初心者になるほどその時間遅れを長く設定することにより、ゲームの難易度をこの面から設定することが可能となる。また、前述した「判定用の移動継続時間」は、指示画像で指示される移動開始タイミングに対する、判定用の移動開始タイミングの時間遅れ分だけ短く設定してもよい。また「判定用移動継続時間」を、長くすればするほど難易度を下げることができ、また短くすればするほど難易度を高めることができる。
(9)また、本発明において、
前記検出判定手段は、
前記指示画像で指示される移動方向へ、異なる複数の姿勢にある前記コントローラを移動する際に前記物理量センサから出力される信号に関連付けて、前記コントローラの移動姿勢を判定するための第1の類型判定用データベースに基づき、前記コントローラを移動する際に前記物理量センサから出力される信号と前記第1の類型判定用データベースとを照合し、移動する前記コントローラの姿勢を判定する第1の処理と、
第1の類型判定用データベースに基づき判定される前記コントローラの移動姿勢に関連付けて、前記指示画像で指示される移動方向へ前記コントローラを移動する際に前記物理量センサから出力される信号から前記コントローラの少なくとも移動方向を含む移動態様を判定するための第2の類型判定用データベースに基づき、前記指示画像で指示される移動方向へ前記第1の処理で判定された姿勢で前記コントローラを移動する際に、前記物理量センサから出力される信号と前記第2の類型判定用データベースとを照合し、移動する前記コントローラの少なくとも移動方向を含む移動態様を特定し、特定された移動態様と指示された移動態様との適合度を判定する第2の処理と、
を行うように構成してもよい。
本発明によれば、第1の類型判定用データベースを用いたコントローラの姿勢を判定する第1の判定処理と、第2の類型用判定ベースを用いた、移動するコントローラの少なくとも移動方向を含む移動態様の適合度を判定する第2の処理とを行う。
例えば、コントローラに内蔵した物理量センサとして、コントローラを基準とする空間内の異なるX、Y、Z軸の3軸方向への3つの加速度センサを用いた場合を想定する。この場合、操作者が、コントローラをどのような姿勢で握るかによって、例えば同じ右方向へ移動する場合でもX、Y、Z方向の各方向への各センサから出力される値は異なったものとなる。
このような場合に、移動するコントローラの少なくとも移動方向を含む移動態様のより正確な検出を行うためには、コントローラからどのような姿勢で移動するかを事前に判断し、その移動時の姿勢に関連付けて、例えば、X、Y、Z軸の各センサから出力される信号の値から、移動するコントローラの少なくとも移動方向を含む移動態様を特定することが、より正確な判断を行う上で重要となる。
このため、例えば操作者が指示画像の指示に従って、例えば棒状のコントローラを移動する際に、操作者によって手にされたコントローラがどのような姿勢になるかを基本的な何パターンに分類する。例えば、操作者がコントローラを垂直な姿勢、水平な姿勢、これらの姿勢に対して斜めに傾けた姿勢など、複数種類の基本姿勢を想定する。
そして、これら各異なる基本姿勢に関連付けて、コントローラに内蔵した前記物理量センサから出力される信号を所定の許容幅をもって測定し、これをデータベース化する。この時、例えば操作者がコントローラを垂直な姿勢と思ってコントローラを手にしても、操作者によっては垂直から若干傾いてコントローラを手にしている場合も多く、このような姿勢を、垂直姿勢でないと判断すると、コントローラの基本姿勢の場合分け判定が事実上不可能になる。
このため、ある基本姿勢に対し実際のコントローラ姿勢が所定幅で異なっている場合、例えば、垂直という基本姿勢に対し、実際に操作者が垂直な姿勢と思って手にしているコントローラが垂直から若干傾いている場合でも、基本姿勢(例えば垂直)からの傾きが所定の許容幅にあるコントローラのセンサから出力される信号は、この「所定の許容幅」にあるデータとして収集され当該基本姿勢に関連付けてデータベース化される。
このようにして各基本姿勢に関連付けて「所定の許容幅」をもって収集されデータベース化されたものが、第1の類型判定用データベースである。
そして、本発明では、指示画像で指示される移動方向へコントローラを移動する際に、当該コントローラに内蔵された物理量センサから出力される信号を、前記第1の類型判定用データベースと照合し、当該移動方向へ移動するコントローラの姿勢を判定する第1の判定処理を行う。これにより、操作者がコントローラをどのような姿勢、例えば垂直に持っているか、画面に向けて水平方向に持っているか等を判定することができる。
このような第1の処理によりコントローラの姿勢が判定されると、次にこの姿勢で当該コントローラを指示された方向へ移動した際に、当該コントローラの移動が指示態様に適合しているかを判定する必要がある。
このため、前記第1の類型判定用データベースと同様に、第2の類型判定用データベースを用意する。具体的には、プレーヤがコントローラを持つと想定されるいくつかの基本姿勢毎に、前記指示画像によって指示される方向に各姿勢でコントローラを移動した際に、当該コントローラの物理量センサから出力される信号を収集する。そして、コントローラが各姿勢で移動された場合に物理量センサから出力される信号と、当該コントローラの移動方向とを関連付けて、所与の姿勢でコントローラを移動した際における当該コントローラの移動方向を含む移動態様を特定する為の第2の類型判定用データベースを用意する。
このとき、例えば同じ右方向に移動する場合でも、操作者によっては指示された方向に対して若干蛇行したり膨らんだりした軌跡で移動する場合も多く、このよう移動軌跡での移動態様を指示態様に適合していないと判断すると、子供から大人まで楽しめるゲームとして成立しないという事態が発生してしまうことになる。
このため、指示画像で指示された移動方向、例えば移動軌跡指示部で指示された移動軌跡に対し、コントローラが所定の許容幅をもった移動経路で移動した場合でも、この移動を、当該移動方向への移動と判定する必要がある。
従って、ある基本姿勢にあるコントローラを、指示画像で指示される移動方向、例えば横方向に移動する場合に、物理量センサから出力される信号は、この「所定の許容幅」をもって収集されデータベース化される。指示画像で指示される移動方向は、例えば上下、左右、前後、所定の斜め方向、垂直面に沿った半円または円、水平面に沿った半円または円などである場合には、ある基本姿勢にあるコントローラを、当該各指示方向へ移動したときに得られる所定幅のデータとして収集する。
そして、このように、コントローラを所与の移動方向に移動した際に「所定の許容幅」をもって収集された物理量センサからの出力データと、当該所与の方向とを関連付けたデータを、指示画像で指示される異なる移動方向のそれぞれに対して収集し、データベース化する。このようにして生成されたデータベースが第2の類型判定用データベースである。
そして、第1の処理でコントローラの姿勢を判定すると、第2の類型判定用データベースを用いて、当該判定された姿勢でコントローラを移動する際に物理量センサから出力される「所定の許容幅もった信号」のデータと、コントローラの物理量センサから実際に出力される信号とを照合し、当該コントローラの移動方向を含む移動態様を特定する処理を行う。
例えば、第1の処理で判定された姿勢のコントローラが、どの方向に、単位時間当りどのような移動量で移動しているかを特定する処理をリアルタイムで行う。このようにして求められたコントローラの移動方向及び単位時間当りの移動量に基づき特定される移動方向及び移動タイミングの判定等を行い、この移動の態様が、指示画像で指示された移動の態様と適合しているか否かの判定を行う。
これにより、プレーヤがコントローラをどのような姿勢で持っているかに拘わらず、当該コントローラを指示された方向へ的確に移動しているか否かを判定することができる。
このような第1及び第2の判定処理は、一つの移動態様を指示する指示画像によってコントローラの移動が指示される毎に行うことが好ましく、これにより、順次異なる移動態様でのコントローラの移動が指示され、その都度、コントローラの姿勢が変化しても、このような姿勢の変化に影響されることなくコントローラの移動態様を正確に検出することができる。
なお、前記第1の処理及び第2の処理は、順番に行ってもよく、また例えば、コントローラの物理量センサから出力される信号をバッファに記憶し、前記第1の処理と、第2の処理とを平行して行うように構成してもよい。
また、複数の移動軌跡指示画像部を組み合わせて、連続した移動軌跡を指示する場合には、各移動軌跡指示画像部で指示された移動軌跡及び移動タイミングでの移動をコントローラが行うべき期間に、前記第1及び第2の双方の処理をその都度行ってもよく、また必要に応じて第1の処理を適宜省略し、ある区間については第1及び第2の処理を行い、ある区間については第2の処理のみを行うような構成を採用してもよい。
(10)また、本発明において、
前記指示画像生成手段は、
物理量センサを内蔵した少なくとも2個のコントローラに対し個別に所与の移動態様を指示する指示画像を生成するように構成してもよい。
本発明によれば、操作者の両手に二つのコントローラを把持させ、その二つのコントローラの個々の移動態様を、指示画像により指示することにより、より複雑なコントローラの指示を視覚的に与えることができる。
本発明を例えばダンスゲームや、エクササイズ等を行うスポーツの指示に適用する場合には、操作者の両腕の動きを、コントローラの移動態様として個々に指示することができ、複数の動きを組み合わせたダンスや、エクササイズ等の変化に富んだ指示を、操作者に対し視覚的に分かり易く与えることが可能となる。
また、例えば本発明をダンスゲーム等に適用した場合には、2個のコントローラを一人のプレーヤが両手に持って一人プレーのゲームを行うようにしてもよく、また各プレーヤに1個づつコントローラをもたせて二人プレーヤを行うようにしてもよく、また例えば4個のコントローラを使用可能な態様でシステムを構築した場合には、4人が1個づつコントローラを持って動作の指示を受ける4人プレー用のゲームを構築してもよく、また2人のプレーヤが両手にコントローラを持つ二人プレーヤ用のゲームを構築してもよい。
また、2個のコントローラを両手で持ち一人プレーを行う場合には、各コントローラのそれぞれの操作を個別判定し、個々の操作の判定結果を独立に評価してもよく、また双方の操作を総合的に評価してもよい。
(11)また、本発明において、
プレーヤに前記コントローラの移動を伴うダンスアクションを指示し、前記コントローラの入力に基づき、指示したダンスアクションに関連付けたダンスを行うキャラクタを含むゲーム画面を生成するとともに、ダンスのBGM信号を生成するゲーム演算手段を含み、
前記指示画像生成手段は、
前記ゲーム画像内に前記コントローラの所与の移動態様を指示する指示画像を生成するように構成してもよい。
本発明によれば、指示画像を用いて操作者であるプレーヤに、片手若しくは両手の動きを伴うダンスアクションを指示し、プレーヤが分かり易くリズムに乗ったダンスを楽しめるダンスゲームを提供できる。
特に、本発明では、ゲーム画面上に、指示画像によって指示したダンスアクションに関連付けたダンスを行うキャラクタを登場する。そして、当該ダンスキャラクタがダンスのBGMに合わせてダンスを行うと共に、当該ダンスキャラクタが登場するゲーム画像に、前記ダンスの動きに関連付けたコントローラの所与の移動態様を指示する指示画像が生成表示される。このため、プレーヤはダンスキャラクタ及びBGMに合わせて、指示画像で指示された移動態様でのダンスを行うことが可能となり、プレーヤに対して分かり易く且つ親しみやすいダンスゲームを提供することができる。
(12)また、本発明において、
前記ゲーム演算手段は、
前記検出判定手段の適合度判定結果に関連付けたゲーム演出を行う手段を含むように構成してもよい。
本発明によれば適合度判定結果に関連付けたゲーム演出、例えば指示画像で指示された移動態様でのコントローラの移動が的確に行われた場合には、その旨を表す効果音を発生したり、演出効果画像をゲーム画面上に表示することにより、ゲームをより盛り上げることができる。
特に、複数の連続技を指示画像により指示した場合に、この連続技に対応したコントローラの移動を、連続して成功した場合には、特別なイベントを発生させるという構成を採用し、ゲームの演出効果をより高めることもできる。
(13)また、本発明において、
前記ゲーム演算手段は、
前記検出判定手段の適合度判定結果に基づき、前記コントローラの操作ミスの原因を特定しプレーヤに告知する手段を含むように構成してもよい。
本発明によれば、指示画像による移動態様の指示と、プレーヤの実際の移動態様とが適合しない場合には、そのミスの原因をプレーヤに告知することにより、プレーヤにより正確なコントローラの移動を促すことができる。
例えば、指示画像がコントローラの横移動を指示している場合に、プレーヤのコントローラの移動が斜め移動であった場合には、その旨をプレーヤに告知することにより、プレーヤはより正確な移動軌跡に沿ったコントローラの移動を行うように、自らの動作を修正することができる。これにより本発明を例えばダンスゲーム等に適用した場合には、プレーヤに自分のダンスのミスを修正し、よりレベルの高いダンスゲームにチャレンジするという動機付けを与えることができる。
(14)また、本発明において、
前記ゲーム演算手段は、
前記検出判定手段により検出された前記コントローラの移動経路を、所与の条件に基づきゲーム画面内にトレース表示する手段を含むように構成してもよい。
これにより、操作者は、指示画像で指示された移動態様と、自分が実際にコントローラを移動した移動態様との一致度を視覚的に認識し、例えばダンスゲームを行う場合には、自分のダンス技を更にレベルの高いものに修正し、ゲームを楽しむことができる。
(15)また、本発明において、
前記ゲーム画面に関連付けた位置に設置又は表示された基準位置の認識体を撮像する前記コントローラに内蔵された撮像手段からの撮像信号を取得し、前記コントローラによる前記ゲーム画面上の指示位置を検出する手段を含み、
前記ゲーム演算手段は、
ゲーム進行中に所与のタイミングで前記ゲーム画面の所定位置のポインティングを指示する位置指示画像を表示する手段を含み、
前記タイミングで前記所定位置のポインティングが検出された場合には、前記所定位置のポインティングに関連付けたイベントを発生させるように構成してもよい。
前記基準位置の認識体は、撮像画像からコントローラのゲーム画面内のポインティング位置が特定できるものであればよく、例えば前記ゲーム画面に関連付けた位置に設置された認識物、例えば少なくとも2つの光源や認識可能な物体であってもよく、ゲーム画面内に表示される認識用画像であってもよい。
例えば前記2つの光源を、ディスプレイの周囲に設置し、これをコントローラに内蔵された撮像手段で撮像することにより、撮像画面内においてコントローラとゲーム画面との相対位置関係を把握させ、コントローラがゲーム画面のどの位置をポインティングしているかをCPUに認識させることができる。
本発明では、ゲーム進行中に、ゲーム画面内の所与の位置に対する所与のタイミングでのポインティングを指示する位置指示画像を生成表示する。
そして、コントローラを用い、前記指示に従ったゲーム画面内のポインティングが成功した場合には、所定のイベント、例えばダンスゲームの場合には、ゲーム画面に登場するバックダンサーの数が増えるというイベントや、ゲーム画面内でダンスする複数のバックダンサーが、特別な演技を実行するというようなイベントを発生させ、ゲームをより変化に富んだ面白いものとすることができる。
(16)また、本発明において、
前記指示画像生成手段は、
前記所定位置の指示に関連付けたイベントとして、指示されたゲーム画面の前記所定位置に関連付けて、前記コントローラの所与の移動態様を指示する指示画像を生成するように構成してもよい。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
以下の実施形態では、本発明をゲームシステムに適用する場合を例に取り説明する。
1.システム概略
図1は、本実施形態のゲームシステムの概略外観図である。
本実施形態のゲームシステムは、表示画面11にゲーム画像を表示させる表示部12と、ゲーム処理等を行うゲーム機10(ゲーム機本体)と、プレーヤPが両手に把持して所定範囲内での位置、向きを任意に変更可能な第1のコントローラ20−1、第2のコントローラ20−2(操作入力手段)とを含む。
なお図1の例では、ゲーム機10と各コントローラ20−1、20−2との間では無線通信により種々の情報を送受信する。
図2は、本実施形態のコントローラ20の概略外観図である。
コントローラ20には、操作部の一部として十字キー16aと操作釦16bが設けられている。
さらに、コントローラ20には、コントローラの傾きや動きに応じて変化する情報を検出する物理センサとして加速度センサ210を内蔵し、実空間内におけるコントローラ自体の傾きや動きに関する情報を取得できるようになっている。
本実施形態の加速度センサ210は、3軸加速度センサ210(検出部)として形成され、コントローラの傾きの向きと傾きの大きさを各コントローラにかかる3軸それぞれの加速度ベクトル(傾き情報)として検出する。
またこの加速度センサ210は、コントローラ自体の動きに応じてコントローラの速度、向きが一定時間にどの位変化したか、コントローラ自体の動きをコントローラにかかる3軸それぞれの加速度ベクトル(動き情報)として検出することができる。
そして図1に示すように、プレーヤPが第1、第2のコントローラ20−1、20−2を把持しながら手を動かして、各コントローラ自体の傾き、動きを変化させると、かかる傾き、動きに応じて変化する情報に基づいて、ゲーム機10では、実空間内でのコントローラ20−1、20−2自体の傾き、動きを検出判定し、ゲームを制御する。
本実施形態のゲームシステムでは、図5に示すダンスゲーム画面を表示し、更に、このゲーム画面内に、ゲームの進行に伴い指示画像340を表示する。指示画像340は、コントローラを把持したプレーヤに対しての実空間内におけるコントローラの種々の移動態様を指示する。
そして、コントローラ20を手にしたプレーヤは、指示画像で指示されるコントローラの移動態様を見ながら、当該移動態様に従ってコントローラを実空間内で移動させる。
このとき、ゲーム機10は、前記コントローラ20の加速度センサ210からの信号を取得し、コントローラの実空間内での移動態様を検出する。そして、検出されたコントローラの実空間内での移動態様の、前記指示画像で指示された移動態様に対する適合度を判定する。
そして、判定結果に基づき、所与のイベントやゲーム演出効果を発生させる。
このようにして、コントローラ20を手にしたプレーヤPに対し、例えば所与の振り付けのダンス動作の指示を前記指示画像340を用いて行い、プレーヤにダンスゲームを分かり易く実行させることができる。
また、コントローラ20には、表示画面11上の任意の位置を指示(ポインティング)するポインティング機能が設けられている。
このため、表示部12の周囲には、表示画面11と関連付けた位置に基準位置認識体として一対の光源198R、198Lが配置されている。ここでは、表示部12の上辺に沿って所定間隔で一対の光源198R、198Lが配置され、非可視光である赤外線が投射されるように形成されている。さらに、コントローラ20の前面側には、コントローラ前方を撮像する撮像部220が設けられている。
そして、コントローラ20による表示画面11内のポインティング位置は次のようにして求められる。
図3に示す矩形の領域は、撮像部220(イメージセンサ)が取得した撮像画像PAである。撮像画像PAは、コントローラ20の位置、向きに応じた画像となる。
まず、前記撮像画像PAに含まれる光源198Rを撮像した領域RA、光源198Lを撮像した領域LAのそれぞれの位置RP、LPを求める。なお、位置RP、LPは、撮像画像PAにおける2次元座標系(XY軸の座標系)によって特定できる位置座標である。一対の光源198R、198Lの距離と、表示画面11と関連付けた一対の光源198R、198Lの相対位置は予め判明している。従って、ゲーム機10は、求められた位置RP、LPの座標から、コントローラ20を用いた表示画面11内における指示位置(ポインティング位置)を求めることができる。
すなわち、本実施形態では、撮像画像PAの原点Oをコントローラ20が指示するポインティング位置として求める。このポインティング位置は、撮像画像PAの原点Oと、撮像画像PAにおける特定位置RP、LPと、撮像画像PAにおける表示画面11に対応する領域である表示画面領域DAとの相対的な位置関係から求める。
図3の例では、特定位置RP、LPが、撮像領域PAの中央よりもやや上方において、撮像領域PAの基準線L(X軸)に対して時計回りにθ°回転された状態で形成されている。従って図3の例では、原点Oは表示画面領域DAの右下部の所定位置に対応させることができ、表示画面11上における撮像部220を用いたコントローラ20の指示位置(ポインティング位置)の座標を求めることができる。
本実施形態のゲームシステムでは、表示画面11上に例えば図6に示すゲーム画像が表示される。このゲーム画像では、ダンスゲームの進行に伴い、例えば左手または右手に持った第1、第2のコントローラ20−1、20−2を用いて、ゲーム画像内の所定位置を所与のタイミングでポインティングすることを指示する位置指示画像350が表示される。この位置指示画像で指示されたポインティング位置を、所定のタイミングでプレーヤが第1、第2のコントローラ20−1、20−2を用いて指示すると、ゲーム機10は、当該所定位置のポインティングがタイミング良く指示されたか否かを判定し、当該ポインティング動作が適切に行われた場合には、所定のイベント、例えばダンスゲームの場合には、ゲーム画像中に登場するバックダンサーの数が増える等といったイベントを発生するゲーム演出処理を行う。
前記基準位置の認識体は、撮像画像からコントローラのゲーム画面内のポインティング位置が特定できるものであればよく、例えば前記ゲーム画面に関連付けた位置に設置された認識物、例えば少なくとも2つの光源や認識可能な物体であってもよく、ゲーム画面内に表示される認識用画像であってもよい。例えば、ゲーム画面の所定位置に基準位置認識用の2個の画像を認識体として表示してもよい。また、認識体は必ずしも2個必要ではなく、表示画面11との相対位置関係が特定できる形状をした認識体であればよく、その数は一個でもよい。
2.構成
図4は、本実施形態のゲームシステムの機能ブロック図の一例である。なお本実施形態のゲームシステムでは、図1の各部を全て含む必要はなく、その一部を省略した構成としてもよい。
本実施形態のゲームシステムは、ゲーム機10と、入力手段としてのコントローラ20と、情報記憶媒体180、表示部(表示装置)190、スピーカー192、光源198R、198Lとを含む。
コントローラ20は、加速度センサ210、撮像部220、スピーカー230、振動部240、マイコン250、通信部260によって構成されている。また、コントローラ20は、画像入力センサ、音入力センサ、加圧センサを備えていてもよい。
加速度センサ210は、3軸(X軸、Y軸、Z軸)の加速度を検出する。すなわち、加速度センサ210は、上下方向、左右方向、及び、前後方向の加速度を検出することができる。なお、加速度センサ210は、5msec毎に加速度を検出している。また、加速度センサは、1軸、2軸、6軸の加速度を検出するものであってもよい。なお、加速度センサから検出された加速度は、通信部260によってゲーム機に送信される。
撮像部220は、赤外線フィルタ222、レンズ224、撮像素子(イメージセンサ)226、画像処理回路228を含む。赤外線フィルタ222は、コントローラの前方に配置され、表示部190に関連付けられて配置されている光源198から入射する光から赤外線のみを通過させる。レンズ224は、赤外線フィルタ222を透過した赤外線を集光して撮像素子226へ出射する。撮像素子226は、例えば、CMOSセンサやCCDのような固体撮像素子であり、レンズ224が集光した赤外線を撮像して撮像画像を生成する。撮像素子226で生成された撮像画像は、画像処理回路228で処理される。例えば、撮像素子226から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報(特定位置)を検出する。なお、光源が複数存在する場合には、撮像画像上の位置情報を検出する。また、検出した位置情報は、通信部260によって、ゲーム機に送信される。特に、本実施形態は、コントローラ20をゲーム画面上の位置情報をポインティングするポインティング装置として利用してもよい。
スピーカー230は、ゲーム機から通信部260を介して取得した音を出力する。本実施形態では、ゲーム機から送信された確認音やモーションに応じた効果音を出力する。
振動部(バイブレータ)240は、ゲーム機から送信された振動信号を受信して、振動信号に基づいて作動する。
マイコン(マイクロコンピュータ)250は、受信したゲーム機からのデータに応じて、音を出力する制御や、バイブレータを作動させる制御を行う。また、加速度センサ210が検出した加速度を通信部260を介してゲーム機に送信させる処理を行ったり、撮像部220によって検出された位置情報を、通信部260を介してゲーム機10に送信させる処理を行う。
通信部260は、アンテナ、無線モジュールを含み、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて、ゲーム機とデータを無線で送信受信する。なお、本実施形態の通信部は、加速度センサ210によって検出された加速度や撮像部220において検出した位置情報等を、4msec、6msecの交互の間隔でゲーム機に送信している。なお、通信部260は、ゲーム機と通信ケーブルで接続し、当該通信ケーブルを介して情報の送受信を行うようにしてもよい。
なお、コントローラ20は、ボタン、レバー(アナログパッド)、マウス、十字キー、タッチパネル型ディスプレイなどの操作子を更に設けてもよい。また、コントローラ20はプレーヤの入力動作によって変化する角速度を検出するジャイロセンサを備えていてもよい。
次に、本実施形態のゲーム機10について説明する。
本実施形態のゲーム機10は、記憶部170、処理部100、通信部196によって構成される。
記憶部170は、処理部100や通信部194などのワーク領域となるもので、その機能はRAM(VRAM)などのハードウェアにより実現できる。
特に、本実施形態の記憶部170は、主記憶部172、描画バッファ174、音データ記憶部176を含む。
主記憶部172は、処理部100や通信部194などのワーク領域となるもので、その機能はRAM(VRAM)などのハードウェアにより実現できる。
本実施形態において、主記憶部172内には、後述する第1及び第2の類型判定用データベースを記憶する記憶領域173が設けられている。
また、描画バッファ174は、描画部120において生成された画像を記憶する。
また、音データ記憶部176は、プレーヤの入力動作に対するコントローラの反応を示す確認音や、ゲーム演算処理に伴い出力される効果音を記憶する。なお、確認音は、検出情報に応じて複数種類記憶する。また、効果音は、モーションや、所与のイベントに応じて複数種類記憶する。
そして処理部100は、この情報記憶媒体180に格納されるプログラム(データ)から読み出されたデータに基づいて本実施形態の種々の処理を行う。即ち、情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。なお情報記憶媒体180は、メモリカードに、プレーヤの個人データやゲームのセーブデータなどを記憶するものも含む。
通信部196は、ネットワーク(インターネット)を介して他のゲーム機と通信することができる。その機能は、各種プロセッサまたは通信用ASIC、ネットワーク・インタフェース・カードなどのハードウェアや、プログラムなどにより実現できる。また、通信部196は、有線、無線いずれの通信も行うことができる。
また、通信部196は、アンテナ、無線モジュールを含み、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて、コントローラ20の通信部260を介して、コントローラ20とデータを送受信する。例えば、通信部196は、確認音、効果音等の音データ、及び、振動信号を、コントローラに送信し、コントローラ20において、加速度センサや撮像画像センサによって検出された情報を、4msec、6msecの交互の間隔で受信する。
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバが有する、記憶部、情報記憶媒体からネットワークを介して情報記憶媒体180(または、記憶部170)に配信するようにしてもよい。このようなサーバの情報記憶媒体の使用も本発明の範囲に含まれる。
処理部100(プロセッサ)は、コントローラ20から受信した検出情報や情報記憶媒体180から記憶部170に展開されたプログラム等に基づいて、ゲーム演算処理、画像生成処理、或いは音制御の処理を行う。
特に本実施形態の処理部100は、指示画像生成部102、ポインティング位置指示部104、検出判定部110、ゲーム演算部112、描画部120、音制御部130、振動制御部140として機能する。
指示画像生成部102は、ゲーム画面内に、前記コントローラ20の所与の移動態様を指示する指示画像を生成する処理を行う。より具体的には、コントローラ20の所与の移動態様として、前記コントローラ20の移動方向及び移動タイミングを指示する指示画像340を生成する処理を行う。
前記ポインティング位置指示部104は、進行中にゲーム画面内の所定位置を所与のタイミングでポインティングすることを指示する位置指示画像(ポインティング指示画像)350を生成する処理行う。
検出判定部110は、コントローラ20の加速度センサ210から得られる情報に基づき、コントローラ20の移動態様を検出し、検出されたコントローラ20の移動態様が、前記指示画像で指示された移動態様に対しどの程度適合したかの適合度の判定を行う。
更に、検出判定部110は、前記コントローラ20に内蔵された撮像部220からの情報に基づき、前記コントローラ20による前記ゲーム画面上のポインティング位置を検出判定し、検出されたポインティング位置の指示が、前記位置指示画像で指示された所定タイミングで適切になされたか否かの判定処理を行う。
ゲーム演算部112は、前記検出判定部110の判定結果及び所与のプログラムに基づき、ゲーム演算を行う。
例えば、ゲーム演算部112は、キャラクタ(プレーヤキャラクタ、敵キャラクタ)、移動体(車、飛行機など)、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面またはサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
また、ゲーム演算部112は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)または回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
例えば、仮想カメラによりオブジェクト(例えば、キャラクタ等)を後方から撮影する場合には、オブジェクトの位置または回転の変化に仮想カメラが追従するように、仮想カメラの位置または回転角度(仮想カメラの向き)を制御する。この場合には、後述するモーション生成部124で得られたオブジェクトの位置、回転角度または速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)または回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
また、ゲーム演算部112は、モデル(キャラクタ、車、飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち、所定条件を満たすと判定された検出情報、プログラム(移動・動作アルゴリズム)や、モーションデータなどに基づいて、モデルをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
描画部120は、処理部100で行われる種々の処理(ゲーム演算処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず表示物(オブジェクト、モデル)を定義する各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含む表示物データ(オブジェクトデータ、モデルデータ)が入力され、入力された表示物データに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、表示物を構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
なお描画部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして描画部120は、表示物を描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、表示物に関して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)の表示物データ(表示物の頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、主記憶部171に保存される。
テクスチャマッピングは、記憶部170に記憶されるテクスチャ(テクセル値)を表示物にマッピングするための処理である。具体的には、表示物の頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャを表示物にマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディングまたは減算αブレンディング等)のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより2つの色を合成した色を求める処理を行う。
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えばRGBの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
音制御部130は、処理部100で行われる種々の処理(判定処理、ゲーム演算処理等)の結果に基づいて音データ記憶部176に記憶されている音(確認音、効果音を含む)を、コントローラのスピーカー230及びスピーカー192の少なくとも一方から出力させる処理を行う。
本実施形態の音制御部130は、検出判定部110において所定条件を満たすと判定された場合に、スピーカーから確認音を出力させる。また、音制御部130は、検出情報に応じた確認音をスピーカーから出力させてもよい。また、音制御部130は、コントローラに設けられたスピーカー230のみから確認音を出力させ、スピーカー192からゲーム演算処理に応じた効果音、例えば、検出情報に基づき決定されたモーションに応じた効果音を出力させるようにしてもよい。
振動制御部140は、所定条件に基づき、コントローラに設けられた振動部240に振動させる処理を行う。
なお、本実施形態のゲームシステムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つのゲーム機、表示部を用いて生成してもよい。また、ネットワーク(伝送ライン、通信回線)などで接続された複数のゲーム装置を用いて分散処理により生成してもよい。また、本実施形態は、複数のプレーヤでゲームを行う場合には、複数のプレーヤのコントローラ毎に、検出情報に基づいて所定条件を満たすか否かの判定や、判定結果に基づく音制御や、振動制御を行う。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。
表示部190は、処理部100により生成された画像を出力するものであり、その機能は、CRTディスプレイ、LCD(液晶ディスプレイ)、OELD(有機ELディスプレイ)、PDP(プラズマディスプレイパネル)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
スピーカー192は、音制御部130により再生する音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。なお、スピーカー192は、表示部に備えられたスピーカーとしてもよい。例えば、テレビ(家庭用テレビジョン受像機)を表示部としている場合には、テレビのスピーカーとすることができる。
光源198は、非可視光である赤外線を発光する例えばLEDであり、表示部190に関連付けられて配置される。なお、本実施形態は、複数の光源(光源198Rと光源198L)とを備え、光源Rと光源Lとの距離は所定間隔を有するように設置されている。
3.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
3−1:本実施形態で実行されるゲーム及び指示画像の表示処理
図5には、本実施形態で行われるゲーム画面の一例が示されている。
本実施形態のゲームシステムで実行されるゲームは、プレーヤがチアダンスチームのリーダーとなって、チーム全体のダンスをリードしつつ、周囲のメンバー達にダンスの指示を与えて、ダンスシーンの成功を目指すという内容のゲームとして構成されている。
図5に示すように、ゲーム画面内には、BGM音楽のビートを表す花柄のビートキャラクタ330が画像表示され、ビートに合わせてビートキャラクタ330は点滅表示される。
また、ゲーム画面内には、両手にボンボンを持ったメインダンサー310と、その背後に複数のサブダンサー312−1、312−2が表示される。
メインダンサー310は、チアリーダーとしてプレーヤの操作に対応したダンスを再現するプレーヤキャラクタである。
指示画像生成部102は、ゲームの進行に伴い、プレーヤが両手に持つ第1、第2のコントローラ20−1、20−2の移動態様を指示する一対の指示画像340−1、340−2を生成表示する処理を行う。本実施形態では、前記指示画像340はゲームの進行に伴い、予め定められた順番で所与の時間間隔ごとに表示される。
図5では、プレーヤキャラクタであるメインダンサー310の両側に、プレーヤが両手に持つ第1、第2のコントローラ20−1、20−2の移動態様を指示する一対の指示画像340−1、340−2が表示されている。
指示画像340−1は、プレーヤの右手に持った第1のコントローラ20−1の操作を指示するものであり、指示画像340−2は、プレーヤの左手に持った第2のコントローラ20−2の操作を指示するものである。
これらの指示画像340−1、340−2は、ゲームの進行に伴いゲーム画面内の所与の位置に表示され、プレーヤに対して、対応するコントローラ20−1、20−2の所与の移動態様、具体的には移動方向及び移動タイミング、更には移動継続時間を指示する。
本実施形態の指示画像340は、コントローラの移動方向を指示する移動軌跡指示画像部であるトレースレール342と、移動タイミングを指示するタイミング指示部としてのタイミングマーク344と、移動継続時間の終了を指示する操作終了マーク346とを含む。
そして、タイミングマーク344は、トレースレール342の一端側に表示され、操作終了マーク36はトレースレール342の他端側に固定表示される。
そして、コントローラ20の操作開始タイミングに同期して、タイミングマーク344はトレースレール342に沿って、コントローラ20の移動方向に向け移動を開始し、移動継続時間の終了タイミングで操作終了マーク346に到達する。
これにより、プレーヤはトレースレール342と、このトレースレール342上を移動するタイミングマーク344により、コントローラの移動タイミングと移動方向を知ることができ、更にタイミングマーク344が操作終了マーク346に到達することにより、操作継続時間の終了を理解することができる。
なお、タイミングマーク344がトレースレール342に沿って移動し操作終了マーク346に到達すると、同一のトレースレール342上に次のタイミングマーク344が表示され、移動を開始することにより、プレーヤに対し同じ動作指示を繰り返し行ってもよい。
図5に示すゲーム画像では、トレースレール342には、コントローラを上方向に移動する移動態様を指示しているが、本実施形態ではこれ以外にも他の方向、例えば右横方向、左横方向、右斜め上方向、左斜め上方向、下方向、右下方向、左下方向、前後方向(奥行き方向、手前方向)等の各種基準方向への移動を指示する指示画像340を生成表示するように構成されている。
なお、前後方向(奥行き方向、手前方向)への移動を指示する指示画像340は、例えば、ゲーム画面のゲーム空間内でトレースレール342を奥行き方向から手前方向に向けて表示し、このトレースレール342に沿ってタイミングマーク344を奥行き方向から手前方向へ又はその逆方向へ移動するように形成すればよい。
図7(A)(B)には、プレーヤに対して右回りターンを指示する指示画像340が表示され、図7(C)には、プレーヤに対してコントローラを前に移動するパンチ動作を指示する指示画像340が表示される。
本実施形態では、ゲームが開始されると、ゲーム進行に伴いBGMのリズムにのったプレーヤに対するダンスアクションの指示が、前記指示画像340の表示が次々と行われる。
特に、本実施形態ではゲーム画面上に、指示画像340によって指示されたダンスアクションに関連づけたダンスを行うメインダンサー310が登場し、当該メインダンサー310及びサブダンサー312がダンスのBGMに合わせてダンスを行う。プレーヤはBGMを聞きながら、更にゲーム画面内におけるメインダンサー310を見ながら、次々と表示される指示画像340−1、340−2の指示に従って実空間内で第1及び第2のコントローラ20−1、20−2、即ち両腕を、指示された移動態様に従って移動しながら、あたかもチアダンサーのリーダーになってリズムにのったダンスを行う雰囲気を楽しむことができる。
また、本実施形態では、プレーヤに複雑な移動態様の指示を行うことができるよう、移動軌跡指示画像部であるトレースレールを複数組み合わせて、連動した移動軌跡を指示する一組の移動軌跡指示画像部を生成表示する。
図8(A)は、コントローラ20をほぼ八の字に移動することを指示する一組の指示画像340の一例であり、移動方向を異にする4本のトレースレール342−1〜342−4を組み合わせて表示している。
そして、これら4本のトレースレール342−1〜342−4上を、前記タイミングマーク344が順次移動することにより、プレーヤに対して対応するコントローラの移動方向及び移動タイミング、更には移動継続時間を視覚的に分かり易く指示している。
同様に、図8(B)には、円弧状をした複数のトレースレール342−1、342−2が組み合わせられて時計方向にコントローラ20を円を描くように移動することを指示する一組の指示画像340が示される。
このように、複数のトレースレール342を連続して組み合わせて表示することにより、例えば図8(A)に示す指示画像では、プレーヤにあたかもボンボンを8の字型に移動するというダンス操作を指示することができ、同図(B)では、ボンボンを時計方向に振り回して移動するという指示を与えることができる。
図9には、コントローラ20の移動開始タイミングをより分かり易くプレーヤに指示する指示画像340の一例が示されている。
本実施形態では、移動軌跡指示画像部であるトレースレール342及び指示画像部であるタイミングマーク344を、移動開始タイミングに先だって表示される予告態様表示から、移動開始タイミングに近づくにつれ本表示態様表示に遷移する遷移画像として表示する。
即ち、図9(A)に示すトレースレール342が、コントローラの移動開始タイミングの2ビート前に、色の薄い点線で予告表示される。そして、移動開始タイミングの1ビート前になると、図9(B)に示すようにトレースレール342がより明確な実線に遷移した画像として表示され、さらにタイミングマーク344が出現し、操作タイミングが近いことを予告表示する。
そして、操作タイミングが到来すると、図9(C)に示すように、トレースレール342は、操作タイミングが到来したことを示す形状に変化して表示され、さらにタイミングマーク344は、移動開始点から移動終了点に向けてトレースレール342に沿った移動を開始する。この時のタイミングマーク344の移動に合わせて、対応するリモートコントローラ20をトレースレール342が示す方向へ移動することがプレーヤに指示される。
そして、図9(D)に示すように、タイミングマーク344がトレースレール342上を移動すると、移動を終了した経路は順次消滅していき、タイミングマーク344が操作終了マーク346に到達した時点で、移動継続時間の終了が指示されることになる。
以上のように、本実施形態によれば、移動開始タイミングに先だって行われる予告表示態様から本表示態様表示での遷移画像により、移動開始タイミング及び移動方向を事前に適切にプレーヤが認識でき、プレーヤはコントローラ20を指示される方向へ移動する準備を行うことができる。
なお、遷移画像は、透明から本表示態様表示に遷移する遷移画像として表示してもよく、また画面の奥行き方向から透明度や大きさを変化させながら本表示される位置に移動する遷移画像として表示してもよい。
また、移動軌跡指示画像部であるトレースレール342及び指示画像部であるタイミングマーク344の表示形態を、プレーヤに指示を行うタイミングにあわせて変化させる処理を行ってもよい。
例えば、指示画像部であるタイミングマーク344の色彩、形状、大きさなどの少なくともいずれか一つの表示形態を、タイミングマーク344が操作終了マーク346に近づくにつれて視認性及び演出効果が高くなるように変化させてもよい。
また、トレースレール342上をタイミングマーク344が移動する際に、トレースレール342及びタイミングマーク344の少なくとも一方の、色彩、形状、大きさなどの少なくともいずれか一つの表示形態を視認性及び演出効果が高くなるように変化させてもよい。
3−2:コントローラの移動態様の検出判定処理
本実施形態の検出判定部110は、指示画像340によりコントローラ20に対する所与の移動態様での移動が指示されると、プレーヤによるコントローラ20の実際の移動態様を検出し、指示された移動態様に対する適合度を判定する処理を行う。
以下にその詳細を説明する。
コントローラ20の姿勢検出(第1の処理)
本実施形態では、コントローラ20の移動方向及び移動開始タイミングを、加速度センサ210によって検出された加速度に基づいて算出することができる。
本実施形態の加速度センサ210は、コントローラを基準とした空間内の異なる3軸(X軸、Y軸、Z軸)方向の加速度を検出する。
例えば、分かり易く説明するために、2軸(XY軸)において、コントローラ20の重力加速度を算出する手法について図10(A)(B)を用いて説明する。図10(A)は、実空間座標系における重力加速度を示す図であり、図10(B)は、コントローラ20を基準とするコントローラ20の座標系における重力加速度を示す図である。
例えば、図10(A)に示すように、コントローラ20を水平状態に置いた場合(かかる場合、コントローラ20に備えられた加速度センサ210も水平状態であるとする)では、Y軸下方向(重力加速度の方向)に1Gの重力がかかる。一方、図10(B)に示すように、コントローラ20座標系においても、y軸の下方向に1Gの重力がかかる。そして、プレーヤがコントローラ20を、実空間座標系のXY軸上を反時計回りに45度に傾けると、図10(A)に示すように、実空間座標系ではY軸方向に1Gの重力加速度であるが、図10(B)に示すように、コントローラ座標系では、1Gの重力加速度がx軸、y軸のそれぞれに分解される。つまり、x軸方向の成分、y軸方向の成分は、それぞれ1/√2Gとなる。
このように、本実施形態では、重力加速度を利用してコントローラ20自体の傾きを検出している。つまり、図9(B)の例ではx軸のマイナス方向に1/√2G、y軸のマイナス方向に1/√2Gの加速度を検出した場合には、実空間座標系のXY軸上を反時計周りに45度傾いていることを検出することができる。本実施形態では、3軸の加速度を検出できるので、各軸における加速度の値から実空間内での3次元での傾きを算出することができる。
以上のことから、プレーヤがコントローラ20を垂直に持って所与の方向(例えば右方向)に移動した場合と、コントローラ20を水平に持って当方向に移動した場合とでは、加速度センサ210の3軸(X軸、Y軸、Z軸)方向のそれぞれに対して出力される値は異なったものとなることが理解される。
このため、コントローラ20の移動方向等を正確に検出するためには、これに先だって、コントローラ20の実空間内での姿勢を検出するという第1の処理を行うことが好ましい。
本実施形態では、図11に示すように、コントローラの実空間内での姿勢を判定するための第1の類型判定用データベースが形成され、主記憶部172の記憶領域173に記憶されている。具体的にはプレーヤがコントローラ20を持つ姿勢のバリエーションを考慮し、コントローラ20の実空間内での姿勢を複数の基本姿勢に分類分けする。本実施形態では、縦、右斜め、左斜め、水平、その他の基本姿勢に類型分けする。そして、各基本姿勢に対応して、コントローラ座標系のx、y、z軸の各加速度センサの出力を対応付けて記憶する。従って、加速度センサ210のx、y、z軸方向への出力に基づき、コントローラ20の実空間内での姿勢を判定する第1の処理を実行することができる。
この時、例えばコントローラ20の基本姿勢と、コントローラ座標系のx、y、z軸の各加速度センサの出力との対応付けを厳密に行うと、基本姿勢から若干ずれた姿勢でプレーヤがコントローラ20を持っている場合に、当該コントローラの姿勢を判断できなくなってしまうという事態が発生する。
本実施形態のゲームは、子供から大人まで幅広いユーザーを対象としているため、基本姿勢から多少ずれた姿勢でプレーヤがコントローラ20を手にしていても、当該姿勢を基本姿勢として判断できるように、各基本姿勢に対し所定の許容幅を持った姿勢を、対応する基本姿勢と判断できるように第1の類型判定用データベースを構築する必要がある。
このため、ある基本姿勢に対し実際のコントローラ20の姿勢が所定幅で異なっている場合、例えば垂直という基本姿勢に対し、実際に操作者が垂直と思って手にしているコントローラが垂直から所定の許容範囲で傾いているときに加速度センサから出力される信号も、当該基本姿勢に対応付けたセンサ出力として収集し、データベース化する。
このようにして、各基本姿勢に関連付けて「所定の許容幅」をもってデータを収集しデータベース化されたものを、第1の類型用判定ベースとして使用する。
そして、本実施形態では、指示画像34で指示される移動方向へのコントローラ20を移動する際に、当該コントローラ20に内蔵された加速度センサから出力されるx、y、z軸方向の各信号を、第1の類型用判定用データベースと照合し、当該移動方向へ移動するコントローラの姿勢がどの基本姿勢に該当するかを判定する第1の判定処理を行う。
これにより、操作者がコントローラ20をどのような姿勢、例えば垂直に持っているか、画面に向けて水平に持っているか等の姿勢判定を柔軟に行うことができる。
コントローラ20の移動態様の検出判定(第2の処理)
第1の処理によりコントローラ20の実空間内での基本姿勢が判定されると、次に実空間内でのコントローラ20の移動方向を含む移動態様を検出する第2の処理が行われる。
この第2の処理を実行するため、本実施形態では図12に示す第2の類型判定用データベースが用いられる。当該第2の類型判定用データベースは、主記憶部172の記憶領域173に記憶されている。
この第2の類型判定用データベースは、以下のように生成される。
まず、図11に示すコントローラ20の基本姿勢毎に、前述した指示画像340によって指示される方向にコントローラ20を実空間で移動した際に、当該コントローラ20の加速度センサから出力されるx、y、z方向の信号を収集する。
そして、コントローラ20が各基本姿勢で移動された場合に加速度センサ210からをもって出力される信号を、当該コントローラ20の実空間内での移動方向と関連付けて第2の類型判定用データベースを作成する。
この時、コントローラ20を、同じ基本姿勢で同一指示方向(例えば右方向)に移動する場合でも、指示された方向に対して若干蛇行したり膨らんだりした軌道でコントローラ20を移動するプレーヤも多く、このような移動軌跡での移動態様を、指示された移動方向への移動態様に適合していないと判定すると、子供から大人まで楽しめるゲームとして成立することが難しいという事態が発生する恐れがある。
そのため、ある基本姿勢にあるコントローラ20を、指示画像で指示される移動方向に移動する場合に、加速度センサ210から出力されるx、y、z軸方向への信号は、「所定の許容幅」をもって収集されデータベース化される。例えば指示画像340で指示される方向に対し、所定の許容幅をもってずれた軌跡を描きながら移動する場合でも、このような所定の許容幅でずれた軌跡で移動する際に得られる加速度センサの出力信号を当該指示された基本姿勢に対応する信号として収集し、データベース化する。
本実施形態では、各基本姿勢にあるコントローラ20に対し、右方向、右斜め上方向、左斜め上方向、上方向、下方向、下斜め右方向、下斜め左方向、前方向、後方向、時計回り方向、反時計回り方向、その他の方向という各基本移動方向毎にデータを分類分けし、各分類分けされた各基本移動方向と対応付けて、加速度センサから出力されるx、y、z軸の各信号を「所定の許容幅」をもって収集しデータベース化する。
このようにして、図12に示す第2の類型判定用データベースを生成する。尚、図12では、一つの基本姿勢に対するデータベースを例示したが、図11に示す他の基本姿勢に対しても同様にデータが収集されデータベース化される。
そして、前述したように第1の処理でコントローラ20の姿勢を判定すると、第2の類型判定用データベースを用いて、当該判定された姿勢に対応するデータと、コントローラ20の加速度センサから実際に出力される信号とを照合し、当該コントローラ20の移動方向を含む移動態様を特定する処理を行う。
即ち、第1の処理で判定された姿勢のコントローラ20は、どの方向に、単位時間当りどのような移動量で移動しているかを特定する処理をリアルタイムで行う。そして、このようにして求められたコントローラ20の移動方向及び単位時間当りの移動量に基づき、コントローラ20の実空間内での移動方向及び移動タイミングの判定、更には移動継続時間の判定行い、この移動の態様が指示画像340で指示された移動の態様と適合しているか否かの評価判定を行う。
このようにすることにより、プレーヤがコントローラ20をどのような姿勢で持っているかに拘わらず、当該コントローラ20を指示された方向へ指示に従い移動しているか否かを評価判定することができる。
本実施形態では、図4に示す各指示画像340−1、340−2による指示に対して、第1及び第2のコントローラ20−1、20−2の移動態様は個別に評価判定される。
そして、各コントローラ20−1、20−2のそれぞれの入力が個別に成功したと判定された場合(指示された入力タイミングで指示方向へ所定の継続時間移動したと判定された場合)には、各判定結果毎にスコアに500点加算され、スコア320として表示される。第1及び第2のコントローラ20−1、20−2の両方の入力が正解入力であると判定された場合には、合計1000点がスコア320に加算されることになる。
この時、ゲーム画面中に表示されるメインダンサー310は、プレーヤの操作に対応したダンスを再現するように動作する。
なお、各コントローラ20−1、20−2のそれぞれの入力の双方が成功したと判定された場合には、一方のみが成功した場合に比べて、より高い評価を行うように形成してもよい。
更に、図5に示すゲーム画面の右上には、プレーヤの操作を評価表示エリア322が設けられ、入力方向とタイミングが正しければ「COOL」と表示され、方向が間違ってたり、タイミングが合ってなければ「POOR」と表示される。
また、前記評価判定の結果に基づき、図13に示す演出画面を表示するように構成してもよい。
例えば、前記適合度の判定結果に基づき、コントローラ20の操作ミスの原因を特定し、図13(A)、(B)に示すように、タイミングのミスを指摘し、またはコントローラの振り方のミスを指摘する演出画面を表示してもよい。
このようにミスの原因をプレーヤに告知することにより、プレーヤに正しいコントローラ20の移動を促すことができ、これにより、プレーヤは、自分のダンスのミスを修正し、よりレベルの高いダンスゲームにチャレンジするという動機付を得ることができる。
また、指示画像で指示された移動態様でコントローラ20の移動を的確に行ったと判断された場合には、図13(C)に示す「パーフェクト」という演出画面を表示し、更にその旨を表す効果音を発生することで、ゲームをより盛り上げる演出を行うこともできる。
特に、複数の連続技を指示画像により指示した場合に、指示された連続技を成功させると特別なイベントを発生させるように形成しても良く、これによりゲームの演出効果をより高めることが可能となる。
また、指示画像340によりコントローラ20の移動態様が指示され、プレーヤがその指示に従ってコントローラ20を移動した場合に、当該コントローラ20の移動軌跡を、対応する指示画像340の近傍に表示する構成を採用してもよい。これにより、プレーヤは指示画像340で指示された移動態様と、自分が実際にコントローラ20を移動した移動態様との一致度を視覚的に認識し、自分のダンス技を更にレベルの高いものに修正しながらゲームを楽しむことができる。
判定用の移動開始タイミング及び移動継続時間
本実施形態では、指示画像340によりコントローラの所定方向への移動及び移動開始タイミングの指示が行われると、前述したように第1及び第2の処理が行われ、コントローラ20の移動態様の検出測定が行われ、検出された移動態様が指示された移動態様と適合しているか否かの判定が行われる。
本実施形態では、コントローラ20の単位時間当りの移動量を表す速度ベクトルを、コントローラ20に内蔵されたx、y、z軸方向の各加速度センサ210から得られるx、y、z軸方向の速度ベクトルの合成値として求めることができる。このようにして求められる速度ベクトルの値は、コントローラ20を指示画像340で指示される移動開始タイミングで指示された方向へ移動を開始した場合であっても、移動開始時に検出される速度ベクトルの値は小さく、数フレーム後(例えばT1フレームで移動を開始した場合には数フレーム後のT3フレーム)に所定の基準値に達することになる、従ってコントローラ20を実際に操作したタイミングと当該操作が検出されるタイミングとの間には所定フレーム分の時間遅れが発生する。
このため、本実施形態では、指示画像340で指示される移動開始タイミング及び移動継続時間とは別に、前記検出遅れを考慮した「判定用の移動開始タイミング」及び「判定用の移動継続時間」を設定し、コントローラ20の移動態様の判定を行っている。
具体的には、「判定用移動開始タイミング」は、指示画像で指示される実際の移動開始タイミングより数フレーム分遅れて設定し、「判定用の移動継続時間」は、指示画像340で指示される移動継続時間の終了タイミングと一致させるか、その終了時より所定フレーム分遅れて終了するように設定する。
これにより、前記コントローラの移動開始タイミングの検出遅れに遅延する問題を解消し、コントローラの移動態様の判定処理を的確に行うことができる。
なお、本実施形態によれば、「判定用の移動開始タイミング」及び「判定用の移動継続時間」の設定の仕方により、この面からゲームの難易度を設定することができる。
例えば、指示画像で指示される実際の移動開始タイミングに対する「判定用の移動開始タイミング」の時間遅れを大きく設定すれば難易度を低く、短く設定すれば難易度を高く設定できる。
また、「判定用移動継続時間」を短く設定することにより難易度を高く、長く設定することにより難易度を低く設定することができる。
従って、例えばプレーヤの選択するゲームの難易度に合わせて、このような判定用の移動開始タイミング及び移動継続時間を設定する構成を採用してもよい。
3−3:ゲーム画面の所定位置のポインティング指示及び検出判定処理
本実施形態のポインティング位置指示部104は、ゲームの進行に伴い、所与のタイミングでゲーム画面の所定位置のポインティングを指示するポインティング指示画像350を位置指示画像として生成する処理を行う。
図6には、ゲーム画面中に表示されるポインティング指示画像350の具体例が示され、同図(A)には、ゲーム画面の左側のキャラクタに対応付けてポインティング指示画像350が表示される。
図15に示すように、このポインティング指示画像350は、ポインティング位置に表示されるターゲットボード部352と、その周囲に表示されるリング部354とを含む。そして、ポインティング指示画像350が表示された直後では、図15(A)に示すように、リング部354はターゲットボード部352の周囲を囲むような大きなリングとして表示され、ポインティングタイミングが近づくにつれ図15(A)〜(D)に示すように除除にリングが収縮し、ポインティングタイミングが到達すると図15(D)に示すように、リング部354はターゲットボード部352と重なるように表示される。
このポインティングのタイミング指示に合わせて、プレーヤは対応するコントローラ20(図6では、プレーヤが右手でもつ第1のコントローラ20−1)を用いてゲーム画面内に表示されるターゲットボード部352の位置を、所定時間内でタイミングよくポインティングする動作を行う。
前述したように、表示部12の周囲には一対の光源198L、198Rが設けられている。プレーヤはコントローラ20の前方に設けられた撮像部220をゲーム画面方向に向けることにより、ゲーム画面上の任意の点をポインティングするポインティングデバイスとしてコントローラ20を操作することができる。図14に、コントローラ20を用いてゲーム画面上の所望の位置をポインティングしている様子の一例を示す。
本実施形態の検出判定部110は、前述したように、プレーヤがポインティング指示画像350で指示されるターゲットボード部352を、指示されたタイミングでポインティングしたか否かを、コントローラ20の撮像部220から取得した信号に基づきが判定する。
そして指示された位置をタイミング良くポインティングしたと判断された場合には、所定のイベント、この場合にはバックダンサーの女の子を図6(B)に示すように持ち上げるというイベントが発生し、更に図6(B)に示すように、ゲーム画面中央に新たなポインティング指示画像350が表示される。
更に、図6(B)に示すように、新たなポインティング指示画像350の表示に関連付けて、コントローラの所与の移動態様を指示する指示画像340−1、340−2が表示される。
この場合には、新たに表示されるポインティング指示画像350で指示されたターゲットボード部352を、指示されたタイミングでポインティングすることに成功すると、その一定時間後、前記指示画像340−1、340−2のタイミングマーク344がトレースレール342に沿って移動を開始し、プレーヤに対しコントローラ20−1、20−2の所与の移動態様での移動指示が行われる。
プレーヤが、この指示に従った移動態様でコントローラ20−1、20−2の移動を成功させると、例えば図6(C)に示すようなアクロバティックなチアダンスが成功した画面の演出表示が行われる。また、このような連続技が成功した場合には、そのゲームにおいて例えば図16に示すようにゲーム画面に登場するバックダンサーの数を順次増やしていくというゲームイベントを発生させ、係る観点からゲームの演出を盛り上げるように構成してもよい。
3−4:複数人プレー
また、本実施形態では、ゲーム開始時に二人プレー、四人プレー等の複数人プレーを選択することもできる。
図17(A)は、二人プレーを選択した場合のゲーム画面の一例である。
二人プレーの場合には、第1、第2のコントローラ20−1、20−2をそれぞれ一本ずつ二人のプレーヤが手にし、図17(A)に示す指示画像340−1、340−2の指示に従って各プレーヤがコントローラ20−1、20−2をそれぞれ移動操作し、互いにダンス技を競い合うことができる。
また、異なるIDを持つコントローラ20が4本用意できる場合には、図17(B)に示すような四人プレーも選択することができる。
各プレーヤは自分に対応づけられたコントローラ20を一本手に持ちながら、ゲーム画面中で指示される指示画像340に注目する。
本実施形態では、スポットライトによって照らされた二人のダンスキャラクタに対応する二人のプレーヤに対し、指示画像340−1、340−2のそれぞれによってコントローラ20の移動態様が指示される。
ゲーム進行に伴い、スポットライトによって照らされるダンスキャラクタは随時変更されるため、プレーヤは自分に対応したダンスキャラクタがスポットライトで照らされることにより、自分に順番が回ってきたことを視覚的に認識し、この時、対応する指示画像340で指示される移動態様でコントローラを移動することでダンス技を競い合うことができる。
なお、本実施形態では、複数人プレーの場合には、一人プレーヤに対し一本のコントローラを対応づける場合を例にとり説明したが、必要に応じて一人のプレーヤに二つのコントローラを対応付けて、同様にダンスゲームを行わせるように構成してもよい。
4.本実施形態の処理
次に、本実施形態の処理の一例について、図18〜21のフローチャートを用いて説明する。
図18には、本実施形態をゲームシステムに適用した場合の、動作の一例が示されている。
まず、プレーヤが一人プレーまたは複数人プレーのいずれかを選択してゲームを開始すると、ゲーム演算が開示される(ステップS10)。
そして、表示部12上にはチアダンスのゲーム画面が表示されると共に、このダンスに合わせたBGMがダンスミュージックとして音声出力される。
この際、必要に応じて、コントローラ20をどのような姿勢で手に持つかという指示をプレーヤに対して行っても良い。例えば、プレーヤPに対し、コントローラ20を垂直に持ってゲームを行うか、水平に持ってゲームを行うかという指示を行っても良い。
そして、ゲームが開始され、図5に示すようにゲーム画面上のダンスキャラクタ310、312が踊り始めると、ゲームの進行に合わせて所与のタイミングでコントローラ20−1、20−2の移動態様を指示する指示画像340−1、340−2の表示が行われ、さらに当該指示画像340−1、340−2の指示に従ってプレーヤが各コントローラ20−1、20−2を移動したかの検出判定処理が実行される(ステップS12、S14)。
またゲーム進行に伴い、図6に示すポインティング指示画像350の表示タイミングが到来すると、ゲーム画面中に図6に示すようにポインティング指示画像350の表示が行われると共に、当該ポインティング指示画像350で指示されたターゲットボード部352のエリアに、指示されたタイミングでコントローラ20を用いたポインティングが行われた否かの検出判定処理が行われる(ステップS20、S22)。
このような一連の処理を、ゲームが終了するまで繰り返して行い(ステップS30)、ゲームが終了した時点で最終的なゲーム成績の表示が行われる(ステップS32)。
すなわち、本実施形態では、ステップS14、ステップS22で行われる個別の検出判定処理の判定結果毎に、その判定結果に基づく成績表示イベント、例えばスコア演算や、図17に示す画面表示を行っているが、これに加えて、ステップS32において、ステップ14、ステップS22で行われる個別の検出判定処理の判定結果の合計値、例えばスコアの合計値などから総合的なゲーム成績を求め、最終的なゲーム成績として表示する処理を行う。
図19には、図18のステップS14で示す処理の具体例が示されている。
ゲーム進行に伴い指示画像340の生成タイミングが到来すると、指示画像340−1、340−2がゲーム画面中に生成表示され(ステップS40)、当該指示画像340−1、340−2で指示された指示態様でのコントローラ20−1、20−2の実空間内での移動がそれぞれ正確に行われたか否かの判定処理が行われる(ステップS42)。
そして、指示画像の判定結果に基づき、スコア320の更新が行われ、更に評価エリア322にはクール、バッドの評価を表示するゲーム演出が行われる。
加えて、評価結果に応じて、図13に示す演出画像の表示も行われる(ステップS44)。
なお、図13に示す演出画像の表示は、ゲーム進行中における所定場面においてのみ行っても良く、またゲーム開始に先だってプレーヤやオペレータが、当該演出画面の表示設定を行った場合にのみ表示するように構成しても良い。
図20には、図19に示すステップS40の処理の具体例が示されている。
ゲームの進行中に指示画像340の表示のタイミングが到来すると、コントローラ20の移動開始タイミングに先だって、図9(A)、(B)に示す遷移画像の表示が行われる。これにより、プレーヤは、コントローラ20の移動開始のタイミングに先だって、コントローラの移動方向、移動開始のタイミングを予測認識しその準備をすることができる。
そして、コントローラの移動開始タイミングが到来すると(ステップS52)、図9(C)に示すように、タイミングマーク344をトレースレール342に沿って操作終了マーク346に向け移動させる処理が行われる。
このタイミングマーク344の移動のタイミングに合わせて、プレーヤはトレースレール342で指示される方向へのコントローラ20の移動を開始し、タイミングマーク344が操作終了マーク346に到達するまで、指示に従った当該コントローラ20の移動を継続して行う。
そして、図9(D)に示すように継続移動終了タイミングが到来すると(ステップS56)、指示画像340の表示を終了する(ステップS58)。
このような一連の表示制御処理により、プレーヤにより適切なタイミングで、コントローラを所望の方向へ移動する指示を、視覚的に分かり易く与えることができる。
図21には、図19のステップS42の検出判定処理の具体例が示されている。
まず、図9(C)に示すように、指示画像340によるコントローラの移動開始タイミングが到来すると(ステップS60)、コントローラ20の加速度センサから出力される信号の取得を開始し(ステップS62)、前述した第1の処理及び第2の処理を実行する(ステップS64、S66)。
即ち、コントローラ20の姿勢がどの基本姿勢にあるかを検出判定する第1の処理を行い、その姿勢でコントローラ20がどの方向へどのような移動態様で移動しているかを判定し、指示画像340で指示された移動態様との適合度を判定する第2の処理を行う。
図22には、図18のステップS22に示す処理の具体例が示されている。
ゲーム進行中に、例えば図6に示すポインティング指示画像350の表示タイミングが到来すると、ゲーム画面の所与の位置にポインティング指示画像350を表示する処理が行われる(ステップS70)。
このポインティング指示画像350は、図15に示すように、ポインティングエリアを示すターゲットボード部352と、これに向けて収縮するリング部354とを含んで表示される。そして、リング部354がターゲットボード部352まで収縮した時点、即ち図15(D)に到達した時点がターゲットボード部352で指示された位置を、コントローラ20でポインティングするタイミングとなる。
そして、このタイミングでプレーヤがコントローラ20を用いて、指示された位置をポインティングするプレーヤのポインティング動作が成功したか否かが判定され(ステップS72)、成功したと判定された場合には、当該ポインティング指示に関連付けたイベントを発生させる(ステップS74)。
例えば、図6(A)に示す例では、ポインティングされたバックダンサーが隣のバックダンサーを持ち上げるというイベントが発生する。図6(B)に示す例では、ポインティング指示画像350の表示位置に関連付けて指示画像340−1、340−2が表示され、ポインティング指示が成功した後に、指示画像340−1、340−2で指示される方向にコントローラ20−1、20−2を移動する動作が指示され、この連続技を成功した場合に図6(C)に示すようにアクロバティックなダンスが完了するというダンスシーンが表示されるというゲーム演出が行われる。
なお、本発明は前述した前記実施形態に限定されるものではなく、本発明の要旨の範囲内で各種の変形実施が可能である。
例えば、前記実施形態では本発明をダンスゲームに適用する場合を例にとり説明したが、本発明はこれに限らず、他の用途、例えばエアロビクスや運動トレーニング用の指示を、コントローラを手にした生徒に対して与え、適切なエアロビクスやエクササイズを実行させ、その結果を判定する場合にも好適である。
また、前記実施の形態では、指示画像340としてトレースレール342に沿ってタイミングマーク344が移動する場合を例にとり説明したが、本発明はこれに限らず、コントローラの所与の移動態様を指示することができれば、どのような形態の指示画像であってもよい。例えばトレースレール342で表示される所与の軌跡の色を、コントローラの移動タイミング及び操作継続期間に関連付けて変化させるように形成してもよい。また、移動方向を矢印等で表示し、操作開始タイミングはカウントダウン表示で指示し、操作継続時間もカウントダウン表示で指示する構成を採用してもよい。