[1.実施形態]
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置を、家庭用ゲーム機(据置型ゲーム機)に適用した場合を例に挙げるが、ゲーム装置は、携帯ゲーム機、携帯電話機(スマートフォン)等の各種コンピュータであってもよい。
図1は、ゲームをプレイするプレイヤの様子を示す図である。図1に示すように、プレイヤ100は、例えば、位置検出装置1の前方に位置する。位置検出装置1とゲーム装置20とは、データ通信可能に接続される。
[2.位置検出装置の動作]
まず、位置検出装置1について説明する。位置検出装置1は、現実空間におけるプレイヤの位置に関するプレイヤ部位情報を生成する。本実施形態においては、プレイヤ部位情報が、プレイヤ100の複数の部位の位置に関する情報を含む場合を説明する。プレイヤ100の部位は、例えば、頭や両手等である。
図1に示すように、位置検出装置1は、例えば、CCDカメラ2、赤外線センサ3、複数のマイクロフォンを含むマイク4等を備える。
CCDカメラ2は、CCDイメージセンサを備えた公知のカメラである。CCDカメラ2は、例えば、所定時間毎(例えば、1/60秒毎)にプレイヤ100を撮影した撮影画像(例えば、RGBデジタル画像)を生成する。
図2は、CCDカメラ2によって生成される撮影画像の一例を示す図である。図2に示すように、撮影画像には、例えば、プレイヤ100が含まれる。撮影画像には、互いに直行するXs軸、Ys軸が設定される。例えば、撮影画像の左上を、原点Os(0,0)とする。また例えば、撮影画像の右下を、座標Pmax(Xmax,Ymax)とする。撮影画像に対応する各画素の位置は、それぞれの画素に割り当てられる2次元座標(Xs−Ys座標)によって特定される。
赤外線センサ3は、例えば、赤外線発光素子及び赤外線受光素子(例えば、赤外線ダイオード)から構成される。赤外線センサ3は、赤外線光を照射して得られる反射光を検出する。赤外線センサ3は、この反射光の検出結果に基づいて被写体(例えば、プレイヤ100)の深度を測定する。
被写体の深度とは、測定基準位置と被写体の位置との距離間隔である。測定基準位置とは、プレイヤ100の位置の深度(奥行き)を測定する際の基準となる位置である。測定基準位置は、位置検出装置1の位置と関連付けられる所定の位置であればよく、例えば、赤外線センサ3の赤外線受光素子の位置である。赤外線センサ3は、例えば、赤外線を照射してから反射光を受光するまでの飛行時間(TOF:Time of Flight)に基づいてプレイヤ100の深度を測定する。
図3は、赤外線センサ3によるプレイヤ100の深度の測定方法を説明するための図である。図3に示すように、赤外線センサ3から所定間隔でパルス状の赤外線光が照射される。赤外線センサ3から照射された赤外線光は、赤外線センサ3の発光位置を中心点として球状に広がる。
赤外線センサ3から照射された赤外線光は、例えば、プレイヤ100の体の表面に当たる。これらの表面に当たった赤外線光は、反射する。反射した赤外線光は、赤外線センサ3の赤外線受光素子により検出される。即ち、赤外線センサ3は、照射した赤外線に対して位相が180度反転した反射光を検出する。
例えば、図3に示すように、プレイヤ100が両手を前方に突き出している場合、突き出された両手は、プレイヤ100の胴体よりも赤外線センサ3に近い。つまり、プレイヤ100の両手によって反射される赤外線光の飛行時間は、プレイヤ100の胴体によって反射される赤外線光の飛行時間よりも短い。
赤外線センサ3が赤外線光を照射してから反射光を検出するまでの時間(つまり、飛行時間)と、赤外線の速度と、を乗算して半分で割った値は、測定基準位置とプレイヤ100との距離間隔(即ち、深度)に相当する。このような処理を行うことにより、赤外線センサ3は、プレイヤ100の深度を測定する。
また、赤外線センサ3は、反射した赤外線光から得られる深度差を検出することにより、被写体(プレイヤ100)の輪郭も検出する。上記のように、赤外線センサ3が赤外線光の反射光を受信することは、この場所に物体が配置されていることを意味する。また、この物体の後方の近い位置に他の物体が配置されていなければ、この物体と、この物体の周囲と、の深度差は大きくなる。例えば、深度差が所定値よりも大きい箇所をつなぎ合わせることによって、プレイヤ100の輪郭を検出する。
なお、プレイヤ100の輪郭を検出する方法は、上記の例に限られない。他にも例えば、CCDカメラ2によって得られる撮影画像の各画素の輝度に基づいて輪郭を検知するようにしてもよい。この場合も、例えば、画素間の輝度差が大きい箇所をつなぎ合わせることによってプレイヤ100の輪郭を検出することができる。
上記のようにして検出されるプレイヤ100の深度に関する情報(深度情報)は、例えば、深度画像として表現される。本実施形態においては、深度情報が、グレースケールの深度画像(例えば、256ビットのグレースケールの画像データ)として表現される例を挙げて説明する。
図4は、赤外線センサ3によって得られる深度画像の一例を示す図である。図4に示すように、例えば、赤外線センサ3に近い物体は明るく(輝度が高く)、遠い物体は暗く(輝度が低く)表現される。プレイヤ100の深度は、深度画像の輝度(画素値)に対応する。
例えば、深度画像が256ビットのグレースケールの画像データとして表される場合、プレイヤ100の深度が2センチメートル異なる毎に深度画像の輝度が1ビット異なる。この場合、赤外線センサ3は、被写体の深度を2センチ単位で検出することが可能であることを示す。プレイヤ100が両手を前方に突き出している場合(図3)、図4に示すように、プレイヤ100の両手に対応する画素は、胴体に対応する画素よりも明るく(輝度が高く)表現される。
本実施形態においては、赤外線センサ3は、CCDカメラ2と同様に所定時間毎(例えば、1/60秒毎)に、深度画像を生成する。CCDカメラ2により得られる撮影画像と、赤外線センサ3により得られる深度画像と、に基づいてプレイヤ100の部位の位置に関するプレイヤ部位情報が生成される。
例えば、CCDカメラ2により得られる撮影画像(RGBデータ)に、深度画像が示す深度情報(Depth)が合算された合成画像(RGBDデータ)が生成される。即ち、合成画像は、各画素ごとに、色情報(RGBそれぞれの明度)と深度情報とを含む。
合成画像に基づいてプレイヤ部位情報が生成される際には、まず、深度画像に基づいてプレイヤ100の輪郭に対応する画素が特定される。次いで、合成画像のうち輪郭によって囲まれた画素の色情報(RGBの明度)が参照される。合成画像の色情報に基づいて、プレイヤ100の体の各部位に対応する画素が特定される。この特定方法としては、例えば、比較画像(教師画像)との比較によって画像の中から対象物(即ち、プレイヤ100の体の各部位)を抽出するパターンマッチング法等、公知の手法を適用可能である。
上記のようにして特定された画素の画素値(RGBD値)に基づいて、プレイヤ100の頭や肩等の3次元座標が算出される。例えば、この画素値に対して所定の行列変換処理が施されることによって、3次元座標が生成される。この行例変換処理は、例えば、3Dグラフィックにおけるワールド座標−スクリーン座標の2つの座標系の変換処理と同様の行例演算によって実行される。つまり、画素の色情報を示すRGB値と奥行きを示すD値とが所定の行列式に代入されることにより、この画素の3次元座標が算出される。
なお、画素値(RGBD値)から画素に対応する3次元座標が算出される方法は、公知の手法を適用可能であり、この算出方法は、上記の例に限られない。他にも例えば、ルックアップテーブルを用いて座標変換が行われるようにしてもよい。
図5は、位置検出装置1により生成されるプレイヤ部位情報の一例を示す図である。図5に示すように、プレイヤ部位情報は、プレイヤ100の複数の部位の位置に関する複数の情報を含む。プレイヤ部位情報は、例えば、プレイヤ100の各部位と、3次元座標と、が対応付けられて格納される。
図6は、プレイヤ部位情報によって特定されるプレイヤ100の位置を示す図である。本実施形態では、例えば、位置検出装置1に対応する所定位置(例えば、測定基準位置)を原点Opとする。例えば、原点Opは、赤外線センサ3の測定基準位置に対応する3次元座標である。なお、原点Opの位置は、プレイヤ100がいる3次元空間のどこに設定されてもよい。例えば、撮影画像の原点Osに対応する3次元座標が、原点Opとして設定されるようにしてもよい。
図6に示すように、例えば、プレイヤ部位情報は、プレイヤ100の頭P1、肩中央P2、左肩P3、右肩P4、左手P5、右手P6、背中P7、左ひざP8、右ひざP9、左足P10、右足P11に対応する11個の3次元座標が含まれる。
なお、プレイヤ部位情報によって示されるプレイヤ100の体の部位は、プレイヤの体(骨格)のうちで予め定められた部位のものであってよい。例えば、この部位は、先述したパターンマッチング法によって特定可能な体の部位であればどこでもよい。
例えば、所定間隔毎(例えば、1/60秒毎)に生成されるプレイヤ部位情報は、位置検出装置1からゲーム装置20に対して送信される。ゲーム装置20は、プレイヤ部位情報を位置検出装置1から受信することによって、プレイヤ(以降、プレイヤの「100」の符号を省略する)の各部位の位置を特定し、プレイヤの部位の動きに応じた各種処理を実行する。
[3.ゲーム装置で実行されるゲームの概要]
ゲーム装置20は、所与のタイミングでプレイヤが所与の位置に部位を配置させることを目指すゲームを実行する。ここでは、プレイヤが楽曲に合わせて所与の位置に手足を配置させると、プレイヤのスコアが増加するゲームが実行される。ゲームが開始されると、ゲーム装置20から楽曲が出力され、ゲーム画面が表示される。
図7は、ゲーム画面の一例を示す図である。図7に示すように、ゲーム画面30には、プレイヤの動作に対応する動作をするキャラクタ32が表示される。プレイヤの各部位の3次元座標の変化に基づいて、キャラクタ32の各部位の位置が変化する。キャラクタ32は、ゲーム装置20が検出しているプレイヤの各部位の位置をプレイヤに案内(提示)するための画像といえる。プレイヤは、キャラクタ32を見ることによって、各部位の位置が正常に検出されていることを把握することができる。
ここでは、ゲーム画面30に表示されるキャラクタ32とプレイヤが向き合う状態となるので、プレイヤの動きを左右反転した動きをキャラクタ32が行うことになる。例えば、プレイヤが右手を上げると、現実空間のプレイヤから見て右側の手が上がるようにキャラクタ32の表示が更新される。なお、撮影画像からプレイヤの輪郭を抽出して左右反転処理を施した画像(プレイヤ画像)を、キャラクタ32に代えてゲーム画面30に表示させるようにしてもよい。
プレイヤが、所定位置に部位を置くべき基準タイミングが近づくと、ゲーム画面30には、基準画像34と、案内画像36と、が表示される。基準画像34は、プレイヤが触るべき基準位置をプレイヤに案内するための画像である。案内画像36は、基準タイミングをプレイヤに案内するための画像である。
案内画像36は、基準画像34が表示された後に、基準画像34から発生して基準画像34から所定方向に離れるように移動する。案内画像36が基準画像34から所定距離だけ離れると、案内画像36は折り返して、基準画像34に近づくように移動する。基準タイミングが訪れると、基準画像34と案内画像36とが重なる。プレイヤは、基準画像34と案内画像36との位置関係に基づいて、基準タイミングを把握することができる。
基準タイミングが訪れた場合に、プレイヤは、キャラクタ32が示す手足が基準画像34に触れるように、実際に手足を移動させる。図7に示す例では、基準画像34と案内画像36とが重なるタイミングに合わせて、キャラクタ32の左側にある基準画像34を触るようにプレイヤが左手P5を横に伸ばすと、プレイヤには高い評価が与えられる。プレイヤに高い評価が与えられると、プレイヤのスコア38とコンボ数40とが増加する。なお、以降では、キャラクタ32が示す手足が基準画像34に触れるように、プレイヤが実際に手足を動かすことを、単に、「プレイヤがリップル動作をする」ともいう。
基準タイミングが訪れると、基準画像34及び案内画像36は消滅する。そして、次の基準タイミングが近づくと、当該基準タイミングにおいて触るべき基準位置を案内する基準画像34と、基準タイミングを案内する案内画像36と、がゲーム画面30に表示されることになる。
本実施形態においては、プレイヤが特殊な動作をすると、所定条件のもとでスコア38の増加量が増える構成になっている。以降、当該特殊な動作を「トリック」という。ここでは、複数種類のトリックが用意されており、その一例として、基準画像34を触りにくい部位でプレイヤが基準画像34を触る「ヒットトリック」と、プレイヤがリズムをとるように体を揺らす「リズムトリック」と、プレイヤがポーズをとる「ポーズトリック」と、を説明する。
図8は、ヒットトリックが行われた場合のゲーム画面30の一例を示す図である。図8に示すように、キャラクタ32の右側に基準画像34が表示される場合、プレイヤは、右手P6を使うとリップル動作をしやすくなる。ここで、プレイヤがあえて左手P5を使い、体をねじるようにしてリップル動作を行った場合に、ヒットトリックが成功する。この状態では、図8に示すように、プレイヤが体をねじるような体勢となるので、プレイヤがダンスを踊っているように見えることになる。
プレイヤがヒットトリックを成功させると、プレイヤが成功させたトリックの種類を示すトリック名42が表示され、トリックゲージ44が増加する。トリックゲージ44が一杯になると、スコア38の増加量を示す倍率46が増加し、トリックゲージ44は再び0に戻る。倍率46が示す数値が増加するほど、プレイヤがリップル動作を行った場合のスコア38の増加量が増えることになる。なお、プレイヤがリップル動作に失敗すると(コンボを途切れさせると)、倍率46は0に戻るようにしてもよい。
図9は、リズムトリックが行われている場合のゲーム画面30の一例を示す図である。図9に示すように、プレイヤが腰を少し落として、楽曲のリズムにのるように腰を上下に揺らすと、リズムトリックが成功する。この場合、リズムトリックが行われていることを示すようにトリック名42の表示が更新される。
例えば、リズムトリックが行われている時間に応じて、トリックゲージ44が除々に増加する。この状態では、プレイヤは、腰を上下に揺らしてリズムをとりながらリップル動作を行うことになるので、プレイヤがリズムに乗るように体を揺らしながら手足を伸ばしてダンスをするように見えることになる。
図10は、ポーズトリックが行われた場合のゲーム画面30の一例を示す図である。図10に示すように、例えば、プレイヤが手足を素早く動かした後に、所与のポーズをとって手足を一定期間だけ停止させると、ポーズトリックが成功する。この場合、リズムトリックが行われていることを示すようにトリック名42の表示が更新される。
例えば、ポーズトリックが成功すると、トリックゲージ44が所定値だけ増加する。プレイヤがポーズトリックを成功させると、手足を素早く動かしてキレのある動きをした後にポーズをとるようなダンスをしているように見えることになる。
上記のように、本実施形態のゲーム装置20は、プレイヤが各種トリックをするとスコアの倍率が増加するため、単にリップル動作を評価するような場合に比べて、プレイヤに自由にダンスを踊らせることができ、更に、当該ダンスを的確に評価することができる構成になっている。以降、この技術について詳細に説明する。
まず、位置検出装置1とゲーム装置20とのハードウェア構成について説明する。
[4.位置検出装置の構成]
図11は、位置検出装置1のハードウェア構成を示す図である。図11に示すように、位置検出装置1は、制御部10、記憶部11、撮影部12、深度測定部13、音声入力部14、通信インタフェース部15から構成される。位置検出装置1の各構成要素は、バス16によってデータ送受信可能に接続される。
制御部10は、記憶部11に記憶されるオペレーティングシステム、各種プログラムに基づいて位置検出装置1の各部を制御する。
記憶部11は、オペレーティングシステムや撮影部12、深度測定部13を動作させるためのプログラム、各種パラメータを記憶する。また、記憶部11は、撮影画像及び深度画像に基づいてプレイヤ部位情報を生成するためのプログラムを記憶する。
撮影部12は、CCDカメラ2等から構成される。撮影部12は、例えば、プレイヤの撮影画像を生成する。深度測定部13は、赤外線センサ3等から構成される。深度測定部13は、例えば、赤外線センサ3により得られる飛行時間に基づいて深度画像を生成する。制御部10は、先述のように、所定時間毎(例えば、1/60秒毎)に、撮影部12により生成される撮影画像と、深度測定部13により生成される深度画像と、に基づいて、プレイヤ部位情報を生成する。
音声入力部14は、マイク4等から構成される。通信インタフェース部15は、ゲーム装置20に対してプレイヤ部位情報等の各種データを送信するためのインタフェースである。
[5.ゲーム装置の構成]
図12は、ゲーム装置20のハードウェア構成を示す図である。図12に示すように、ゲーム装置20は、制御部21、主記憶部22、補助記憶部23、光ディスク再生部24、通信インタフェース部25、操作部26、表示部27、及び音声出力部28を含む。ゲーム装置20の各部は、バス29によって接続されている。
制御部21は、例えばCPU、GPU(Graphics Processing Unit)、及びSPU(Sound Processing Unit)等を含む。制御部21は、オペレーティングシステムやその他のプログラムに従って各種処理を実行する。また、制御部21は、リアルタイムクロックを含み、計時手段としても機能する。
主記憶部22は、例えば、RAM(Random Access Memory)を含む。補助記憶部23は、例えば、ハードディスク装置(情報記億媒体)を含む。主記憶部22は、補助記憶部23又は光ディスク(情報記憶媒体)から読み出されたプログラムやデータを記憶する。また、主記憶部22は、処理の過程で必要なデータを記憶するワークメモリとしても用いられる。また例えば、主記憶部22は、位置検出装置1から受信されるプレイヤ部位情報を時系列的に記憶する。
光ディスク再生部24は、光ディスクに記憶されたプログラムやデータを読み取る。光ディスクには、例えば、ゲームプログラムが記憶されている。
通信インタフェース部25は、ゲーム装置20を通信ネットワークに通信接続するためのインタフェースである。ゲーム装置20は、通信インタフェース部25を介してプレイヤ部位情報を、位置検出装置1から取得する。
操作部26は、プレイヤが各種操作を行うためのものである。操作部26は、例えばゲームコントローラ、タッチパネル、マウス、又はキーボード等を含む。表示部27は、例えば、家庭用テレビ受像機又は液晶表示パネル等である。表示部27は、制御部21の指示に従って画面を表示する。音声出力部28は、例えば、スピーカ又はヘッドホン等を含む。
本実施形態においては、各種プログラムやデータは、光ディスクを介してゲーム装置20に供給される場合を説明する。なお、これらのプログラムやデータは、他の情報記憶媒体(例えば、メモリカード)を介してゲーム装置20に供給されるようにしてもよい。または、プログラムやデータは、通信ネットワークを介して遠隔地からゲーム装置20に供給されるようにしてもよい。
[6.ゲーム装置で実現される機能]
図13は、ゲーム装置20において実現される機能を示す機能ブロック図である。図13に示すように、ゲーム装置20では、位置情報取得部50、ゲームデータ記憶部52、ゲーム実行部54、リップル動作判定部56、部位情報取得部58、動作判定部60、方向転換タイミング取得部62、タイミング比較部64、移動判定部66、停止判定部68、評価部70、及び表示制御部72が実現される。これらの機能は、制御部21が、光ディスクから読み出されたプログラムに従って動作することにより、実現される。
[6−1.位置情報取得部]
位置情報取得部50は、制御部21を主として実現される。位置情報取得部50は、プレイヤの一又は複数の部位の位置に関する位置情報を取得する。本実施形態では、プレイヤ部位情報が上記「位置情報」に相当する。プレイヤ部位情報は、プレイヤの一又は複数の部位の現実空間における位置を示し、ここでは、プレイヤの少なくとも一方の手(右手及び/又は左手)と少なくとも一方の足(右足及び/又は左足)の位置に関する情報を含む。
位置情報取得部50は、現実空間にいるプレイヤを撮影する撮影手段から得られる撮影画像に基づいて、プレイヤ部位情報を取得する。例えば、位置情報取得部50は、プレイヤを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置とプレイヤとの間隔に関する深度情報と、に基づいてプレイヤ部位情報を生成する位置情報生成手段からプレイヤ部位情報を取得する。位置情報取得部50がプレイヤ部位情報を取得すると、プレイヤ部位情報が時系列的に履歴データ(後述)に格納される。
[6−2.ゲームデータ記憶部]
ゲームデータ記憶部52は、主記憶部22、補助記憶部23、及び光ディスクを主として実現される。ゲームデータ記憶部52は、ゲームを実行するために必要な各種情報を記憶する。ここでは、ゲームデータ記憶部52は、下記のデータを記憶する。
(1)楽曲データ
(2)基準データ
(3)プレイヤ部位情報を時系列的に格納した履歴データ
(4)実行中のゲームの状況を示すゲーム状況データ
なお、楽曲データ及び基準データは、予めゲーム制作者によって用意されているデータであってもよいし、プレイヤによって作成されるデータであってもよい。履歴データは、位置検出装置1によりプレイヤ部位情報が取得されるたびに内容が更新される。ゲーム状況データは、ゲームが開始されると生成及び更新されるデータである。
楽曲データは、一般のポピュラー音楽等を所定のデータ形式で保存したデータである。本実施形態においては、楽曲データは、楽曲のテンポに関する情報と、楽曲の拍が刻まれるタイミングに関する情報と、が含まれる。楽曲のテンポに関する情報は、楽曲の速さを示す情報であり、拍が刻まれる速度(BPM;Beats Per Minute)が格納される。拍が刻まれるタイミングに関する情報とは、楽曲のビートタイミングを示す情報であり、楽曲の開始時点から各拍が刻まれる時点までの経過時間に関する情報が格納される。
図14は、基準データの一例を示す図である。図14に示すように、基準データは、基準タイミングと基準位置とを関連付けたデータである。基準タイミングは、プレイヤが基準位置に部位を置く(移動させる)べきタイミングである。基準タイミングは、楽曲の再生が開始されてからの時間経過を示す情報が格納され、例えば、楽曲の拍が刻まれる時間(楽曲の開始時点からm/n(m,nは整数)拍後の時間)が格納される。
基準位置は、基準タイミングにおいてプレイヤの部位があるべき位置であり、ここでは、現実空間(プレイヤ部位情報が示す3次元座標空間)における3次元座標が基準位置として格納されている。
また、本実施形態においては、図14に示すように、基準タイミング及び基準位置には、基準部位が関連付けられている。基準部位は、基準位置を触りやすい部位であり、基準位置に基づいて定められる部位である。基準データは、例えば、楽曲のテンポ(リズム)を考慮して作成される。
ゲーム状況データは、例えば、プレイヤの現在のスコアを示す情報、現在のスコア倍率を示す情報、楽曲の現在の経過時間を示す情報、トリックゲージ44に対応する現在の数値、現在のコンボ数に関する情報等が格納される。プレイヤのスコアは、プレイヤに高い評価が与えられるほど数値が増加するものであってもよいし、減少するものであってもよい。スコア倍率を示す情報は、倍率46に表示される数値が格納される。トリックゲージに対応する数値は、最小値及び最大値が定められており、例えば、0から100の間の値をとる。
なお、ゲームデータ記憶部52に記憶されるデータは、上記の例に限られない。ゲームデータ記憶部52は、ゲームを実行する各種データを記憶するようにすればよい。他にも例えば、基準画像34や案内画像36の各種データや、ゲーム画面30に各種エフェクト処理を施すためのデータ(画像データや音声データ)等が記憶されるようにしてもよい。また、制御部21は、ゲームデータ記憶部52に格納された各種データを取得する手段として機能する。
[6−3.ゲーム実行部]
ゲーム実行部54は、制御部21を主として実現される。ゲーム実行部54は、楽曲に合わせてプレイヤが部位を移動させるゲームを実行する。本実施形態では、ゲーム実行部54は、楽曲に合わせて、プレイヤが所与のタイミングでプレイヤが複数の部位のうちの少なくとも一つを所与の位置に配置させることを目指すゲームを実行する。
ゲーム実行部54は、プレイヤのゲームプレイに応じてゲーム状況データを更新する。例えば、ゲーム実行部54は、ゲームの進行に応じて楽曲の現在の再生時間を更新したり、コンボ数を更新したりする。
[6−4.リップル動作判定部]
リップル動作判定部56は、制御部21を主として実現される。リップル動作判定部56は、プレイヤの複数の部位のうちの少なくとも一つが、基準タイミングに対応する時点において、基準位置を含む判定領域内にあるか否かを判定する。
「基準タイミングに対応する時点」とは、基準タイミングを含む所定期間内の何れかの時点(基準タイミングの所定時間前、所定時間後、又は、基準タイミング自体)であり、本実施形態では、基準タイミング自体を示す。リップル動作判定部56は、プレイヤ部位情報が示す各部位の位置が判定領域に含まれるか否かを判定する。
図15は、判定領域を説明するための説明図である。ここでは、図15に示すように、12種類の基準位置80A〜80L(以降、これらをまとめて単に基準位置80ともいう。)が用意されており、12種類の判定領域82A〜82L(以降、これらをまとめて単に判定領域82ともいう。)が設定される場合を説明する。
例えば、位置検出装置1の正面方向に所定距離離れた代表位置84(位置検出装置1の正面に立った場合のプレイヤの立ち位置)の周囲に、基準位置80が設定される。基準データには、これら12種類の基準位置80の3次元座標の何れかが格納されることになる。図15に示すように、判定領域82は、基準位置80を含む所定形状の領域であり、ここでは、基準位置80を中心とする所定半径rの球によって囲まれる領域である。判定領域82の大きさは、予め定められた大きさが設定されるようにしてもよいし、例えば、ゲームの状況やプレイヤの体の大きさに応じて決定されるようにしてもよい。
リップル動作判定部56は、基準タイミングに対応する時点における、プレイヤ部位情報と、基準位置80と、を比較することによって、プレイヤの部位の現実空間における位置が、基準タイミングにおいて、現実空間に設定される基準位置80を含む判定領域82内にあるか否かを判定することになる。
また、代表位置84と各基準位置80との位置関係に基づいて、各基準位置80には基準部位が設定されることになる。例えば、基準位置80Aは、代表位置84にプレイヤが立った時にプレイヤの上部にあるので、左手P5又は右手P6が基準部位となる。基準位置80B〜80Fは、代表位置84にプレイヤが立った時にプレイヤの右側にあるので、右手P6又は右足P11が基準部位となる。例えば、基準位置80Gは、代表位置84にプレイヤが立った時にプレイヤの下部にあるので、左足P10又は右足P11が基準部位となる。基準位置80H〜80Lは、代表位置84にプレイヤが立った時にプレイヤの左側にあるので、左手P5又は左足P10が基準部位となる。
[6−5.部位情報取得部]
部位情報取得部58は、制御部21を主として実現される。部位情報取得部58は、基準タイミングに対応する時点において判定領域82内にあると判定されたプレイヤの部位の種類に関する部位情報を取得する。部位情報取得部58は、プレイヤ部位情報を参照することによって、判定領域82内にある3次元座標に関連付けられた部位の種類を特定する。部位情報取得部58により取得された部位情報は、後述する評価部70によるヒットトリックの評価に用いられる。
[6−6.動作判定部]
動作判定部60は、制御部21を主として実現される。動作判定部60は、部位の位置変化(現実空間における位置変化)に基づいて、部位(複数の部位の少なくとも一つ)を方向転換させる動作(以降、方向転換動作という。)がプレイヤにより行われたか否かを判定する。動作判定部60は、プレイヤ部位情報の時系列的な変化に基づいて各部位の移動方向を特定し、各部位の移動方向が所定角度(例えば、30°)以上変化したか否かを判定することによって、方向転換動作が行われたか否かが判定される。
図16は、動作判定部60の判定方法を説明するための説明図である。図16に示すt軸は時間軸である。ここでは、プレイヤの腰の位置に対応する背中P7の3次元座標の位置変化に基づいて、方向転換動作が行われたか否かが判定する場合について説明する。図16に示すように背中P7の3次元座標の時系列的な変化に基づいて、背中P7の移動方向VP7(t)が特定される。
現在の移動方向VP7(t)と直前の移動方向VP7(t)とのなす角度θP7が所定角度以上である場合に、方向転換動作が行われたと判定される。ここでは、プレイヤが体全体を上下に揺らすことによって、背中P7が上下運動する場合を説明する。例えば、背中P7が上に動いていき(時間ta,tbの状態)、背中P7が伸びると(時間tcの状態)、方向転換して背中P7が下に向けて移動を開始する(時間td,teの状態)。この折り返す動作が方向転換動作となる。同様に、プレイヤが背中P7を下に動かした後、方向転換をして背中P7が上に向けて移動を開始する。
このように、本実施形態では、動作判定部60は、部位の往復運動がプレイヤにより行われたか否かを判定する。往復運動は、ある特定の部位を所定方向に往復させるように繰り返し移動させる動作である。
[6−7.方向転換タイミング取得部]
方向転換タイミング取得部62は、制御部21を主として実現される。方向転換タイミング取得部62は、方向転換動作における部位の方向転換タイミングを取得する。方向転換タイミング取得部62は、プレイヤの部位の移動方向が所定角度以上変化した場合のタイミングを取得する。
ここでは、プレイヤの往復運動が検出されるので、方向転換タイミング取得部62は、動作における部位の折り返しタイミングを、方向転換タイミングとして取得することになる。折り返しタイミングは、背中P7の移動方向が略180°ずれるタイミングである。なお、略180°とは、移動方向が完全に180°でなくてもよい、という意味であり、プレイヤの動きに応じて10°または15°程度、移動方向が180°からずれていてもよい。
[6−8.タイミング比較部]
タイミング比較部64は、制御部21を主として実現される。タイミング比較部64は、方向転換タイミングと、楽曲の拍に基づいて定められるタイミングと、を比較する。「楽曲の拍に基づいて定められるタイミング」とは、楽曲の拍が刻まれるタイミング(ビートタイミング)に基づいて定まるタイミング(ビートタイミングの所定時間前、所定時間後、又はビートタイミング自体)であり、例えば、ビートタイミング自体である。先述のように、楽曲の拍が刻まれるタイミングを示す情報は、例えば、楽曲データに含まれるようにしてもよい。
図17は、タイミング比較部64による比較処理を説明するための説明図である。図17に示すように、ここでは、タイミング比較部64は、背中P7の折り返しタイミングと、楽曲の拍に基づいて定められるタイミングと、を比較する。例えば、タイミング比較部64は、背中P7の折り返しタイミングと、楽曲の拍に基づいて定められるタイミングと、のずれ時間Δtが閾値以下であるか否かを判定する。このずれ時間Δtが閾値以下である場合に、リズムトリックが成功したと判定され、後述の評価部70による評価が行われることになる。
[6−9.移動判定部]
移動判定部66は、制御部21を主として実現される。移動判定部66は、複数の部位のうちの少なくとも一つ(例えば、プレイヤの少なくとも一方の手と少なくとも一方の足)が基準速度以上で移動したか否かを、位置情報(例えば、複数の部位の現実空間における位置)に基づいて判定する。移動判定部66は、プレイヤ部位情報の時系列的な変化に基づいて、プレイヤの各部位の移動速度を特定し、当該各部位の移動速度と基準速度とを比較する。
基準速度は、予め定められた速度であってもよいし、ゲームの状況やプレイヤの体の大きさに基づいて設定される速度であってもよい。ここでは、移動判定部66は、一の基準タイミングと次の基準タイミングとの間(第1の基準タイミングと、第1の基準タイミングの後に到来する第2の基準タイミングとの間)において、複数の部位のうちの少なくとも一つが基準速度以上で移動したか否かを、位置情報に基づいて判定する。
[6−10.停止判定部]
停止判定部68は、制御部21を主として実現される。停止判定部68は、複数の部位のうちの少なくとも一つ(例えば、プレイヤの少なくとも一方の手と少なくとも一方の足)が基準速度以上で移動したと判定された場合、基準速度以上で移動した部位(例えば、当該手足)が移動後に略停止している状態が基準期間継続したか否かを、位置情報(例えば、基準速度以上で移動した部位の現実空間における位置)に基づいて判定する。
ここでは、停止判定部68は、基準速度以上で移動した部位が、当該移動後において、当該部位の位置に基づいて定まる範囲内に収まっているか否かを判定することによって、当該部位が略停止しているか否かを判定する手段を含み、当該部位がこの範囲内に収まっている状態が基準期間継続したか否かを判定する。また、停止判定部68は、一の基準タイミングと次の基準タイミングとの間において、基準速度以上で移動した部位が移動後に略停止している状態が基準期間継続したか否かを判定する。
図18は、移動判定部66及び停止判定部68の判定方法を説明するための説明図である。図18に示すように、移動判定部66が、プレイヤの手足の移動速度が基準速度以上であると判定した場合、当該手足の移動速度が所定値以下となったか否かを判定する。そして、手足の移動速度が所定値以下となった場合の手足の位置を含む領域内に、当該手足が留まっているか否かが判定される。停止判定部68は、この留まった状態が基準期間Tだけ継続したか否かを判定することになる。
なお、停止判定部68の判定方法は、上記の例に限られない。他にも例えば、停止判定部68は、基準速度以上で移動した部位が、当該移動後に減速して移動速度が略零(例えば、基準値以下の状態)となっているか否かを判定することによって、当該部位が略停止しているか否かを判定する手段を含み、当該部位の移動速度が略零となっている状態が基準期間継続したか否かを判定するようにしてもよい。
[6−11.評価部]
評価部70は、制御部21を主として実現される。評価部70は、プレイヤのゲームプレイを評価する。ここでは、評価部70は、リップル動作判定部56の判定結果に基づいて、プレイヤのスコアを変化させることによって、プレイヤのゲームプレイを評価する。
例えば、基準タイミングにおいてプレイヤの部位が判定領域82に含まれる場合、評価部70は、プレイヤのスコアを増加させる。本実施形態においては、ゲーム状況データが示すスコア倍率が1倍の場合のスコアの標準増加量が定められており、標準増加量に現在のスコア倍率を乗じた値だけ、プレイヤのスコアが増加する。なお、評価部70がプレイヤのスコアを増加させる方法はこれに限られず、スコアの増加量をテーブルに格納しておき、このテーブルの値が参照されることによって、スコアが増加するようにしてもよい。
先述のように、本実施形態においては、プレイヤによる3種類のトリックの評価結果に基づいて、評価部70は、所定条件のもとでスコア倍率を増加させることによって、プレイヤのスコアの変化量を決定する。評価部70は、この決定された変化量でプレイヤのスコアを変化させることによって、プレイヤのゲームプレイを評価することになる。
[ヒットトリックの評価方法]
まず、ヒットトリックの評価方法について説明する。評価部70は、部位情報取得部58により取得された部位の種類に基づいて、プレイヤのゲームプレイを評価する。評価部70は、判定領域82内にあると判定されたプレイヤの部位の種類と、基準部位と、を比較し、当該比較結果に基づいてプレイヤのゲームプレイを評価する。ここでは、評価部70は、判定領域内にあると判定されたプレイヤの部位の種類と基準部位とが異なる場合には、同じである場合よりも高い評価をプレイヤに付与する。
また、評価部70は、基準タイミングに対応する時点において判定領域82内にあると判定されたプレイヤの部位の種類に基づいて、プレイヤのスコアの変化量を決定する手段を含む。ここでは、評価部70は、部位情報取得部58が取得した部位の種類に応じてスコア倍率を決定することによって、プレイヤのスコアの変化量を決定することになる。
即ち、評価部70は、部位情報取得部58が部位の種類を取得した場合、又は、この場合よりも後のリップル動作判定部56の判定結果に基づいてプレイヤのスコアを変化させる場合のスコアの変化量を、部位情報取得部58が取得した部位の種類に基づいて決定することになる。例えば、部位の種類と、スコアの変化量と、が関連付けられてゲームデータ記憶部52に記憶されているようにしてもよい。この場合、部位情報取得部58が取得した部位の種類に関連付けられた変化量でスコアが変化することになる。
[リズムトリックの評価方法]
次に、リズムトリックの評価方法について説明する。評価部70は、タイミング比較部64の比較結果に基づいて、プレイヤのゲームプレイを評価する。ここでは、折り返しタイミングとビートタイミングとのずれ時間Δtが閾値以下である場合に、閾値より大きい場合よりも高い評価をプレイヤに付与する。
本実施形態においては、プレイヤは、リズムトリックをしつつリップル動作を行うので、評価部70は、リップル動作判定部56の比較結果とタイミング比較部64の比較結果とに基づいて、プレイヤのゲームプレイを評価することになる。例えば、評価部70は、タイミング比較部64の判定結果に基づいて、プレイヤのスコアの変化量を決定する手段を含む。評価部70は、タイミング比較部64の比較結果に応じてスコア倍率を決定することによって、プレイヤのスコアの変化量を決定することになる。
即ち、評価部70は、タイミング比較部64による比較が行われた場合、又は、この場合よりも後のリップル動作判定部56の比較結果に基づいてプレイヤのスコアを変化させる場合のスコアの変化量を、タイミング比較部64の比較結果に基づいて決定することになる。例えば、ずれ時間Δtに関する条件と、スコアの変化量と、が関連付けられてゲームデータ記憶部52に記憶されているようにしてもよい。この場合、ずれ時間Δtが満たす条件に関連付けられた変化量でスコアが変化することになる。
[ポーズトリックの評価方法]
次に、リズムトリックの評価方法について説明する。評価部70は、停止判定部68の判定結果に基づいて、プレイヤのゲームプレイを評価する。評価部70は、部位が略停止した状態が基準期間継続した場合、基準期間継続しなかった場合よりも高い評価をプレイヤに付与する。
本実施形態においては、プレイヤは、ポーズトリックをしつつリップル動作を行うことがあるので、評価部70は、リップル動作判定部56の比較結果と停止判定部68の判定結果とに基づいて、プレイヤのゲームプレイを評価することになる。例えば、評価部70は、停止判定部68の判定結果に基づいて、プレイヤのスコアの変化量を決定する手段を含む。評価部70は、停止判定部68の判定結果に基づいてスコア倍率を決定することによって、プレイヤのスコアの変化量を決定することになる。
例えば、移動判定部66は、第1の基準タイミングと、第1の基準タイミングの次に到来する基準タイミングである第2の基準タイミングと、の間において判定を行い、停止判定部68は、第1の基準タイミングと第2の基準タイミングとの間において判定を行うので、評価部70は、第2の基準タイミング、又は、第2の基準タイミングよりも後に到来する基準タイミングに関するリップル動作判定部56の比較結果に基づいてプレイヤのスコアを変化させる場合のスコアの変化量を、停止判定部68の判定結果に基づいて決定することになる。
なお、ここでは、プレイヤがトリックを成功させた場合に、通常の場合よりも高い評価が与えられる態様を説明するが、プレイヤがトリックを成功させた場合に通常の評価が与えられ、トリックをしなかった場合に低い評価が与えられるようにしてもよい。即ち、プレイヤがトリックを成功させた場合には、通常の場合に比べて、相対的に高い評価が与えられるようにすればよい。
[6−12.表示制御部]
表示制御部72は、制御部21を主として実現される。表示制御部72は、ゲーム画面30に関する各種表示制御処理を実行する。例えば、表示制御部72は、プレイヤ部位情報の時系列的な変化に基づいて、キャラクタ32をゲーム画面30内で動作させる。
[7.ゲーム装置において実行される処理]
図19は、ゲーム装置20において実行される処理の一例を示すフロー図である。図19の処理は、ゲームの開始指示が行われた場合に、制御部21が、光ディスクから読み出されたプログラムに従って動作することにより実行される。
図19に示すように、まず、制御部21は楽曲の再生を開始する(S101)。制御部21は、ゲーム画面30を表示部27に表示させる(S102)。なお、ゲームの開始時には、主記憶部22にゲーム状況データが生成され、初期値が格納される。例えば、プレイヤのスコア、コンボ数、トリックゲージの数値は0となり、スコア倍率は1となる。これらの初期値に基づいてゲーム画面30のスコア38、コンボ数40、トリックゲージ44、及び倍率46が表示され、後述の処理によりゲーム状況データが更新されると適宜表示も更新される。
制御部21は、位置検出装置1からプレイヤ部位情報を取得して主記憶部22に記憶させる(S103)。制御部21は、最新のプレイヤ部位情報に基づいて、キャラクタ32の表示制御を行う(S104)。S104においては、プレイヤの動作に対応する動作をするようにキャラクタ32の表示制御が行われる。例えば、キャラクタ32に骨格情報を設定しておき、当該骨格情報が示すキャラクタ32の骨格の位置が、プレイヤ部位情報に基づいて変化することによって、キャラクタ32は、プレイヤに対応する動作を行う。
制御部21は、リズムトリックの判定処理を実行する(S105)。
図20は、リズムトリックの判定処理を示す図である。図20に示すように、制御部21は、背中P7の3次元座標を参照する(S201)。制御部21は、背中P7の3次元座標の時系列的な変化に基づいて、背中P7が方向転換動作をしたか否かを判定する(S202)。S202においては、背中P7の時系列的な位置変化に基づいて背中P7の移動方向VP7が取得され、当該移動方向VP7の変化が所定角度以上であるか否かが判定されることによって、背中P7が方向転換したか否かが判定される。
背中P7が方向転換したと判定された場合(S202;Y)、制御部21は、現時点を方向転換タイミングとして取得する(S203)。制御部21は、楽曲データを参照し、S203で取得した方向転換タイミングと楽曲のビートタイミングとのずれ時間Δtが閾値以下であるか否かを判定する(S204)。
ずれ時間が閾値以下であると判定された場合(S204;Y)、制御部21は、ゲーム画面30にリズムトリックを示すトリック名42を表示させる(S205)。制御部21は、トリックゲージ44が示す数値を所定値だけ増加させ、トリックゲージ44を伸長させる(S206)。リズムトリックが成功した場合のトリックゲージ44の変化量は、予め定められた値を用いてもよいし、ゲームの状況や楽曲の難易度等の各要素に応じて変化させるようにしてもよい。
制御部21は、トリックゲージ44が一杯になったか否かを判定する(S207)。S207においては、ゲーム状況データに格納されるトリックゲージ44の数値が最大値となったか否かが判定される。又は、トリックゲージ44が端部まで伸長したか否かが判定される。
トリックゲージ44が一杯になったと判定された場合(S207;Y)、制御部21は、ゲーム状況データに格納されたスコア倍率をインクリメントし、倍率46の表示を更新する(S208)。次いで、制御部21は、トリックゲージ44を0に戻し、トリックゲージ44の表示を更新する(S209)。
一方、背中P7が方向転換したと判定されない場合(S202;N)、S203〜S209の処理は実行されない。この場合、背中P7が直前と同じ方向に移動しているので、リズムトリックが成功したと判定されないことになる。
また、ずれ時間が閾値以下であると判定されない場合(S204;N)、S205〜S209の処理は実行されない。この場合、背中P7が上下に揺れるタイミングとビートタイミングとが大きくずれていることになるので、プレイヤが楽曲のリズムに乗れておらず、リズムトリックが成功したと判定されないことになる。
また、トリックゲージ44が一杯になったと判定されない場合(S207;N)、S208及びS209の処理は実行されない。この場合、リズムトリックが成功しているが、トリックゲージ44の数値が最大値になっていないので、スコア倍率が変化しないことになる。
リズムトリックの判定処理が終了すると、図19に戻り、制御部21は、ポーズトリックの判定処理を実行する(S106)。
図21は、ポーズトリックの判定処理を示す図である。図21に示すように、制御部21は、移動済みフラグが0であるか否かを判定する(S301)。移動済みフラグは、プレイヤが手足を基準速度以上で移動させたか否かを示すフラグであり、移動済みフラグが「0」であることは、プレイヤがまだ手足を基準速度以上で移動させていない状態であることを示し、移動済みフラグが「1」であることは、既に、プレイヤが手足を基準速度以上で移動させた状態であることを示す。
移動済みフラグが0であると判定された場合(S301;Y)、制御部21は、プレイヤ部位情報が示すプレイヤの手足(例えば、左手P5,右手P6,左足P10,右足P11)の3次元座標を参照する(S302)。
制御部21は、プレイヤの手足の移動速度が基準速度以上になったか否かを判定する(S303)。S303においては、プレイヤの手足の3次元座標の時系列的な変化に基づいて、当該手足の移動速度が特定され、この移動速度が基準速度と比較される。
プレイヤの手足の移動速度が基準速度以上になったと判定された場合(S303;Y)、制御部21は、移動済みフラグを1にする(S304)。
一方、移動済みフラグが1であると判定された場合(S301;Y)、プレイヤの手足がすでに基準速度以上で移動している状態であるので、S302〜S304の処理は行われず、処理はS305に移行する。
制御部21は、プレイヤの手足が、まだ移動中であるか否かを判定する(S305)。S305においては、プレイヤの手足の現在の移動速度が所定値以下であるか否かが判定されるようにしてもよいし、移動済みフラグが1になってから所定時間が経過したか否かが判定されるようにしてもよい。
プレイヤの手足がまだ移動中であると判定された場合(S305;Y)、処理はS107に移行する。
プレイヤの手足がまだ移動中であると判定されない場合(S305;N)、制御部21は、基準速度以上で移動した手足が略停止しているか否かを判定する(S306)。S306においては、例えば、S305の判定が行われた時点での手足の位置を含む領域内に、現在のプレイヤの手足があるか否かが判定されることによって、プレイヤの手足が略停止しているか否かが判定される。
プレイヤの手足が略停止していると判定されない場合(S306;N)、制御部21は、移動済みフラグを0にし(S307)、処理はS107に移行する。この場合、プレイヤが手足を固定させていないので、ポーズトリックが成功したと判定されないことになる。
プレイヤの手足が略停止していると判定された場合(S306;Y)、制御部21は、計時をして継続期間を更新する(S308)。継続期間を示す情報は、例えば、ゲーム状況データに格納される。S308において計時が行われると、継続期間を示す数値が計時に合わせて増加することになる。
制御部21は、基準期間が経過したか否かを判定する(S309)。S309においては、S308で更新された継続期間と基準期間とが比較されることによって判定が行われる。
基準期間が経過したと判定された場合(S309;Y)、制御部21は、移動済みフラグを0にする(S310)。続くS311〜S315は、S205〜S209と同様である。即ち、ポーズトリックが成功したことを示すトリック名42を表示させ、トリックゲージ44が示す数値を所定値だけ増加させ、数値が最大値であればスコア倍率をインクリメントさせて当該数値を0に戻す処理が実行される。
図19に戻り、制御部21は、リップル動作の判定処理を実行する(S107)。
図22は、リップル動作の判定処理を示す図である。図22に示すように、制御部21は、現時点が案内対象期間内であるか否かを判定する(S401)。案内対象期間とは、プレイヤに基準タイミングを案内すべき期間のことであり、基準タイミングに対応する期間である。案内対象期間は、例えば、基準タイミングを含む所定期間(基準タイミング第1時間前から第2時間後までの期間)、又は、基準タイミングの所定時間前から基準タイミングまでである。
現時点が案内対象期間内であると判定されない場合(S401;N)、処理はS108に移行する。この場合、基準タイミングが近づいていないので、リップル動作の判定処理や基準画像34及び案内画像36の表示制御処理は行われない。
一方、現時点が案内対象期間内であると判定された場合(S401;N)、制御部21は、当該案内対象期間に対応する基準タイミングと基準位置を案内するための基準画像34と案内画像36との表示制御処理を行う(S402)。S402においては、例えば、基準画像34と案内画像36との距離が、現時点と基準タイミングとの時間差に対応するように、案内画像36の表示位置が決定される。
制御部21は、基準タイミングが訪れたか否かを判定する(S403)。基準タイミングが訪れたと判定されない場合(S403;N)、処理はS108に移行する。この場合、現時点は基準タイミングよりも前であるので、リップル動作の判定処理は行われないことになる。
一方、基準タイミングが訪れたと判定された場合(S403;Y)、制御部21は、基準タイミングに関連付けられた基準位置80を含む判定領域82内に、プレイヤの部位があるか否かを判定する(S404)。S404においては、最新のプレイヤ部位情報が示す各部位の3次元座標が、判定領域82内部にあるか否かが判定されることになる。
判定領域82内にプレイヤの部位があると判定された場合(S404;Y)、制御部21は、ヒットトリックの判定処理を実行する(S405)。
図23は、ヒットトリックの判定処理を示す図である。図23に示すように、制御部21は、判定領域82内にある部位の種類を取得する(S501)。S501においては、プレイヤ部位情報が参照され、判定領域82内部にある3次元座標に関連付けられた部位の種類が取得される。
制御部21は、S501で取得した部位の種類が、基準部位であるか否かを判定する(S502)。S501においては、基準タイミング及び基準位置に関連付けられた基準部位と、S501で取得した部位の種類と、が一致するか否かが判定される。
判定領域82内にある部位が基準部位であると判定された場合(S502;Y)、処理はS406に移行する。この場合、プレイヤが基準位置80を触りやすい部位で触ったので、ヒットトリックが成功しなかったことになり、トリックゲージ44は変化しない。
一方、判定領域82内にある部位が基準部位であると判定されない場合(S502;N)、処理は、S503に移行する。S503〜S507は、それぞれS205〜S209と同様である。即ち、ヒットトリックが成功したことを示すトリック名42を表示させ、トリックゲージ44が示す数値を所定値だけ増加させ、数値が最大値であればスコア倍率をインクリメントさせて当該数値を0に戻す処理が実行される。
図22に戻り、制御部21は、現在のスコア倍率に基づいてプレイヤのスコアを増加させ(S406)、コンボ数をインクリメントさせる(S407)。S406においては、標準増加量に現在のスコア倍率を乗じた数値だけプレイヤのスコアが増加する。
一方、判定領域82内にプレイヤの部位があると判定されない場合(S404;N)、制御部21は、トリックゲージ44を0にする(S408)。制御部21は、スコア倍率を1に戻し(S409)、コンボ数を0にする(S410)。制御部21は、ゲーム画面30から基準画像34と案内画像36とを消去させる(S411)。
図19に戻り、制御部21は、楽曲の再生が終了したか否かを判定する(S108)。楽曲の再生が終了したと判定されない場合(S108;N)、処理は、S103に戻る。この場合、再び最新のプレイヤ部位情報が取得され、各種トリックの判定処理及びリップル動作の判定処理が行われることになる。
楽曲の再生が終了したと判定されない場合(S108;Y)、制御部21は、ゲーム画面30にゲーム成績を示すゲーム成績画面を表示させ(S109)、処理は終了する。
以上に説明したゲーム装置20によれば、プレイヤが各種トリックを成功させた場合に、リップル動作が成功した場合のスコア増加量の倍率を増加させることができる。例えば、プレイヤがヒットトリックを成功させた場合には、単に、所定のタイミングで所定の位置に部位を置くことを目指すゲームに比べて、プレイヤがあえて難しい部位を使ってリップル動作を行った場合のゲームプレイを的確に評価して満足感を与えることができる。
また、ゲーム装置20は、リズムトリックの判定処理を行うことによって、楽曲のリズムに乗りながらプレイヤがゲームをプレイしていることを評価することができる。
また、ゲーム装置20は、ポーズトリックの判定処理を行うことによって、プレイヤが部位を素早く移動させて所与のポーズをとったことを評価することができる。
また、プレイヤが各種トリックを成功させた場合に、スコアの変化量を変えることによって、プレイヤに各種トリックをするように促すことができ、プレイヤが各種トリックを成功させた場合の満足感を向上させることができる。
また、プレイヤの手足のみの位置変化に基づいてポーズトリックを判定することによって、全身の部位を使用して判定する場合に比べて簡易な処理でポーズトリックの判定を行うことができる。
[7.変形例]
本発明は、以上説明した実施形態及び変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
[7−1.ヒットトリックに関する変形例]
(1−1)例えば、実施形態においては、プレイヤの部位が一つでも判定領域82内にあった場合にリップル動作が成功となる場合を説明したが、プレイヤが判定領域82内に複数の部位を配置させた場合にリップル動作が成功とするようにしてもよい。この場合、判定領域82内に配置された部位の組み合わせに応じて、プレイヤのゲームプレイが評価されるようにしてもよい。
本変形例のリップル動作判定部56は、プレイヤの複数の部位のうちの二つ以上が、基準タイミングに対応する時点において、判定領域82内にあるか否かを判定する。リップル動作判定部56は、プレイヤ部位情報が示す3次元座標の二つ以上が判定領域82内に含まれるか否かを判定する。
また、本変形例の部位情報取得部58は、判定領域82内にあると判定された部位の種類の組み合わせに関する部位情報を取得する。部位情報取得部58は、判定領域82内に含まれる3次元座標に関連付けられた種類の部位を取得することによって、判定領域82内にあると判定されたプレイヤの部位の種類の組み合わせを取得する。
また、本変形例の評価部70は、部位情報取得部58により取得された部位の種類の組み合わせに基づいて、プレイヤのゲームプレイを評価する。評価部70は、部位情報取得部58により取得された部位の種類の組み合わせが所与の組み合わせであるか否かを判定することによって、プレイヤのゲームプレイを評価する。
例えば、部位の組み合わせに関する条件と、プレイヤへの評価内容(例えば、トリックゲージ44の増加量)と、を関連付けたデータをゲームデータ記憶部52に記憶させていてもよい。この場合、部位情報取得部58により取得された部位の種類の組み合わせが満たす条件に関連付けられた評価内容が、プレイヤに付与される。
また例えば、基準データに、複数の基準部位の組み合わせを格納しておいてもよい。この場合、評価部70は、部位情報取得部58が取得した部位の組み合わせと、複数の基準部位の組み合わせと、が一致するか否かを判定することによって、プレイヤのゲームプレイを評価する。例えば、評価部70は、部位情報取得部58が取得した部位の組み合わせと複数の基準部位の組み合わせとが一致する場合、一致しない場合よりも高い評価又は低い評価をプレイヤに付与する。
本変形例によれば、プレイヤがリップル動作をした部位の組み合わせに応じてプレイヤの評価が変わるので、単に一つの部位を使って評価を行う場合よりも、難易度の高いプレイヤの動作(ダンス)も評価することができる。
(1−2)また例えば、実施形態においては、基準部位とは異なる部位で基準位置を触った場合にヒットトリック成功となる場合を説明したが、例えば、ある基準位置に関連付けられた基準部位が右手である場合には、当該基準位置は右手で触りやすいことを示しているので、比較的触りにくい左手又は左足でリップル動作を行った場合に、ヒットトリックが成功したと判定されるようにしてもよい。
本変形例においては、基準データには、基準位置に対応するプレイヤの片側の上肢(肩から先の部位。腕全体を示す。)又は下肢(腰から先の部位。脚全体を示す。)に含まれる部位が関連付けられている。基準位置に対応するプレイヤの片側の上肢又は下肢とは、基準位置を触りやすい上肢又は下肢のことであり、基準位置と現実空間の代表位置84(例えば、位置検出装置1の正面方向に基づいて定まる点)との位置関係に基づいて予め定められている。例えば、左手P5、右手P6、左足P10、及び右足P11の何れかが、予め基準部位として設定されている。
本変形例の評価部70は、部位情報取得部58により取得された部位が、基準位置に対応する片側の上肢又は下肢に含まれる部位の逆側の上肢又は下肢に含まれる部位である場合、当該片側の上肢又は下肢に含まれる部位である場合よりも、プレイヤに高い評価を付与する。「片側の上肢又は下肢とは逆側」とは、右側の上肢又は下肢ならなら左側であり、左側の上肢又は下肢なら右側である。
例えば、基準位置に対応するプレイヤの上肢又は下肢が右手P6又は右足P11である場合、当該基準位置は、右手P6又は右足P11で触りやすいことを示しているので、逆側の上肢又は下肢である左手P5又は左足P10でリップル動作を行った場合に高い評価が付与される。同様に、基準位置に対応するプレイヤの上肢又は下肢が左手P5又は左足P10である場合、当該基準位置は、左手P5又は左足P10で触りやすいことを示しているので、逆側の上肢又は下肢である右手P6又は右足P11でリップル動作を行った場合に高い評価が付与される。
本変形例によれば、プレイヤが逆側の手または足でリップル動作を行ったことを検出することにより、プレイヤが体をねじるようにしてリップル動作を行うゲームプレイを的確に評価することができる。
(1−3)また例えば、ヒットトリックが成功した場合に、基準画像34又は案内画像36に係る各種エフェクト処理が実行されるようにしてもよい。
本変形例の表示制御部72は、基準タイミングと基準位置をプレイヤに案内する画像(例えば、基準画像34又は案内画像36)を表示画面に表示させる手段を含む。また、表示制御部72は、評価部70による評価結果に基づいて、画像の表示態様を変化させる手段を含む。「画像の表示態様を変化」とは、画像の大きさ、形状、色彩、輝度、模様を変化させること、画像に所与のエフェクト処理を施すことを含む意である。
表示制御部72は、部位情報取得部58が取得した部位の種類に基づいて、画像の表示態様の変化方法を決定する手段を含む。例えば、表示制御部72は、ヒットトリックが成功した場合には、基準画像34又は案内画像36を第1の態様で変化させ、ヒットトリックが成功しなかった場合には、基準画像34又は案内画像36を第2の態様で変化させる。
図24は、変形例(1−3)におけるゲーム画面30の一例である。図24に示すように、ヒットトリックが成功した場合には、基準画像34又は案内画像36がはじけて消滅するようにしてもよい。例えば、部位の種類と、画像の大きさ、形状、色彩、輝度、模様の変化のさせ方を示す情報又は画像に施すべきエフェクト処理を識別する情報と、が関連付けられてゲームデータ記憶部52に記憶されているようにしてもよい。この場合、部位情報取得部58が取得した部位の種類に関連付けられた情報に基づいて、基準画像34又は案内画像36が変化することになる。
本変形例によれば、プレイヤがリップル動作を行った部位に応じて画像のエフェクト処理を異ならせることができる。
[7−2.リズムトリックに関する変形例]
(2−1)また例えば、実施形態においては、部位の方向転換タイミングのみを参照することによって、リズムトリックの評価が行われる場合を説明したが、部位をある程度の振幅で揺らしているか否かを、リズムトリックの成功の条件としてもよい。
本変形例のゲーム装置20は、部位の位置変化に基づいて、一の方向転換タイミングと次の方向転換タイミングとの間(方向転換タイミング間)における部位の移動量が基準量以上であるか否かを判定する移動量判定手段を含む。当該手段は、例えば、ゲーム実行部54により実現される。例えば、ある方向転換タイミングが取得された場合のプレイヤ部位情報が示す3次元座標と、次に方向転換タイミングが取得された場合のプレイヤ部位情報が示す3次元座標と、の距離(往復運動の場合は振幅)が移動量として取得される。基準量は、予め定められた値であってもよいし、ゲームの状況やプレイヤの体の大きさに基づいて定められるようにしてもよい。
本変形例の評価部70は、移動量判定手段の判定結果とタイミング比較部64の比較結果に基づいて、プレイヤのゲームプレイを評価する。例えば、評価部70は、部位の移動量が基準量以上であり、かつ、タイミングのずれが閾値以内であった場合に、リズムトリックが成功したと判定してプレイヤに高い評価を与えるようにしてもよい。
本変形例によれば、プレイヤが部位をある程度大きく揺らした場合にリズムトリックが成功したと判定されるようになるので、ダイナミックなダンスを踊るような大きな動きをプレイヤに要求することができる。
(2−2)また例えば、楽曲のテンポが速くなると、プレイヤが大きく部位を揺らすことができない可能性がある。そこで、楽曲のテンポに応じて、変形例(2−1)で説明した基準量を設定するようにしてもよい。
本変形例のゲーム装置20は、楽曲のテンポに基づいて、基準量を設定する手段を含む。当該手段は、例えば、ゲーム実行部54により実現される。楽曲のテンポが速くなるほど、基準量が小さくなるように設定される。例えば、楽曲のテンポに関する条件と、基準量と、が関連付けられてゲームデータ記憶部52に記憶されているようにしてもよい。この場合、楽曲データが示す楽曲のテンポが見たす上記条件に関連付けられた基準量が設定されることになる。
本変形例によれば、楽曲のテンポに応じてリズムトリックの判定をより的確に行うことができる。
(2−3)また例えば、プレイヤが一回だけ体を揺らしてもリズムトリックが成功となる場合を説明したが、実際のダンサーのように、一定期間の間、プレイヤが楽曲に合わせて体を揺らしていなければ、リズムトリックが成功とならないようにしてもよい。例えば、楽曲の1拍間以上、プレイヤが楽曲に合わせて腰を揺らしていた場合に、リズムトリックが成功したと判定されるようにしてもよい。
本変形例のゲーム装置20は、評価部70による評価処理の実行を制限する制限手段を含む。当該手段は、例えば、ゲーム実行部54により実現される。ここでの「評価処理の実行を制限」とは、プレイヤに高い評価が与えられることを抑止することであり、例えば、リズムトリックが成功したと判定されないようにすることである。
また、ゲーム装置20は、方向転換タイミングと、楽曲の拍に基づいて定められるタイミングと、のずれが基準値以下となる状態が所定期間継続したか否かを判定する手段を含む。当該手段は、例えば、ゲーム実行部54により実現される。例えば、S204において、ずれが基準値以下となった場合に計時が開始され、当該ずれが基準値以下である状態が継続している期間が一定期間以上であるか否かが判定される。また例えば、S204において、ずれが基準値以下となったと連続して判定された回数が一定回数以上であるか否かが判定されるようにしてもよい。
また、ゲーム装置20は、ずれが基準値以下となる状態が所定期間継続したと判定された場合、制限手段による制限を解除する手段を含む。当該手段は、例えば、ゲーム実行部54により実現される。「評価処理の実行の制限が解除される」とは、プレイヤに高い評価が与えられることであり、例えば、リズムトリックが成功したと判定されることである。
本変形例によれば、プレイヤが楽曲のリズムに合わせて一定期間体を揺らした場合にリズムトリックが成功したと判定させることができるので、より高度な動作をプレイヤに要求することができる。
(2−4)また例えば、リズムトリックが成功した場合に、キャラクタ32の腰等の位置にペンキが飛ぶようなエフェクト処理が実行されるようにしてもよい。
本変形例のゲーム装置20は、プレイヤを撮影手段で連続撮影したプレイヤ画像、又は、位置情報に基づいてプレイヤに対応する動作をするキャラクタ32を、表示画面に表示させる手段を含む。当該手段は、表示制御部72により実現される。なお、実施形態では、キャラクタ32が表示される場合を説明したが、位置検出装置1から撮影画像を取得することによって、プレイヤ画像を表示させるようにしてもよい。
図25は、変形例(2−4)におけるゲーム画面30の一例である。図25に示すように、リズムトリックが成功した場合には、キャラクタ32のうち、プレイヤが方向転換動作をしている部位の周りに所与の画像48を表示させる。
本変形例のゲーム装置20は、タイミング比較部64の比較結果に基づいて、プレイヤ画像又はキャラクタ32の部位に対応する位置に所与の画像を表示させる手段を含む。当該手段は、表示制御部72により実現される。例えば、プレイヤ部位情報の時系列的な変化に基づいて、プレイヤが方向転換動作をさせた部位を取得し、当該部位に対応する位置に所与の画像を表示させる。
本変形例によれば、プレイヤがリズムトリックを成功させた場合にゲーム画面30にエフェクトを発生させることができる。
(2−5)また例えば、プレイヤがリズムトリックを成功させなければ、リップル動作の判定が行われないようにしてもよい。即ち、プレイヤが体を揺らして楽曲のリズムに乗らなければ、プレイヤが基準タイミングで基準位置を触ったとしても、プレイヤのスコアが増加しないようにしてもよい。
本変形例のゲーム装置20は、タイミング比較部64の比較結果に基づいて、リップル動作判定部56による比較処理の実行又は評価部70による評価処理の実行を制限する手段を含む。当該手段は、例えば、ゲーム実行部54により実現される。「リップル動作判定部56による比較処理の実行を制限」とは、リップル動作判定部56による部位と基準位置との比較処理の実行を抑止することである。
本変形例によれば、プレイヤがリズムトリックを行わなければスコアの増加が制限されるので、リズムトリックをするようにプレイヤに促すことができる。
[7−3.ポーズトリックに関する変形例]
(3−1)また例えば、ポーズトリックが成功した場合に、キャラクタ32に関する特殊なエフェクト処理を実行することによって、プレイヤにポーズトリックをすることを促すようにしてもよい。
本変形例のゲーム装置20は、基準速度以上で移動した部位が移動後に略停止している状態(ポーズ状態)になった場合、プレイヤ画像の輪郭又はキャラクタ32の輪郭に対応する形状の輪郭画像を、プレイヤ画像又はキャラクタ32に対応する位置に表示させる手段を含む。当該手段は、表示制御部72により実現される。
図26は、変形例(3−1)におけるゲーム画面30の一例を示す図である。図26に示すように、輪郭画像49は、キャラクタ32の輪郭が抽出されることによって生成される。即ち、キャラクタ32のうち輪郭の部分を切り出した画像に基づいて生成される画像が輪郭画像49となる。ここでは、キャラクタ32の輪郭を示す所与の太さの線が輪郭画像49となる。
「プレイヤ画像又はキャラクタ32に対応する位置」とは、プレイヤ画像の表示位置又はキャラクタ32の表示位置に基づいて定まる表示位置であり、輪郭画像49がプレイヤ画像又はキャラクタを囲むように表示される位置、又、輪郭画像49がプレイヤ画像の輪郭又はキャラクタの輪郭に囲まれるように表示される位置である。
本変形例のゲーム装置20は、ポーズ状態の継続期間に応じて、輪郭画像49の大きさを除々に変化させる輪郭画像49制御手段を含む。当該手段は、表示制御部72により実現される。「輪郭画像49の大きさを除々に変化」とは、輪郭画像49の大きさとプレイヤ画像の輪郭又はキャラクタの輪郭の大きさとの差が、ポーズ状態の継続期間に対応するように、輪郭画像49の大きさになるように変化させることである。
図27は、輪郭画像49の大きさの変化方法を説明するための図である。図27に示すように、プレイヤがポーズ状態になった場合、キャラクタ32の輪郭に重畳又は隣接するようにして輪郭画像49が発生し、除々に大きくなっていく。ここでは、輪郭画像制御手段は、ポーズ状態の継続期間が基準期間に達していない場合、ポーズ状態の継続期間に応じて、輪郭画像49の大きさを除々に変化させる第1手段を含むことになる。この場合の輪郭画像49の拡大速度又は縮小速度は、予め定められたものであってもよいし、ゲームの状況に応じて変化してもよい。
図27に示すように、ポーズトリックが成功した場合には、輪郭画像49は急激に大きくなって画面から消去される。ここでは、輪郭画像制御手段は、ポーズ状態の継続期間が基準期間に達した場合、第1手段よりも速い速度(単位時間あたりの拡大率又は縮小率が高いことを意味する。)で輪郭画像49の大きさを変化させた後に、輪郭画像49を表示画面から消去させる第2手段を含むことになる。
本変形例によれば、ポーズトリックが成功したか否かを輪郭画像49の大きさの変化によってプレイヤに案内することができる。
(3−2)また例えば、他のエフェクト処理を行うことによって、ポーズトリックが成功したことをプレイヤに案内するようにしてもよい。
図28は、変形例(3−2)における輪郭画像49の変化方法を説明するための図である。図28に示すように、プレイヤがポーズ状態になった場合に、キャラクタ32よりも大きな輪郭画像49を表示させ、ポーズ状態が継続している期間と基準期間との差と、輪郭画像49の大きさとキャラクタ32の大きさとの差が対応するように、輪郭画像49の大きさを変化させるようにしてもよい。ここでは、輪郭画像制御手段は、ポーズ状態の継続期間が基準期間になった場合に輪郭画像49とプレイヤ画像の輪郭又はキャラクタ32の輪郭とが略一致するように、プレイヤ画像又はキャラクタ32よりも大きい輪郭画像49を、状態の継続期間に応じて除々に小さくすることになる。
また、プレイヤがポーズ状態になった場合に、キャラクタ32よりも小さな輪郭画像49を表示させ、ポーズ状態が継続している期間と基準期間との差と、輪郭画像49の大きさとキャラクタ32の大きさとの差と、が対応するように、輪郭画像49の大きさを変化させるようにしてもよい。ここでは、輪郭画像制御手段は、ポーズ状態の継続期間が基準期間になった場合に輪郭画像49とプレイヤ画像の輪郭又はキャラクタ32の輪郭とが略一致するように、プレイヤ画像又はキャラクタよりも小さい輪郭画像49を、状態の継続期間に応じて除々に大きくすることになる。
本変形例によれば、輪郭画像49の大きさがキャラクタ32の大きさと合った場合にポーズトリックが成功したことをプレイヤに案内することができる。
(3−3)また例えば、プレイヤがポーズをとっている状態を基準期間継続することができなかった場合には、輪郭画像49を途中で消去するようにしてもよい。
本変形例のゲーム装置20は、基準速度以上で移動した部位が移動後に略停止している状態になった後、当該状態の継続期間が基準期間に達することなく当該状態が継続しなくなった場合、輪郭画像制御手段による輪郭画像49の表示制御処理の実行を制限し、輪郭画像49を表示画面から消去させる手段を含む。当該手段は、表示制御部72により実現される。「表示制御処理の実行を制限」とは、輪郭画像49の表示を抑止することを示す。
本変形例によれば、ポーズトリックが成功しなかったことをプレイヤに案内することができる。
(3−4)また例えば、ポーズトリックを成功させなければ、リップル動作の判定が行われないようにしてもよい。
本変形例のゲーム装置20は、基準速度以上で移動した部位が移動後に略停止している状態が基準期間以上継続したと判定されない場合、リップル動作判定部56による比較処理の実行又は評価部70による評価処理の実行を制限する手段を含む。当該手段は、ゲーム実行部54により実現される。
本変形例によれば、プレイヤがポーズトリックを行わなければスコアの増加が制限されるので、ポーズトリックをするようにプレイヤに促すことができる。
(3−5)また例えば、プレイヤの手足が基準速度以上で移動する前に、手足が略停止していることをポーズトリック成功の条件としてもよい。
本変形例のゲーム装置20は、複数の部位のうちの少なくとも一つが略停止しているか否かを、位置情報に基づいて判定する手段を更に含む。当該手段は、ゲーム実行部54により実現される。当該判定方法は、停止判定部68による判定方法と同様である。
本変形例の移動判定部66は、複数の部位のうちの少なくとも一つが略停止していると判定された後、当該略停止していた部位が基準速度以上で移動したか否かを判定する。
本変形例によれば、静止した部位を急激に動かしてポーズをとる動作を的確に評価することができる。
(3−6)また例えば、楽曲のテンポの速さに応じて、ポーズをとるための部位の移動速度が異なるので、楽曲のテンポに応じて基準速度を変化させるようにしてもよい。
本変形例のゲーム装置20は、楽曲のテンポに基づいて、基準速度を設定する手段を更に含む。当該手段は、ゲーム実行部54により実現される。楽曲のテンポが速くなるほど、基準速度が速くなるように設定される。例えば、楽曲のテンポに関する条件と、基準速度と、が関連付けられてゲームデータ記憶部52に記憶されているようにしてもよい。この場合、楽曲データが示す楽曲のテンポが満たす上記条件に関連付けられた基準速度が設定されることになる。
本変形例によれば、楽曲のテンポに合った速度でポーズをとったか否かを評価することができる。
(3−7)また例えば、楽曲のテンポの速さに応じて、ポーズ状態を維持すべき時間を異ならせるようにしてもよい。
本変形例のゲーム装置20は、楽曲のテンポに基づいて、基準期間の長さを設定する手段を更に含む。当該手段は、ゲーム実行部54により実現される。楽曲のテンポが速くなるほど、基準期間が短くなるように設定される。例えば、楽曲のテンポに関する条件と、基準期間の長さと、が関連付けられてゲームデータ記憶部52に記憶されているようにしてもよい。この場合、楽曲データが示す楽曲のテンポが満たす上記条件に関連付けられた長さの基準期間が設定されることになる。
本変形例によれば、楽曲のテンポに合った期間だけポーズをとったか否かを評価することができる。
[7−4.その他変形例]
(4)また例えば、実施形態においては、現実空間におけるプレイヤの各部位の位置を示す情報に基づいて、各種判定処理が行われる場合を説明したが、プレイヤの部位に関する情報が用いられるようにすればよく、他にも例えば、表示画面又は仮想空間におけるプレイヤの部位の位置が用いられるようにしてもよい。
この場合、位置情報取得部50は、複数の部位の現実空間における位置に対応する表示画面又は仮想空間内の位置(以降、単に表示画面又は仮想空間内の部位の位置という。)に関する位置情報を取得する。「複数の部位の現実空間における位置に対応する表示画面内の位置」とは、撮影画像に写されたプレイヤの各部位の位置であり、例えば、パターンマッチングにより特定される部位の2次元座標のことである。「複数の部位の現実空間における位置に対応する仮想空間内の位置」とは、プレイヤ部位情報に基づいて設定される仮想空間内の位置であり、例えば、仮想空間に配置されるキャラクタ32の各部位の位置である。
本変形例では、例えば、基準位置は、表示画面又は仮想空間内に設定される位置であり、判定領域も、表示画面又は仮想空間内に設定される。リップル動作判定部56は、表示画面又は仮想空間内の部位の位置が、表示画面又は仮想空間に設定される基準位置を含む判定領域内にあるか否かを判定することになる。
また、動作判定部60は、表示画面又は仮想空間内の部位の位置変化に基づいて、方向転換動作がプレイヤにより行われたか否かを判定する。移動判定部66及び停止判定部68は、表示画面又は仮想空間内の部位の位置に基づいて判定を行う。
(5)また例えば、実施形態においては、基準タイミングにおいて基準位置にプレイヤが部位を置いているか否かに基づいてリップル動作の判定が行われる場合を説明したが、プレイヤが判定領域82に部位を置いたタイミングと基準タイミングとのずれを評価するようにしてもよい。
本変形例(5)のリップル動作判定部56は、基準タイミングに対応する期間内における複数の部位のうちの少なくとも一つが、基準位置を含む判定領域82内にあるか否かを判定する手段と、複数の部位のうちの少なくとも一つが判定領域82内に配置されたタイミングと基準タイミングとのずれが所定値以下であるか否かを判定する手段と、を含む。
例えば、評価部70は、上記ずれに基づいてプレイヤのゲームプレイを評価する。例えば、当該ずれが小さくなるほど高い評価がプレイヤに付与される。
本変形例(5)の部位情報取得部58は、複数の部位のうちの少なくとも一つが判定領域82内に配置されたタイミングと基準タイミングとのずれが所定値以下であると判定された場合、当該部位の種類に関する部位情報を取得することになる。ここでも、プレイヤ部位情報が参照されることによって部位の種類が取得されることになる。
変形例(5)によれば、プレイヤが判定領域82内に部位を置いたタイミングと基準タイミングとのずれによって、プレイヤのゲームプレイを評価することができる。
(6)また例えば、実施形態及び変形例において示した各種数値は、上記に示した数値より大きくてもよいし小さくてもよい。これら数値は、予め指定された値、又は、所与の数式に基づいて算出される値であればよい。
また、楽曲データに楽曲の拍のタイミングを示す情報が含まれる場合を説明したが、当該情報は楽曲データに含まれていなくてもよい。楽曲のテンポを示す情報に基づいて、楽曲の拍が刻まれるタイミングが取得されるようにしてもよい。また、楽曲は必ずしも出力されなくてもよい。
また、基準データのデータ格納例は実施形態の例に限られない。基準データには、基準タイミングと基準位置とが関連付けられていればよい。他にも例えば、基準タイミングと基準位置とに関連付けて、部位を識別する情報とプレイヤに付与するスコアとが関連付けられていてもよい。この場合、プレイヤがリップル動作を行った部位に関連付けられたスコアが付与されることになる。
また例えば、プレイヤが所与のリズムで往復運動をした場合にリズムトリックが成功したと判定される場合を説明したが、プレイヤによる方向転換運動に基づいてリズムトリックの判定処理が実行されるようにすればよい。他にも例えば、プレイヤが手足を三角形や四角形に移動させる場合の方向転換タイミングに基づいてリズムトリックの判定処理が行われるようにしてもよい。
また例えば、上記では、撮影画像と深度情報(深度画像)とに基づいて位置情報を生成する手段が位置検出装置1に含まれる例を挙げて説明したが、位置情報を生成する手段は、ゲーム装置20に含まれていてもよい。例えば、ゲーム装置20は、位置検出装置1から撮影画像と深度画像とを受信し、これらに基づいて位置情報を生成するようにしてもよい。また例えば、位置検出装置1がゲーム装置20と一体となっており、位置検出装置1がゲーム装置20に含まれていてもよい。
また、ゲーム装置20において、ヒットトリック、リズムトリック、及びポーズトリックが行われる場合を説明したが、これらの何れか一つ又は二つのみが行われるようにしてもよい。また例えば、ヒットトリックが行われない場合には、リップル動作の判定処理が行われないようにしてもよい。即ち、リズムトリックの成否やポーズトリックの成否のみを評価するようなゲームにも本発明を適用するようにしてもよい。
例えば、ヒットトリックの判定のみが行われる場合には、動作判定部60、方向転換タイミング取得部62、タイミング比較部64、移動判定部66、及び停止判定部68は、ゲーム装置20に含まれていなくてもよい。また、リズムトリックの判定のみが行われる場合には、リップル動作判定部56、部位情報取得部58、移動判定部66、及び停止判定部68は、ゲーム装置20に含まれていなくてもよい。また、ポーズトリックの判定のみが行われる場合には、リップル動作判定部56、部位情報取得部58、動作判定部60、方向転換タイミング取得部62、及びタイミング比較部64は、ゲーム装置20に含まれていなくてもよい。
また、上記実施形態及び変形例の何れか2つ以上を組み合わせてもよい。
また、実施形態においては、プレイヤの部位のうち、手や足等の特定の部位に基づいてリップル動作、ヒットトリック、リズムトリック、及びポーズトリックの判定が行われる場合を説明したが、任意の部位を用いてこれらの判定が行われるようにしてもよい。他にも例えば、手首、腕、ひじ、足首、すね、ひざ、もも等の部位の位置を検出し、これらの部位に基づいて、リップル動作や各種トリックの判定が行われるようにしてもよい。