説明

ゲーム装置、ゲーム装置の制御方法、及びプログラム

【課題】基準タイミングとプレイヤが基準タイミングにおいてとるべき模範姿勢とをプレイヤが比較的容易に把握できるように図ることが可能なゲーム装置を提供すること。
【解決手段】案内手段(72)は、仮想空間を視点から見た様子を表すゲーム画面を表示手段に表示する。また、案内手段(72)は、基準タイミングまでの時間が所定時間になった場合、プレイヤが基準タイミングにおいてとるべき模範姿勢に対応する姿勢をとるオブジェクトを、仮想空間内に設定される基準位置とは異なる位置に配置する。さらに、案内手段(72)は、オブジェクトと基準位置との少なくとも一方を他方に向けて移動させることによって、基準タイミングとプレイヤが基準タイミングにおいてとるべき模範姿勢とをプレイヤに案内する。評価手段(76)は、プレイヤがとった姿勢に関する姿勢データに基づいて、プレイヤのゲームプレイを評価する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はゲーム装置、ゲーム装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
プレイヤの姿勢を検出可能なゲーム装置が提案されている。例えば、撮影部の撮影画像と赤外線センサの検出結果とに基づいてプレイヤの姿勢を検出可能なゲーム装置が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3866474号
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなゲーム装置では、例えば、予め定められたダンスをプレイヤが踊るようなダンスゲームを実現することが考えられる。また、このようなダンスゲームを実現する場合には、複数の基準タイミングの各々において、プレイヤが実際にとった姿勢と、プレイヤがとるべき模範姿勢とを比較することによって、プレイヤが上手にダンスを踊ることができているか否かを評価することが考えられる。
【0005】
上記のような評価方法を採用する場合、基準タイミングとプレイヤが基準タイミングにおいてとるべき模範姿勢とをプレイヤが把握できないと、プレイヤは良い評価を得ることが困難になってしまう。このため、上記のような評価方法を採用する場合には、基準タイミングと基準タイミングにおける模範姿勢とをプレイヤが把握できるように図る必要がある。
【0006】
本発明は上記課題に鑑みてなされたものであって、その目的は、基準タイミングとプレイヤが基準タイミングにおいてとるべき模範姿勢とをプレイヤが比較的容易に把握できるように図ることが可能なゲーム装置、ゲーム装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係るゲーム装置は、プレイヤが所定タイミングにおいて模範姿勢をとることを目指すゲームを実行するゲーム装置において、基準タイミングと、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢と、に関する基準データを記憶する手段に記憶される前記基準データを取得する手段と、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する案内手段と、前記プレイヤがとった姿勢に関する姿勢データを取得する取得手段と、前記基準データと前記姿勢データとに基づいて、前記プレイヤのゲームプレイを評価する評価手段と、を含み、前記案内手段は、仮想空間を視点から見た様子を表すゲーム画面を表示手段に表示する手段と、前記基準タイミングまでの時間が所定時間になった場合、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢に対応する姿勢を有するオブジェクトを、前記仮想空間内に設定される基準位置とは異なる位置に配置する配置手段と、前記オブジェクトと前記基準位置との少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する手段と、を含むことを特徴とする。
【0008】
また、本発明に係るゲーム装置の制御方法は、プレイヤが所定タイミングにおいて模範姿勢をとることを目指すゲームを実行するゲーム装置の制御方法において、基準タイミングと、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢と、に関する基準データを記憶する手段に記憶される前記基準データを取得するステップと、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する案内ステップと、前記プレイヤがとった姿勢に関する姿勢データを取得する取得ステップと、前記基準データと前記姿勢データとに基づいて、前記プレイヤのゲームプレイを評価する評価ステップと、を含み、前記案内ステップは、仮想空間を視点から見た様子を表すゲーム画面を表示手段に表示するステップと、前記基準タイミングまでの時間が所定時間になった場合、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢に対応する姿勢をとるオブジェクトを、前記仮想空間内に設定される基準位置とは異なる位置に配置する配置ステップと、前記オブジェクトと前記基準位置との少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内するステップと、を含むことを特徴とする。
【0009】
また、本発明に係るプログラムは、プレイヤが所定タイミングにおいて模範姿勢をとることを目指すゲームを実行するゲーム装置としてコンピュータを機能させるためのプログラムであって、基準タイミングと、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢と、に関する基準データを記憶する手段に記憶される前記基準データを取得する手段、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する案内手段、前記プレイヤがとった姿勢に関する姿勢データを取得する取得手段、前記基準データと前記姿勢データとに基づいて、前記プレイヤのゲームプレイを評価する評価手段、として前記コンピュータを機能させ、前記案内手段は、仮想空間を視点から見た様子を表すゲーム画面を表示手段に表示する手段と、前記基準タイミングまでの時間が所定時間になった場合、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢に対応する姿勢をとるオブジェクトを、前記仮想空間内に設定される基準位置とは異なる位置に配置する配置手段と、前記オブジェクトと前記基準位置との少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する手段と、を含むことを特徴とするプログラムである。
【0010】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0011】
本発明によれば、基準タイミングとプレイヤが基準タイミングにおいてとるべき模範姿勢とをプレイヤが比較的容易に把握できるように図ることが可能になる。
【0012】
また本発明の一態様では、前記ゲームは、前記プレイヤが模範動作を行うことを目指すゲームであり、前記仮想空間には、前記プレイヤが行うべき模範動作に対応する動作を行う第2オブジェクトが配置され、前記配置手段は、前記基準タイミングまでの時間が前記所定時間になった場合、前記オブジェクトとして、前記基準タイミングにおける前記第2オブジェクトの姿勢をとる第1オブジェクトを、前記第2オブジェクトの位置である前記基準位置とは異なる位置に配置し、前記案内手段は、前記第1オブジェクトと前記第2オブジェクトとの少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内するようにしてもよい。
【0013】
この態様では、前記配置手段は、前記視点から見て前記第2オブジェクトの左側又は右側に前記第1オブジェクトを配置するようにしてもよい。
【0014】
また、この態様では、前記配置手段は、前記視点から見て前記第2オブジェクトの左側に少なくとも一つの第1オブジェクトを配置し、かつ、前記視点から見て前記第2オブジェクトの右側に少なくとも一つの第1オブジェクトを配置するようにしてもよい。
【0015】
また本発明の一態様では、前記配置手段は、前記基準位置と前記視点との位置関係が変化した場合に、前記基準位置と前記視点との位置関係に基づいて、前記オブジェクトの位置を変更する手段を含むようにしてもよい。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図2】プレイヤ検出部のハードウェア構成を示す図である。
【図3】プレイヤがゲームをプレイする様子を表す図である。
【図4】撮影部の撮影画像の一例を示す図である。
【図5】赤外線光の照射と反射光の検出について説明するための図である。
【図6】深度画像の一例を示す図である。
【図7】プレイヤの姿勢データについて説明するための図である。
【図8】プレイヤの姿勢データの一例を示す図である。
【図9】ゲーム画面の一例を示す図である。
【図10】ゲーム画面の他の一例を示す図である。
【図11】仮想空間の一例を示す図である。
【図12】本発明の実施形態に係るゲーム装置の機能ブロック図である。
【図13】基準データの一例を示す図である。
【図14】案内オブジェクトの位置制御の一例について説明するための図である。
【図15】ゲーム装置が実行する処理の一例を示すフロー図である。
【図16】ゲーム装置が実行する処理の一例を示すフロー図である。
【図17】案内オブジェクトの位置制御の一例について説明するための図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、業務用ゲーム機、携帯電話機、携帯情報端末(PDA)、又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0018】
図1は、本発明の実施形態に係るゲーム装置のハードウェア構成を示す。図1に示すゲーム装置10は、家庭用ゲーム機11、表示部34、音声出力部36、光ディスク38(情報記憶媒体)、及びプレイヤ検出部40を含む。表示部34及び音声出力部36は家庭用ゲーム機11に接続される。例えば家庭用テレビ受像機又は液晶ディスプレイ等が表示部34として用いられ、例えば家庭用テレビ受像機に内蔵されたスピーカ又はヘッドホン等が音声出力部36として用いられる。
【0019】
家庭用ゲーム機11は公知のコンピュータシステムである。家庭用ゲーム機11は、バス12、制御部14、主記憶16、画像処理部18、入出力処理部20、音声処理部22、光ディスクドライブ24、ハードディスク26、通信インタフェース28、コントローラ30、及び外部インタフェース32を含む。バス12はアドレス及びデータを家庭用ゲーム機11の各部でやり取りするためのものである。
【0020】
制御部14は一又は複数のマイクロプロセッサを含む。制御部14は、光ディスク38から読み出されるプログラムに基づいて、各部の制御処理や情報処理を実行する。主記憶16は例えばRAMを含み、光ディスク38から読み出されたプログラム及びデータが主記憶16に書き込まれる。主記憶16は制御部14の作業用メモリとしても用いられる。画像処理部18はVRAMを含み、制御部14から供給される画像データに基づいてVRAM上に画面を描画する。VRAM上に描画された画面はビデオ信号に変換されて表示部34に出力される。
【0021】
入出力処理部20は、制御部14が音声処理部22、光ディスクドライブ24、ハードディスク26、通信インタフェース28、コントローラ30、及び外部インタフェース32にアクセスするためのインタフェースである。音声処理部22はサウンドバッファを含み、サウンドバッファに読み出された音声データを音声出力部36から出力する。通信インタフェース28は、インターネット等の通信ネットワークに家庭用ゲーム機11を有線又は無線接続するためのインタフェースである。
【0022】
光ディスクドライブ24は、光ディスク38に記録されたプログラムやデータを読み取る。ハードディスク26は一般的なハードディスク装置(補助記憶装置)である。ここでは、プログラムやデータを家庭用ゲーム機11に供給するために光ディスク38を用いるが、メモリカード等、他の情報記憶媒体を用いるようにしてもよい。なお、例えば通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機11に供給するようにしてもよい。また、光ディスク38に記憶されることとして説明するプログラムやデータはハードディスク26に記憶されていてもよい。
【0023】
コントローラ30はプレイヤが操作を行うための操作部である。入出力処理部20は一定周期毎(例えば1/60秒ごと)にコントローラ30の各操作部材の状態をスキャンし、そのスキャン結果を表す操作信号をバス12を介して制御部14に供給する。
【0024】
外部インタフェース32は周辺装置を接続するためのインタフェースである。本実施形態の場合、プレイヤ検出部40が外部インタフェース32に接続される。なお、ここでは、プレイヤ検出部40が周辺装置として外部インタフェースに接続されることとして説明するが、プレイヤ検出部40は家庭用ゲーム機11に内蔵されていてもよい。
【0025】
プレイヤ検出部40はプレイヤの代表的な部位(例えば頭、腰、右手首、左手首、右足首、又は左足首等)の位置を検出する。プレイヤ検出部40の検出結果を用いることによって、プレイヤの姿勢や動きを判定することが可能である。このため、ゲーム装置10では、例えば、プレイヤがコントローラ30を使わずに自らの体を動かして遊ぶようなゲームを実行することが可能になっている。
【0026】
プレイヤ検出部40についてより詳しく説明する。図2はプレイヤ検出部40のハードウェア構成を示す。また、図3はプレイヤがゲームをプレイする様子を示す図である。これらの図を参照しながら、プレイヤ検出部40について説明する。
【0027】
図2に示すように、プレイヤ検出部40は制御部41、記憶部42、音声入力部43、撮影部44、深度測定部45、及びバス46を含む。バス46はアドレス及びデータをプレイヤ検出部40の各部でやり取りするためのものである。
【0028】
制御部41は一又は複数のマイクロプロセッサを含み、記憶部42に記憶されるプログラムに基づいて処理を実行する。記憶部42は制御部41が実行するプログラムを記憶する。また、音声入力部43、撮影部44、又は深度測定部45によって取得される各種データを記憶するために記憶部42は用いられる。音声入力部43は例えばマイクを含んで構成される。例えば、音声入力部43はプレイヤPから発せられた音声を取得するために用いられる。
【0029】
撮影部44は例えばCCDカメラを含んで構成される。撮影部44は、例えば所定時間(例えば1/60秒)ごとに撮影画像(例えばRGBデジタル画像)を生成する。図3に示すようにプレイヤ検出部40は表示部34の付近に設置され、撮影部44は表示部34の前方領域を撮影する。図3に示すようにプレイヤPは表示部34の前方領域に位置してゲームをプレイするため、撮影部44の撮影画像にはプレイヤPが写る。図4は撮影画像の一例を示す。
【0030】
深度測定部45は例えば赤外線センサを含んで構成される。例えば、赤外線センサは赤外線発光素子及び赤外線受光素子(例えば赤外線ダイオード)を含む。赤外線センサは赤外線光を照射し、照射した赤外線光が人又は物体に反射された場合の反射光を検出する。
【0031】
図5は赤外線光の照射と反射光の検出について説明するための図である。図5に示すように、深度測定部45(赤外線発光素子)から所定間隔でパルス状の赤外線光が照射される。深度測定部45から照射された赤外線光は赤外線発光素子の位置を中心点として球状に広がり、人(プレイヤP)又は物体の表面に当たる。これらの表面に当たった赤外線光は反射し、反射した赤外線光が深度測定部45の赤外線受光素子によって検出される。すなわち、照射した赤外線光の位相が180度反転してなる反射光が検出される。
【0032】
図5に示すようにプレイヤPが両手を前方に突き出している場合、突き出された両手は、プレイヤPの胴体よりも深度測定部45(赤外線センサ)に近くなる。この場合、プレイヤPの両手によって反射される赤外線光の飛行時間(TOF:Time of Flight)は、プレイヤPの胴体によって反射される赤外線光の飛行時間よりも短くなる。なお、「飛行時間」とは赤外線光を照射してから反射光を受光するまでの時間のことである。
【0033】
深度測定部45は、反射光の検出結果に基づいて、撮影部44の撮影画像における各画素の深度(奥行き)を測定する。「画素の深度」とは、測定基準位置から、該画素に写されている被写体の部分までの距離である。例えば、プレイヤPの右手が写されている領域内の画素の深度とは、測定基準位置からプレイヤPの右手までの距離である。また、「測定基準位置」とは、深度を測定する際の基準となる位置であり、例えば、赤外線センサの位置である。
【0034】
具体的には、深度測定部45は、赤外線を照射してから反射光を受光するまでの飛行時間に基づいて上記の深度を測定する。例えば、赤外線光を照射してから反射光を検出するまでの時間(すなわち飛行時間)と、赤外線の速度と、の乗算値を2で割ることによって得られる値は、測定基準位置から赤外線光を反射した人又は物までの距離(すなわち深度)に相当する。このような処理を実行することによって深度測定部45は上記の深度を取得する。
【0035】
深度測定部45の測定結果は画像として表される。例えば、深度測定部45の測定結果はグレースケールの画像として表される。撮影部44と同様、深度測定部45も、所定時間(例えば1/60秒)ごとに深度の測定を行い、その測定結果を表す画像(以下「深度画像」と記載する。)を生成する。
【0036】
図6は深度画像の一例を示す図である。図6に示す深度画像は、図4に示す撮影画像の各画素の深度を示す画像である。なお、図6に示す深度画像には、斜線が付された斜線領域(例えばプレイヤPの背景)と、ドットが付されたドット領域(例えばプレイヤPの頭部や胴体部)と、斜線もドットも付されていない白領域(例えばプレイヤPの両手)とが含まれている。斜線領域はドット領域及び白領域よりも輝度が低いことを示しており、ドット領域は白領域よりも輝度が低いことを示している。
【0037】
深度画像では深度が輝度(画素値)によって表される。図6に示す深度画像では、深度が小さくなるほど(すなわち、深度測定部45からの距離が短くなるほど)、輝度が高くなるようになっている。例えば、図5に示すようにプレイヤPが前方に両手を突き出している場合には、プレイヤPの両手はプレイヤPの胴体よりも深度測定部45に近くなる。このため、図6に示す深度画像では、プレイヤPの両手に対応する画素の輝度がプレイヤPの胴体に対応する画素の輝度よりも高くなっている。なお、深度画像では、深度が大きくなるほど(すなわち、深度測定部45からの距離が長くなるほど)、輝度が高くなるようにしてもよい。
【0038】
プレイヤ検出部40は、撮影部44の撮影画像と、深度測定部45によって取得された深度画像とに基づいて、プレイヤPの姿勢に関する姿勢データを取得する。
【0039】
例えば、プレイヤ検出部40は、深度画像において深度が大きく変化している箇所を検出することによって、プレイヤPの輪郭に対応する画素を検出する。プレイヤPの周囲に人や物体が位置していなければ、プレイヤPに向けて照射された赤外線光の飛行時間と、プレイヤPの周辺領域に向けて照射された赤外線光の飛行時間とは大きく異なることになる。その結果、プレイヤPとプレイヤPの周辺領域との間では深度が大きく異なることになる。このため、深度が大きく変化している箇所を検出することによって、プレイヤPの輪郭を検出することができる。
【0040】
なお、プレイヤPの輪郭を検出する方法は上記の方法に限られない。例えば、撮影画像において画素の輝度が大きく変化している箇所を検出することによって、プレイヤPの輪郭を検出することも可能である。
【0041】
次いで、プレイヤ検出部40は、撮影画像において、プレイヤPの輪郭によって囲まれた画素の色情報(RGBの明度)を参照する。そして、プレイヤ検出部40は、画素の色情報に基づいて、プレイヤPの各部位に対応する画素を特定する。この特定方法としては、例えば、比較画像との比較によって画像の中から対象物(すなわち、プレイヤPの各部位)を抽出するパターンマッチング法等、公知の手法を適用可能である。
【0042】
プレイヤ検出部40は、上記のようにして特定した画素の位置(撮影画像又は深度画像における2次元座標)及び深度に基づいて、プレイヤPの代表的な部位(例えば頭、腰、右手首、左手首、右足首、又は左足首等)の3次元座標を算出する。例えば、プレイヤ検出部40は、プレイヤPの部位の3次元座標を、その部位に対応する画素の位置及び深度に所定の行列変換処理を施すことによって算出する。この行例変換処理は、例えば、3次元グラフィックス技術におけるワールド座標−スクリーン座標の変換処理と同様の処理によって実行される。
【0043】
また、プレイヤPの部位の3次元座標は、例えば図7に示すような、プレイヤ検出部40(撮影部44)の位置を原点OeとするXeYeZe座標系の座標値として表される。なお図7において、Ze軸方向は例えば撮影部44(CCDカメラ)の視線方向である。またXe軸方向は、Ze軸方向と直交する方向であって、かつ、プレイヤ検出部40(撮影部44)から見て左右方向に対応する方向である。さらにYe軸方向はZe軸方向及びXe軸方向の両方と直交する方向であり、プレイヤ検出部40(撮影部44)から見て上下方向に対応する方向である。
【0044】
上記のようにして取得されたプレイヤPの各部位の3次元座標を示すデータがプレイヤPの姿勢データに相当する。図8はプレイヤPの姿勢データの一例を示す。図8に示すプレイヤPの姿勢データには、プレイヤPの頭P1、左手首P2、右手首P3、腰P4、左足首P5、右足首P6の3次元座標が含まれている。なお、上記の部位以外の3次元座標がプレイヤPの姿勢データに含まれるようにしてもよい。
【0045】
プレイヤPの姿勢データは、例えば所定時間(例えば、1/60秒)ごとに取得され、プレイヤ検出部40から家庭用ゲーム機11に供給される。制御部14は、プレイヤPの姿勢データに基づいて、プレイヤPの姿勢(プレイヤPの各部位の位置)を把握することができる。また、制御部14は、プレイヤPの姿勢の変化(プレイヤPの各部位の位置の変化)を把握することによって、プレイヤPの体の動きを把握することもできる。
【0046】
上記の構成を有するゲーム装置10では、プレイヤPが表示部34の前方領域において体を動かして遊ぶゲームが光ディスク38に記憶されたプログラムによって実行される。例えば、プレイヤPが音楽に合わせてダンスを踊るゲームがゲーム装置10で実行される。
【0047】
図9は表示部34に表示されるゲーム画面の一例を示す。図9に示すゲーム画面にはプレイヤPの得点50が表示されている。また、ゲーム画面にはキャラクタオブジェクト52が表示されている。例えば、キャラクタオブジェクト52はダンサーを表すゲームキャラクタオブジェクトである。なお、キャラクタオブジェクト52の他に、バックダンサーを表すゲームキャラクタオブジェクトがゲーム画面に表示されるようにしてもよい。
【0048】
キャラクタオブジェクト52は音楽に合わせてダンスを踊る。キャラクタオブジェクト52はプレイヤPが行うべきダンスをプレイヤPに案内する役割を果たす。このゲームにおいて、プレイヤPはキャラクタオブジェクト52を見ながら、キャラクタオブジェクト52が踊るダンスと同じようにダンスを踊ることを目指す。
【0049】
図9に示すゲーム画面では、キャラクタオブジェクト52がプレイヤPと対面するように表示されており、キャラクタオブジェクト52は、プレイヤPが行うべきダンスを左右逆に行うようになっている。
【0050】
このため、例えば、キャラクタオブジェクト52が、プレイヤPから見て右側の手(すなわち左手54l)を、プレイヤPから見て右方向(すなわち、キャラクタオブジェクト52から見て左方向)に動かす場合に、プレイヤPは同じように右手を右方向に動かす。また例えば、キャラクタオブジェクト52が、プレイヤPから見て左側の手(すなわち右手54r)を、プレイヤPから見て左方向(すなわち、キャラクタオブジェクト52から見て右方向)に動かす場合に、プレイヤPは同じように左手を左方向に動かす。
【0051】
このゲームでは、プレイヤPのダンスに対する評価が下記に説明するようにして判断される。すなわち、このゲームでは複数の基準タイミングが設定される。そして、基準タイミングにプレイヤPが実際にとっていた姿勢と、プレイヤPが基準タイミングにとっているべき姿勢(模範姿勢)とが比較される。例えば、プレイヤPが実際にとっていた姿勢と模範姿勢との類似度が高い場合にはプレイヤPに対する評価が高くなる。一方、プレイヤPが実際にとっていた姿勢と模範姿勢との類似度が低い場合にはプレイヤPに対する評価が低くなる。
【0052】
また、このゲームでは、基準タイミングの到来と、プレイヤPが基準タイミングにおいてとるべき模範姿勢とがプレイヤPに案内されるようになっている。その結果、プレイヤPが、基準タイミングの到来と、プレイヤPが基準タイミングにおいてとるべき模範姿勢とを容易に予測できるようになっている。
【0053】
図10はゲーム画面の他の一例を示す。図10に示すゲーム画面には、キャラクタオブジェクト52の他に、二体の案内オブジェクト56が表示されている。案内オブジェクト56は、基準タイミングと、基準タイミングにおいてプレイヤPがとるべき模範姿勢と、をプレイヤPに案内(予告)する役割を果たす。
【0054】
基準タイミングの到来が近づいた場合に案内オブジェクト56はゲーム画面に表示される。具体的には、基準タイミングが到来するまでの残り時間が所定時間(例えば、楽曲の1小節に対応する時間)になった場合に、二体の案内オブジェクト56はキャラクタオブジェクト52の位置とは異なる初期位置に表示される。一方の案内オブジェクト56は、プレイヤPから見てキャラクタオブジェクト52の右側に表示され、他方の案内オブジェクト56は、プレイヤPから見てキャラクタオブジェクト52の左側に表示される。
【0055】
案内オブジェクト56は、基準タイミングにおけるキャラクタオブジェクト52のシルエットになっている。すなわち、案内オブジェクト56は、キャラクタオブジェクト52が基準タイミングにおいてとる姿勢を表している。
【0056】
また、案内オブジェクト56は、初期位置に表示された後、図10に示すように、キャラクタオブジェクト52に向かって移動する。そして、基準タイミングにおいて、案内オブジェクト56はキャラクタオブジェクト52に到達してキャラクタオブジェクト52と重なる。上述したように、案内オブジェクト56の姿勢は基準タイミングにおけるキャラクタオブジェクト52の姿勢になっているため、基準タイミングにおいては、キャラクタオブジェクト52と案内オブジェクト56とが完全に重なることになる。なお、案内オブジェクト56はキャラクタオブジェクト52と完全に重なった後にゲーム画面から消える。
【0057】
プレイヤPは、キャラクタオブジェクト52に向けて移動する案内オブジェクト56を参照することによって、基準タイミングの到来を予測することができる。また、プレイヤPは案内オブジェクト56の姿勢を参照することによって、基準タイミングにおいてプレイヤPがとるべき姿勢を予測することができる。
【0058】
以下、上記の案内機能を実現するための構成について説明する。
【0059】
図9,10に示すゲーム画面を表示するために仮想空間が主記憶16に構築される。まず、この仮想空間について説明しておく。図11は仮想空間の一例を示す図である。図11に示す仮想空間60の状態は図10に示すゲーム画面に対応している。図11に示す仮想空間60は、互いに直交する3つの座標軸(Xw,Yw,Zw軸)が設定された仮想的な3次元空間になっている。
【0060】
図11に示すように、床を表す床オブジェクト62が仮想空間60に配置される。また、図11に示す仮想空間60では、キャラクタオブジェクト52と二体の案内オブジェクト56とが床オブジェクト62上に配置されている。なお、案内オブジェクト56は常に仮想空間60に配置されるわけではなく、基準タイミングが近づいた場合に仮想空間60に配置される。
【0061】
キャラクタオブジェクト52は複数のポリゴンを含んで構成される。また、キャラクタオブジェクト52の内部には、キャラクタオブジェクト52の姿勢を制御するためのスケルトンが設定される。スケルトンは、関節に相当する複数のジョイントと、ジョイント間を接続するための複数のボーンとを含む。これらのジョイント及びボーンの状態(例えば位置や回転角度)が変化することによって、キャラクタオブジェクト52の各部位(例えば、頭、腰、左手首、右手首、左足首、又は右足首等)の位置が変化し、その結果として、キャラクタオブジェクト52の姿勢が変化する。
【0062】
案内オブジェクト56もキャラクタオブジェクト52と同様の構造を有する。ただし、案内オブジェクト56の各頂点の色は所定色(例えば緑色)に設定される。
【0063】
さらに、仮想空間60には仮想カメラ64(視点)が設定される。そして、この仮想カメラ64から見た仮想空間60がゲーム画面に表示される。仮想カメラ64の位置、視線方向66、及び画角は、キャラクタオブジェクト52が常にゲーム画面内の所定領域(例えば中央領域)に表示されるように設定される。
【0064】
本実施形態の場合、キャラクタオブジェクト52はほぼ同じ位置でダンスを踊るようになっている。また、仮想カメラ64の位置、視線方向66、及び画角も固定されており、キャラクタオブジェクト52と仮想カメラ64との位置関係は固定されている。なお、キャラクタオブジェクト52が移動しながらダンスを踊るような場合には、仮想カメラ64の位置、視線方向66、及び画角がキャラクタオブジェクト52の位置に基づいて設定されるようにすればよい。
【0065】
次に、ゲーム装置10で実現される機能ブロックについて説明する。図12は、ゲーム装置10で実現される機能ブロックのうちの、上記の案内機能に関連する機能ブロックを主に示す機能ブロック図である。図12に示すように、ゲーム装置10は記憶部70、案内部72、姿勢データ取得部74、及び評価部76を含む。
【0066】
記憶部70は、例えば主記憶16、ハードディスク26、及び光ディスク38の少なくとも一つによって実現される。なお記憶部70は、ゲーム装置10と通信ネットワークを介して通信接続される他の装置に備えられる記憶装置によって実現されてもよい。記憶部70以外の機能ブロックは、例えば制御部14が光ディスク38から読み出されたプログラムを実行することによって実現される。
【0067】
まず、記憶部70について説明する。記憶部70はゲームを実行するために必要な各種データを記憶する。
【0068】
例えば、記憶部70は楽曲データを記憶する。楽曲データは一般のポピュラー音楽等を所定のデータ形式で保存したものである。
【0069】
また例えば、記憶部70はキャラクタオブジェクト52のモデルデータを記憶する。モデルデータはキャラクタオブジェクト52の形状を示すデータである。
【0070】
また例えば、記憶部70はキャラクタオブジェクト52のモーションデータを記憶する。モーションデータは、キャラクタオブジェクト52が動作を行う場合の各フレームにおけるキャラクタオブジェクト52の姿勢を定めたデータである。なお、上述したように、キャラクタオブジェクト52の姿勢はスケルトンの状態を制御することによって制御される。このため、キャラクタオブジェクト52の姿勢はキャラクタオブジェクト52のスケルトンの状態によって表される。
【0071】
モーションデータに従ってキャラクタオブジェクト52の姿勢を変化させることによって、キャラクタオブジェクト52が動作を行うようになる。以下では、モーションデータに従ってキャラクタオブジェクト52の姿勢を変化させることを「モーションデータを再生する」と記載する。
【0072】
本実施形態の場合、プレイヤPが行うべき模範動作に対応する動作をキャラクタオブジェクト52に行わせるためのモーションデータが記憶部70に記憶される。具体的には、キャラクタオブジェクト52にプレイヤPが行うべきダンス(模範動作)を左右逆に行わせるためのモーションデータが記憶部70に記憶される。このモーションデータには、楽曲が再生されている期間内におけるキャラクタオブジェクト52の姿勢の変化が定められている。このモーションデータは楽曲データの再生と同期して再生される。これによって、音楽に合わせてキャラクタオブジェクト52がプレイヤPが行うべきダンスを左右逆に踊るようになる。
【0073】
また例えば、記憶部70は、基準タイミングに関するデータを記憶する。また、記憶部70は、プレイヤPが基準タイミングにおいてとるべき模範姿勢に関するデータを記憶する。
【0074】
図13は記憶部70に記憶される基準データの一例を示す。図13に示す基準データは、基準タイミングと、プレイヤPが基準タイミングにおいてとるべき模範姿勢とを示すデータである。図13において、t軸は時間軸であり、楽曲の再生が開始されてからの時間経過を示す。
【0075】
基準データでは、例えば楽曲の1/256小節の単位で基準タイミングが示される。なお、図13に示す基準データでは、便宜上、楽曲の1/8小節の単位で基準タイミングが示されている。また、図13に示す基準データでは、各時点が基準タイミングであるか否かが1ビットのデータによって示されている。「0」はその時点が基準タイミングでないことを示し、「1」はその時点が基準タイミングであることを示している。
【0076】
また、図13に示す基準データでは、基準タイミングである時点に模範姿勢データが関連づけられている。この模範姿勢データは、プレイヤPが基準タイミングにおいてとるべき模範姿勢を示すデータである。例えば、模範姿勢データは、プレイヤPが模範姿勢をとったと仮定した場合におけるプレイヤPの代表的な部位(例えば、頭P1、左手首P2、右手首P3、腰P4、左足首P5、右足首P6等)の位置を示すデータである。なお、各部位の位置は、例えば図8に示した姿勢データと同様に、XeYeZe座標系の座標値によって表される。
【0077】
なお、基準データでは、基準タイミングが、楽曲の再生(又はゲームの実行)が開始されてからの経過時間を用いて示されるようにしてもよい。すなわち、基準データでは、楽曲の再生が開始されてからの経過時間がT1,T2,T3,・・・秒(T1,T2,T3:数値)になった時点が基準タイミングであることが示されるようにしてもよい。
【0078】
または、基準データでは、基準タイミングが、再生済みの楽曲データのデータ量を用いて示されるようにしてもよい。すなわち、基準データでは、再生済みの楽曲データのデータ量がD1,D2,D3,・・・バイト(D1,D2,D3:数値)になった時点が基準タイミングであることが示されるようにしてもよい。
【0079】
ところで、本実施形態の場合、プレイヤPが行うべき模範動作(ダンス)と、キャラクタオブジェクト52が行う動作(ダンス)とは一定の関係を有している。すなわち、上述したように、キャラクタオブジェクト52はプレイヤPが行うべきダンスを左右逆に行うようになっている。このため、プレイヤPが基準タイミングにおいて行うべき模範姿勢をキャラクタオブジェクト52のモーションデータに基づいて特定することも可能である。したがって、「プレイヤPが基準タイミングにおいてとるべき模範姿勢に関するデータ」として、キャラクタオブジェクト52のモーションデータを用いるようにしてもよい。なお、この場合、図13に示す基準データでは「模範姿勢データ」フィールドを省略することができる。
【0080】
また例えば、記憶部70は、ゲームの現在の状況を示すゲーム状況データを記憶する。例えば、下記に示す情報がゲーム状況データに含まれる。
(1)楽曲の再生位置情報(楽曲の何小節目を現在再生しているのかを示す情報)
(2)キャラクタオブジェクト52のモーションデータの再生位置情報(モーションデータの何フレーム目を現在再生しているのかを示す情報)
(3)キャラクタオブジェクト52の状態情報(例えば位置等)
(4)案内オブジェクト56の状態情報(例えば位置等)
(5)仮想カメラ64の状態情報(例えば位置、視線方向66及び画角等)
(6)プレイヤPの得点情報
【0081】
次に、案内部72について説明する。案内部72は、基準タイミングとプレイヤPが基準タイミングにおいてとるべき模範姿勢とをプレイヤPに案内する。
【0082】
案内部72は、仮想カメラ64から見た仮想空間60を表すゲーム画面を表示部34に表示する。そして、基準タイミングが到来するまでの残り時間が所定時間になった場合に、案内部72は、プレイヤPが基準タイミングにおいてとるべき模範姿勢に対応する姿勢を有する第1オブジェクトを、仮想空間60内に設定される基準位置67とは異なる位置に配置する。さらに、案内部72は、第1オブジェクトと基準位置67との少なくとも一方を他方に向けて移動させることによって、基準タイミングとプレイヤPが基準タイミングにおいてとるべき模範姿勢とをプレイヤPに案内する。
【0083】
より具体的には、例えば、仮想空間60には、プレイヤPが行うべき模範動作に対応する動作を行う第2オブジェクトが配置され、案内部72は、基準タイミングにおける第2オブジェクトの姿勢を有する第1オブジェクトを配置する。そして、案内部72は第1オブジェクトを第2オブジェクトに向けて移動させることによって、上記の案内を行う。なお、この場合、第2オブジェクトの位置が上述の「基準位置67」に相当していることになる。ただし、第2オブジェクトの位置以外の位置を上述の「基準位置67」とするようにしてもよい。
【0084】
本実施形態の場合、再生される楽曲のn小節に相当する時間が上記の「所定時間」に相当する。なお、「n」は任意の数値を示しており、例えば「1」である。また、案内オブジェクト56が上述の「第1オブジェクト」に相当し、キャラクタオブジェクト52が上述の「第2オブジェクト」に相当する。さらに、キャラクタオブジェクト52の位置が「基準位置67」に相当する。
【0085】
本実施形態における案内部72は、基準タイミングが到来するまでの時間が所定時間になった場合に、二体の案内オブジェクト56(第1オブジェクト)を床オブジェクト62上に配置する。ここで、案内オブジェクト56の位置制御についてさらに詳しく説明しておく。図14は案内オブジェクト56の位置制御の一例について説明するための図である。図14において、直線80は仮想カメラ64の位置からキャラクタオブジェクト52の位置へと伸ばした直線である。なお、直線80は仮想カメラ64の視線方向66を示す直線であってもよい。
【0086】
案内オブジェクト56の初期位置68は、キャラクタオブジェクト52と仮想カメラ64との位置に基づいて設定される。図14に示すように、案内オブジェクト56の初期位置68は直線80と直交する直線82上に設定される。
【0087】
一方の案内オブジェクト56の初期位置68は、仮想カメラ64から見てキャラクタオブジェクト52の左側に設定され、他方の案内オブジェクト56の初期位置68は、仮想カメラ64から見てキャラクタオブジェクト52の右側に設定される。二体の案内オブジェクト56の初期位置68は、キャラクタオブジェクト52がそれらの案内オブジェクト56の初期位置68を結ぶ直線(直線82)上に位置するように設定される。
【0088】
また、案内オブジェクト56の初期位置68とキャラクタオブジェクト52の位置との間の距離は所定距離Dに設定される。このため、キャラクタオブジェクト52は二体の案内オブジェクト56の初期位置68を結ぶ直線の中点に位置するようになっている。
【0089】
さらに、案内オブジェクト56は、案内オブジェクト56の正面方向86がキャラクタオブジェクト52の正面方向84と平行となるように配置される。
【0090】
案内オブジェクト56が初期位置68に配置された後、案内部72は、基準タイミングにおいて案内オブジェクト56がキャラクタオブジェクト52に到達するように、案内オブジェクト56をキャラクタオブジェクト52に向けて一定速度で移動させる。
【0091】
つまり、基準タイミングが近づくにつれて、案内オブジェクト56がキャラクタオブジェクト52に近づくようにして、案内部72は案内オブジェクト56を移動させる。すなわち、基準タイミングが到来するまでの時間が短くなるにつれて、案内オブジェクト56とキャラクタオブジェクト52との間の距離が短くなるようにして、案内部72は案内オブジェクト56を移動させる。要するに、案内オブジェクト56の現在位置とキャラクタオブジェクト52との間の距離が、基準タイミングが到来するまでの時間に対応する距離となるようにして、案内部72は案内オブジェクト56の位置を時間経過に伴って更新していく。
【0092】
本実施形態の場合、案内部72は、案内オブジェクト56をキャラクタオブジェクト52に向けて直線82上を移動させる。なお、案内オブジェクト56がキャラクタオブジェクト52に向けて移動する場合の移動経路は直線でなくてもよい。例えば、案内オブジェクト56の移動経路は曲線になるようにしてもよい。
【0093】
また本実施形態の場合、案内オブジェクト56の姿勢は基準タイミングにおけるキャラクタオブジェクト52の姿勢になっているため、基準タイミングにおいて案内オブジェクト56がキャラクタオブジェクト52に到達した場合、案内オブジェクト56はキャラクタオブジェクト52と完全に一致する。また、案内オブジェクト56がキャラクタオブジェクト52に到達した後(すなわち、案内オブジェクト56がキャラクタオブジェクト52と一致した後)、案内部72は案内オブジェクト56を仮想空間60から取り除く。
【0094】
次に、姿勢データ取得部74について説明する。姿勢データ取得部74は、プレイヤPが実際にとった姿勢に関する姿勢データを取得する。本実施形態の場合、姿勢データ取得部74は、プレイヤ検出部40から供給される姿勢データを取得する。
【0095】
次に、評価部76について説明する。評価部76は、プレイヤPのゲームプレイを基準データと姿勢データとに基づいて評価する。
【0096】
例えば、評価部76は、基準タイミングにおける模範姿勢と、基準タイミングに基づいて設定される対象タイミングにおいて取得された姿勢データが示すプレイヤPの姿勢と、を比較する。
【0097】
なお、「対象タイミング」とは基準タイミング自体である。ここでは、「対象タイミング」が基準タイミング自体であることとして説明する。ただし、下記に説明するように、「対象タイミング」は基準タイミングに限られない。
【0098】
例えば、「対象タイミング」とは、基準タイミングから所定時間後のタイミングであってもよい。例えば、プレイヤ検出部40の処理負荷が比較的大きい場合には、ある姿勢XをプレイヤPが実際にとったタイミングと、プレイヤPが姿勢Xをとったことを示す姿勢データがプレイヤ検出部40から制御部14に供給されるタイミングとの間の時間(遅延時間)が比較的長くなってしまう場合がある。このような場合には、遅延時間を考慮して、基準タイミングから所定時間(推定遅延時間)後のタイミングを「対象タイミング」として設定するようにしてもよい。このようにすることによって、基準タイミングにおける模範姿勢と、基準タイミングから所定時間後の対象タイミングにおいて姿勢データ取得部74が取得した姿勢データが示すプレイヤPの姿勢と、が比較されるようにしてもよい。
【0099】
あるいは、「対象タイミング」とは、基準タイミングを含む対象期間内のタイミングであってもよい。例えば、「対象タイミング」とは、基準タイミングよりも前の時点から、基準タイミングよりも後の時点までの間の対象期間内のタイミングであってもよい。このようにすることによって、基準タイミングにおける模範姿勢と、対象期間内にプレイヤPが実際にとった姿勢とが比較されるようにしてもよい。すなわち、基準タイミングにおける模範姿勢を対象期間内のいずれかのタイミングにおいてプレイヤPがとればよいようにするようにしてもよい。
【0100】
評価部76は、基準タイミングにおける模範姿勢と、対象タイミングにおいて取得された姿勢データが示すプレイヤPの姿勢との類似度に基づいて、プレイヤPのゲームプレイに対する評価を決定する。例えば、類似度が高い場合には類似度が低い場合に比べて、プレイヤPのゲームプレイに対する評価が高くなる。
【0101】
なお、プレイヤPの姿勢と模範姿勢との類似度は、プレイヤPの各部位(例えば、頭P1、左手首P2、右手首P3、腰P4、左足首P5、右足首P6等)の位置と、模範姿勢における各部位の位置とを比較することによって取得される。詳細については後述する(図16のステップS109,S110参照)。
【0102】
次に、上記の機能ブロックを実現するためにゲーム装置10で実行される処理について説明する。図15及び図16は、ゲームが開始されてから終了するまでの間にゲーム装置10で実行される処理のうち、本発明に関連する処理の一例を示すフロー図である。制御部14が光ディスク38から読み出されたプログラムに従って、図15及び図16に示す処理を実行することによって、制御部14が案内部72、姿勢データ取得部74、及び評価部76として機能するようになる。
【0103】
図15に示すように、まず制御部14は、初期状態のゲーム画面を表示部34に表示する(S101)。例えば、制御部14は、仮想空間60に配置されるキャラクタオブジェクト52の姿勢を所定の初期姿勢(例えば、直立姿勢)に設定する。そして、制御部14は、仮想カメラ64から見た仮想空間60を表すゲーム画面を生成し、該ゲーム画面を表示部34に表示する。なおこの場合、楽曲の再生開始タイミングから所定時間(例えば、楽曲のn小節に相当する時間)以内の期間内に基準タイミングが到来する場合を除いて、案内オブジェクト56は仮想空間60に配置されない。
【0104】
次に、制御部14は楽曲の再生を開始する(S102)。すなわち、制御部14は楽曲データを光ディスク38から読み出し、該楽曲データの再生を開始する。これによって楽曲が音声出力部36から出力開始される。
【0105】
次に、制御部14はステップS103〜S113の処理を所定時間(フレームレート:例えば1/60秒)ごとに繰り返し実行する。ステップS103〜S113の処理は、ゲーム画面を更新するための処理とプレイヤPのゲームプレイを評価するための処理とを含んでいる。
【0106】
まず、制御部14はキャラクタオブジェクト52の姿勢をモーションデータに基づいて更新する(S103)。すなわち、制御部14は、キャラクタオブジェクト52の姿勢を、モーションデータが示す現在フレームにおける姿勢に設定する。例えば、制御部14は、キャラクタオブジェクト52のスケルトンの状態を、モーションデータが示す現在フレームにおける状態に更新する。
【0107】
その後、制御部14は、基準タイミングが到来するまでの時間が所定時間になったか否かを判定する(S104)。例えば、「所定時間」は、再生される楽曲のn小節(例えば1小節)に対応する時間であり、制御部14は、このステップS104において、現時点が基準タイミングからn小節前の時点であるか否かを判定する。現時点が基準タイミングからn小節前の時点である場合、制御部14は基準タイミングが到来するまでの時間が所定時間になったと判定する。
【0108】
基準タイミングが到来するまでの時間が所定時間になったと判定された場合、制御部14(案内部72)は案内オブジェクト56を仮想空間60内の初期位置68に配置する(S105)。制御部14は、例えば図14を用いて説明したような初期位置68に二体の案内オブジェクト56を配置する。
【0109】
この場合、キャラクタオブジェクト52のモデルデータが案内オブジェクト56のモデルデータとして流用される。また、案内オブジェクト56の姿勢はキャラクタオブジェクト52のモーションデータに基づいて設定される。すなわち、案内オブジェクト56の姿勢が、キャラクタオブジェクト52のモーションデータが示す基準タイミングにおけるキャラクタオブジェクト52の姿勢に設定される。具体的には、基準タイミングにおけるキャラクタオブジェクト52のスケルトンの状態が、キャラクタオブジェクト52のモーションデータから取得される。そして、案内オブジェクト56のスケルトンの状態が、モーションデータから取得された状態に設定される。このようにして、案内オブジェクト56の姿勢が基準タイミングにおけるキャラクタオブジェクト52の姿勢に設定される。なお、案内オブジェクト56の色は所定色(例えば緑色)に設定される。
【0110】
ステップS104で、基準タイミングが到来するまでの時間が所定時間になったと判定されなかった場合、又はステップS105の処理が実行された場合、制御部14は、案内オブジェクト56が仮想空間60に配置されているか否かを判定する(S106)。
【0111】
案内オブジェクト56が仮想空間60に配置されている場合、制御部14は案内オブジェクト56の位置を更新する(S107)。すなわち、制御部14は案内オブジェクト56をキャラクタオブジェクト52に向けて移動させる。例えば、制御部14は、案内オブジェクト56の位置を、「案内オブジェクト56の現在位置からキャラクタオブジェクト52の位置への方向に、案内オブジェクト56の現在位置から所定の移動距離だけ移動した位置」に更新する。
【0112】
「所定の移動距離」は、案内オブジェクト56が基準タイミングにおいてキャラクタオブジェクト52に到達するような移動距離に設定される。例えば、「所定の移動距離」は、案内オブジェクト56の初期位置68とキャラクタオブジェクト52の位置との間の距離(図14における所定距離D)を、ステップS104における所定時間(例えば、楽曲のn小節に対応する時間)で除することによって得られる距離である。
【0113】
なお、ステップS107では、現在のフレームにおいて初期位置68に配置された案内オブジェクト56の位置を更新しないようにする。
【0114】
ステップS106で案内オブジェクト56が仮想空間60に配置されていないと判定された場合、又はステップS107の処理が実行された場合、図16に示すように、制御部14は基準タイミングが到来したか否かを判定する(S108)。
【0115】
基準タイミングが到来したと判定された場合、制御部14はプレイヤPの姿勢と模範姿勢とを比較する(S109)。例えば、制御部14(姿勢データ取得部74)は、プレイヤ検出部40から供給された姿勢データを取得する。また、制御部14は、基準タイミングに関連づけられた模範姿勢データを基準データ(図13)から取得する。そして制御部14(評価部76)は、姿勢データが示すプレイヤPの姿勢と、模範姿勢データが示す模範姿勢とを比較する。
【0116】
例えば、制御部14はプレイヤPの姿勢と模範姿勢との類似度を算出する。すなわち、制御部14は、プレイヤPの複数の代表部位(例えば、頭P1、左手首P2、右手首P3、腰P4、左足首P5、及び右足首P6等)の各々について、姿勢データが示す該部位の位置と、模範姿勢データが示す該部位の位置とを比較することによって、上記の類似度を算出する。
【0117】
より具体的には、制御部14は、複数の代表部位の各々について、姿勢データが示す該部位の位置と、模範姿勢データが示す該部位の位置と、の間の距離が基準距離未満であるか否かを判定する。そして、制御部14は、上記の距離が基準距離未満であると判定された部位の数に基づいて、上記の類似度を算出する。例えば、上記の距離が基準距離未満であると判定された部位の数が上記の類似度として取得される。なお、プレイヤPの姿勢と模範姿勢との類似度の算出方法はここで説明した方法に限られず、他の方法を用いるようにしてもよい。
【0118】
ステップS109の処理が実行された後、制御部14(評価部76)は、ステップS109における比較結果に基づいて、プレイヤPの得点を更新する(S110)。例えば、ステップP109で取得された類似度が基準値よりも高い場合にはプレイヤPの得点が増加される。また、ステップP109で取得された類似度が基準値よりも低い場合にプレイヤPの得点が減少されるようにしてもよい。
【0119】
ステップS110の処理が実行された後、制御部14は案内オブジェクト56を仮想空間60から取り除く(S111)。このステップS111の処理が実行される場合とは、基準タイミングが到来した場合である。この場合、案内オブジェクト56はキャラクタオブジェクト52の位置に到達している。ステップS111では、キャラクタオブジェクト52の位置まで到達した案内オブジェクト56が仮想空間60から取り除かれる。
【0120】
ステップS111の処理が実行された場合、又はステップS108で基準タイミングが到来したと判定されなかった場合、制御部14(案内部72)はゲーム画面を更新する(S112)。すなわち、制御部14は、仮想カメラ64から見た仮想空間60を表すゲーム画面を生成し、該ゲーム画面を表示部34に表示する。
【0121】
ステップS112の処理が実行された後、制御部14は、ゲームの終了条件が満足されるか否かを判定する(S113)。「ゲームの終了条件」とは、例えば楽曲の再生が完了したか否かの条件である。すなわち、楽曲の再生が完了した場合に制御部14はゲームの終了条件が満足されたと判定する。なお、「ゲームの終了条件」は上記の条件に限られない。「ゲームの終了条件」は、例えば、プレイヤPの得点が基準点未満であるか否かの条件であってもよい。
【0122】
ゲームの終了条件が満足されたと判定されなかった場合、制御部14はステップS103〜S113の処理を再実行する。ゲームの終了条件が満足されたと判定されるまでの間、ステップS103〜S113の処理は所定時間(フレームレート:例えば1/60秒)ごとに繰り返し実行される。
【0123】
一方、ゲームの終了条件が満足されたと判定された場合、制御部14は結果画面を表示部34に表示する(S114)。結果画面はプレイヤPのゲームプレイ結果を示す画面であり、結果画面にはプレイヤPの得点(ゲーム成績)が表示される。そして、結果画面が表示された後、本処理は終了し、ゲームが終了する。
【0124】
以上説明したゲーム装置10では、プレイヤPが基準タイミングにおいてとるべき模範姿勢に対応する姿勢を有する案内オブジェクト56がゲーム画面に表示される。また、案内オブジェクト56はキャラクタオブジェクト52に向けて移動し、基準タイミングにおいてキャラクタオブジェクト52に到達する。その結果、プレイヤPは、ゲーム画面に表示される案内オブジェクト56を頼りに、基準タイミングとプレイヤPが基準タイミングにおいてとるべき模範姿勢との両方を比較的容易に把握することができる。ゲーム装置10によれば、基準タイミングとプレイヤPが基準タイミングにおいてとるべき模範姿勢との両方をプレイヤPが比較的容易に把握できるように図ることが可能になる。
【0125】
また、ゲーム装置10では、仮想空間60に配置された案内オブジェクト56を仮想カメラ64から見た様子がゲーム画面に表示される。さらに、仮想空間60において、案内オブジェクト56は、仮想カメラ64から見て、仮想カメラ64の注視対象であるキャラクタオブジェクト52の左側又は右側に配置される。このため、ゲーム画面には、案内オブジェクト56の前方斜め方向から案内オブジェクト56を見た様子が表示される。
【0126】
その結果、プレイヤPが基準タイミングにおいてとるべき模範姿勢をプレイヤPが把握し易くなる。例えば、案内オブジェクト56を真正面から見た様子のみがゲーム画面に表示される場合、プレイヤPは案内オブジェクト56の姿勢を平面的にしか把握することができない。そのため、例えば、案内オブジェクト56が腕等を前方(Zw軸負方向)に動かしていることをプレイヤPは把握し難くなる。この点、案内オブジェクト56の前方斜め方向から案内オブジェクト56を見た様子がゲーム画面に表示される場合、Zw軸方向の変位が表現されるため、プレイヤPは案内オブジェクト56の姿勢を立体的に把握し易くなる。ゲーム装置10によれば、プレイヤPが基準タイミングにおいてとるべき模範姿勢をプレイヤPが容易に把握できるように図ることが可能になる。
【0127】
なお、ゲーム装置10では、一方の案内オブジェクト56が、仮想カメラ64から見てキャラクタオブジェクト52の左側に配置され、他方の案内オブジェクト56が、仮想カメラ64から見てキャラクタオブジェクト52の右側に配置される。このため、ゲーム画面には、案内オブジェクト56の前方右斜め方向から案内オブジェクト56を見た様子と、案内オブジェクト56の前方左斜め方向から案内オブジェクト56を見た様子との両方が表示される。その結果、プレイヤPは案内オブジェクト56の姿勢を立体的により把握し易くなる。ゲーム装置10によれば、プレイヤPが基準タイミングにおいてとるべき模範姿勢をプレイヤPが容易に把握できるように図ることが可能になる。
【0128】
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【0129】
(A)以上では、キャラクタオブジェクト52(基準位置67)と仮想カメラ64との位置関係が固定されていることとして説明したが、キャラクタオブジェクト52(基準位置67)と仮想カメラ64との位置関係は変化するようにしてもよい。
【0130】
また、キャラクタオブジェクト52と仮想カメラ64との位置関係が変化した場合、案内部72は、キャラクタオブジェクト52と仮想カメラ64との位置関係に基づいて、案内オブジェクト56の位置を変更するようにしてもよい。
【0131】
図17は、キャラクタオブジェクト52と仮想カメラ64との位置関係が変化した場合における案内オブジェクト56の位置制御の一例について説明するための図である。図17は、仮想カメラ64が移動することによって、キャラクタオブジェクト52と仮想カメラ64との位置関係が変化した場合について示している。図17において、符号64aは仮想カメラ64の変化前位置を示しており、符号64bは仮想カメラ64の変化後位置を示している。また、符号56a,56bは仮想カメラ64の位置が変化する前の案内オブジェクト56の位置を示しており、符号56c,56dは仮想カメラ64の位置が変化した後の案内オブジェクト56の位置を示している。
【0132】
図17に示す例では、仮想カメラ64の位置が位置64aから位置64bに変化している。位置64bは、キャラクタオブジェクト52の位置を中心として位置64aから反時計回りに角度θだけ回転してなる位置になっている。また、位置64bにおける仮想カメラ64の視線方向66bは、位置64aにおける仮想カメラ64の視線方向66aと同様に、仮想カメラ64からキャラクタオブジェクト52への方向に設定されている。すなわち、仮想カメラ64の注視対象はキャラクタオブジェクト52に設定されている。
【0133】
仮想カメラ64の位置が上記のように変化した場合、案内部72は、一方の案内オブジェクト56の位置を位置56aから位置56cに変化させる。なお、位置56cは、キャラクタオブジェクト52の位置を中心として位置56aから反時計回りに角度θだけ回転してなる位置になっている。また、案内部72は、他方の案内オブジェクト56の位置を位置56bから位置56dに変化させる。なお、位置56dは、キャラクタオブジェクト52の位置を中心として反時計回りに位置56bから角度θだけ回転してなる位置になっている。
【0134】
なお、案内部72は、位置56c,56dにおける案内オブジェクト56の正面方向86c,86dを、キャラクタオブジェクト52の正面方向84と平行な方向に設定する。言い換えれば、案内部72は、位置56c,56dにおける案内オブジェクト56の正面方向86c,86dを、位置56a,56bにおける案内オブジェクト56の正面方向86a,86bと平行な方向に設定する。
【0135】
このようにすれば、キャラクタオブジェクト52(基準位置67)と仮想カメラ64との位置関係が変化するような場合であっても、基準タイミングとプレイヤPが基準タイミングにおいてとるべき模範姿勢との両方をプレイヤPが比較的容易に把握できるように図ることが可能になる。
【0136】
(B)ゲーム画面には、キャラクタオブジェクト52を背後から見た様子が表示されるようにしてもよい。なお、この場合、キャラクタオブジェクト52がプレイヤPが行うべきダンス(模範動作)を左右逆に行う必要がなくなる。このため、キャラクタオブジェクト52がプレイヤPが行うべきダンスをそのまま行うようにすればよい。
【0137】
(C)仮想空間60に配置される案内オブジェクト56の数は二体でなくてもよい。例えば、三体以上の案内オブジェクト56が仮想空間60に配置されるようにしてもよい。
【0138】
また例えば、一体の案内オブジェクト56のみが仮想空間60に配置されるようにしてもよい。すなわち、図11に示す仮想空間60において、いずれか一方の案内オブジェクト56を取り除くようにしてもよい。ところで、この場合、案内オブジェクト56がキャラクタオブジェクト52に向けて移動する代わりに、キャラクタオブジェクト52が案内オブジェクト56に向けて移動するようにしてもよい。あるいは、案内オブジェクト56とキャラクタオブジェクト52との両方がお互いに向けて移動するようにしてもよい。いずれかの場合においても、基準タイミングにおいてキャラクタオブジェクト52と案内オブジェクト56とが重なるようになっていれば、プレイヤPが基準タイミングの到来を把握できるようにすることが可能である。
【0139】
(D)本発明は、予め定められたダンスをプレイヤPが音楽に合わせて踊ることを目指すゲーム以外のゲームにも適用することが可能である。本発明は、プレイヤPが所定タイミングにおいて予め定められた模範姿勢をとることを目指すようなゲームに適用することが可能である。
【符号の説明】
【0140】
10 ゲーム装置、11 家庭用ゲーム機、12 バス、14 制御部、16 主記憶、18 画像処理部、20 入出力処理部、22 音声処理部、24 光ディスクドライブ部、26 ハードディスク、28 通信インタフェース、30 コントローラ、32 外部インタフェース、34 表示部、36 音声出力部、38 光ディスク、40 プレイヤ検出部、41 制御部、42 記憶部、43 音声入力部、44 撮影部、45 深度測定部、46 バス、50 得点、52 キャラクタオブジェクト、56 案内オブジェクト、60 仮想空間、62 床オブジェクト、64 仮想カメラ、66 視線方向、70 記憶部、72 案内部、74 姿勢データ取得部、76 評価部。

