ゲーム装置、ゲーム装置の制御方法、及びプログラム
【課題】プレイヤへのストレスを軽減させること。
【解決手段】ゲーム装置(20)の第1判定手段(48)は、基準時点よりも前の第1判定対象時点におけるプレイヤの部位の位置と基準位置とが、位置ずれに関する第1条件を満たすか否かを判定する。第2判定手段(50)は、第1判定対象時点よりも後の第2判定対象時点におけるプレイヤの部位の位置と基準位置とが、第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する。第1処理実行手段(52)は、第1判定手段(48)の判定結果に基づいてゲームのエフェクトに関する処理を行う。第2処理実行手段(54)は、第2判定手段(50)の判定結果に基づいてプレイヤの評価に関する処理を行う。
【解決手段】ゲーム装置(20)の第1判定手段(48)は、基準時点よりも前の第1判定対象時点におけるプレイヤの部位の位置と基準位置とが、位置ずれに関する第1条件を満たすか否かを判定する。第2判定手段(50)は、第1判定対象時点よりも後の第2判定対象時点におけるプレイヤの部位の位置と基準位置とが、第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する。第1処理実行手段(52)は、第1判定手段(48)の判定結果に基づいてゲームのエフェクトに関する処理を行う。第2処理実行手段(54)は、第2判定手段(50)の判定結果に基づいてプレイヤの評価に関する処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム装置、ゲーム装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
カメラで撮影して得られるプレイヤの画像(撮影画像)を用いてゲーム処理を行うゲーム装置が知られている。例えば、特許文献1には、撮影画像を解析することによって、プレイヤが行った操作を判断するゲーム装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3866474号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
撮影画像に基づいてプレイヤの操作が判断される場合、画像の解析処理が行われるため、一般的なゲームコントローラからの操作信号(例えばボタンの押下げ信号)に基づいてプレイヤの操作が判断される場合に比べて、プレイヤが行った操作を判断するまでに時間を要することがある。その結果、プレイヤが実際に操作を行ったタイミングと、プレイヤが操作を行ったとゲーム装置内で判断されるタイミングと、の間に時間差が生じてしまう。
【0005】
例えば、特許文献1に記載のように、プレイヤが画面に表示されるキャラクタの動作に合わせて体を動かすゲームでは、プレイヤがキャラクタの動作に合わせて踊ったタイミングと、プレイヤが踊ったとゲーム装置内で判断されるタイミングと、の間に時間差が生じるので、プレイヤが正しく踊れていても、ゲームの評価に反映されずにストレスを感じてしまうという問題があった。
【0006】
本発明は、上記課題に鑑みてなされたものであって、その目的は、プレイヤへのストレスを軽減させることが可能なゲーム装置、ゲーム装置の制御方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係るゲーム装置は、所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するゲーム装置であって、前記プレイヤの部位の位置に関するプレイヤ位置情報を取得するプレイヤ位置情報取得手段と、基準時点に関する情報と、前記基準時点において前記部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から前記基準データを取得する基準データ取得手段と、前記基準データに基づいて、前記基準時点及び前記基準位置を前記プレイヤに案内する案内手段と、前記基準時点に基づいて設定される時点であって、前記基準時点よりも前の第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する第1判定手段と、前記基準時点に基づいて設定される時点であって、前記第1判定対象時点よりも後の第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、前記第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する第2判定手段と、前記第1判定手段の判定結果に基づいて前記ゲームのエフェクトに関する処理を行う第1処理実行手段と、前記第2判定手段の判定結果に基づいて前記プレイヤの評価に関する処理を行う第2処理実行手段と、を含むことを特徴とする。
【0008】
また、本発明に係るゲーム装置の制御方法は、所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するゲーム装置の制御方法であって、前記プレイヤの部位の位置に関するプレイヤ位置情報を取得するプレイヤ位置情報取得ステップと、基準時点に関する情報と、前記基準時点において前記部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から前記基準データを取得する基準データ取得ステップと、前記基準データに基づいて、前記基準時点及び前記基準位置を前記プレイヤに案内する案内ステップと、前記基準時点に基づいて設定される時点であって、前記基準時点よりも前の第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する第1判定ステップと、前記基準時点に基づいて設定される時点であって、前記第1判定対象時点よりも後の第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、前記第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する第2判定ステップと、前記第1判定ステップの判定結果に基づいて前記ゲームのエフェクトに関する処理を行う第1処理実行ステップと、前記第2判定ステップの判定結果に基づいて前記プレイヤの評価に関する処理を行う第2処理実行ステップと、を含むことを特徴とする。
【0009】
また、本発明に係るプログラムは、所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するゲーム装置としてコンピュータを機能させるためのプログラムであって、前記プレイヤの部位の位置に関するプレイヤ位置情報を取得するプレイヤ位置情報取得手段、基準時点に関する情報と、前記基準時点において前記部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から前記基準データを取得する基準データ取得手段、前記基準データに基づいて、前記基準時点及び前記基準位置を前記プレイヤに案内する案内手段、前記基準時点に基づいて設定される時点であって、前記基準時点よりも前の第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する第1判定手段、前記基準時点に基づいて設定される時点であって、前記第1判定対象時点よりも後の第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、前記第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する第2判定手段、前記第1判定手段の判定結果に基づいて前記ゲームのエフェクトに関する処理を行う第1処理実行手段、前記第2判定手段の判定結果に基づいて前記プレイヤの評価に関する処理を行う第2処理実行手段、を含むことを特徴とするゲーム装置として前記コンピュータを機能させる。
【0010】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0011】
本発明によれば、プレイヤへのストレスを軽減させることが可能になる。
【0012】
また、本発明の一態様では、前記第1判定手段は、前記第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置が、前記基準位置に基づいて設定される第1判定領域に含まれるか否かを判定することによって、前記第1条件を満たすか否かを判定し、前記第2判定手段は、前記第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置が、前記基準位置に基づいて設定される領域であって、前記第1判定領域に覆われる第2判定領域に含まれるか否かを判定することによって、前記第2条件を満たすか否かを判定する、ことを特徴とする。
【0013】
また、本発明の一態様では、前記ゲームは、前記プレイヤが、表示手段に表示されたキャラクタと同じ動作をすることを目指すゲームであって、前記ゲーム装置は、前記基準時点に基づいて設定される期間内における前記キャラクタの部位の変化方向に関する情報を取得する手段と、前記取得された変化方向に基づいて、前記第1判定領域及び前記第2判定領域を変更する手段と、を含むことを特徴とする。
【0014】
また、本発明の一態様では、前記第1判定手段は、前記第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と、前記基準位置と、の位置ずれ量が基準範囲内である部位の数が、第1基準範囲であるか否かに基づいて、前記第1条件を満たすか否かを判定し、前記第2判定手段は、前記第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と、前記基準位置と、の位置ずれ量が基準範囲内である部位の数が、前記第1基準範囲の下限値よりも下限値の大きい第2基準範囲であるか否かに基づいて、前記第2条件を満たすか否かを判定する、ことを特徴とする。
【図面の簡単な説明】
【0015】
【図1】ゲームをプレイするプレイヤの様子を示す図である。
【図2】CCDカメラによって生成される撮影画像の一例を示す図である。
【図3】赤外線センサによるプレイヤの深度の測定方法を説明するための図である。
【図4】赤外線センサによって得られる深度画像の一例を示す図である。
【図5】位置検出装置により生成されるプレイヤ位置情報の一例を示す図である。
【図6】プレイヤ位置情報によって特定されるプレイヤの位置を示す図である。
【図7】ゲーム画面の一例を示す図である。
【図8】プレイヤが高い評価を得た場合のゲーム画面を示す図である。
【図9】位置検出装置のハードウェア構成を示す図である。
【図10】ゲーム装置のハードウェア構成を示す図である。
【図11】ゲーム装置において実現される機能を示す機能ブロック図である。
【図12】ゲーム空間を示す図である。
【図13】設定データの一例を示す図である。
【図14】判定方法の種別を示す図である。
【図15】ゲーム装置がSolid又はStreamの判定をすべき基準時点が近づいた場合のゲーム画面の一例を示す図である。
【図16】ゲーム装置がPose又はGestureの判定をすべき基準時点が近づいた場合のゲーム画面の一例を示す図である。
【図17】本実施形態において設定される第1判定領域及び第2判定領域を示す図である。
【図18】ゲーム装置がSolid又はStreamの判定をすべき基準時点が近づいた場合に設定される第1判定領域及び第2判定領域の一例を示す図である。
【図19】ゲーム装置において実行される処理の一例を示すフロー図である。
【発明を実施するための形態】
【0016】
[1.実施形態]
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0017】
図1は、ゲームをプレイするプレイヤの様子を示す図である。図1に示すように、プレイヤ100は、例えば、位置検出装置1の前方に位置する。位置検出装置1とゲーム装置20とは、データ通信可能に接続される。
【0018】
[2.位置検出装置の動作]
まず、位置検出装置1について説明する。位置検出装置1は、3次元空間におけるプレイヤの位置に関するプレイヤ位置情報を生成する。本実施形態においては、プレイヤの位置情報が、プレイヤ100の複数の部位の位置に関する情報を含む場合を説明する。プレイヤ100の部位は、例えば、頭や両腕等である。
【0019】
図1に示すように、位置検出装置1は、例えば、CCDカメラ2、赤外線センサ3、複数のマイクロフォンを含むマイク4等を備える。
【0020】
CCDカメラ2は、CCDイメージセンサを備えた公知のカメラである。CCDカメラ2は、例えば、所定時間毎(例えば1/60秒毎)にプレイヤ100を撮影した撮影画像(例えば、RGBデジタル画像)を生成する。
【0021】
図2は、CCDカメラ2によって生成される撮影画像の一例を示す図である。図2に示すように、撮影画像には、例えば、プレイヤ100が含まれる。撮影画像には、互いに直行するXs軸、Ys軸が設定される。例えば、撮影画像の左上を、原点Os(0,0)とする。また例えば、撮影画像の右下を、座標Pmax(Xmax,Ymax)とする。撮影画像に対応する各画素の位置は、それぞれの画素に割り当てられる2次元座標(Xs−Ys座標)によって特定される。
【0022】
赤外線センサ3は、例えば、赤外線発光素子及び赤外線受光素子(例えば、赤外線ダイオード)から構成される。赤外線センサ3は、赤外線光を照射して得られる反射光を検出する。赤外線センサ3は、この反射光の検出結果に基づいて被写体(例えば、プレイヤ100)の深度を測定する。
【0023】
被写体の深度とは、測定基準位置と被写体の位置との距離間隔である。測定基準位置とは、プレイヤ100の位置の深度(奥行き)を測定する際の基準となる位置である。測定基準位置は、位置検出装置1の位置と関連付けられる所定の位置であればよく、例えば、赤外線センサ3の赤外線受光素子の位置である。赤外線センサ3は、例えば、赤外線を照射してから反射光を受光するまでの飛行時間(TOF:Time of Flight)に基づいてプレイヤ100の深度を測定する。
【0024】
図3は、赤外線センサ3によるプレイヤ100の深度の測定方法を説明するための図である。図3に示すように、赤外線センサ3から所定間隔でパルス状の赤外線光が照射される。赤外線センサ3から照射された赤外線光は、赤外線センサ3の発光位置を中心点として球状に広がる。
【0025】
赤外線センサ3から照射された赤外線光は、例えば、プレイヤ100の体の表面に当たる。これらの表面に当たった赤外線光は、反射する。反射した赤外線光は、赤外線センサ3の赤外線受光素子により検出される。即ち、赤外線センサ3は、照射した赤外線に対して位相が180度反転した反射光を検出する。
【0026】
例えば、図3に示すように、プレイヤ100が両手を前方に突き出している場合、突き出された両手は、プレイヤ100の胴体よりも赤外線センサ3に近い。つまり、プレイヤ100の両手によって反射される赤外線光の飛行時間は、プレイヤ100の胴体によって反射される赤外線光の飛行時間よりも短い。
【0027】
赤外線センサ3が赤外線光を照射してから反射光を検出するまでの時間(つまり、飛行時間)と、赤外線の速度と、を乗算して半分で割った値は、測定基準位置とプレイヤ100との距離間隔(即ち、深度)に相当する。このような処理を行うことにより、赤外線センサ3は、プレイヤ100の深度を測定する。
【0028】
また、赤外線センサ3は、反射した赤外線光から得られる深度差を検出することにより、被写体(プレイヤ100)の輪郭も検出する。上記のように、赤外線センサ3が赤外線光の反射光を受信することは、この場所に物体が配置されていることを意味する。また、この物体の後方の近い位置に他の物体が配置されていなければ、この物体と、この物体の周囲と、の深度差は大きくなる。例えば、深度差が所定値よりも大きい箇所をつなぎ合わせることによって、プレイヤ100の輪郭を検出する。
【0029】
なお、プレイヤ100の輪郭を検出する方法は、上記の例に限られない。他にも例えば、CCDカメラ2によって得られる撮影画像の各画素の輝度に基づいて輪郭を検知するようにしてもよい。この場合も、例えば、画素間の輝度差が大きい箇所をつなぎ合わせることによってプレイヤ100の輪郭を検出することができる。
【0030】
上記のようにして検出されるプレイヤ100の深度に関する情報(深度情報)は、例えば、深度画像として表現される。本実施形態においては、深度情報が、グレースケールの深度画像(例えば、256ビットのグレースケールの画像データ)として表現される例を挙げて説明する。
【0031】
図4は、赤外線センサ3によって得られる深度画像の一例を示す図である。図4に示すように、例えば、赤外線センサ3に近い物体は明るく(輝度が高く)、遠い物体は暗く(輝度が低く)表現される。プレイヤ100の深度は、深度画像の輝度(画素値)に対応する。
【0032】
例えば、深度画像が256ビットのグレースケールの画像データとして表される場合、プレイヤ100の深度が2センチメートル異なる毎に深度画像の輝度が1ビット異なる。この場合、赤外線センサ3は、被写体の深度を2センチ単位で検出することが可能であることを示す。プレイヤ100が両手を前方に突き出している場合(図3)、図4に示すように、プレイヤ100の両手に対応する画素は、胴体に対応する画素よりも明るく(輝度が高く)表現される。
【0033】
本実施形態においては、赤外線センサ3は、CCDカメラ2と同様に所定時間毎(例えば1/60秒毎)に、深度画像を生成する。CCDカメラ2により得られる撮影画像と、赤外線センサ3により得られる深度画像と、に基づいてプレイヤ100の部位の位置に関するプレイヤ位置情報が生成される。
【0034】
例えば、CCDカメラ2により得られる撮影画像(RGBデータ)に、深度画像が示す深度情報(D:Depth)が合算された合成画像(RGBDデータ)が生成される。即ち、合成画像は、各画素ごとに、色情報(RGBそれぞれの明度)と深度情報とを含む。
【0035】
合成画像に基づいてプレイヤ位置情報が生成される際には、まず、深度画像に基づいてプレイヤ100の輪郭に対応する画素が特定される。次いで、合成画像のうち輪郭によって囲まれた画素の色情報(RGBの明度)が参照される。合成画像の色情報に基づいて、プレイヤ100の体の各部位に対応する画素が特定される。この特定方法としては、例えば、比較画像(教師画像)との比較によって画像の中から対象物(即ち、プレイヤ100の体の各部位)を抽出するパターンマッチング法等、公知の手法を適用可能である。
【0036】
上記のようにして特定された画素の画素値(RGBD値)に基づいて、プレイヤ100の頭や肩等の3次元座標が算出される。例えば、この画素値に対して所定の行列変換処理が施されることによって、3次元座標が生成される。この行例変換処理は、例えば、3Dグラフィックにおけるワールド座標−スクリーン座標の2つの座標系の変換処理と同様の行例演算によって実行される。つまり、画素の色情報を示すRGB値と奥行きを示すD値と、が所定の行列式に代入されることにより、この画素の3次元座標が算出される。
【0037】
なお、画素値(RGBD値)から画素に対応する3次元座標が算出される方法は、公知の手法を適用可能であり、この算出方法は、上記の例に限られない。他にも例えば、ルックアップテーブルを用いて座標変換が行われるようにしてもよい。
【0038】
図5は、位置検出装置1により生成されるプレイヤ位置情報の一例を示す図である。図5に示すように、プレイヤ位置情報は、プレイヤ100の複数の部位の位置に関する複数の情報を含む。プレイヤ位置情報は、例えば、プレイヤ100の各部位と、3次元座標と、が対応付けられて格納される。
【0039】
図6は、プレイヤ位置情報によって特定されるプレイヤ100の位置を示す図である。本実施形態では、例えば、位置検出装置1に対応する所定位置(例えば、測定基準位置)を原点Opとする。例えば、原点Opは、赤外線センサ3の測定基準位置に対応する3次元座標である。なお、原点Opの位置は、プレイヤ100がいる3次元空間のどこに設定されてもよい。例えば、撮影画像の原点Osに対応する3次元座標が、原点Opとして設定されるようにしてもよい。
【0040】
図6に示すように、本実施形態では、プレイヤ位置情報がプレイヤ100の複数の部位のうちで少なくとも頭の位置及び腰の位置に関する部位情報を含む場合を説明する。例えば、プレイヤ位置情報は、プレイヤ100の頭P1、肩P2、左上腕P3、右上腕P4、左下腕P5、右下腕P6、背中P7、左ももP8、右ももP9、左すねP10、右すねP11に対応する11個の3次元座標が含まれる。
【0041】
なお、プレイヤ位置情報によって示されるプレイヤ100の体の部位は、プレイヤの体(骨格)のうちで予め定められた部位のものであってよい。例えば、この部位は、先述したパターンマッチング法によって特定可能な体の部位であればどこでもよい。
【0042】
例えば、所定間隔毎(例えば、1/60秒毎)に生成されるプレイヤ位置情報は、位置検出装置1からゲーム装置20に対して送信される。ゲーム装置20は、プレイヤ位置情報を位置検出装置1から受信し、プレイヤ(以降、プレイヤの「100」の符号を省略する。)の体の動きを把握してゲームを実行する。
【0043】
[3.ゲーム装置で実行されるゲーム]
ゲーム装置20は、所与の時点におけるプレイヤの部位の位置が判定されるゲームを実行する。本実施形態においては、例えば、ゲーム装置20が、キャラクタ32のダンスに合わせて、プレイヤがダンスを踊るゲームを実行する場合を説明する。プレイヤは、例えば、ゲーム画面に表示されたキャラクタと同じ動作(ダンス)をすることを目指す。
【0044】
図7は、ゲーム画面の一例を示す図である。図7に示すように、ゲーム画面30には、楽曲に合わせてダンスを踊るキャラクタ32と、プレイヤの得点を示すスコア34とが含まれる。キャラクタ32は、例えば、ダンサーの踊りを撮影した映像にモーションキャプチャリング処理が行われて作成されたデータに基づいて表示される。
【0045】
本実施形態においては、ゲーム装置20がプレイヤの動作を判定する時間が近づくと、ゲーム画面30に泡を模したマーク36が表示される。プレイヤは、このマーク36を頼りにゲームをプレイする。別の言い方をすれば、マーク36は、これからキャラクタ32が体を動かす位置及びタイミングをプレイヤに案内するための画像である。例えば、キャラクタ32の手がマーク36の中心に触れた場合に、プレイヤが同じ動作をしていると、プレイヤは高い評価を得ることになる。
【0046】
なお、本実施形態においては、ゲーム画面30に表示されるキャラクタ32とプレイヤが向き合った状態でゲームをプレイするため、ゲーム画面30においては、プレイヤがすべきダンスを左右反転させたダンスをキャラクタ32が踊るように、キャラクタ32が表示される。例えば、プレイヤから見て右側の手(キャラクタ32から見て左側の手)をキャラクタ32が上げた場合にプレイヤが右手を上げると、プレイヤは高い評価を得ることになる。
【0047】
図8は、プレイヤが高い評価を得た場合のゲーム画面30を示す図である。図8に示すように、プレイヤが高い評価を得た場合には、ゲーム画面30には、エフェクト画像38と、評価内容を示す評価画像39と、が表示される。また例えば、プレイヤが高い評価を得た場合、泡を模したマーク36が破裂するような音が出力され、マーク36がゲーム画面30から消える。
【0048】
このように、プレイヤは、ゲーム画面30に表示される内容(例えば、マーク36)を頼りに、キャラクタ32のダンスと同じように踊ることを目指す。ゲーム装置20においては、プレイヤがキャラクタ32と同じようにダンスしているか否かを評価するために、2つの時点でプレイヤの部位の位置の判定が行われる。例えば、一方の判定がプレイヤの動作の評価を行うために用いられ、他方の判定がエフェクト効果の処理を行うために用いられている。以降、この技術について詳細に説明する。
【0049】
まず、位置検出装置1とゲーム装置20との構成について説明する。
【0050】
[4.位置検出装置の構成]
図9は、位置検出装置1のハードウェア構成を示す図である。図9に示すように、位置検出装置1は、制御部10、記憶部11、撮影部12、深度測定部13、音声入力部14、通信インタフェース部15から構成される。位置検出装置1の各構成要素は、バス16によってデータ送受信可能に接続される。
【0051】
制御部10は、記憶部11に記憶されるオペレーティングシステム、各種プログラムに基づいて位置検出装置1の各部を制御する。
【0052】
記憶部11は、オペレーティングシステムや撮影部12、深度測定部13を動作させるためのプログラム、各種パラメータを記憶する。また、記憶部11は、撮影画像及び深度画像に基づいてプレイヤ位置情報を生成するためのプログラムを記憶する。
【0053】
撮影部12は、CCDカメラ2等から構成される。撮影部12は、例えば、プレイヤの撮影画像を生成する。深度測定部13は、赤外線センサ3等から構成される。深度測定部13は、例えば、赤外線センサ3により得られる飛行時間に基づいて深度画像を生成する。制御部10は、先述のように、所定時間毎(例えば、1/60秒毎)に、撮影部12により生成される撮影画像と、深度測定部13により生成される深度画像と、に基づいて、プレイヤ位置情報を生成する。
【0054】
音声入力部14は、マイク4等から構成される。通信インタフェース部15は、ゲーム装置20に対してプレイヤ位置情報等の各種データを送信するためのインタフェースである。
【0055】
[5.ゲーム装置の構成]
図10は、ゲーム装置20のハードウェア構成を示す図である。図10に示すように、ゲーム装置20は、制御部21、主記憶部22、補助記憶部23、光ディスク再生部24、通信インタフェース部25、操作部26、表示部27、及び音声出力部28を含む。ゲーム装置20の各部はバス29によって接続されている。
【0056】
制御部21は、例えばCPU、GPU(Graphics Processing Unit)、及びSPU(Sound Processing Unit)等を含む。制御部21は、オペレーティングシステムやその他のプログラムに従って各種処理を実行する。
【0057】
主記憶部22は、例えば、RAM(Random Access Memory)を含む。補助記憶部23は、例えば、ハードディスク装置(情報記億媒体)を含む。主記憶部22は、補助記憶部23又は光ディスク(情報記憶媒体)から読み出されたプログラムやデータを記憶する。また、主記憶部22は、処理の過程で必要なデータを記憶するワークメモリとしても用いられる。また例えば、主記憶部22は、位置検出装置1から受信されるプレイヤ位置情報を、受信時間と対応付けて一時的に記憶する。
【0058】
光ディスク再生部24は、光ディスクに記憶されたプログラムやデータを読み取る。光ディスクには、例えば、ゲームプログラムが記憶されている。
【0059】
通信インタフェース部25は、ゲーム装置20を通信ネットワークに通信接続するためのインタフェースである。ゲーム装置20は、通信インタフェース部25を介してプレイヤ位置情報を、位置検出装置1から取得する。
【0060】
操作部26は、プレイヤが操作を行うためのものである。操作部26は、例えばゲームコントローラ、タッチパネル、マウス、又はキーボード等を含む。表示部27は、例えば、家庭用テレビ受像機又は液晶表示パネル等である。表示部27は、制御部21の指示に従って画面を表示する。音声出力部28は、例えば、スピーカ又はヘッドホン等を含む。
【0061】
本実施形態においては、ゲームの実行に際して必要なプログラムやデータは、光ディスクを介してゲーム装置20に供給される場合を説明する。なお、これらのプログラムやデータは、他の情報記憶媒体(例えば、メモリカード)を介してゲーム装置20に供給されるようにしてもよい。または、プログラムやデータは、通信ネットワークを介して遠隔地からゲーム装置20に供給されるようにしてもよい。
【0062】
[6.ゲーム装置で実現される機能]
図11は、ゲーム装置20において実現される機能を示す機能ブロック図である。図11に示すように、ゲーム装置20では、ゲームデータ記憶部40、プレイヤ位置情報取得部42、基準データ取得部44、案内部46、第1判定部48、第2判定部50、第1処理実行部52、第2処理実行部54が実現される。これらの機能は、制御部21が、光ディスクから読み出されたプログラムに従って動作することにより、実現される。
【0063】
[6−1.ゲームデータ記憶部]
ゲームデータ記憶部40は、主記憶部22及び補助記憶部23を主として実現される。ゲームデータ記憶部40は、ゲームを実行するために必要な情報を記憶する。例えば、ゲームデータ記憶部40には、以下のようなデータが格納される。
(1)楽曲データ(一般のポピュラー音楽等を所定のデータ形式で保存したデータ)
(2)モーションデータ
(3)基準データ
(4)プレイヤ位置情報を時系列的に格納したデータ
(5)ゲーム状況データ(実行中のゲームの状況(得点や経過時間等)を示すデータ)
【0064】
なお、上記のデータのうち、楽曲データ、モーションデータ、及び基準データは、予めゲーム作成者によって用意されたデータである。プレイヤ位置情報は、位置検出装置1から取得されるデータであり、ゲーム状況データは、ゲームプログラムによって生成及び更新されるデータである。また、制御部21は、ゲームデータ記憶部40に格納された各種データを取得する手段として機能する。
【0065】
[モーションデータ]
まず、モーションデータについて説明する。モーションデータは、例えば、ダンサーの動きを撮影した映像にモーションキャプチャリング処理を施して生成されるデータに基づいて、ゲーム製作者によって作成される。モーションデータは、例えば、キャラクタ32の各部位の位置を特定するためのデータである。
【0066】
本実施形態においては、モーションデータには、楽曲の再生が開始されてからの経過時間(例えば、1/256小節毎)と、ゲーム空間におけるキャラクタ32の各部位(骨格)を示すデータと、が対応付けられて格納される場合を説明する。
【0067】
即ち、モーションデータには、キャラクタ32の姿勢を示すデータが時系列的に格納される。ゲーム装置20は、モーションデータに基づいて、キャラクタ32を示すオブジェクトをゲーム空間に配置することによって、ゲーム画面30においてキャラクタ32がダンスを踊るように表示制御を行うことができる。
【0068】
図12は、ゲーム空間を示す図である。図12に示すように、ゲーム空間60には、キャラクタ32を示すキャラクタオブジェクト62と、仮想カメラ64(視点)と、が配置される。キャラクタオブジェクト62は、複数のポリゴンを含んで構成される。例えば、モーションデータに格納されたキャラクタ32の部位を示すデータに基づいてキャラクタオブジェクト62が作成される。
【0069】
キャラクタオブジェクト62は、プレイヤが取るべき姿勢を案内するように変化する。本実施形態においては、キャラクタ32が、プレイヤがすべきダンスを左右反転させたダンスを踊る場合を説明する。例えば、プレイヤが右手を上方に位置させるべき場合には、キャラクタオブジェクト62のうちキャラクタ32の左手を示すオブジェクトが上方に位置する。即ち、モーションデータには、キャラクタ32が、プレイヤがすべきダンスを左右反転させたダンスを踊るように、キャラクタ32の部位の位置が定義されている。
【0070】
ゲーム画面30には、ゲーム空間60を仮想カメラ64から見た様子を示す画像が表示される。仮想カメラ64の位置や視線方向を示す情報は、固定値であってもよいし、ゲームプログラムやプレイヤの操作に基づいて変動するようにしてもよい。仮想カメラ64の位置や視線方向を示す情報は、例えば、ゲーム状況データに格納される。また、モーションデータと楽曲データとは、キャラクタ32が楽曲に合わせてダンスを踊るように同期再生される。
【0071】
[基準データ]
次に、基準データについて説明する。基準データは、楽曲データの再生時間内に設定される基準時点に関する情報と、基準時点においてプレイヤの部位があるべき基準位置に関する情報と、を対応付けてなるデータである。基準時点とは、ゲーム装置20がプレイヤの動作を判定(評価)すべき時点である。基準データに基づいて、楽曲データの再生期間内に行われるプレイヤの動作が評価される。楽曲データの再生期間内とは、楽曲の始点から終点までの期間内のことである。
【0072】
本実施形態においては、基準データは、判定用位置データと設定データとを含んでいる場合を説明する。判定用位置データは、楽曲の再生が開始されてからの各時点においてプレイヤの各部位があるべき位置を示すデータである。例えば、楽曲の再生が開始されてからの経過時間と、この経過時間においてプレイヤの部位があるべき位置(3次元座標)と、が対応付けられて判定用位置データに格納される。モーションデータと同様に、判定用位置も、ダンサーの動きを撮影した映像にモーションキャプチャリング処理を施して生成されるデータに基づいて、ゲーム製作者によって作成される。判定用位置データは、プレイヤ位置情報が示すプレイヤの部位の位置と比較される。
【0073】
また、本実施形態においては、判定用位置データが、プレイヤに設定される代表点に基づいた座標系で表現される場合を説明する。例えば、判定用位置データに格納される3次元座標は、代表点を原点とした座標系によって表現される。即ち、判定用位置データに格納されるプレイヤの各部位の位置座標は、プレイヤの各部位があるべき位置と、代表点の位置と、の位置関係を示している。
【0074】
なお、本実施形態においては、代表点を背中P7とする。この場合、背中P7を原点とし、背中P7からの相対的な位置を示す3次元座標が、判定用位置データに格納される。プレイヤの動作が評価される場合には、ゲーム装置20は、プレイヤ位置情報を代表点に基づいた座標系で表現する。例えば、判定用位置データは、背中P7を原点とする座標系で表現されているので、プレイヤ位置情報に含まれる3次元座標も、背中P7を原点とする座標系で表現する。
【0075】
なお、本実施形態においては、代表点が背中P7である場合を説明するが、代表点は、プレイヤ及びキャラクタ32に設定される点であればよく、背中P7でなくともよい。例えば、代表点は、頭P1等であってもよい。
【0076】
また、本実施形態においては、キャラクタ32は、プレイヤがすべきダンスの左右反対のダンスを踊るので、判定用位置データが示すプレイヤの頭P1、肩P2、左上腕P3、右上腕P4、左下腕P5、右下腕P6、背中P7、左ももP8、右ももP9、左すねP10、右すねP11の位置と、図12に示すキャラクタ32の頭Q1、肩Q2、左上腕Q3、右上腕Q4、左下腕Q5、右下腕Q6、背中Q7、左ももQ8、右ももQ9、左すねQ10、右すねQ11の位置と、は一定の関係(左右反対の関係)を保っている。
【0077】
次に、設定データについて説明する。設定データは、基準時点と、当該基準時点においてゲーム装置20が判定するプレイヤの部位を特定するためのデータである。
【0078】
図13は、設定データの一例を示す図である。図13に示すt軸は、時間軸である。t軸は、楽曲の再生が開始されてからの経過時間を示している。例えば、設定データは、所定小節(例えば、1/16小節)毎に、ゲーム装置20が判定すべきプレイヤの部位を示している。本実施形態においては、設定データにおいて、頭、左手(例えば、左下腕)、右手(例えば、右下腕)、左足(例えば、左すね)、右足(例えば、右すね)の5つの部位が定義される場合を説明する。
【0079】
図13に示すように、1/16小節の各時点において、ゲーム装置20がプレイヤのダンスを判定すべきか否かは、「0」〜「7」の数値によって表されている。設定データに格納される「頭」、「左手」、「右手」、「左足」、「右足」の値は、それぞれ、ゲーム装置20がプレイヤの頭、左手、右手、左足、右足の位置を判定すべきか否かを示している。また、設定データの値の数値によって、ゲーム装置20がプレイヤの動作を判定する方法の種別が異なる。
【0080】
図14は、判定方法の種別を示す図である。図14に示すように、本実施形態においては、設定データに格納される値によって、ゲーム装置20がプレイヤの動作を判定する方法の種別が異なる。設定データに格納される値が「0」であることは、ゲーム装置20がプレイヤの動作を判定すべき時点ではないことを示している。即ち、設定データに格納される全ての部位が「0」である場合は、基準時点ではないことを示している。
【0081】
設定データに格納される部位の値が「1」〜「7」の何れかである場合、ゲーム装置20が判定すべきプレイヤの部位があることを示している。以降、この部位を判定対象部位という。即ち、設定データが「1」〜「7」である時間は、基準時点であることを示している。本実施形態においては、図14に示すように、ゲーム装置20がプレイヤの動作を判定する方法が、以下の7種類に分類される。
(1)Ripple:ゲーム装置20が、プレイヤがキャラクタ32と同じ手の動きをしているか否かを判定する。
(2)Step:ゲーム装置20が、プレイヤがキャラクタ32と同じ足の動きをしているか否かを判定する。
(3)Pose:ゲーム装置20が、プレイヤが全身を使ってキャラクタ32と同じポーズをしているか否かを判定する。
(4)Lock:ゲーム装置20が、プレイヤが、一定時間、キャラクタ32と同じ位置に部位を固定しているか否かを判定する。
(5)Solid:ゲーム装置20が、プレイヤが、一定時間、キャラクタ32と同じように手を振っているか否かを判定する。
(6)Stream:ゲーム装置20が、プレイヤが、一定時間、キャラクタ32と同じ手の動きをしているか否かを判定する。
(7)Gesture:ゲーム装置20が、プレイヤが、一定時間、全身又は一部の部位を使ってキャラクタ32と同じポーズをしているか否かを判定する。
【0082】
例えば、設定データの値が「1」、「2」、「4」、「5」、「6」の部位がある場合、ゲーム装置20は、これらの値になっているプレイヤの部位(頭、左手、右手、左足、右足)の動作を、上記の種別に基づいて判定する。また例えば、設定データの値が「3」、「7」の部位がある場合、ゲーム装置20は、プレイヤの全身又は一部の部位の動作を、上記種別に基づいて判定する。
【0083】
なお、本実施形態においては、プレイヤによって上記のような動作が行われる場合を説明するが、ゲーム装置20の判定方法の種別は、キャラクタ32のダンスに基づいた動作であればよく、ゲーム装置20の判定方法の種別は、上記の例に限られない。
【0084】
[6−2.プレイヤ位置情報取得部]
プレイヤ位置情報取得部42は、制御部21を主として実現される。プレイヤ位置情報取得部42は、プレイヤの部位の位置に関するプレイヤ位置情報を取得する。プレイヤ位置情報は、例えば、3次元空間(現実空間)におけるプレイヤの部位の3次元座標を含んでなる。プレイヤ位置情報取得部42は、位置検出装置1からプレイヤ位置情報を取得する。
【0085】
本実施形態においては、プレイヤ位置情報は、プレイヤの代表位置(即ち、代表点。例えば、背中P7。)の位置とプレイヤの部位の位置とに関する情報を含む場合を説明する。取得されたプレイヤ位置情報は、例えば、取得時間と対応づけられてゲームデータ記憶部40に記憶される。
【0086】
[6−3.基準データ取得部]
基準データ取得部44は、制御部21を主として実現される。基準データ取得部44は、基準時点に関する情報と、基準時点においてプレイヤの部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から基準データを取得する。
【0087】
本実施形態においては、基準データ取得部44は、判定用位置データと、設定データと、を含む基準データを取得する。判定用位置データには、楽曲の再生が開始されてからの経過時間と、この経過時間においてプレイヤの部位があるべき3次元座標(例えば、キャラクタ32の部位の3次元座標)と、が格納される。設定データには、基準時点と、ゲーム装置が判定すべきプレイヤの部位と、が対応づけられる。
【0088】
[6−4.案内部]
案内部46は、制御部21を主として実現される。案内部46は、基準データに基づいて、基準時点及び基準位置をプレイヤに案内する。本実施形態においては、案内部46は、設定データに基づいて、基準時点及び基準位置を案内するための案内画像(例えば、マーク36)を表示させる場合を説明する。
【0089】
例えば、設定データに格納された値が「1」〜「7」の何れかである時間(即ち、基準時点)が近づくと、案内部46は、判定用位置データに基づいてマーク36を表示すべき位置を特定し、この位置にマーク36を表示させる。
【0090】
例えば、設定データに格納された値が「1」である基準時点が近づくと、ゲーム装置20は、Rippleの判定をすることをプレイヤに案内すべく、図7のように、キャラクタ32の部位(例えば、左手と右手)にマーク36を表示させる。マーク36は、例えば、この基準時点における判定用位置データが示す3次元座標(例えば、左下腕P5及び右下腕P6)に基づいて表示される。
【0091】
なお、マーク36を表示させるべき位置を特定する方法は、上記の例に限られない。他にも例えば、後述する第1判定領域70に基づいてマーク36が表示されるようにしてもよいし、キャラクタオブジェクト62の位置に基づいてマーク36が表示されるようにしてもよい。
【0092】
設定データに格納された値が「2」、「4」である時間が近づくと、ゲーム装置20は、上記と同様に、それぞれ、Step又はLockの判定をすべく、キャラクタ32の手や足等にマーク36を表示させる。
【0093】
図15は、ゲーム装置20がSolid又はStreamの判定をすべき基準時点が近づいた場合のゲーム画面の一例を示す図である。図15に示すように、キャラクタ32の手の動きを案内するようなマーク36が表示される。例えば、ゲーム装置20がSolid又はStreamの判定をすべき基準時点が近づくと、判定用位置データが示す3次元座標に基づいてマーク36を表示させる位置が特定され、この位置にマーク36が表示される。
【0094】
図16は、ゲーム装置20がPose又はGestureの判定をすべき基準時点が近づいた場合のゲーム画面の一例を示す図である。図16に示すように、キャラクタ32のポーズを案内するようなマーク36が表示される。例えば、図16に示す例の場合、マーク36がキャラクタ32の左右から近づいてくる。マーク36がキャラクタ32に重なった時間が基準時点となる。
【0095】
例えば、ゲーム装置20がPose又はGestureをすべき基準時点が近づくと、モーションデータが示すキャラクタオブジェクト62の3次元座標に基づいてキャラクタ32のポーズが特定される。例えば、キャラクタオブジェクト62を挟むようにして、このポーズを示すオブジェクトをキャラクタオブジェクト62の左右に配置することによって、マーク36が表示される。このオブジェクトとキャラクタオブジェクト62との距離は、例えば、基準時点と現在の時間との差に基づいて制御される。
【0096】
なお、案内部46は、設定データに基づいて基準時点及び基準位置をプレイヤに案内すればよく、案内部46の案内方法は、上記の例に限られない。例えば、案内部46は、音声を出力させてプレイヤに基準時点及び基準位置を案内させるようにしてもよい。他にも例えば、マーク36の画像を識別する情報と、マーク36の表示位置と、マーク36を表示すべき時間と、を予め対応付けて用意しておいてもよい。
【0097】
[6−5.第1判定部]
第1判定部48は、制御部21を主として実現される。第1判定部48は、基準時点に基づいて設定される時点であって、基準時点よりも前の第1判定対象時点において取得されたプレイヤ位置情報によって示されるプレイヤの部位の位置と基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する。本実施形態においては、第1判定対象時点が、基準時点の所定時間前から基準時点までの何れかの時点である場合を説明する。
【0098】
第1条件は、第1判定対象時点におけるプレイヤの部位の位置と基準位置とのずれ具合を示す条件であり、例えば、プレイヤの部位の位置と基準位置との位置ずれ量(距離又は間隔)に関する条件である。
【0099】
本実施形態においては、第1判定部48は、第1判定対象時点において取得されたプレイヤ位置情報によって示されるプレイヤの部位の位置が、基準位置に基づいて設定される第1判定領域に含まれるか否かを判定することによって、第1条件を満たすか否かを判定する場合を説明する。例えば、Ripple、Step、Lock、Solid、Streamの判定が行われる場合、上記のように第1判定領域を用いた判定が行われる。
【0100】
第1判定領域は、判定対象部位の位置(3次元座標)に基づいて設定される。本実施形態においては、第1判定対象時点が訪れる場合、判定対象部位の位置に基づいて第1判定領域が設定される。第1判定領域は、判定対象部位の位置を含むように設定される。
【0101】
図17は、本実施形態において設定される第1判定領域及び第2判定領域(後述)を示す図である。図17の例は、ゲーム装置20がRippleの判定をすべき基準時点が訪れる場合に設定される第1判定領域70を示す。図17に示すように、例えば、キャラクタオブジェクト62のうちキャラクタ32の両手を示す位置に、第1判定領域70が設定される。
【0102】
例えば、判定対象部位の3次元座標を中心とした所定半径r1の球が第1判定領域70として設定される。例えば、判定対象部位が右手及び左手である場合、判定用位置データに格納されたプレイヤの左手と右手の3次元座標(例えば、左下腕P5及び右下腕P6の3次元座標)が参照され、この3次元座標を中心とした半径r1の球が第1判定領域70として設定される。
【0103】
本実施形態においては、第1判定部48が、プレイヤの代表位置(例えば、背中P7)及びプレイヤの部位の位置の位置関係と、プレイヤの代表位置(例えば、背中P7)及び第1判定領域70の位置関係と、に基づいて、プレイヤの部位の位置が第1判定領域70内に含まれるか否かを判定する場合を説明する。即ち、第1判定部48は、プレイヤの各部位の位置を、キャラクタ32に重ねるようにしてプレイヤの動作を評価する。
【0104】
ここでは、判定対象部位が右下腕P6である場合を例に挙げて、第1判定部48の判定方法を説明する。この場合、判定用位置データが示すプレイヤの右下腕P6があるべき位置の周囲に第1判定領域70が設定される。第1判定部48は、第1判定対象時点が訪れる場合、プレイヤ位置情報が示す3次元座標を、背中P7を原点とした座標系で表現する。即ち、プレイヤ位置情報が示すプレイヤの背中P7の位置と、判定用位置データが示すプレイヤの背中P7の位置と、を重ね合わせる。
【0105】
そして、プレイヤ位置情報が示す右下腕P6の座標が、第1判定領域70内に含まれるか否かが判定される。例えば、座標変換されたプレイヤの右下腕P6の座標と、判定用位置データが示す右下腕P6の座標との距離が所定距離r1以下であるか否かが判定される。プレイヤの右下腕P6の座標が、第1判定領域70内に含まれる場合、プレイヤの動作の評価は高くなり、エフェクト処理が実行される。プレイヤの右下腕P6の座標が、第1判定領域70内に含まれない場合、プレイヤの動作の評価は低くなり、エフェクト処理が実行されない。
【0106】
なお、第1判定領域70を用いた第1判定部48の判定方法は、上記の例に限られない。第1判定部48は、プレイヤの各部位の位置と、第1判定領域70と、に基づいてプレイヤの動作を評価するようにすればよい。例えば、プレイヤの各部位の位置と、第1判定領域70の中心点と、の距離に基づいてプレイヤの動作が評価されるようにしてもよい。
【0107】
また、第1判定部48は、第1判定対象時点において取得されたプレイヤ位置情報によって示されるプレイヤの部位の位置と、基準位置と、の位置ずれ量が基準範囲内である部位の数が第1基準範囲であるか否かに基づいて、第1条件を満たすか否かを判定するようにしてもよい。例えば、Pose又はGestureの判定が行われる場合、上記のように第1基準範囲を用いた判定が行われる。
【0108】
この場合、第1判定部48は、プレイヤの部位の位置と、基準位置と、の位置ずれ量(距離)を算出する。そして、この位置ずれ量が、所定の基準範囲(第1基準距離)内であるか否かが判定される。例えば、位置ずれ量が所定の基準範囲内である部位の数が第1基準範囲の下限値(第1基準数)以上であるか否か(例えば、8個以上、又は、全部位のうちの80%以上)に基づいて、第1条件を満たすか否かが判定される。
【0109】
[6−6.第2判定部]
第2判定部50は、制御部21を主として実現される。第2判定部50は、基準時点に基づいて設定される時点であって、第1判定対象時点よりも後の第2判定対象時点において取得されたプレイヤ位置情報によって示されるプレイヤの部位の位置と基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する。
【0110】
第2判定対象時点は、判定対象期間内の時点のうち、第1判定対象時点よりも後の時点である。判定対象期間とは、基準時点の所定時間(第1の時間)前から基準時点の所定時間(第2の時間)後までの期間である。第1の時間の長さと第2の時間の長さとは、同じであってもよいし異なっていてもよい。本実施形態においては、第2判定対象時点が、基準時点から基準時点の所定時間後までの何れかの時点である場合を説明する。例えば、第2判定対象時点が基準時点よりも後であることによって、プレイヤ位置情報の生成に時間がかかったとしても、基準時点におけるプレイヤの動作を正確に判定することができる。
【0111】
また、第2条件が示す位置ずれは、第1条件が示す位置ずれよりも、ずれの程度(位置ずれ量)が小さい。したがって、プレイヤは、第1条件に基づいた判定よりも、第2条件に基づいた判定の方が、高い評価を得ることが難しくなる。
【0112】
本実施形態においては、第2判定部50は、第2判定対象時点において取得されたプレイヤ位置情報によって示されるプレイヤの部位の位置が、基準位置に基づいて設定される領域であって、第1判定領域に覆われる第2判定領域に含まれるか否かを判定することによって、第2条件を満たすか否かを判定する場合を説明する。
【0113】
例えば、第2判定領域80の全体又は一部が、第1判定領域70に含まれるように、第2判定領域80が設定される。別の言い方をすれば、判定対象部位との距離が第1判定領域70よりも近い位置に、第2判定領域80が設定される。
【0114】
第2判定領域80は、例えば、第1判定領域70によって覆われるように、球状に設定される。例えば、判定対象部位が右手及び左手である場合、判定用位置データの左下腕P5及び右下腕P6の3次元座標が参照され、この3次元座標を中心とした所定半径r2(<r1)の球が第2判定領域80として設定される。
【0115】
なお、本実施形態においては、第1判定領域70及び第2判定領域80が球状の領域である場合を説明するが、第1判定領域70及び第2判定領域80の形状は球状に限られない。第1判定領域70及び第2判定領域80は、基準時点又は判定対象期間内において、プレイヤの判定対象部位との位置関係を比較することができる形状であればよく、他にも例えば、第1判定領域70及び第2判定領域80は、直方体等であってもよい。
【0116】
また、第1判定領域70及び第2判定領域80の位置及び大きさを特定するための情報(例えば、球の中心点と半径を示す情報)は、例えば、ゲーム状況データに格納されるようにしてもよい。また、第1判定領域70及び第2判定領域80は、プレイヤ位置情報が示す3次元空間に設定されてもよいし、ゲーム空間60に設定されてもよい。
【0117】
第2判定部50の判定方法は、第1判定部48の評価方法と同様である。即ち、第2判定部50は、第2判定対象時点が訪れた場合、プレイヤ位置情報が示す背中P7の3次元座標と、判定用位置データが示すプレイヤの背中P7の3次元座標と、を一致させるようにプレイヤ位置情報が示す3次元座標を座標変換させる。
【0118】
そして、プレイヤの右下腕P6の座標が、第2判定領域80内に含まれるか否かが判定される。プレイヤの右下腕P6の座標が、第2判定領域80内に含まれる場合、プレイヤの動作の評価は高くなり、得点が増加する。プレイヤの右下腕P6の座標が、第2判定領域80内に含まれない場合、プレイヤの動作の評価は低くなり、得点は増加しない。
【0119】
なお、上記では、第1判定部48及び第2判定部50が、Rippleの判定を行う場合を説明したが、Step又はLockをすべき基準時点が近づいた場合も、図17と同様に、判定対象部位の3次元座標を中心とした所定半径の球状の第1判定領域70及び第2判定領域80が設定される。また、第1判定部48及び第2判定部50が、Solid又はStreamの判定を行う場合にも、第1判定領域70及び第2判定領域80が設定されるようにしてもよい。
【0120】
図18は、ゲーム装置20がSolid又はStreamの判定をすべき基準時点が近づいた場合に設定される第1判定領域70及び第2判定領域80の一例を示す図である。基準時点が近づいた場合、判定対象部位の3次元座標に基づいて第1判定領域70及び第2判定領域80が設定される。Solid又はStreamの判定は、一定時間にわたって行われ、かつ、判定対象部位の位置が変化するので、例えば、図18に示すように、複数の第1判定領域70及び第2判定領域80が設定される。
【0121】
第2判定部50は、第2判定対象時点において取得されたプレイヤ位置情報によって示されるプレイヤの部位の位置と、基準位置と、の位置ずれ量が基準範囲内である部位の数が、第1基準範囲の下限値よりも下限値の大きい第2基準範囲であるか否かに基づいて、第2条件を満たすか否かを判定するようにしてもよい。例えば、Pose、Gestureの判定が行われる場合、上記のように第2基準範囲を用いた判定が行われる。
【0122】
この場合、第2判定部50は、プレイヤの部位の位置と、基準位置と、の位置ずれ量(距離)を算出する。そして、この位置ずれ量が、所定の基準範囲(第2基準距離。第1基準距離と同じであってもよい。)内であるか否かが判定される。例えば、位置ずれ量が所定の基準範囲内である部位の数が第2基準範囲の下限値(例えば、第1基準数より大きい第2基準数)以上であるか否か(例えば、10個以上、又は、全部位のうちの90%以上)に基づいて、第2条件を満たすか否かが判定される。
【0123】
なお、Pose又はGestureの判定がされるべき第1判定対象時点又は第2判定対象時点が訪れる場合、他の動作と同様に、判定対象部位(全身又は一部の部位)の3次元座標に基づいて第1判定領域70及び第2判定領域80が設定されるようにしてもよい。例えば、Poseの判定がされるべき第1判定対象時点又は第2判定対象時点が訪れた場合には、全身(例えば、11個)の第1判定領域70及び第2判定領域80が設定されるようにしてもよい。
【0124】
[6−7.第1処理実行部]
第1処理実行部52は、第1判定部48の判定結果に基づいてゲームのエフェクトに関する処理を行う。エフェクトに関する処理は、例えば、表示部27に表示される画像に関する処理(表示エフェクト処理)又は音声出力部28から出力される音声に関する処理(音声エフェクト処理)のことである。例えば、第1処理実行部52は、基準時点においてエフェクト処理を実行する。
【0125】
例えば、表示エフェクト処理において、第1判定部48の判定結果をプレイヤに伝えるための表示処理が表示部27において行われる。例えば、表示エフェクト処理としては、エフェクト画像38を表示させる処理、ゲーム画面30を点滅させる処理、ゲーム画面30の輝度を変更させる処理等の表示処理が実行される。
【0126】
音声エフェクト処理においては、第1判定部48の判定結果をプレイヤに伝えるための音声出力処理が音声出力部28から出力される実行される。例えば、音声エフェクト処理としては、マーク36が破裂したような音を出力させる処理、キャラクタ32が話しかけるような音声を出力させる処理等の音声出力処理が実行される。
【0127】
[6−8.第2処理実行部]
第2処理実行部54は、制御部21を主として実現される。第2処理実行部54は、第2判定部50の判定結果に基づいてプレイヤの評価に関する処理を行う。プレイヤの評価に関する処理とは、プレイヤがゲームをプレイした結果の良い/悪いを判定するために行われる処理である。即ち例えば、プレイヤの評価に関する処理は、プレイヤのゲーム結果を示す情報を更新するための処理であり、例えば、プレイヤの得点を変更させる処理である。第2処理実行部54は、第2判定部50の判定結果に基づいてプレイヤのゲーム成績を決定する処理を実行するようにしてもよい。
【0128】
[7.ゲーム装置において実行される処理]
図19は、ゲーム装置20において実行される処理の一例を示すフロー図である。図19の処理は、制御部21が、光ディスクから読み出されたプログラムに従って動作することにより実行される。
【0129】
まず、図19に示すように、制御部21は、楽曲データに基づいて楽曲を再生する(S101)。制御部21は、モーションデータに基づいてキャラクタ32のダンスを開始させる(S102)。S102においては、モーションデータに基づいてゲーム空間60にキャラクタオブジェクト62が配置される。そして、仮想カメラ64からキャラクタオブジェクト62を見た様子を示す画像が、ゲーム画面30として表示される。なお、楽曲に合わせてキャラクタ32がダンスをするように、楽曲データとモーションデータとは同期再生される。
【0130】
制御部21は、設定データを参照し、現時点が案内期間内であるか否かを判定する(S103)。案内期間とは、プレイヤに基準位置及び基準時点を案内すべき期間のことであり、例えば、基準時点の所定時間(例えば、1小節)前から基準時点までの間の期間である。現時点が案内期間内でない場合(S103;N)、処理はS112に移行する。
【0131】
現時点が案内期間内であると判定された場合(S103;Y)、制御部21は、ゲーム画面30にマーク36を表示させる(S104)。S104においては、例えば、設定データと、モーションデータの判定用位置データと、が参照され、キャラクタ32の判定対象部位の位置にマーク36が表示される。マーク36の画像データは、表示位置と対応付けられて予め記憶されていてもよい。
【0132】
制御部21は、現時点が第1判定対象時点であるか否かを判定する(S105)。例えば、楽曲及びダンスの経過時間が、基準時点の所定時間前(例えば、1/8小節前)になったか否かが判定される。
【0133】
第1判定対象時点でないと判定された場合(S105;N)、処理は、S108に移行する。第1判定対象時点であると判定された場合(S105;Y)、制御部21は、プレイヤ位置情報が示すプレイヤの部位の位置と、基準データに格納される基準位置と、の位置関係が第1条件を満たすか否かを判定する(S106)。S106においては、例えば、プレイヤの動作の判定方法の種別によって処理内容が異なる。
【0134】
例えば、Ripple、Step、Lock、Solid、又はStreamの判定が行われる場合、まず、設定データが参照され、判定対象部位が特定される。次いで、判定用位置データが参照され、基準時点における判定対象部位の3次元座標が取得される。そして、この3次元座標を中心とした所定半径r1の球が第1判定領域70として設定される。制御部21は、第1判定対象時点におけるプレイヤ位置情報を参照し、プレイヤの判定対象部位が第1判定領域70内にあるか否かを判定する。
【0135】
一方、Pose又はGestureの判定が行われる場合、まず、設定データが参照され、判定対象部位(例えば、全身)が特定される。次いで、判定用位置データが参照され、基準時点における判定対象部位(例えば、全身)の3次元座標が取得される。そして、制御部21は、第1判定対象時点におけるプレイヤ位置情報が示す部位の位置と、判定用位置データが示す位置と、の距離が基準距離以内である部位の個数が、第1基準範囲(例えば、8個以上)であるか否かを判定する。
【0136】
第1条件を満たすと判定されない場合(S106;N)、処理はS108に移行する。第1条件を満たすと判定された場合(S106;Y)、制御部21は、エフェクト処理を行う(S107)。例えば、泡を模したマーク36が破裂して消滅するような表示処理及び音出力処理が、基準時点において実行される。即ち、基準時点の所定時間前の第1判定対象時点においてS106の判定が実行されるので、基準時点においてエフェクト処理を実行することができる。
【0137】
次いで、制御部21は、現時点が第2判定対象時点であるか否かを判定する(S108)。例えば、楽曲及びダンスの経過時間が、基準時点の所定時間後(例えば、1/8小節後)になったか否かが判定される。第2判定対象時点でないと判定された場合(S108;N)、処理はS112に移行する。
【0138】
第2判定対象時点であると判定された場合(S108;Y)、制御部21は、プレイヤ位置情報が示すプレイヤの部位の位置と、基準データが示す基準位置と、の位置関係が、第2条件を満たすか否かを判定する(S109)。S109においては、S106と同様に、例えば、プレイヤの動作の判定方法の種別によって処理内容が異なる。
【0139】
例えば、Ripple、Step、Lock、Solid、又はStreamの判定が行われる場合、まず、設定データが参照され、判定対象部位が特定される。次いで、判定用位置データが参照され、基準時点における判定対象部位の3次元座標が取得される。そして、この3次元座標を中心とした所定半径r2の球が第2判定領域80として設定される。制御部21は、第2判定対象時点におけるプレイヤ位置情報を参照し、プレイヤの判定対象部位が第2判定領域80内にあるか否かを判定する。
【0140】
一方、Pose又はGestureの判定が行われる場合、まず、設定データが参照され、判定対象部位(例えば、全身)が特定される。次いで、判定用位置データが参照され、基準時点における判定対象部位(例えば、全身)の3次元座標が取得される。そして、制御部21は、第1判定対象時点におけるプレイヤ位置情報が示す部位の位置と、判定用位置データが示す位置と、の距離が基準距離以内である部位の個数が、第2基準範囲(例えば、8個以上)であるか否かを判定する。
【0141】
第2条件を満たすと判定されない場合(S109;N)、制御部21は、評価内容(メッセージ)を表示させる(S110)。S110においては、評価画像39がゲーム画面30に表示される。なお、S106の判定結果に基づいて、評価画像39を異ならしめるようにしてもよい。例えば、S106において第1条件を満たしていた場合、「GOOD」の文字を示す評価画像39が表示され、S106において第1条件を満たしていない場合、「BOO」の文字を示す評価画像39が表示されるようにしてもよい。
【0142】
第2条件を満たすと判定された場合(S109;Y)、制御部21は、得点を増加させ、評価内容(メッセージ)を表示させる(S111)。S111においては、評価画像39がゲーム画面30に表示される。なお、基準時点と第2判定対象時点とのずれに基づいて、評価画像39を異ならしめるようにしてもよい。例えば、基準時点と第2判定対象時点とのずれが所定時間以内であった場合、「PERFECT」の文字を示す評価画像39が表示され、基準時点と第2判定対象時点とのずれが所定時間以内でない場合、「GREAT」の文字を示す評価画像39が表示されるようにしてもよい。
【0143】
制御部21は、終了条件を満たすか否かを判定する(S112)。終了条件は、本処理を終了するための予め定められた条件であればよい。例えば、終了条件は、楽曲やダンスが終了するか否かを示す条件であったり、所定のゲームオーバー条件であってもよい。
【0144】
終了条件を満たす場合(S112;Y)、処理は終了する。終了条件を満たさない場合(S112;N)、処理はS103に戻る。
【0145】
以上に説明したゲーム装置20は、第1判定対象時点及び第2判定対象時点において、プレイヤの部位の位置を判定する。前者の判定結果をエフェクト処理に使用し、後者の判定結果をプレイヤの評価の処理に使用する。したがって、例えば、画像解析のためにプレイヤ位置情報の生成に時間がかかったとしても基準時点においてエフェクト処理を実行することができ、また、基準時点におけるプレイヤの動作を正確に評価することもできるので、プレイヤにストレスを与えることはない。
【0146】
また、第2判定対象時点において、第1判定対象時点の判定における第1条件が示す位置ずれ量よりも小さい第2条件で判定が行われるので、プレイヤのストレスを軽減させつつ、高い成績を簡単に得ることができてしまわないように、ゲームの難易度を担保することができる。
【0147】
なお、本実施形態においては、第1処理実行部52が、基準時点においてエフェクト処理を実行する場合を説明したが、エフェクト処理は、プレイヤが想定する操作タイミングと、ゲーム内の操作タイミングと、の時間差をプレイヤが体感しづらくなるような時点で実行されるようにすればよい。例えば、エフェクト処理は、基準時点から所定時間前後(例えば、基準時点の0.1秒前又は基準時点の0.1秒後)した時点において実行されるようにしてもよい。
【0148】
本発明は、以上説明した実施形態及び変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【0149】
(1)例えば、基準時点前後のキャラクタ32のダンスに応じて第1判定領域70及び第2判定領域80の形状を変更するようにしてもよい。この場合、ゲーム装置20は、基準時点に基づいて設定される期間内におけるキャラクタ32の部位の変化方向に関する情報を取得する。
【0150】
例えば、ゲーム装置20は、基準時点の所定時間前から、基準時点の所定時間後までの期間内におけるキャラクタ32の判定対象部位の変化方向(即ち、判定対象部位の3次元座標の変化方向)に関する情報を、設定データ及びモーションデータに基づいて取得する。
【0151】
そして、ゲーム装置20は、取得された変化方向に基づいて第1判定領域70及び第2判定領域80を変更する。例えば、ゲーム装置20は、キャラクタ32の判定対象部位の変化方向に基づいて定まる方向に対して広くなるように、第1判定領域70及び第2判定領域80の形状を変更する。例えば、基準時点において、キャラクタ32の判定対象部位(例えば、両手)が上下に大きく動く場合、第1判定領域70及び第2判定領域80の大きさが上下に広くなるように変更される。
【0152】
なお、第1判定領域70及び第2判定領域80の大きさを広くする程度は、キャラクタ32の判定対象部位の変化量に基づいて決定されるようにしてもよい。この場合、ゲーム装置20は、キャラクタ32の判定対象部位の変化量に関する情報を、設定データ及びモーションデータに基づいて取得する。判定対象部位の変化量が大きくなるほど、第1判定領域70及び第2判定領域80を判定対象部位の変化方向に対して広くするようにしてもよい。
【0153】
変形例(1)によれば、キャラクタ32のダンスにつられてプレイヤが体を大きく動かしすぎるような動作が行われる状況であっても、当該状況に応じて第1判定領域70及び第2判定領域80の形状が変更されるので、プレイヤの動作を評価することができる。
【0154】
(2)また、実施形態においては、基準データとしてモーションデータと設定データを含む例を説明したが、基準データは、基準時点と基準位置とが対応付けられたものであればよい。例えば、基準時点と、第1判定領域70及び第2判定領域80を特定するための情報と、が対応付けられていてもよいし、基準時点と、判定対象部位の位置を示す情報と、が対応付けられていてもよい。
【0155】
(3)また例えば、判定用位置データは、ゲーム画面30に表示されるキャラクタ32毎に記憶されるようにしてもよい。即ち、体の小さなキャラクタ32用の判定用位置データと、体の大きなキャラクタ32用の判定用位置データと、が記憶されるようにしてもよい。このように判定用位置データを用意しておくことによって、マーク36をキャラクタ32の大きさに合わせた位置に表示させることができる。
【0156】
また、プレイヤの体の大きさに合わせてプレイヤ位置情報を補正して、判定用位置データとの比較が行われるようにしてもよい。この場合、ゲーム装置20は、プレイヤ位置情報に基づいてプレイヤの体の大きさに関する情報を取得する手段を含み、第1判定部48及び第2判定部50は、プレイヤの体の大きさがキャラクタ32の体の大きさに合うようにプレイヤ位置情報を補正してプレイヤの動作の評価を行う。
【0157】
例えば、プレイヤ位置情報に含まれる頭P1と、左すねP10及び右すねP11の中点と、の距離に基づいてプレイヤの体の大きさに関する情報が取得される。同様に、判定用位置データに基づいてキャラクタ32の体の大きさに関する情報が取得される。プレイヤの体の大きさをキャラクタ32の体の大きさに合わせるようにプレイヤ位置情報を補正することによって、より正確にプレイヤの動作を評価することができる。
【0158】
(4)また、実施形態においては、基準データとして判定用位置データと設定データを含む例を説明したが、基準データは、基準時点と基準位置とが対応付けられたものであればよい。例えば、基準時点と、判定対象部位の3次元座標と、が対応付けられていてもよい。また、モーションデータに判定用位置データが含まれており、モーションデータと基準データとが一体となっていてもよい。
【0159】
(5)また、本実施形態においては、モーションデータに基づいてゲーム画面30が表示される場合を説明したが、ゲーム画面30の表示方法は、他の方法であってもよい。例えば、アニメーションデータを用意しておいてゲーム画面30を表示させるようにしてもよい。
【0160】
(6)また例えば、上記では、撮影画像と深度情報(深度画像)とに基づいてプレイヤ位置情報を生成する手段が位置検出装置1に含まれる例を挙げて説明したが、プレイヤ位置情報を生成する手段は、ゲーム装置20に含まれていてもよい。例えば、ゲーム装置20は、位置検出装置1から撮影画像と深度画像とを受信し、これらに基づいてプレイヤ位置情報を生成するようにしてもよい。
【0161】
(7)また、上記実施形態及び変形例においては、ゲーム装置20がダンスゲームを実行する場合を説明したが、ゲーム装置20は、所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するようにすればよい。ゲーム装置20が実行するゲームはダンスゲームに限られず、他にも例えば、楽曲が出力されずに、キャラクタ32の動作に合わせてプレイヤが体操を行うゲームが実行されるようにしてもよい。
【符号の説明】
【0162】
1 位置検出装置、2 CCDカメラ、3 赤外線センサ、4 マイク、10 制御部、11 記憶部、12 撮影部、13 深度測定部、14 音声入力部、15 通信インタフェース部、16,29 バス、20 ゲーム装置、21 制御部、22 主記憶部、23 補助記憶部、24 光ディスク再生部、25 通信インタフェース部、26 操作部、27 表示部、28 音声出力部、30 ゲーム画面、32 キャラクタ、34 スコア、36 マーク、38 エフェクト画像、39 評価画像、40 ゲームデータ記憶部、42 プレイヤ位置情報取得部、44 基準データ取得部、46 案内部、48 第1判定部、50 第2判定部、52 第1処理実行部、54 第2処理実行部、60 ゲーム空間、62 キャラクタオブジェクト、64 仮想カメラ、70 第1判定領域、80 第2判定領域、100 プレイヤ。
【技術分野】
【0001】
本発明は、ゲーム装置、ゲーム装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
カメラで撮影して得られるプレイヤの画像(撮影画像)を用いてゲーム処理を行うゲーム装置が知られている。例えば、特許文献1には、撮影画像を解析することによって、プレイヤが行った操作を判断するゲーム装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3866474号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
撮影画像に基づいてプレイヤの操作が判断される場合、画像の解析処理が行われるため、一般的なゲームコントローラからの操作信号(例えばボタンの押下げ信号)に基づいてプレイヤの操作が判断される場合に比べて、プレイヤが行った操作を判断するまでに時間を要することがある。その結果、プレイヤが実際に操作を行ったタイミングと、プレイヤが操作を行ったとゲーム装置内で判断されるタイミングと、の間に時間差が生じてしまう。
【0005】
例えば、特許文献1に記載のように、プレイヤが画面に表示されるキャラクタの動作に合わせて体を動かすゲームでは、プレイヤがキャラクタの動作に合わせて踊ったタイミングと、プレイヤが踊ったとゲーム装置内で判断されるタイミングと、の間に時間差が生じるので、プレイヤが正しく踊れていても、ゲームの評価に反映されずにストレスを感じてしまうという問題があった。
【0006】
本発明は、上記課題に鑑みてなされたものであって、その目的は、プレイヤへのストレスを軽減させることが可能なゲーム装置、ゲーム装置の制御方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係るゲーム装置は、所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するゲーム装置であって、前記プレイヤの部位の位置に関するプレイヤ位置情報を取得するプレイヤ位置情報取得手段と、基準時点に関する情報と、前記基準時点において前記部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から前記基準データを取得する基準データ取得手段と、前記基準データに基づいて、前記基準時点及び前記基準位置を前記プレイヤに案内する案内手段と、前記基準時点に基づいて設定される時点であって、前記基準時点よりも前の第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する第1判定手段と、前記基準時点に基づいて設定される時点であって、前記第1判定対象時点よりも後の第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、前記第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する第2判定手段と、前記第1判定手段の判定結果に基づいて前記ゲームのエフェクトに関する処理を行う第1処理実行手段と、前記第2判定手段の判定結果に基づいて前記プレイヤの評価に関する処理を行う第2処理実行手段と、を含むことを特徴とする。
【0008】
また、本発明に係るゲーム装置の制御方法は、所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するゲーム装置の制御方法であって、前記プレイヤの部位の位置に関するプレイヤ位置情報を取得するプレイヤ位置情報取得ステップと、基準時点に関する情報と、前記基準時点において前記部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から前記基準データを取得する基準データ取得ステップと、前記基準データに基づいて、前記基準時点及び前記基準位置を前記プレイヤに案内する案内ステップと、前記基準時点に基づいて設定される時点であって、前記基準時点よりも前の第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する第1判定ステップと、前記基準時点に基づいて設定される時点であって、前記第1判定対象時点よりも後の第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、前記第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する第2判定ステップと、前記第1判定ステップの判定結果に基づいて前記ゲームのエフェクトに関する処理を行う第1処理実行ステップと、前記第2判定ステップの判定結果に基づいて前記プレイヤの評価に関する処理を行う第2処理実行ステップと、を含むことを特徴とする。
【0009】
また、本発明に係るプログラムは、所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するゲーム装置としてコンピュータを機能させるためのプログラムであって、前記プレイヤの部位の位置に関するプレイヤ位置情報を取得するプレイヤ位置情報取得手段、基準時点に関する情報と、前記基準時点において前記部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から前記基準データを取得する基準データ取得手段、前記基準データに基づいて、前記基準時点及び前記基準位置を前記プレイヤに案内する案内手段、前記基準時点に基づいて設定される時点であって、前記基準時点よりも前の第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する第1判定手段、前記基準時点に基づいて設定される時点であって、前記第1判定対象時点よりも後の第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、前記第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する第2判定手段、前記第1判定手段の判定結果に基づいて前記ゲームのエフェクトに関する処理を行う第1処理実行手段、前記第2判定手段の判定結果に基づいて前記プレイヤの評価に関する処理を行う第2処理実行手段、を含むことを特徴とするゲーム装置として前記コンピュータを機能させる。
【0010】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0011】
本発明によれば、プレイヤへのストレスを軽減させることが可能になる。
【0012】
また、本発明の一態様では、前記第1判定手段は、前記第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置が、前記基準位置に基づいて設定される第1判定領域に含まれるか否かを判定することによって、前記第1条件を満たすか否かを判定し、前記第2判定手段は、前記第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置が、前記基準位置に基づいて設定される領域であって、前記第1判定領域に覆われる第2判定領域に含まれるか否かを判定することによって、前記第2条件を満たすか否かを判定する、ことを特徴とする。
【0013】
また、本発明の一態様では、前記ゲームは、前記プレイヤが、表示手段に表示されたキャラクタと同じ動作をすることを目指すゲームであって、前記ゲーム装置は、前記基準時点に基づいて設定される期間内における前記キャラクタの部位の変化方向に関する情報を取得する手段と、前記取得された変化方向に基づいて、前記第1判定領域及び前記第2判定領域を変更する手段と、を含むことを特徴とする。
【0014】
また、本発明の一態様では、前記第1判定手段は、前記第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と、前記基準位置と、の位置ずれ量が基準範囲内である部位の数が、第1基準範囲であるか否かに基づいて、前記第1条件を満たすか否かを判定し、前記第2判定手段は、前記第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と、前記基準位置と、の位置ずれ量が基準範囲内である部位の数が、前記第1基準範囲の下限値よりも下限値の大きい第2基準範囲であるか否かに基づいて、前記第2条件を満たすか否かを判定する、ことを特徴とする。
【図面の簡単な説明】
【0015】
【図1】ゲームをプレイするプレイヤの様子を示す図である。
【図2】CCDカメラによって生成される撮影画像の一例を示す図である。
【図3】赤外線センサによるプレイヤの深度の測定方法を説明するための図である。
【図4】赤外線センサによって得られる深度画像の一例を示す図である。
【図5】位置検出装置により生成されるプレイヤ位置情報の一例を示す図である。
【図6】プレイヤ位置情報によって特定されるプレイヤの位置を示す図である。
【図7】ゲーム画面の一例を示す図である。
【図8】プレイヤが高い評価を得た場合のゲーム画面を示す図である。
【図9】位置検出装置のハードウェア構成を示す図である。
【図10】ゲーム装置のハードウェア構成を示す図である。
【図11】ゲーム装置において実現される機能を示す機能ブロック図である。
【図12】ゲーム空間を示す図である。
【図13】設定データの一例を示す図である。
【図14】判定方法の種別を示す図である。
【図15】ゲーム装置がSolid又はStreamの判定をすべき基準時点が近づいた場合のゲーム画面の一例を示す図である。
【図16】ゲーム装置がPose又はGestureの判定をすべき基準時点が近づいた場合のゲーム画面の一例を示す図である。
【図17】本実施形態において設定される第1判定領域及び第2判定領域を示す図である。
【図18】ゲーム装置がSolid又はStreamの判定をすべき基準時点が近づいた場合に設定される第1判定領域及び第2判定領域の一例を示す図である。
【図19】ゲーム装置において実行される処理の一例を示すフロー図である。
【発明を実施するための形態】
【0016】
[1.実施形態]
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0017】
図1は、ゲームをプレイするプレイヤの様子を示す図である。図1に示すように、プレイヤ100は、例えば、位置検出装置1の前方に位置する。位置検出装置1とゲーム装置20とは、データ通信可能に接続される。
【0018】
[2.位置検出装置の動作]
まず、位置検出装置1について説明する。位置検出装置1は、3次元空間におけるプレイヤの位置に関するプレイヤ位置情報を生成する。本実施形態においては、プレイヤの位置情報が、プレイヤ100の複数の部位の位置に関する情報を含む場合を説明する。プレイヤ100の部位は、例えば、頭や両腕等である。
【0019】
図1に示すように、位置検出装置1は、例えば、CCDカメラ2、赤外線センサ3、複数のマイクロフォンを含むマイク4等を備える。
【0020】
CCDカメラ2は、CCDイメージセンサを備えた公知のカメラである。CCDカメラ2は、例えば、所定時間毎(例えば1/60秒毎)にプレイヤ100を撮影した撮影画像(例えば、RGBデジタル画像)を生成する。
【0021】
図2は、CCDカメラ2によって生成される撮影画像の一例を示す図である。図2に示すように、撮影画像には、例えば、プレイヤ100が含まれる。撮影画像には、互いに直行するXs軸、Ys軸が設定される。例えば、撮影画像の左上を、原点Os(0,0)とする。また例えば、撮影画像の右下を、座標Pmax(Xmax,Ymax)とする。撮影画像に対応する各画素の位置は、それぞれの画素に割り当てられる2次元座標(Xs−Ys座標)によって特定される。
【0022】
赤外線センサ3は、例えば、赤外線発光素子及び赤外線受光素子(例えば、赤外線ダイオード)から構成される。赤外線センサ3は、赤外線光を照射して得られる反射光を検出する。赤外線センサ3は、この反射光の検出結果に基づいて被写体(例えば、プレイヤ100)の深度を測定する。
【0023】
被写体の深度とは、測定基準位置と被写体の位置との距離間隔である。測定基準位置とは、プレイヤ100の位置の深度(奥行き)を測定する際の基準となる位置である。測定基準位置は、位置検出装置1の位置と関連付けられる所定の位置であればよく、例えば、赤外線センサ3の赤外線受光素子の位置である。赤外線センサ3は、例えば、赤外線を照射してから反射光を受光するまでの飛行時間(TOF:Time of Flight)に基づいてプレイヤ100の深度を測定する。
【0024】
図3は、赤外線センサ3によるプレイヤ100の深度の測定方法を説明するための図である。図3に示すように、赤外線センサ3から所定間隔でパルス状の赤外線光が照射される。赤外線センサ3から照射された赤外線光は、赤外線センサ3の発光位置を中心点として球状に広がる。
【0025】
赤外線センサ3から照射された赤外線光は、例えば、プレイヤ100の体の表面に当たる。これらの表面に当たった赤外線光は、反射する。反射した赤外線光は、赤外線センサ3の赤外線受光素子により検出される。即ち、赤外線センサ3は、照射した赤外線に対して位相が180度反転した反射光を検出する。
【0026】
例えば、図3に示すように、プレイヤ100が両手を前方に突き出している場合、突き出された両手は、プレイヤ100の胴体よりも赤外線センサ3に近い。つまり、プレイヤ100の両手によって反射される赤外線光の飛行時間は、プレイヤ100の胴体によって反射される赤外線光の飛行時間よりも短い。
【0027】
赤外線センサ3が赤外線光を照射してから反射光を検出するまでの時間(つまり、飛行時間)と、赤外線の速度と、を乗算して半分で割った値は、測定基準位置とプレイヤ100との距離間隔(即ち、深度)に相当する。このような処理を行うことにより、赤外線センサ3は、プレイヤ100の深度を測定する。
【0028】
また、赤外線センサ3は、反射した赤外線光から得られる深度差を検出することにより、被写体(プレイヤ100)の輪郭も検出する。上記のように、赤外線センサ3が赤外線光の反射光を受信することは、この場所に物体が配置されていることを意味する。また、この物体の後方の近い位置に他の物体が配置されていなければ、この物体と、この物体の周囲と、の深度差は大きくなる。例えば、深度差が所定値よりも大きい箇所をつなぎ合わせることによって、プレイヤ100の輪郭を検出する。
【0029】
なお、プレイヤ100の輪郭を検出する方法は、上記の例に限られない。他にも例えば、CCDカメラ2によって得られる撮影画像の各画素の輝度に基づいて輪郭を検知するようにしてもよい。この場合も、例えば、画素間の輝度差が大きい箇所をつなぎ合わせることによってプレイヤ100の輪郭を検出することができる。
【0030】
上記のようにして検出されるプレイヤ100の深度に関する情報(深度情報)は、例えば、深度画像として表現される。本実施形態においては、深度情報が、グレースケールの深度画像(例えば、256ビットのグレースケールの画像データ)として表現される例を挙げて説明する。
【0031】
図4は、赤外線センサ3によって得られる深度画像の一例を示す図である。図4に示すように、例えば、赤外線センサ3に近い物体は明るく(輝度が高く)、遠い物体は暗く(輝度が低く)表現される。プレイヤ100の深度は、深度画像の輝度(画素値)に対応する。
【0032】
例えば、深度画像が256ビットのグレースケールの画像データとして表される場合、プレイヤ100の深度が2センチメートル異なる毎に深度画像の輝度が1ビット異なる。この場合、赤外線センサ3は、被写体の深度を2センチ単位で検出することが可能であることを示す。プレイヤ100が両手を前方に突き出している場合(図3)、図4に示すように、プレイヤ100の両手に対応する画素は、胴体に対応する画素よりも明るく(輝度が高く)表現される。
【0033】
本実施形態においては、赤外線センサ3は、CCDカメラ2と同様に所定時間毎(例えば1/60秒毎)に、深度画像を生成する。CCDカメラ2により得られる撮影画像と、赤外線センサ3により得られる深度画像と、に基づいてプレイヤ100の部位の位置に関するプレイヤ位置情報が生成される。
【0034】
例えば、CCDカメラ2により得られる撮影画像(RGBデータ)に、深度画像が示す深度情報(D:Depth)が合算された合成画像(RGBDデータ)が生成される。即ち、合成画像は、各画素ごとに、色情報(RGBそれぞれの明度)と深度情報とを含む。
【0035】
合成画像に基づいてプレイヤ位置情報が生成される際には、まず、深度画像に基づいてプレイヤ100の輪郭に対応する画素が特定される。次いで、合成画像のうち輪郭によって囲まれた画素の色情報(RGBの明度)が参照される。合成画像の色情報に基づいて、プレイヤ100の体の各部位に対応する画素が特定される。この特定方法としては、例えば、比較画像(教師画像)との比較によって画像の中から対象物(即ち、プレイヤ100の体の各部位)を抽出するパターンマッチング法等、公知の手法を適用可能である。
【0036】
上記のようにして特定された画素の画素値(RGBD値)に基づいて、プレイヤ100の頭や肩等の3次元座標が算出される。例えば、この画素値に対して所定の行列変換処理が施されることによって、3次元座標が生成される。この行例変換処理は、例えば、3Dグラフィックにおけるワールド座標−スクリーン座標の2つの座標系の変換処理と同様の行例演算によって実行される。つまり、画素の色情報を示すRGB値と奥行きを示すD値と、が所定の行列式に代入されることにより、この画素の3次元座標が算出される。
【0037】
なお、画素値(RGBD値)から画素に対応する3次元座標が算出される方法は、公知の手法を適用可能であり、この算出方法は、上記の例に限られない。他にも例えば、ルックアップテーブルを用いて座標変換が行われるようにしてもよい。
【0038】
図5は、位置検出装置1により生成されるプレイヤ位置情報の一例を示す図である。図5に示すように、プレイヤ位置情報は、プレイヤ100の複数の部位の位置に関する複数の情報を含む。プレイヤ位置情報は、例えば、プレイヤ100の各部位と、3次元座標と、が対応付けられて格納される。
【0039】
図6は、プレイヤ位置情報によって特定されるプレイヤ100の位置を示す図である。本実施形態では、例えば、位置検出装置1に対応する所定位置(例えば、測定基準位置)を原点Opとする。例えば、原点Opは、赤外線センサ3の測定基準位置に対応する3次元座標である。なお、原点Opの位置は、プレイヤ100がいる3次元空間のどこに設定されてもよい。例えば、撮影画像の原点Osに対応する3次元座標が、原点Opとして設定されるようにしてもよい。
【0040】
図6に示すように、本実施形態では、プレイヤ位置情報がプレイヤ100の複数の部位のうちで少なくとも頭の位置及び腰の位置に関する部位情報を含む場合を説明する。例えば、プレイヤ位置情報は、プレイヤ100の頭P1、肩P2、左上腕P3、右上腕P4、左下腕P5、右下腕P6、背中P7、左ももP8、右ももP9、左すねP10、右すねP11に対応する11個の3次元座標が含まれる。
【0041】
なお、プレイヤ位置情報によって示されるプレイヤ100の体の部位は、プレイヤの体(骨格)のうちで予め定められた部位のものであってよい。例えば、この部位は、先述したパターンマッチング法によって特定可能な体の部位であればどこでもよい。
【0042】
例えば、所定間隔毎(例えば、1/60秒毎)に生成されるプレイヤ位置情報は、位置検出装置1からゲーム装置20に対して送信される。ゲーム装置20は、プレイヤ位置情報を位置検出装置1から受信し、プレイヤ(以降、プレイヤの「100」の符号を省略する。)の体の動きを把握してゲームを実行する。
【0043】
[3.ゲーム装置で実行されるゲーム]
ゲーム装置20は、所与の時点におけるプレイヤの部位の位置が判定されるゲームを実行する。本実施形態においては、例えば、ゲーム装置20が、キャラクタ32のダンスに合わせて、プレイヤがダンスを踊るゲームを実行する場合を説明する。プレイヤは、例えば、ゲーム画面に表示されたキャラクタと同じ動作(ダンス)をすることを目指す。
【0044】
図7は、ゲーム画面の一例を示す図である。図7に示すように、ゲーム画面30には、楽曲に合わせてダンスを踊るキャラクタ32と、プレイヤの得点を示すスコア34とが含まれる。キャラクタ32は、例えば、ダンサーの踊りを撮影した映像にモーションキャプチャリング処理が行われて作成されたデータに基づいて表示される。
【0045】
本実施形態においては、ゲーム装置20がプレイヤの動作を判定する時間が近づくと、ゲーム画面30に泡を模したマーク36が表示される。プレイヤは、このマーク36を頼りにゲームをプレイする。別の言い方をすれば、マーク36は、これからキャラクタ32が体を動かす位置及びタイミングをプレイヤに案内するための画像である。例えば、キャラクタ32の手がマーク36の中心に触れた場合に、プレイヤが同じ動作をしていると、プレイヤは高い評価を得ることになる。
【0046】
なお、本実施形態においては、ゲーム画面30に表示されるキャラクタ32とプレイヤが向き合った状態でゲームをプレイするため、ゲーム画面30においては、プレイヤがすべきダンスを左右反転させたダンスをキャラクタ32が踊るように、キャラクタ32が表示される。例えば、プレイヤから見て右側の手(キャラクタ32から見て左側の手)をキャラクタ32が上げた場合にプレイヤが右手を上げると、プレイヤは高い評価を得ることになる。
【0047】
図8は、プレイヤが高い評価を得た場合のゲーム画面30を示す図である。図8に示すように、プレイヤが高い評価を得た場合には、ゲーム画面30には、エフェクト画像38と、評価内容を示す評価画像39と、が表示される。また例えば、プレイヤが高い評価を得た場合、泡を模したマーク36が破裂するような音が出力され、マーク36がゲーム画面30から消える。
【0048】
このように、プレイヤは、ゲーム画面30に表示される内容(例えば、マーク36)を頼りに、キャラクタ32のダンスと同じように踊ることを目指す。ゲーム装置20においては、プレイヤがキャラクタ32と同じようにダンスしているか否かを評価するために、2つの時点でプレイヤの部位の位置の判定が行われる。例えば、一方の判定がプレイヤの動作の評価を行うために用いられ、他方の判定がエフェクト効果の処理を行うために用いられている。以降、この技術について詳細に説明する。
【0049】
まず、位置検出装置1とゲーム装置20との構成について説明する。
【0050】
[4.位置検出装置の構成]
図9は、位置検出装置1のハードウェア構成を示す図である。図9に示すように、位置検出装置1は、制御部10、記憶部11、撮影部12、深度測定部13、音声入力部14、通信インタフェース部15から構成される。位置検出装置1の各構成要素は、バス16によってデータ送受信可能に接続される。
【0051】
制御部10は、記憶部11に記憶されるオペレーティングシステム、各種プログラムに基づいて位置検出装置1の各部を制御する。
【0052】
記憶部11は、オペレーティングシステムや撮影部12、深度測定部13を動作させるためのプログラム、各種パラメータを記憶する。また、記憶部11は、撮影画像及び深度画像に基づいてプレイヤ位置情報を生成するためのプログラムを記憶する。
【0053】
撮影部12は、CCDカメラ2等から構成される。撮影部12は、例えば、プレイヤの撮影画像を生成する。深度測定部13は、赤外線センサ3等から構成される。深度測定部13は、例えば、赤外線センサ3により得られる飛行時間に基づいて深度画像を生成する。制御部10は、先述のように、所定時間毎(例えば、1/60秒毎)に、撮影部12により生成される撮影画像と、深度測定部13により生成される深度画像と、に基づいて、プレイヤ位置情報を生成する。
【0054】
音声入力部14は、マイク4等から構成される。通信インタフェース部15は、ゲーム装置20に対してプレイヤ位置情報等の各種データを送信するためのインタフェースである。
【0055】
[5.ゲーム装置の構成]
図10は、ゲーム装置20のハードウェア構成を示す図である。図10に示すように、ゲーム装置20は、制御部21、主記憶部22、補助記憶部23、光ディスク再生部24、通信インタフェース部25、操作部26、表示部27、及び音声出力部28を含む。ゲーム装置20の各部はバス29によって接続されている。
【0056】
制御部21は、例えばCPU、GPU(Graphics Processing Unit)、及びSPU(Sound Processing Unit)等を含む。制御部21は、オペレーティングシステムやその他のプログラムに従って各種処理を実行する。
【0057】
主記憶部22は、例えば、RAM(Random Access Memory)を含む。補助記憶部23は、例えば、ハードディスク装置(情報記億媒体)を含む。主記憶部22は、補助記憶部23又は光ディスク(情報記憶媒体)から読み出されたプログラムやデータを記憶する。また、主記憶部22は、処理の過程で必要なデータを記憶するワークメモリとしても用いられる。また例えば、主記憶部22は、位置検出装置1から受信されるプレイヤ位置情報を、受信時間と対応付けて一時的に記憶する。
【0058】
光ディスク再生部24は、光ディスクに記憶されたプログラムやデータを読み取る。光ディスクには、例えば、ゲームプログラムが記憶されている。
【0059】
通信インタフェース部25は、ゲーム装置20を通信ネットワークに通信接続するためのインタフェースである。ゲーム装置20は、通信インタフェース部25を介してプレイヤ位置情報を、位置検出装置1から取得する。
【0060】
操作部26は、プレイヤが操作を行うためのものである。操作部26は、例えばゲームコントローラ、タッチパネル、マウス、又はキーボード等を含む。表示部27は、例えば、家庭用テレビ受像機又は液晶表示パネル等である。表示部27は、制御部21の指示に従って画面を表示する。音声出力部28は、例えば、スピーカ又はヘッドホン等を含む。
【0061】
本実施形態においては、ゲームの実行に際して必要なプログラムやデータは、光ディスクを介してゲーム装置20に供給される場合を説明する。なお、これらのプログラムやデータは、他の情報記憶媒体(例えば、メモリカード)を介してゲーム装置20に供給されるようにしてもよい。または、プログラムやデータは、通信ネットワークを介して遠隔地からゲーム装置20に供給されるようにしてもよい。
【0062】
[6.ゲーム装置で実現される機能]
図11は、ゲーム装置20において実現される機能を示す機能ブロック図である。図11に示すように、ゲーム装置20では、ゲームデータ記憶部40、プレイヤ位置情報取得部42、基準データ取得部44、案内部46、第1判定部48、第2判定部50、第1処理実行部52、第2処理実行部54が実現される。これらの機能は、制御部21が、光ディスクから読み出されたプログラムに従って動作することにより、実現される。
【0063】
[6−1.ゲームデータ記憶部]
ゲームデータ記憶部40は、主記憶部22及び補助記憶部23を主として実現される。ゲームデータ記憶部40は、ゲームを実行するために必要な情報を記憶する。例えば、ゲームデータ記憶部40には、以下のようなデータが格納される。
(1)楽曲データ(一般のポピュラー音楽等を所定のデータ形式で保存したデータ)
(2)モーションデータ
(3)基準データ
(4)プレイヤ位置情報を時系列的に格納したデータ
(5)ゲーム状況データ(実行中のゲームの状況(得点や経過時間等)を示すデータ)
【0064】
なお、上記のデータのうち、楽曲データ、モーションデータ、及び基準データは、予めゲーム作成者によって用意されたデータである。プレイヤ位置情報は、位置検出装置1から取得されるデータであり、ゲーム状況データは、ゲームプログラムによって生成及び更新されるデータである。また、制御部21は、ゲームデータ記憶部40に格納された各種データを取得する手段として機能する。
【0065】
[モーションデータ]
まず、モーションデータについて説明する。モーションデータは、例えば、ダンサーの動きを撮影した映像にモーションキャプチャリング処理を施して生成されるデータに基づいて、ゲーム製作者によって作成される。モーションデータは、例えば、キャラクタ32の各部位の位置を特定するためのデータである。
【0066】
本実施形態においては、モーションデータには、楽曲の再生が開始されてからの経過時間(例えば、1/256小節毎)と、ゲーム空間におけるキャラクタ32の各部位(骨格)を示すデータと、が対応付けられて格納される場合を説明する。
【0067】
即ち、モーションデータには、キャラクタ32の姿勢を示すデータが時系列的に格納される。ゲーム装置20は、モーションデータに基づいて、キャラクタ32を示すオブジェクトをゲーム空間に配置することによって、ゲーム画面30においてキャラクタ32がダンスを踊るように表示制御を行うことができる。
【0068】
図12は、ゲーム空間を示す図である。図12に示すように、ゲーム空間60には、キャラクタ32を示すキャラクタオブジェクト62と、仮想カメラ64(視点)と、が配置される。キャラクタオブジェクト62は、複数のポリゴンを含んで構成される。例えば、モーションデータに格納されたキャラクタ32の部位を示すデータに基づいてキャラクタオブジェクト62が作成される。
【0069】
キャラクタオブジェクト62は、プレイヤが取るべき姿勢を案内するように変化する。本実施形態においては、キャラクタ32が、プレイヤがすべきダンスを左右反転させたダンスを踊る場合を説明する。例えば、プレイヤが右手を上方に位置させるべき場合には、キャラクタオブジェクト62のうちキャラクタ32の左手を示すオブジェクトが上方に位置する。即ち、モーションデータには、キャラクタ32が、プレイヤがすべきダンスを左右反転させたダンスを踊るように、キャラクタ32の部位の位置が定義されている。
【0070】
ゲーム画面30には、ゲーム空間60を仮想カメラ64から見た様子を示す画像が表示される。仮想カメラ64の位置や視線方向を示す情報は、固定値であってもよいし、ゲームプログラムやプレイヤの操作に基づいて変動するようにしてもよい。仮想カメラ64の位置や視線方向を示す情報は、例えば、ゲーム状況データに格納される。また、モーションデータと楽曲データとは、キャラクタ32が楽曲に合わせてダンスを踊るように同期再生される。
【0071】
[基準データ]
次に、基準データについて説明する。基準データは、楽曲データの再生時間内に設定される基準時点に関する情報と、基準時点においてプレイヤの部位があるべき基準位置に関する情報と、を対応付けてなるデータである。基準時点とは、ゲーム装置20がプレイヤの動作を判定(評価)すべき時点である。基準データに基づいて、楽曲データの再生期間内に行われるプレイヤの動作が評価される。楽曲データの再生期間内とは、楽曲の始点から終点までの期間内のことである。
【0072】
本実施形態においては、基準データは、判定用位置データと設定データとを含んでいる場合を説明する。判定用位置データは、楽曲の再生が開始されてからの各時点においてプレイヤの各部位があるべき位置を示すデータである。例えば、楽曲の再生が開始されてからの経過時間と、この経過時間においてプレイヤの部位があるべき位置(3次元座標)と、が対応付けられて判定用位置データに格納される。モーションデータと同様に、判定用位置も、ダンサーの動きを撮影した映像にモーションキャプチャリング処理を施して生成されるデータに基づいて、ゲーム製作者によって作成される。判定用位置データは、プレイヤ位置情報が示すプレイヤの部位の位置と比較される。
【0073】
また、本実施形態においては、判定用位置データが、プレイヤに設定される代表点に基づいた座標系で表現される場合を説明する。例えば、判定用位置データに格納される3次元座標は、代表点を原点とした座標系によって表現される。即ち、判定用位置データに格納されるプレイヤの各部位の位置座標は、プレイヤの各部位があるべき位置と、代表点の位置と、の位置関係を示している。
【0074】
なお、本実施形態においては、代表点を背中P7とする。この場合、背中P7を原点とし、背中P7からの相対的な位置を示す3次元座標が、判定用位置データに格納される。プレイヤの動作が評価される場合には、ゲーム装置20は、プレイヤ位置情報を代表点に基づいた座標系で表現する。例えば、判定用位置データは、背中P7を原点とする座標系で表現されているので、プレイヤ位置情報に含まれる3次元座標も、背中P7を原点とする座標系で表現する。
【0075】
なお、本実施形態においては、代表点が背中P7である場合を説明するが、代表点は、プレイヤ及びキャラクタ32に設定される点であればよく、背中P7でなくともよい。例えば、代表点は、頭P1等であってもよい。
【0076】
また、本実施形態においては、キャラクタ32は、プレイヤがすべきダンスの左右反対のダンスを踊るので、判定用位置データが示すプレイヤの頭P1、肩P2、左上腕P3、右上腕P4、左下腕P5、右下腕P6、背中P7、左ももP8、右ももP9、左すねP10、右すねP11の位置と、図12に示すキャラクタ32の頭Q1、肩Q2、左上腕Q3、右上腕Q4、左下腕Q5、右下腕Q6、背中Q7、左ももQ8、右ももQ9、左すねQ10、右すねQ11の位置と、は一定の関係(左右反対の関係)を保っている。
【0077】
次に、設定データについて説明する。設定データは、基準時点と、当該基準時点においてゲーム装置20が判定するプレイヤの部位を特定するためのデータである。
【0078】
図13は、設定データの一例を示す図である。図13に示すt軸は、時間軸である。t軸は、楽曲の再生が開始されてからの経過時間を示している。例えば、設定データは、所定小節(例えば、1/16小節)毎に、ゲーム装置20が判定すべきプレイヤの部位を示している。本実施形態においては、設定データにおいて、頭、左手(例えば、左下腕)、右手(例えば、右下腕)、左足(例えば、左すね)、右足(例えば、右すね)の5つの部位が定義される場合を説明する。
【0079】
図13に示すように、1/16小節の各時点において、ゲーム装置20がプレイヤのダンスを判定すべきか否かは、「0」〜「7」の数値によって表されている。設定データに格納される「頭」、「左手」、「右手」、「左足」、「右足」の値は、それぞれ、ゲーム装置20がプレイヤの頭、左手、右手、左足、右足の位置を判定すべきか否かを示している。また、設定データの値の数値によって、ゲーム装置20がプレイヤの動作を判定する方法の種別が異なる。
【0080】
図14は、判定方法の種別を示す図である。図14に示すように、本実施形態においては、設定データに格納される値によって、ゲーム装置20がプレイヤの動作を判定する方法の種別が異なる。設定データに格納される値が「0」であることは、ゲーム装置20がプレイヤの動作を判定すべき時点ではないことを示している。即ち、設定データに格納される全ての部位が「0」である場合は、基準時点ではないことを示している。
【0081】
設定データに格納される部位の値が「1」〜「7」の何れかである場合、ゲーム装置20が判定すべきプレイヤの部位があることを示している。以降、この部位を判定対象部位という。即ち、設定データが「1」〜「7」である時間は、基準時点であることを示している。本実施形態においては、図14に示すように、ゲーム装置20がプレイヤの動作を判定する方法が、以下の7種類に分類される。
(1)Ripple:ゲーム装置20が、プレイヤがキャラクタ32と同じ手の動きをしているか否かを判定する。
(2)Step:ゲーム装置20が、プレイヤがキャラクタ32と同じ足の動きをしているか否かを判定する。
(3)Pose:ゲーム装置20が、プレイヤが全身を使ってキャラクタ32と同じポーズをしているか否かを判定する。
(4)Lock:ゲーム装置20が、プレイヤが、一定時間、キャラクタ32と同じ位置に部位を固定しているか否かを判定する。
(5)Solid:ゲーム装置20が、プレイヤが、一定時間、キャラクタ32と同じように手を振っているか否かを判定する。
(6)Stream:ゲーム装置20が、プレイヤが、一定時間、キャラクタ32と同じ手の動きをしているか否かを判定する。
(7)Gesture:ゲーム装置20が、プレイヤが、一定時間、全身又は一部の部位を使ってキャラクタ32と同じポーズをしているか否かを判定する。
【0082】
例えば、設定データの値が「1」、「2」、「4」、「5」、「6」の部位がある場合、ゲーム装置20は、これらの値になっているプレイヤの部位(頭、左手、右手、左足、右足)の動作を、上記の種別に基づいて判定する。また例えば、設定データの値が「3」、「7」の部位がある場合、ゲーム装置20は、プレイヤの全身又は一部の部位の動作を、上記種別に基づいて判定する。
【0083】
なお、本実施形態においては、プレイヤによって上記のような動作が行われる場合を説明するが、ゲーム装置20の判定方法の種別は、キャラクタ32のダンスに基づいた動作であればよく、ゲーム装置20の判定方法の種別は、上記の例に限られない。
【0084】
[6−2.プレイヤ位置情報取得部]
プレイヤ位置情報取得部42は、制御部21を主として実現される。プレイヤ位置情報取得部42は、プレイヤの部位の位置に関するプレイヤ位置情報を取得する。プレイヤ位置情報は、例えば、3次元空間(現実空間)におけるプレイヤの部位の3次元座標を含んでなる。プレイヤ位置情報取得部42は、位置検出装置1からプレイヤ位置情報を取得する。
【0085】
本実施形態においては、プレイヤ位置情報は、プレイヤの代表位置(即ち、代表点。例えば、背中P7。)の位置とプレイヤの部位の位置とに関する情報を含む場合を説明する。取得されたプレイヤ位置情報は、例えば、取得時間と対応づけられてゲームデータ記憶部40に記憶される。
【0086】
[6−3.基準データ取得部]
基準データ取得部44は、制御部21を主として実現される。基準データ取得部44は、基準時点に関する情報と、基準時点においてプレイヤの部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から基準データを取得する。
【0087】
本実施形態においては、基準データ取得部44は、判定用位置データと、設定データと、を含む基準データを取得する。判定用位置データには、楽曲の再生が開始されてからの経過時間と、この経過時間においてプレイヤの部位があるべき3次元座標(例えば、キャラクタ32の部位の3次元座標)と、が格納される。設定データには、基準時点と、ゲーム装置が判定すべきプレイヤの部位と、が対応づけられる。
【0088】
[6−4.案内部]
案内部46は、制御部21を主として実現される。案内部46は、基準データに基づいて、基準時点及び基準位置をプレイヤに案内する。本実施形態においては、案内部46は、設定データに基づいて、基準時点及び基準位置を案内するための案内画像(例えば、マーク36)を表示させる場合を説明する。
【0089】
例えば、設定データに格納された値が「1」〜「7」の何れかである時間(即ち、基準時点)が近づくと、案内部46は、判定用位置データに基づいてマーク36を表示すべき位置を特定し、この位置にマーク36を表示させる。
【0090】
例えば、設定データに格納された値が「1」である基準時点が近づくと、ゲーム装置20は、Rippleの判定をすることをプレイヤに案内すべく、図7のように、キャラクタ32の部位(例えば、左手と右手)にマーク36を表示させる。マーク36は、例えば、この基準時点における判定用位置データが示す3次元座標(例えば、左下腕P5及び右下腕P6)に基づいて表示される。
【0091】
なお、マーク36を表示させるべき位置を特定する方法は、上記の例に限られない。他にも例えば、後述する第1判定領域70に基づいてマーク36が表示されるようにしてもよいし、キャラクタオブジェクト62の位置に基づいてマーク36が表示されるようにしてもよい。
【0092】
設定データに格納された値が「2」、「4」である時間が近づくと、ゲーム装置20は、上記と同様に、それぞれ、Step又はLockの判定をすべく、キャラクタ32の手や足等にマーク36を表示させる。
【0093】
図15は、ゲーム装置20がSolid又はStreamの判定をすべき基準時点が近づいた場合のゲーム画面の一例を示す図である。図15に示すように、キャラクタ32の手の動きを案内するようなマーク36が表示される。例えば、ゲーム装置20がSolid又はStreamの判定をすべき基準時点が近づくと、判定用位置データが示す3次元座標に基づいてマーク36を表示させる位置が特定され、この位置にマーク36が表示される。
【0094】
図16は、ゲーム装置20がPose又はGestureの判定をすべき基準時点が近づいた場合のゲーム画面の一例を示す図である。図16に示すように、キャラクタ32のポーズを案内するようなマーク36が表示される。例えば、図16に示す例の場合、マーク36がキャラクタ32の左右から近づいてくる。マーク36がキャラクタ32に重なった時間が基準時点となる。
【0095】
例えば、ゲーム装置20がPose又はGestureをすべき基準時点が近づくと、モーションデータが示すキャラクタオブジェクト62の3次元座標に基づいてキャラクタ32のポーズが特定される。例えば、キャラクタオブジェクト62を挟むようにして、このポーズを示すオブジェクトをキャラクタオブジェクト62の左右に配置することによって、マーク36が表示される。このオブジェクトとキャラクタオブジェクト62との距離は、例えば、基準時点と現在の時間との差に基づいて制御される。
【0096】
なお、案内部46は、設定データに基づいて基準時点及び基準位置をプレイヤに案内すればよく、案内部46の案内方法は、上記の例に限られない。例えば、案内部46は、音声を出力させてプレイヤに基準時点及び基準位置を案内させるようにしてもよい。他にも例えば、マーク36の画像を識別する情報と、マーク36の表示位置と、マーク36を表示すべき時間と、を予め対応付けて用意しておいてもよい。
【0097】
[6−5.第1判定部]
第1判定部48は、制御部21を主として実現される。第1判定部48は、基準時点に基づいて設定される時点であって、基準時点よりも前の第1判定対象時点において取得されたプレイヤ位置情報によって示されるプレイヤの部位の位置と基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する。本実施形態においては、第1判定対象時点が、基準時点の所定時間前から基準時点までの何れかの時点である場合を説明する。
【0098】
第1条件は、第1判定対象時点におけるプレイヤの部位の位置と基準位置とのずれ具合を示す条件であり、例えば、プレイヤの部位の位置と基準位置との位置ずれ量(距離又は間隔)に関する条件である。
【0099】
本実施形態においては、第1判定部48は、第1判定対象時点において取得されたプレイヤ位置情報によって示されるプレイヤの部位の位置が、基準位置に基づいて設定される第1判定領域に含まれるか否かを判定することによって、第1条件を満たすか否かを判定する場合を説明する。例えば、Ripple、Step、Lock、Solid、Streamの判定が行われる場合、上記のように第1判定領域を用いた判定が行われる。
【0100】
第1判定領域は、判定対象部位の位置(3次元座標)に基づいて設定される。本実施形態においては、第1判定対象時点が訪れる場合、判定対象部位の位置に基づいて第1判定領域が設定される。第1判定領域は、判定対象部位の位置を含むように設定される。
【0101】
図17は、本実施形態において設定される第1判定領域及び第2判定領域(後述)を示す図である。図17の例は、ゲーム装置20がRippleの判定をすべき基準時点が訪れる場合に設定される第1判定領域70を示す。図17に示すように、例えば、キャラクタオブジェクト62のうちキャラクタ32の両手を示す位置に、第1判定領域70が設定される。
【0102】
例えば、判定対象部位の3次元座標を中心とした所定半径r1の球が第1判定領域70として設定される。例えば、判定対象部位が右手及び左手である場合、判定用位置データに格納されたプレイヤの左手と右手の3次元座標(例えば、左下腕P5及び右下腕P6の3次元座標)が参照され、この3次元座標を中心とした半径r1の球が第1判定領域70として設定される。
【0103】
本実施形態においては、第1判定部48が、プレイヤの代表位置(例えば、背中P7)及びプレイヤの部位の位置の位置関係と、プレイヤの代表位置(例えば、背中P7)及び第1判定領域70の位置関係と、に基づいて、プレイヤの部位の位置が第1判定領域70内に含まれるか否かを判定する場合を説明する。即ち、第1判定部48は、プレイヤの各部位の位置を、キャラクタ32に重ねるようにしてプレイヤの動作を評価する。
【0104】
ここでは、判定対象部位が右下腕P6である場合を例に挙げて、第1判定部48の判定方法を説明する。この場合、判定用位置データが示すプレイヤの右下腕P6があるべき位置の周囲に第1判定領域70が設定される。第1判定部48は、第1判定対象時点が訪れる場合、プレイヤ位置情報が示す3次元座標を、背中P7を原点とした座標系で表現する。即ち、プレイヤ位置情報が示すプレイヤの背中P7の位置と、判定用位置データが示すプレイヤの背中P7の位置と、を重ね合わせる。
【0105】
そして、プレイヤ位置情報が示す右下腕P6の座標が、第1判定領域70内に含まれるか否かが判定される。例えば、座標変換されたプレイヤの右下腕P6の座標と、判定用位置データが示す右下腕P6の座標との距離が所定距離r1以下であるか否かが判定される。プレイヤの右下腕P6の座標が、第1判定領域70内に含まれる場合、プレイヤの動作の評価は高くなり、エフェクト処理が実行される。プレイヤの右下腕P6の座標が、第1判定領域70内に含まれない場合、プレイヤの動作の評価は低くなり、エフェクト処理が実行されない。
【0106】
なお、第1判定領域70を用いた第1判定部48の判定方法は、上記の例に限られない。第1判定部48は、プレイヤの各部位の位置と、第1判定領域70と、に基づいてプレイヤの動作を評価するようにすればよい。例えば、プレイヤの各部位の位置と、第1判定領域70の中心点と、の距離に基づいてプレイヤの動作が評価されるようにしてもよい。
【0107】
また、第1判定部48は、第1判定対象時点において取得されたプレイヤ位置情報によって示されるプレイヤの部位の位置と、基準位置と、の位置ずれ量が基準範囲内である部位の数が第1基準範囲であるか否かに基づいて、第1条件を満たすか否かを判定するようにしてもよい。例えば、Pose又はGestureの判定が行われる場合、上記のように第1基準範囲を用いた判定が行われる。
【0108】
この場合、第1判定部48は、プレイヤの部位の位置と、基準位置と、の位置ずれ量(距離)を算出する。そして、この位置ずれ量が、所定の基準範囲(第1基準距離)内であるか否かが判定される。例えば、位置ずれ量が所定の基準範囲内である部位の数が第1基準範囲の下限値(第1基準数)以上であるか否か(例えば、8個以上、又は、全部位のうちの80%以上)に基づいて、第1条件を満たすか否かが判定される。
【0109】
[6−6.第2判定部]
第2判定部50は、制御部21を主として実現される。第2判定部50は、基準時点に基づいて設定される時点であって、第1判定対象時点よりも後の第2判定対象時点において取得されたプレイヤ位置情報によって示されるプレイヤの部位の位置と基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する。
【0110】
第2判定対象時点は、判定対象期間内の時点のうち、第1判定対象時点よりも後の時点である。判定対象期間とは、基準時点の所定時間(第1の時間)前から基準時点の所定時間(第2の時間)後までの期間である。第1の時間の長さと第2の時間の長さとは、同じであってもよいし異なっていてもよい。本実施形態においては、第2判定対象時点が、基準時点から基準時点の所定時間後までの何れかの時点である場合を説明する。例えば、第2判定対象時点が基準時点よりも後であることによって、プレイヤ位置情報の生成に時間がかかったとしても、基準時点におけるプレイヤの動作を正確に判定することができる。
【0111】
また、第2条件が示す位置ずれは、第1条件が示す位置ずれよりも、ずれの程度(位置ずれ量)が小さい。したがって、プレイヤは、第1条件に基づいた判定よりも、第2条件に基づいた判定の方が、高い評価を得ることが難しくなる。
【0112】
本実施形態においては、第2判定部50は、第2判定対象時点において取得されたプレイヤ位置情報によって示されるプレイヤの部位の位置が、基準位置に基づいて設定される領域であって、第1判定領域に覆われる第2判定領域に含まれるか否かを判定することによって、第2条件を満たすか否かを判定する場合を説明する。
【0113】
例えば、第2判定領域80の全体又は一部が、第1判定領域70に含まれるように、第2判定領域80が設定される。別の言い方をすれば、判定対象部位との距離が第1判定領域70よりも近い位置に、第2判定領域80が設定される。
【0114】
第2判定領域80は、例えば、第1判定領域70によって覆われるように、球状に設定される。例えば、判定対象部位が右手及び左手である場合、判定用位置データの左下腕P5及び右下腕P6の3次元座標が参照され、この3次元座標を中心とした所定半径r2(<r1)の球が第2判定領域80として設定される。
【0115】
なお、本実施形態においては、第1判定領域70及び第2判定領域80が球状の領域である場合を説明するが、第1判定領域70及び第2判定領域80の形状は球状に限られない。第1判定領域70及び第2判定領域80は、基準時点又は判定対象期間内において、プレイヤの判定対象部位との位置関係を比較することができる形状であればよく、他にも例えば、第1判定領域70及び第2判定領域80は、直方体等であってもよい。
【0116】
また、第1判定領域70及び第2判定領域80の位置及び大きさを特定するための情報(例えば、球の中心点と半径を示す情報)は、例えば、ゲーム状況データに格納されるようにしてもよい。また、第1判定領域70及び第2判定領域80は、プレイヤ位置情報が示す3次元空間に設定されてもよいし、ゲーム空間60に設定されてもよい。
【0117】
第2判定部50の判定方法は、第1判定部48の評価方法と同様である。即ち、第2判定部50は、第2判定対象時点が訪れた場合、プレイヤ位置情報が示す背中P7の3次元座標と、判定用位置データが示すプレイヤの背中P7の3次元座標と、を一致させるようにプレイヤ位置情報が示す3次元座標を座標変換させる。
【0118】
そして、プレイヤの右下腕P6の座標が、第2判定領域80内に含まれるか否かが判定される。プレイヤの右下腕P6の座標が、第2判定領域80内に含まれる場合、プレイヤの動作の評価は高くなり、得点が増加する。プレイヤの右下腕P6の座標が、第2判定領域80内に含まれない場合、プレイヤの動作の評価は低くなり、得点は増加しない。
【0119】
なお、上記では、第1判定部48及び第2判定部50が、Rippleの判定を行う場合を説明したが、Step又はLockをすべき基準時点が近づいた場合も、図17と同様に、判定対象部位の3次元座標を中心とした所定半径の球状の第1判定領域70及び第2判定領域80が設定される。また、第1判定部48及び第2判定部50が、Solid又はStreamの判定を行う場合にも、第1判定領域70及び第2判定領域80が設定されるようにしてもよい。
【0120】
図18は、ゲーム装置20がSolid又はStreamの判定をすべき基準時点が近づいた場合に設定される第1判定領域70及び第2判定領域80の一例を示す図である。基準時点が近づいた場合、判定対象部位の3次元座標に基づいて第1判定領域70及び第2判定領域80が設定される。Solid又はStreamの判定は、一定時間にわたって行われ、かつ、判定対象部位の位置が変化するので、例えば、図18に示すように、複数の第1判定領域70及び第2判定領域80が設定される。
【0121】
第2判定部50は、第2判定対象時点において取得されたプレイヤ位置情報によって示されるプレイヤの部位の位置と、基準位置と、の位置ずれ量が基準範囲内である部位の数が、第1基準範囲の下限値よりも下限値の大きい第2基準範囲であるか否かに基づいて、第2条件を満たすか否かを判定するようにしてもよい。例えば、Pose、Gestureの判定が行われる場合、上記のように第2基準範囲を用いた判定が行われる。
【0122】
この場合、第2判定部50は、プレイヤの部位の位置と、基準位置と、の位置ずれ量(距離)を算出する。そして、この位置ずれ量が、所定の基準範囲(第2基準距離。第1基準距離と同じであってもよい。)内であるか否かが判定される。例えば、位置ずれ量が所定の基準範囲内である部位の数が第2基準範囲の下限値(例えば、第1基準数より大きい第2基準数)以上であるか否か(例えば、10個以上、又は、全部位のうちの90%以上)に基づいて、第2条件を満たすか否かが判定される。
【0123】
なお、Pose又はGestureの判定がされるべき第1判定対象時点又は第2判定対象時点が訪れる場合、他の動作と同様に、判定対象部位(全身又は一部の部位)の3次元座標に基づいて第1判定領域70及び第2判定領域80が設定されるようにしてもよい。例えば、Poseの判定がされるべき第1判定対象時点又は第2判定対象時点が訪れた場合には、全身(例えば、11個)の第1判定領域70及び第2判定領域80が設定されるようにしてもよい。
【0124】
[6−7.第1処理実行部]
第1処理実行部52は、第1判定部48の判定結果に基づいてゲームのエフェクトに関する処理を行う。エフェクトに関する処理は、例えば、表示部27に表示される画像に関する処理(表示エフェクト処理)又は音声出力部28から出力される音声に関する処理(音声エフェクト処理)のことである。例えば、第1処理実行部52は、基準時点においてエフェクト処理を実行する。
【0125】
例えば、表示エフェクト処理において、第1判定部48の判定結果をプレイヤに伝えるための表示処理が表示部27において行われる。例えば、表示エフェクト処理としては、エフェクト画像38を表示させる処理、ゲーム画面30を点滅させる処理、ゲーム画面30の輝度を変更させる処理等の表示処理が実行される。
【0126】
音声エフェクト処理においては、第1判定部48の判定結果をプレイヤに伝えるための音声出力処理が音声出力部28から出力される実行される。例えば、音声エフェクト処理としては、マーク36が破裂したような音を出力させる処理、キャラクタ32が話しかけるような音声を出力させる処理等の音声出力処理が実行される。
【0127】
[6−8.第2処理実行部]
第2処理実行部54は、制御部21を主として実現される。第2処理実行部54は、第2判定部50の判定結果に基づいてプレイヤの評価に関する処理を行う。プレイヤの評価に関する処理とは、プレイヤがゲームをプレイした結果の良い/悪いを判定するために行われる処理である。即ち例えば、プレイヤの評価に関する処理は、プレイヤのゲーム結果を示す情報を更新するための処理であり、例えば、プレイヤの得点を変更させる処理である。第2処理実行部54は、第2判定部50の判定結果に基づいてプレイヤのゲーム成績を決定する処理を実行するようにしてもよい。
【0128】
[7.ゲーム装置において実行される処理]
図19は、ゲーム装置20において実行される処理の一例を示すフロー図である。図19の処理は、制御部21が、光ディスクから読み出されたプログラムに従って動作することにより実行される。
【0129】
まず、図19に示すように、制御部21は、楽曲データに基づいて楽曲を再生する(S101)。制御部21は、モーションデータに基づいてキャラクタ32のダンスを開始させる(S102)。S102においては、モーションデータに基づいてゲーム空間60にキャラクタオブジェクト62が配置される。そして、仮想カメラ64からキャラクタオブジェクト62を見た様子を示す画像が、ゲーム画面30として表示される。なお、楽曲に合わせてキャラクタ32がダンスをするように、楽曲データとモーションデータとは同期再生される。
【0130】
制御部21は、設定データを参照し、現時点が案内期間内であるか否かを判定する(S103)。案内期間とは、プレイヤに基準位置及び基準時点を案内すべき期間のことであり、例えば、基準時点の所定時間(例えば、1小節)前から基準時点までの間の期間である。現時点が案内期間内でない場合(S103;N)、処理はS112に移行する。
【0131】
現時点が案内期間内であると判定された場合(S103;Y)、制御部21は、ゲーム画面30にマーク36を表示させる(S104)。S104においては、例えば、設定データと、モーションデータの判定用位置データと、が参照され、キャラクタ32の判定対象部位の位置にマーク36が表示される。マーク36の画像データは、表示位置と対応付けられて予め記憶されていてもよい。
【0132】
制御部21は、現時点が第1判定対象時点であるか否かを判定する(S105)。例えば、楽曲及びダンスの経過時間が、基準時点の所定時間前(例えば、1/8小節前)になったか否かが判定される。
【0133】
第1判定対象時点でないと判定された場合(S105;N)、処理は、S108に移行する。第1判定対象時点であると判定された場合(S105;Y)、制御部21は、プレイヤ位置情報が示すプレイヤの部位の位置と、基準データに格納される基準位置と、の位置関係が第1条件を満たすか否かを判定する(S106)。S106においては、例えば、プレイヤの動作の判定方法の種別によって処理内容が異なる。
【0134】
例えば、Ripple、Step、Lock、Solid、又はStreamの判定が行われる場合、まず、設定データが参照され、判定対象部位が特定される。次いで、判定用位置データが参照され、基準時点における判定対象部位の3次元座標が取得される。そして、この3次元座標を中心とした所定半径r1の球が第1判定領域70として設定される。制御部21は、第1判定対象時点におけるプレイヤ位置情報を参照し、プレイヤの判定対象部位が第1判定領域70内にあるか否かを判定する。
【0135】
一方、Pose又はGestureの判定が行われる場合、まず、設定データが参照され、判定対象部位(例えば、全身)が特定される。次いで、判定用位置データが参照され、基準時点における判定対象部位(例えば、全身)の3次元座標が取得される。そして、制御部21は、第1判定対象時点におけるプレイヤ位置情報が示す部位の位置と、判定用位置データが示す位置と、の距離が基準距離以内である部位の個数が、第1基準範囲(例えば、8個以上)であるか否かを判定する。
【0136】
第1条件を満たすと判定されない場合(S106;N)、処理はS108に移行する。第1条件を満たすと判定された場合(S106;Y)、制御部21は、エフェクト処理を行う(S107)。例えば、泡を模したマーク36が破裂して消滅するような表示処理及び音出力処理が、基準時点において実行される。即ち、基準時点の所定時間前の第1判定対象時点においてS106の判定が実行されるので、基準時点においてエフェクト処理を実行することができる。
【0137】
次いで、制御部21は、現時点が第2判定対象時点であるか否かを判定する(S108)。例えば、楽曲及びダンスの経過時間が、基準時点の所定時間後(例えば、1/8小節後)になったか否かが判定される。第2判定対象時点でないと判定された場合(S108;N)、処理はS112に移行する。
【0138】
第2判定対象時点であると判定された場合(S108;Y)、制御部21は、プレイヤ位置情報が示すプレイヤの部位の位置と、基準データが示す基準位置と、の位置関係が、第2条件を満たすか否かを判定する(S109)。S109においては、S106と同様に、例えば、プレイヤの動作の判定方法の種別によって処理内容が異なる。
【0139】
例えば、Ripple、Step、Lock、Solid、又はStreamの判定が行われる場合、まず、設定データが参照され、判定対象部位が特定される。次いで、判定用位置データが参照され、基準時点における判定対象部位の3次元座標が取得される。そして、この3次元座標を中心とした所定半径r2の球が第2判定領域80として設定される。制御部21は、第2判定対象時点におけるプレイヤ位置情報を参照し、プレイヤの判定対象部位が第2判定領域80内にあるか否かを判定する。
【0140】
一方、Pose又はGestureの判定が行われる場合、まず、設定データが参照され、判定対象部位(例えば、全身)が特定される。次いで、判定用位置データが参照され、基準時点における判定対象部位(例えば、全身)の3次元座標が取得される。そして、制御部21は、第1判定対象時点におけるプレイヤ位置情報が示す部位の位置と、判定用位置データが示す位置と、の距離が基準距離以内である部位の個数が、第2基準範囲(例えば、8個以上)であるか否かを判定する。
【0141】
第2条件を満たすと判定されない場合(S109;N)、制御部21は、評価内容(メッセージ)を表示させる(S110)。S110においては、評価画像39がゲーム画面30に表示される。なお、S106の判定結果に基づいて、評価画像39を異ならしめるようにしてもよい。例えば、S106において第1条件を満たしていた場合、「GOOD」の文字を示す評価画像39が表示され、S106において第1条件を満たしていない場合、「BOO」の文字を示す評価画像39が表示されるようにしてもよい。
【0142】
第2条件を満たすと判定された場合(S109;Y)、制御部21は、得点を増加させ、評価内容(メッセージ)を表示させる(S111)。S111においては、評価画像39がゲーム画面30に表示される。なお、基準時点と第2判定対象時点とのずれに基づいて、評価画像39を異ならしめるようにしてもよい。例えば、基準時点と第2判定対象時点とのずれが所定時間以内であった場合、「PERFECT」の文字を示す評価画像39が表示され、基準時点と第2判定対象時点とのずれが所定時間以内でない場合、「GREAT」の文字を示す評価画像39が表示されるようにしてもよい。
【0143】
制御部21は、終了条件を満たすか否かを判定する(S112)。終了条件は、本処理を終了するための予め定められた条件であればよい。例えば、終了条件は、楽曲やダンスが終了するか否かを示す条件であったり、所定のゲームオーバー条件であってもよい。
【0144】
終了条件を満たす場合(S112;Y)、処理は終了する。終了条件を満たさない場合(S112;N)、処理はS103に戻る。
【0145】
以上に説明したゲーム装置20は、第1判定対象時点及び第2判定対象時点において、プレイヤの部位の位置を判定する。前者の判定結果をエフェクト処理に使用し、後者の判定結果をプレイヤの評価の処理に使用する。したがって、例えば、画像解析のためにプレイヤ位置情報の生成に時間がかかったとしても基準時点においてエフェクト処理を実行することができ、また、基準時点におけるプレイヤの動作を正確に評価することもできるので、プレイヤにストレスを与えることはない。
【0146】
また、第2判定対象時点において、第1判定対象時点の判定における第1条件が示す位置ずれ量よりも小さい第2条件で判定が行われるので、プレイヤのストレスを軽減させつつ、高い成績を簡単に得ることができてしまわないように、ゲームの難易度を担保することができる。
【0147】
なお、本実施形態においては、第1処理実行部52が、基準時点においてエフェクト処理を実行する場合を説明したが、エフェクト処理は、プレイヤが想定する操作タイミングと、ゲーム内の操作タイミングと、の時間差をプレイヤが体感しづらくなるような時点で実行されるようにすればよい。例えば、エフェクト処理は、基準時点から所定時間前後(例えば、基準時点の0.1秒前又は基準時点の0.1秒後)した時点において実行されるようにしてもよい。
【0148】
本発明は、以上説明した実施形態及び変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【0149】
(1)例えば、基準時点前後のキャラクタ32のダンスに応じて第1判定領域70及び第2判定領域80の形状を変更するようにしてもよい。この場合、ゲーム装置20は、基準時点に基づいて設定される期間内におけるキャラクタ32の部位の変化方向に関する情報を取得する。
【0150】
例えば、ゲーム装置20は、基準時点の所定時間前から、基準時点の所定時間後までの期間内におけるキャラクタ32の判定対象部位の変化方向(即ち、判定対象部位の3次元座標の変化方向)に関する情報を、設定データ及びモーションデータに基づいて取得する。
【0151】
そして、ゲーム装置20は、取得された変化方向に基づいて第1判定領域70及び第2判定領域80を変更する。例えば、ゲーム装置20は、キャラクタ32の判定対象部位の変化方向に基づいて定まる方向に対して広くなるように、第1判定領域70及び第2判定領域80の形状を変更する。例えば、基準時点において、キャラクタ32の判定対象部位(例えば、両手)が上下に大きく動く場合、第1判定領域70及び第2判定領域80の大きさが上下に広くなるように変更される。
【0152】
なお、第1判定領域70及び第2判定領域80の大きさを広くする程度は、キャラクタ32の判定対象部位の変化量に基づいて決定されるようにしてもよい。この場合、ゲーム装置20は、キャラクタ32の判定対象部位の変化量に関する情報を、設定データ及びモーションデータに基づいて取得する。判定対象部位の変化量が大きくなるほど、第1判定領域70及び第2判定領域80を判定対象部位の変化方向に対して広くするようにしてもよい。
【0153】
変形例(1)によれば、キャラクタ32のダンスにつられてプレイヤが体を大きく動かしすぎるような動作が行われる状況であっても、当該状況に応じて第1判定領域70及び第2判定領域80の形状が変更されるので、プレイヤの動作を評価することができる。
【0154】
(2)また、実施形態においては、基準データとしてモーションデータと設定データを含む例を説明したが、基準データは、基準時点と基準位置とが対応付けられたものであればよい。例えば、基準時点と、第1判定領域70及び第2判定領域80を特定するための情報と、が対応付けられていてもよいし、基準時点と、判定対象部位の位置を示す情報と、が対応付けられていてもよい。
【0155】
(3)また例えば、判定用位置データは、ゲーム画面30に表示されるキャラクタ32毎に記憶されるようにしてもよい。即ち、体の小さなキャラクタ32用の判定用位置データと、体の大きなキャラクタ32用の判定用位置データと、が記憶されるようにしてもよい。このように判定用位置データを用意しておくことによって、マーク36をキャラクタ32の大きさに合わせた位置に表示させることができる。
【0156】
また、プレイヤの体の大きさに合わせてプレイヤ位置情報を補正して、判定用位置データとの比較が行われるようにしてもよい。この場合、ゲーム装置20は、プレイヤ位置情報に基づいてプレイヤの体の大きさに関する情報を取得する手段を含み、第1判定部48及び第2判定部50は、プレイヤの体の大きさがキャラクタ32の体の大きさに合うようにプレイヤ位置情報を補正してプレイヤの動作の評価を行う。
【0157】
例えば、プレイヤ位置情報に含まれる頭P1と、左すねP10及び右すねP11の中点と、の距離に基づいてプレイヤの体の大きさに関する情報が取得される。同様に、判定用位置データに基づいてキャラクタ32の体の大きさに関する情報が取得される。プレイヤの体の大きさをキャラクタ32の体の大きさに合わせるようにプレイヤ位置情報を補正することによって、より正確にプレイヤの動作を評価することができる。
【0158】
(4)また、実施形態においては、基準データとして判定用位置データと設定データを含む例を説明したが、基準データは、基準時点と基準位置とが対応付けられたものであればよい。例えば、基準時点と、判定対象部位の3次元座標と、が対応付けられていてもよい。また、モーションデータに判定用位置データが含まれており、モーションデータと基準データとが一体となっていてもよい。
【0159】
(5)また、本実施形態においては、モーションデータに基づいてゲーム画面30が表示される場合を説明したが、ゲーム画面30の表示方法は、他の方法であってもよい。例えば、アニメーションデータを用意しておいてゲーム画面30を表示させるようにしてもよい。
【0160】
(6)また例えば、上記では、撮影画像と深度情報(深度画像)とに基づいてプレイヤ位置情報を生成する手段が位置検出装置1に含まれる例を挙げて説明したが、プレイヤ位置情報を生成する手段は、ゲーム装置20に含まれていてもよい。例えば、ゲーム装置20は、位置検出装置1から撮影画像と深度画像とを受信し、これらに基づいてプレイヤ位置情報を生成するようにしてもよい。
【0161】
(7)また、上記実施形態及び変形例においては、ゲーム装置20がダンスゲームを実行する場合を説明したが、ゲーム装置20は、所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するようにすればよい。ゲーム装置20が実行するゲームはダンスゲームに限られず、他にも例えば、楽曲が出力されずに、キャラクタ32の動作に合わせてプレイヤが体操を行うゲームが実行されるようにしてもよい。
【符号の説明】
【0162】
1 位置検出装置、2 CCDカメラ、3 赤外線センサ、4 マイク、10 制御部、11 記憶部、12 撮影部、13 深度測定部、14 音声入力部、15 通信インタフェース部、16,29 バス、20 ゲーム装置、21 制御部、22 主記憶部、23 補助記憶部、24 光ディスク再生部、25 通信インタフェース部、26 操作部、27 表示部、28 音声出力部、30 ゲーム画面、32 キャラクタ、34 スコア、36 マーク、38 エフェクト画像、39 評価画像、40 ゲームデータ記憶部、42 プレイヤ位置情報取得部、44 基準データ取得部、46 案内部、48 第1判定部、50 第2判定部、52 第1処理実行部、54 第2処理実行部、60 ゲーム空間、62 キャラクタオブジェクト、64 仮想カメラ、70 第1判定領域、80 第2判定領域、100 プレイヤ。
【特許請求の範囲】
【請求項1】
所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するゲーム装置であって、
前記プレイヤの部位の位置に関するプレイヤ位置情報を取得するプレイヤ位置情報取得手段と、
基準時点に関する情報と、前記基準時点において前記部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から前記基準データを取得する基準データ取得手段と、
前記基準データに基づいて、前記基準時点及び前記基準位置を前記プレイヤに案内する案内手段と、
前記基準時点に基づいて設定される時点であって、前記基準時点よりも前の第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する第1判定手段と、
前記基準時点に基づいて設定される時点であって、前記第1判定対象時点よりも後の第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、前記第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する第2判定手段と、
前記第1判定手段の判定結果に基づいて前記ゲームのエフェクトに関する処理を行う第1処理実行手段と、
前記第2判定手段の判定結果に基づいて前記プレイヤの評価に関する処理を行う第2処理実行手段と、
を含むことを特徴とするゲーム装置。
【請求項2】
前記第1判定手段は、前記第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置が、前記基準位置に基づいて設定される第1判定領域に含まれるか否かを判定することによって、前記第1条件を満たすか否かを判定し、
前記第2判定手段は、前記第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置が、前記基準位置に基づいて設定される領域であって、前記第1判定領域に覆われる第2判定領域に含まれるか否かを判定することによって、前記第2条件を満たすか否かを判定する、
ことを特徴とする請求項1に記載のゲーム装置。
【請求項3】
前記ゲームは、前記プレイヤが、表示手段に表示されたキャラクタと同じ動作をすることを目指すゲームであって、
前記ゲーム装置は、
前記基準時点に基づいて設定される期間内における前記キャラクタの部位の変化方向に関する情報を取得する手段と、
前記取得された変化方向に基づいて、前記第1判定領域及び前記第2判定領域を変更する手段と、
を含むことを特徴とする請求項2に記載のゲーム装置。
【請求項4】
前記第1判定手段は、前記第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と、前記基準位置と、の位置ずれ量が基準範囲内である部位の数が、第1基準範囲であるか否かに基づいて、前記第1条件を満たすか否かを判定し、
前記第2判定手段は、前記第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と、前記基準位置と、の位置ずれ量が基準範囲内である部位の数が、前記第1基準範囲の下限値よりも下限値の大きい第2基準範囲であるか否かに基づいて、前記第2条件を満たすか否かを判定する、
ことを特徴とする請求項1に記載のゲーム装置。
【請求項5】
所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するゲーム装置の制御方法であって、
前記プレイヤの部位の位置に関するプレイヤ位置情報を取得するプレイヤ位置情報取得ステップと、
基準時点に関する情報と、前記基準時点において前記部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から前記基準データを取得する基準データ取得ステップと、
前記基準データに基づいて、前記基準時点及び前記基準位置を前記プレイヤに案内する案内ステップと、
前記基準時点に基づいて設定される時点であって、前記基準時点よりも前の第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する第1判定ステップと、
前記基準時点に基づいて設定される時点であって、前記第1判定対象時点よりも後の第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、前記第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する第2判定ステップと、
前記第1判定ステップの判定結果に基づいて前記ゲームのエフェクトに関する処理を行う第1処理実行ステップと、
前記第2判定ステップの判定結果に基づいて前記プレイヤの評価に関する処理を行う第2処理実行ステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項6】
所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するゲーム装置としてコンピュータを機能させるためのプログラムであって、
前記プレイヤの部位の位置に関するプレイヤ位置情報を取得するプレイヤ位置情報取得手段、
基準時点に関する情報と、前記基準時点において前記部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から前記基準データを取得する基準データ取得手段、
前記基準データに基づいて、前記基準時点及び前記基準位置を前記プレイヤに案内する案内手段、
前記基準時点に基づいて設定される時点であって、前記基準時点よりも前の第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する第1判定手段、
前記基準時点に基づいて設定される時点であって、前記第1判定対象時点よりも後の第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、前記第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する第2判定手段、
前記第1判定手段の判定結果に基づいて前記ゲームのエフェクトに関する処理を行う第1処理実行手段、
前記第2判定手段の判定結果に基づいて前記プレイヤの評価に関する処理を行う第2処理実行手段、
を含むことを特徴とするゲーム装置として前記コンピュータを機能させるためのプログラム。
【請求項1】
所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するゲーム装置であって、
前記プレイヤの部位の位置に関するプレイヤ位置情報を取得するプレイヤ位置情報取得手段と、
基準時点に関する情報と、前記基準時点において前記部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から前記基準データを取得する基準データ取得手段と、
前記基準データに基づいて、前記基準時点及び前記基準位置を前記プレイヤに案内する案内手段と、
前記基準時点に基づいて設定される時点であって、前記基準時点よりも前の第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する第1判定手段と、
前記基準時点に基づいて設定される時点であって、前記第1判定対象時点よりも後の第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、前記第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する第2判定手段と、
前記第1判定手段の判定結果に基づいて前記ゲームのエフェクトに関する処理を行う第1処理実行手段と、
前記第2判定手段の判定結果に基づいて前記プレイヤの評価に関する処理を行う第2処理実行手段と、
を含むことを特徴とするゲーム装置。
【請求項2】
前記第1判定手段は、前記第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置が、前記基準位置に基づいて設定される第1判定領域に含まれるか否かを判定することによって、前記第1条件を満たすか否かを判定し、
前記第2判定手段は、前記第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置が、前記基準位置に基づいて設定される領域であって、前記第1判定領域に覆われる第2判定領域に含まれるか否かを判定することによって、前記第2条件を満たすか否かを判定する、
ことを特徴とする請求項1に記載のゲーム装置。
【請求項3】
前記ゲームは、前記プレイヤが、表示手段に表示されたキャラクタと同じ動作をすることを目指すゲームであって、
前記ゲーム装置は、
前記基準時点に基づいて設定される期間内における前記キャラクタの部位の変化方向に関する情報を取得する手段と、
前記取得された変化方向に基づいて、前記第1判定領域及び前記第2判定領域を変更する手段と、
を含むことを特徴とする請求項2に記載のゲーム装置。
【請求項4】
前記第1判定手段は、前記第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と、前記基準位置と、の位置ずれ量が基準範囲内である部位の数が、第1基準範囲であるか否かに基づいて、前記第1条件を満たすか否かを判定し、
前記第2判定手段は、前記第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と、前記基準位置と、の位置ずれ量が基準範囲内である部位の数が、前記第1基準範囲の下限値よりも下限値の大きい第2基準範囲であるか否かに基づいて、前記第2条件を満たすか否かを判定する、
ことを特徴とする請求項1に記載のゲーム装置。
【請求項5】
所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するゲーム装置の制御方法であって、
前記プレイヤの部位の位置に関するプレイヤ位置情報を取得するプレイヤ位置情報取得ステップと、
基準時点に関する情報と、前記基準時点において前記部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から前記基準データを取得する基準データ取得ステップと、
前記基準データに基づいて、前記基準時点及び前記基準位置を前記プレイヤに案内する案内ステップと、
前記基準時点に基づいて設定される時点であって、前記基準時点よりも前の第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する第1判定ステップと、
前記基準時点に基づいて設定される時点であって、前記第1判定対象時点よりも後の第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、前記第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する第2判定ステップと、
前記第1判定ステップの判定結果に基づいて前記ゲームのエフェクトに関する処理を行う第1処理実行ステップと、
前記第2判定ステップの判定結果に基づいて前記プレイヤの評価に関する処理を行う第2処理実行ステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項6】
所与の時点におけるプレイヤの部位の位置を判定するゲームを実行するゲーム装置としてコンピュータを機能させるためのプログラムであって、
前記プレイヤの部位の位置に関するプレイヤ位置情報を取得するプレイヤ位置情報取得手段、
基準時点に関する情報と、前記基準時点において前記部位があるべき基準位置に関する情報と、を対応付けてなる基準データを記憶する手段から前記基準データを取得する基準データ取得手段、
前記基準データに基づいて、前記基準時点及び前記基準位置を前記プレイヤに案内する案内手段、
前記基準時点に基づいて設定される時点であって、前記基準時点よりも前の第1判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する第1条件を満たすか否かを判定する第1判定手段、
前記基準時点に基づいて設定される時点であって、前記第1判定対象時点よりも後の第2判定対象時点において取得された前記プレイヤ位置情報によって示される前記プレイヤの部位の位置と前記基準位置とが、当該部位の位置と当該基準位置との位置ずれに関する条件であって、かつ、前記第1条件が示す位置ずれよりも小さい位置ずれを示す第2条件を満たすか否かを判定する第2判定手段、
前記第1判定手段の判定結果に基づいて前記ゲームのエフェクトに関する処理を行う第1処理実行手段、
前記第2判定手段の判定結果に基づいて前記プレイヤの評価に関する処理を行う第2処理実行手段、
を含むことを特徴とするゲーム装置として前記コンピュータを機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2012−90904(P2012−90904A)
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願番号】特願2010−242816(P2010−242816)
【出願日】平成22年10月28日(2010.10.28)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願日】平成22年10月28日(2010.10.28)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】
[ Back to top ]