【特許請求の範囲】
【請求項1】
プレイヤが所定タイミングにおいて模範姿勢をとることを目指すゲームを実行するゲーム装置において、
基準タイミングと、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢と、に関する基準データを記憶する手段に記憶される前記基準データを取得する手段と、
前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する案内手段と、
前記プレイヤがとった姿勢に関する姿勢データを取得する取得手段と、
前記基準データと前記姿勢データとに基づいて、前記プレイヤのゲームプレイを評価する評価手段と、
を含み、
前記案内手段は、
仮想空間を視点から見た様子を表すゲーム画面を表示手段に表示する手段と、
前記基準タイミングまでの時間が所定時間になった場合、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢に対応する姿勢をとるオブジェクトを、前記仮想空間内に設定される基準位置とは異なる位置に配置する配置手段と、
前記オブジェクトと前記基準位置との少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する手段と、を含む、
ことを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置において、
前記ゲームは、前記プレイヤが模範動作を行うことを目指すゲームであり、
前記仮想空間には、前記プレイヤが行うべき模範動作に対応する動作を行う第2オブジェクトが配置され、
前記配置手段は、前記基準タイミングまでの時間が前記所定時間になった場合、前記オブジェクトとして、前記基準タイミングにおける前記第2オブジェクトの姿勢をとる第1オブジェクトを、前記第2オブジェクトの位置である前記基準位置とは異なる位置に配置し、
前記案内手段は、前記第1オブジェクトと前記第2オブジェクトとの少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する、
ことを特徴とするゲーム装置。
【請求項3】
請求項2に記載のゲーム装置において、
前記配置手段は、前記視点から見て前記第2オブジェクトの左側又は右側に前記第1オブジェクトを配置することを特徴とするゲーム装置。
【請求項4】
請求項3に記載のゲーム装置において、
前記配置手段は、前記視点から見て前記第2オブジェクトの左側に少なくとも一つの第1オブジェクトを配置し、かつ、前記視点から見て前記第2オブジェクトの右側に少なくとも一つの第1オブジェクトを配置することを特徴とするゲーム装置。
【請求項5】
請求項1乃至4のいずれかに記載のゲーム装置において、
前記配置手段は、前記基準位置と前記視点との位置関係が変化した場合に、前記基準位置と前記視点との位置関係に基づいて、前記オブジェクトの位置を変更する手段を含むことを特徴とするゲーム装置。
【請求項6】
プレイヤが所定タイミングにおいて模範姿勢をとることを目指すゲームを実行するゲーム装置の制御方法において、
基準タイミングと、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢と、に関する基準データを記憶する手段に記憶される前記基準データを取得するステップと、
前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する案内ステップと、
前記プレイヤがとった姿勢に関する姿勢データを取得する取得ステップと、
前記基準データと前記姿勢データとに基づいて、前記プレイヤのゲームプレイを評価する評価ステップと、
を含み、
前記案内ステップは、
仮想空間を視点から見た様子を表すゲーム画面を表示手段に表示するステップと、
前記基準タイミングまでの時間が所定時間になった場合、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢に対応する姿勢をとるオブジェクトを、前記仮想空間内に設定される基準位置とは異なる位置に配置する配置ステップと、
前記オブジェクトと前記基準位置との少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内するステップと、を含む、
ことを特徴とするゲーム装置の制御方法。
【請求項7】
プレイヤが所定タイミングにおいて模範姿勢をとることを目指すゲームを実行するゲーム装置としてコンピュータを機能させるためのプログラムであって、
基準タイミングと、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢と、に関する基準データを記憶する手段に記憶される前記基準データを取得する手段、
前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する案内手段、
前記プレイヤがとった姿勢に関する姿勢データを取得する取得手段、
前記基準データと前記姿勢データとに基づいて、前記プレイヤのゲームプレイを評価する評価手段、
として前記コンピュータを機能させ、
前記案内手段は、
仮想空間を視点から見た様子を表すゲーム画面を表示手段に表示する手段と、
前記基準タイミングまでの時間が所定時間になった場合、前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢に対応する姿勢をとるオブジェクトを、前記仮想空間内に設定される基準位置とは異なる位置に配置する配置手段と、
前記オブジェクトと前記基準位置との少なくとも一方を他方に向けて移動させることによって、前記基準タイミングと前記プレイヤが前記基準タイミングにおいてとるべき模範姿勢とを前記プレイヤに案内する手段と、を含む、
ことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2012−95884(P2012−95884A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−247089(P2010−247089)
【出願日】平成22年11月4日(2010.11.4)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】