説明

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

【課題】一時停止と再開が可能なゲームにおいて、プレイヤーがより簡単にゲームを一時停止させたり再開させたりできるようにする。
【解決手段】一時停止と再開が可能なゲームを実行するゲーム装置300において、検出部301は、現実空間におけるプレイヤーの位置と姿勢を検出する。記憶部302は、ゲームが一時停止されていない間に検出された位置と姿勢の履歴を記憶する。ゲーム進行部303は、検出された位置と姿勢に基づいてゲームを進行する。またゲーム進行部303は、所定の停止条件が満たされた場合にゲームを一時停止し、ゲームが一時停止しているときに検出された位置と姿勢が、記憶部302に記憶された履歴と合致した場合にゲームを再開する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一時停止と再開が可能なゲームにおいて、プレイヤーがより簡単にゲームを一時停止させたり再開させたりできるようにするために好適なゲーム装置、ゲーム装置の制御方法、ならびに、プログラムに関する。
【背景技術】
【0002】
現実空間におけるモデルの動きを1つ又は複数のカメラで撮影したり、周囲に照射した赤外線の飛行時間やその反射波の位相差を用いてモデルまでの距離を計測したりすることによって、モデルの動きを捉える技術がある。最近では、特許文献1のようにゲームの分野に応用し、プレイヤーを撮影してプレイヤーの所定の部位(例えば、頭部、両眼部など)を追尾し、プレイヤーの動きの認識結果をゲームに反映させることも行われている。また、プレイヤーが手や足で操作して任意の指示を入力できる装置(一般にコントローラーと呼ばれる。)を用いず、カメラ等によるプレイヤーの位置や姿勢の検出結果を用いてゲームを進行するゲーム装置が普及しつつある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4117682号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、カメラ等によるプレイヤーの位置や姿勢の検出結果のみに応じてゲームを進行するゲームでは、プレイヤーがいわゆるコントローラーを手で操作したり足で踏んだりする必要がなく自分の体を動かすだけでプレイできることから、より簡単で直感的にプレイできる反面、ゲームの一時停止や再開といった指示をしづらいことがあった。また、プレイヤーが予期せず撮影範囲外に出たり、障害物等によってプレイヤーの位置や姿勢の検出に失敗したりすることにより、ゲームの適切な進行ができなくなるという問題があった。
【0005】
本発明はこのような課題を解決するものであり、一時停止と再開が可能なゲームにおいて、プレイヤーがより簡単にゲームを一時停止させたり再開させたりできるようにするために好適なゲーム装置、ゲーム装置の制御方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0007】
本発明の第1の観点に係るゲーム装置は、一時停止と再開が可能なゲームを実行するゲーム装置であって、検出部、記憶部、ゲーム進行部を備える。
検出部は、現実空間におけるプレイヤーの姿勢を検出する。
記憶部は、ゲームが一時停止されていない間に検出部により検出された姿勢の履歴を記憶する。
ゲーム進行部は、検出された姿勢に基づいてゲームを進行する。
そして、ゲーム進行部は、
(a)所定の停止条件が満たされた場合、ゲームを一時停止し、
(b)ゲームが一時停止しているときに、検出部により検出された姿勢が記憶部に記憶された姿勢の履歴と合致した場合、ゲームを再開する。
【0008】
本発明のゲーム装置にて行われるゲームは、進行を一時停止したり、一時停止した進行を再開したりすることができるゲームである。プレイヤーの姿勢がゲーム装置によって検出され、検出された姿勢に基づいてゲームが進行する。ゲーム装置には、検出された姿勢の所定時間分の検出結果の履歴が記憶される。この記憶される履歴に基づいて、ゲームが一時停止されたり再開されたりすることがある。
すなわち、ゲームが一時停止していないときに、所定の停止条件が満たされると、ゲームは一時停止される。停止条件は、例えば、検出されたプレイヤーの姿勢や、プレイヤーのゲーム成績などに基づいて、決められる。
また、ゲームが一時停止しているときに、一時停止前に記憶された履歴と、一時停止中に検出された姿勢とが合致すると、ゲームは再開される。簡単に言えば、プレイヤーが、一時停止前の自分の姿勢を、一時停止中に再現することができれば、ゲームを再開することができる。
本発明によれば、プレイヤーは、自分の姿勢を変化させるという直感的な操作によってゲームの一時停止と再開を行うことができる。一時停止と再開が可能なゲームにおいて、プレイヤーは、より簡単にゲームを一時停止させたり再開させたりすることができる。
【0009】
ゲーム進行部は、プレイヤーの姿勢が検出部により検出されなくなった場合に、停止条件が満たされたとしてもよい。
【0010】
すなわち、ゲーム開始当初からプレイヤーの姿勢が検出されていたものの、ある時刻からプレイヤーの姿勢が検出されなくなった場合、何らかの事情でプレイヤーがゲーム装置のそばから離れ、ゲームを中断もしくは終了しようとしている(していた)と推測される。そこで、ゲーム装置は、プレイヤーの姿勢が検出されなくなれば、ゲームを一時停止するのである。その際、プレイヤーは、ボタンを押したりコマンドを入力したりする必要はない。本発明によれば、一時停止と再開が可能なゲームにおいて、プレイヤーがより簡単にゲームを一時停止させたり再開させたりすることができる。
【0011】
ゲームは、1人のみのプレイヤーが参加するゲームであってもよい。
そして、ゲーム進行部は、検出部により複数のプレイヤーの姿勢が検出された場合に、停止条件が満たされたとしてもよい。
【0012】
すなわち、プレイヤーが1人だけのゲームにおいて、ゲームの途中で複数のプレイヤーがゲーム装置の近くにいると判断された場合、正常なゲームの進行の妨げになる恐れがあると推測される。そこで、ゲーム装置は、プレイヤーが1人だけのゲームにおいて複数のプレイヤーが検出されれば、ゲームを一時停止するのである。本発明によれば、一時停止と再開が可能なゲームにおいて、プレイヤーがより簡単にゲームを一時停止させたり再開させたりすることができ、また、ゲームに支障を来す恐れがある際には予めゲームを一時停止して混乱を回避できるようになる。
【0013】
ゲームは、所定の複数のプレイヤーが参加するゲームであってもよい。
そして、ゲーム進行部は、検出部により所定の複数のプレイヤーに含まれない他のプレイヤーの姿勢が新たに検出された場合に、停止条件が満たされたとしてもよい。
【0014】
すなわち、対戦ゲームやパーティーゲームのように複数の所定人数のプレイヤーが一緒にプレイするゲームにおいて、ゲームの途中でその所定人数を超える人がゲーム装置の近くにいると判断された場合、正常なゲームの進行の妨げになる恐れがあると推測される。そこで、ゲーム装置は、所定人数でプレイするゲームにおいて、所定人数を超えるプレイヤーが検出されれば、ゲームを一時停止するのである。本発明によれば、一時停止と再開が可能なゲームにおいて、プレイヤーがより簡単にゲームを一時停止させたり再開させたりすることができ、また、ゲームに支障を来す恐れがある際には予めゲームを一時停止して混乱を回避できるようになる。
【0015】
ゲーム進行部は、検出期間内に検出部により検出された姿勢の変化量が所定のしきい値以下である場合に、停止条件が満たされたとしてもよい。
【0016】
すなわち、検出期間内に所定変化量より大きく自分の姿勢を変化させなかった場合、ゲームをプレイしていない可能性があると推測される。そこで、ゲーム装置は、姿勢の変化量がしきい値以下であれば、ゲームを一時停止するのである。本発明によれば、一時停止と再開が可能なゲームにおいて、プレイヤーがより簡単にゲームを一時停止させたり再開させたりすることができ、また、プレイヤーの動きが少ないと推定される際にはゲームを一時停止して休憩を取るように導くことができる。
【0017】
ゲーム進行部は、検出部により検出された姿勢に基づいてプレイヤーの成績を判定し、所定の判定期間内に判定された成績が所定のしきい値以下である場合に、停止条件が満たされたとしてもよい。
【0018】
すなわち、所定の判定期間内におけるプレイヤーの成績がある基準よりも良くなかった場合、ゲームの難易度がプレイヤーの実力に合っていないと推測される。そこで、ゲーム装置は、プレイヤーの成績がしきい値以下であれば、ゲームを一時停止するのである。本発明によれば、一時停止と再開が可能なゲームにおいて、プレイヤーがより簡単にゲームを一時停止させたり再開させたりすることができ、また、プレイヤーの成績が良くないと判断される際にはゲームを一時停止して難易度の調整などを促すことができる。
【0019】
ゲーム進行部は、楽曲を再生し、ゲームが一時停止しているときに検出部により検出された姿勢が、
(x)再生される楽曲に含まれる複数の小節のうち、ゲームが一時停止する前であって所定の継続条件を満たす最後の小節の間に検出された姿勢の履歴、もしくは、
(y)最後の小節においてプレイヤーがとるべきものと定められた姿勢、
のいずれかと合致した場合、ゲームを再開してもよい。
【0020】
すなわち、ゲームを一時停止しているときに、一時停止前に記憶された履歴と、一時停止中に検出された姿勢とが合致すると、ゲームは再開される。もしくは、ゲームを一時停止しているときに、予め決められた姿勢と、一時停止中に検出された姿勢とが合致すると、ゲームは再開される。簡単に言えば、プレイヤーが、一時停止前の自分の姿勢を一時停止中に再現することができるか、もしくは、予め決められた姿勢を一時停止中に再現することができれば、ゲームを再開することができる。プレイヤーが再現すべき姿勢は、これらのうちのいずれか一方であればよい。本発明によれば、一時停止と再開が可能なゲームにおいて、プレイヤーがより簡単にゲームを一時停止させたり再開させたりすることができる。
【0021】
ゲーム進行部は、複数の小節のそれぞれについて、検出部により検出された姿勢の変化量に基づいて、小節の間に継続条件が満たされるか否かを判別してもよい。
【0022】
つまり、検出されたプレイヤーの姿勢の変化量に基づいて、ゲームを継続するか一時停止するかが判別されてもよい。例えば、ある小節においてプレイヤーの姿勢の変化量がしきい値以上となるほどプレイヤーが体をよく動かしていれば、ゲームが続行され次の小節へ行くが、その小節でプレイヤーの姿勢の変化量がしきい値に達しないほどプレイヤーが体をあまり動かしていないならば、その小節でゲームが一時停止され、次の小節には入らない。従って、プレイヤーの状態に応じて適切なタイミングでゲームを一時停止することができる。
【0023】
ゲーム進行部は、複数の小節のそれぞれについて、小節の間におけるプレイヤーの成績に基づいて、小節の間に継続条件が満たされるか否かを判別してもよい。
【0024】
つまり、判定されたプレイヤーの成績の善し悪しによって、ゲームを継続するか一時停止するかが判別されてもよい。例えば、ある小節においてプレイヤーの成績が基準点より良ければ、ゲームが続行され次の小節へ行くが、その小節でプレイヤーの成績が基準点より悪ければ、その小節でゲームが一時停止され、次の小節には入らない。従って、プレイヤーの上手さに応じて適切なタイミングでゲームを一時停止することができる。
【0025】
検出部は、現実空間におけるプレイヤーの位置を更に検出してもよい。
また、記憶部は、ゲームが一時停止されていない間に検出部により検出された位置の履歴を更に記憶してもよい。
そして、ゲーム進行部は、検出された姿勢と位置に基づいてゲームを進行し、ゲームが一時停止しているときに、検出部により検出された姿勢と位置が記憶部に記憶された姿勢と位置の履歴と合致した場合、ゲームを再開してもよい。
【0026】
すなわち、プレイヤーの姿勢だけでなくプレイヤーの位置がゲーム装置によって検出され、検出された姿勢と位置に基づいてゲームが進行する。ゲーム装置には、検出された姿勢と姿勢の所定時間分の検出結果の履歴が記憶される。この記憶される履歴に基づいて、ゲームが一時停止されたり再開されたりしてもよい。
ゲームが一時停止していないときに、所定の停止条件が満たされると、ゲームは一時停止される。停止条件は、例えば、検出されたプレイヤーの姿勢と位置や、プレイヤーのゲーム成績などに基づいて、決められる。
また、ゲームが一時停止しているときに、一時停止前に記憶された姿勢と位置の履歴と、一時停止中に検出された姿勢と位置とが合致すると、ゲームは再開される。簡単に言えば、プレイヤーが、一時停止前の自分の姿勢と位置を、一時停止中に再現することができれば、ゲームを再開することができる。
本発明によれば、プレイヤーは、自分の姿勢と位置を変化させるという直感的な操作によってゲームの一時停止と再開を行うことができる。一時停止と再開が可能なゲームにおいて、プレイヤーは、より簡単にゲームを一時停止させたり再開させたりすることができる。
【0027】
本発明のその他の観点に係るゲーム装置の制御方法は、検出部、記憶部、ゲーム進行部を有し一時停止と再開が可能なゲームを実行するゲーム装置において実行される制御方法であって、検出ステップ、記憶ステップ、ゲーム進行ステップを備える。
検出ステップでは、検出部が、現実空間におけるプレイヤーの姿勢を検出する。
記憶ステップでは、記憶部が、ゲームが一時停止されていない間に検出ステップで検出された姿勢の履歴を記憶する。
ゲーム進行ステップでは、ゲーム進行部が、検出された姿勢に基づいてゲームを進行する。
そして、ゲーム進行ステップでは、ゲーム進行部は、
(a)所定の停止条件が満たされた場合、ゲームを一時停止し、
(b)ゲームが一時停止しているときに、検出された姿勢が記憶された姿勢の履歴と合致した場合、ゲームを再開する。
【0028】
本発明によれば、一時停止と再開が可能なゲームにおいて、プレイヤーがより簡単にゲームを一時停止させたり再開させたりすることができる。
【0029】
本発明のその他の観点に係るプログラムは、一時停止と再開が可能なゲームを実行するコンピュータを、検出部、記憶部、ゲーム進行部として機能させる。
検出部は、現実空間におけるプレイヤーの姿勢を検出する。
記憶部は、ゲームが一時停止されていない間に検出部により検出された姿勢の履歴を記憶する。
ゲーム進行部は、検出された姿勢に基づいてゲームを進行する。
そして、ゲーム進行部は、
(a)所定の停止条件が満たされた場合、ゲームを一時停止し、
(b)ゲームが一時停止しているときに、検出された姿勢が記憶された姿勢の履歴と合致した場合、ゲームを再開する。
【0030】
本発明によれば、コンピューターを上述のように動作するゲーム装置として機能させることができる。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリー等のコンピューター読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピューターとは独立して、コンピューター通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピューターとは独立して配布・販売することができる。
【発明の効果】
【0031】
本発明によれば、一時停止と再開が可能なゲームにおいて、プレイヤーがより簡単にゲームを一時停止させたり再開させたりできるようにするために好適なゲーム装置、ゲーム装置の制御方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【0032】
【図1】本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図2】情報処理装置の外観を模式的に表す図である。
【図3】ゲーム装置の機能的な構成を説明するための図である。
【図4】ゲーム画面の構成例を示す図である。
【図5】ゲーム処理を説明するためのフローチャートである。
【図6】(a)楽曲の小節と拍を示す図である。(b)ゲーム課題が設定される時間の例を示す図である。
【発明を実施するための形態】
【0033】
本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0034】
(実施形態1)
図1は、本発明のゲーム装置の機能を果たす典型的な情報処理装置100の概要構成を示す模式図である。
【0035】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、ハードディスク104と、インターフェース105と、外部メモリー106と、入力装置107と、DVD−ROM(Digital Versatile Disk - Read Only Memory)ドライブ108と、画像処理部109と、音声処理部110と、NIC(Network Interface Card)111と、を備える。
【0036】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着し、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置が実現される。
【0037】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、ALU(Arithmetic Logic Unit)(図示せず)を用いて、レジスターという高速アクセスが可能な記憶領域に記憶されたデータの加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、CPU 101は、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行うことができるコプロセッサーを備える。
【0038】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録される。IPLがCPU 101によって実行されることにより、DVD−ROMに記録されたプログラムがRAM 103に読み出され、CPU 101による起動処理が開始される。
【0039】
RAM 103は、データやプログラムを一時的に記憶するためのもので、例えば、DVD−ROMから読み出されたプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスターに格納してからレジスターに対して演算を行って演算結果をメモリーに書き戻したりするなどの処理を行う。
【0040】
ハードディスク104は、情報処理装置100全体の動作制御に必要なオペレーティングシステム(OS)のプログラムや各種のゲームデータ等を格納する。CPU 101は、ハードディスク104に記憶される情報を随時書き換えることができる。
【0041】
インターフェース105を介して着脱自在に接続された外部メモリー106には、ゲームのプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワークを用いた他の装置との通信のログ(記録)のデータなどが記憶される。CPU 101は、外部メモリー106に記憶される情報を随時書き換えることができる。また、情報処理装置100は、インターフェース105を介して、増設用のハードディスクを接続することができる。
【0042】
入力装置107は、図2に示すように、ゲーム画面が表示されるモニター250付近に設置される。入力装置107は、ユーザーの様子などを撮影するカメラを備える。CPU 101は、カメラによって撮影された画像を表す画像データを解析し、画像に含まれるユーザーの部位(例えばユーザーの手、足、顔など)を判別する。画像解析の手法には、例えば、パターン認識による解析、特徴点の抽出による解析、空間周波数の算出による解析などがある。カメラによる撮影は、ゲーム中に継続的に行われる。
【0043】
また、入力装置107は、入力装置107からユーザー(もしくはユーザーの任意の部位)までの距離を測定する深度センサーを備える。例えば、入力装置107は、赤外線を周囲に照射し、この赤外線の反射波を検知する。そして、入力装置107は、照射波と反射波との位相差や、赤外線が発射されてからその反射光が検知されるまでの時間(飛行時間)に基づいて、照射波の発射口から照射波を反射した物体までの距離(以下「深度」ともいう。)を求める。深度センサーによる深度の検知は、赤外線を発射可能な方向のそれぞれについて、所定の時間間隔で繰り返し行われる。
【0044】
深度センサーを備えることにより、情報処理装置100は、現実空間に配置された物体の3次元的な位置や形状をより詳しく把握することが可能になる。具体的には、例えば、CPU 101が第1の時刻に取得された第1の画像データと第2の時刻に取得された第2の画像データとを画像解析した結果、第1の画像データと第2の画像データの両方にユーザーの頭部を表す部分が含まれていることを判別したとする。CPU 101は、第1の画像データ内における頭部の位置と、第2の画像データ内における頭部の位置と、の変化から、カメラから見てユーザーの頭部が上下左右のどの方向にどの程度動いたのかを判別することができるだけでなく、第1の画像データにおける頭部の深度と、第2の画像データ内における頭部の深度と、の変化から、カメラから見てユーザーの頭部が前後のどちらの方向にどの程度動いたのか(どの程度カメラに近づいたりカメラから遠ざかったりしたのか)を判別することもできる。
【0045】
このように、CPU 101は、入力装置107が備えるカメラによって撮影された画像と、入力装置107が備える深度センサーによって測定された距離(深度)と、に基づいて、いわゆるモーションキャプチャーのように、現実空間におけるユーザーの3次元的な動きをデジタル化して把握することができる。
【0046】
例えば、ボーリングゲームにおいて、プレイヤーがモニター250画面の前(つまり入力装置107の前)でボールを投げるモーションをすると、CPU 101は、プレイヤーがボールを投げるモーションを行ったことを認識する。そして、CPU 101は、認識したモーションに応じて、ゲームを進行する。つまり、プレイヤーは、タッチパッド型のコントローラーなどを持つことなく、自分の体を自由に動かすことによって、所望の指示を入力することができる。入力装置107は、プレイヤーからの様々な指示入力を受け付ける、いわゆる“コントローラー”の役割を果たす。
【0047】
撮影された画像を表すデジタルの画像データは、複数の画素の集合である。典型的には、画素のそれぞれに三原色(R,G,B)の強度を表す値が対応付けられる。画像深度センサーにより各方向の深度が測定されるということは、実質的には、1つの画素が、赤(R),緑(G),青(B)に加えて、深度(D)というもう一次元を用いて表されることを意味する。
【0048】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データなどが予め記録される。DVD−ROMドライブ108は、CPU 101の制御によって、装着されたDVD−ROMに記録されたプログラムやデータを読み出す。CPU 101は、読み出されたプログラムやデータをRAM 103等に一時的に記憶する。なお、CPU 101は、ゲームを開始する前に、DVD−ROMに予め記憶されたデータをハードディスク104にインストールし、ゲームを実行する際にはハードディスク104から適宜データをRAM 103に読み出すようにしてもよい。
【0049】
画像処理部109は、DVD−ROMから読み出されたデータをCPU 101や画像処理部109が備える画像演算プロセッサ(図示せず)によって加工処理した後、画像処理部109が備えるフレームメモリー(図示せず)に記録する。フレームメモリーに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され、画像処理部109に接続されるモニター250へ出力される。
【0050】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。また、画像演算プロセッサは、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0051】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報に従って、文字列を2次元画像としてフレームメモリーへ描画したり、各ポリゴン表面へ描画したりすることが可能である。
【0052】
また、CPU 101と画像演算プロセッサがDVD−ROMに予め格納された画像データをフレームメモリーに書き込むことによって、ゲームの様子などを画面に表示することができる。画像データをフレームメモリーに書き込み表示させる処理を、定期的なタイミング(典型的には垂直同期割り込み(VSYNC)のタイミング)で繰り返し行うことにより、モニター250にアニメーションを表示することが可能になる。
【0053】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、スピーカーから出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲などの音声データをデコードし、様々な音声をスピーカーから出力させる。
【0054】
音声処理部110は、DVD−ROMに記録された音声データがMIDIデータである場合には、音声処理部110が有する音源データを参照して、MIDIデータをPCMデータに変換する。また、音声処理部110は、ADPCM(Adaptive Differential Pulse Code Modulation)形式やOgg Vorbis形式等により圧縮された音声データである場合には、圧縮された音声データをPCMデータに変換する。PCMデータは、サンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカーに出力することにより、音声出力が可能となる。
【0055】
NIC 111は、情報処理装置100をインターネット等のコンピューター通信網に接続する。NIC 111は、例えば、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)と、から構成される。
【0056】
次に、上記構成を有する情報処理装置100により実現される本実施形態のゲーム装置300によって行われるゲームについて説明する。
【0057】
本実施形態のゲーム装置300において実行されるゲームは、プレイヤーがモニター250に表示されたキャラクターオブジェクト(以下、単に「キャラクター」という。本実施形態ではダンスのインストラクターの姿をしている。)の動きに倣って体を動かすとダンスを踊っている感覚を楽しむことができるゲームである。CPU 101は、ゲームを開始すると、ダンス用の楽曲を再生すると共に、プレイヤーが達成すべきゲーム課題を表すキャラクター画像をモニター250に表示する。
【0058】
ゲーム課題は、ゲーム内時刻に、現実空間においてプレイヤーがいるべき位置と取るべき姿勢とを表すデータが対応付けられることにより、定義される。CPU 101は、ゲーム課題の内容を反映したキャラクター画像をモニター250に表示する。CPU 101は、時間の経過と共にキャラクターの位置や姿勢を変化させることにより、つまりキャラクターを動画像で表示することにより、プレイヤーにゲーム課題を提示する。
【0059】
プレイヤーは、モニター250に動画で表示されるキャラクターの動きを参考にしながら、自分の体を動かす。プレイヤーの体の動きは、入力装置107によって検出される。例えば、プレイヤーの位置と姿勢は、プレイヤーの両手の位置と向き、プレイヤーの両足の位置と向き、プレイヤーの頭の位置と向きなどに相当し、これらの位置と向きがCPU 101によって識別される。そして、この識別結果に基づいて、予め設定されたゲーム課題通りにプレイヤーが手、足、頭などが動かされたか否かが、つまりプレイヤーの成績が、CPU 101によって判定される。
【0060】
また、このゲームでは、CPU 101は、プレイヤーにより所定のボタンが操作されることによって、任意のタイミングでゲームの進行を一時停止(中断)したり、一時停止したゲームの進行を再開したりするほか、ボタン操作が無くても、プレイヤーの位置や姿勢の認識結果によって、任意のタイミングでゲームの進行を一時停止したり再開したりする。詳細は後述する。
【0061】
なお、本実施形態において、ゲームを再開するとは、ゲームの進行を一旦停止した後、一時停止したゲーム内時間からゲームを続けることをいう。ゲームの進行を一旦停止した後、一時停止したゲーム内時間より少し前からゲームを続ける(一部区間をやり直せる)ようにしてもよい。ゲーム装置300は、中断前後の重複する部分についてはプレイヤーの成績判定結果を上書きしない(一時停止する前の成績が優先される)ものとしてもよいし、中断前の成績判定結果を再開後の成績判定結果で上書きする(再開後の成績が優先される)ようにしてもよい。
【0062】
次に、本実施形態のゲーム装置300の機能的な構成について説明する。図3は、本実施形態のゲーム装置300の機能的な構成を示す図である。ゲーム装置300は、検出部301、記憶部302、ゲーム進行部303を備える。
【0063】
検出部301は、現実空間におけるプレイヤーの位置と姿勢を検出する。プレイヤーの位置と姿勢は、例えばVSYNCなどの定期的なタイミングで検出される。CPU 101と入力装置107が協働して、検出部301として機能する。
【0064】
CPU 101は、例えば、検出されたプレイヤーの左肩の位置から左手の先の位置へと結ぶベクトルの向きが鉛直方向(床に対して垂直な方向)であると画像解析等により判別した場合には、プレイヤーが左手を真下に向けるという姿勢をとっていると判別する。
【0065】
例えば、ある時刻TAにおけるプレイヤーの左手の向きを示す第1のベクトルと、それより後の時刻TBにおけるプレイヤーの左手の向きを示す第2のベクトルとのなす角度が、時刻TA〜TB間におけるプレイヤーの姿勢の変化量を表すパラメータのひとつとなる。勿論、プレイヤーの姿勢の変化量として、左手だけでなく、右手、左右の足、頭、胴体、関節など、プレイヤーの任意の部位の位置や向きを採用することができる。
【0066】
記憶部302は、ゲームが一時停止されていない間に検出部301により検出されたプレイヤーの位置と姿勢の履歴を記憶する。CPU 101とRAM 103が協働して、記憶部302として機能する。
【0067】
すなわち、CPU 101は、所定の定期的なタイミングでプレイヤーの位置と姿勢を繰り返し検出し、入力装置107によって検出されたプレイヤーの位置と姿勢を示すデータの直近の所定時間分の履歴をRAM 103に記憶する。例えば、CPU 101は、N回分(Nは1以上の整数)の位置と姿勢を示すデータを格納できる配列変数を定義してRAM 103に記憶し、検出結果を随時この配列変数にセットする。N+1回目以降の検出結果を得たとき、CPU 101は、最も時刻が古いデータを削除し、代わりに最も新しいデータを格納する。従って、RAM 103には最新のN回分の検出結果の履歴が記憶される。履歴が格納される時間の長さ(つまりNの値)は任意であるが、本実施形態では、ゲーム装置300により再生される楽曲の1小節分時間長を履歴が格納される時間の長さとする。
【0068】
ゲーム進行部303は、検出部301によって検出されたプレイヤーの位置と姿勢に基づいて、ゲームを進行する。CPU 101と画像処理部109が協働して、ゲーム進行部303として機能する。
【0069】
より詳細には、ハードディスク104又はDVD−ROMには、仮想空間内において時間の経過に伴って位置と姿勢とを変化させるキャラクターの位置と姿勢を表すデータ(ゲーム課題を表すデータ)が、ゲーム開始からの経過時間に対応付けて予め記憶されている。CPU 101は、このキャラクターの位置と姿勢を示すデータを適宜RAM 103から取得し、取得した位置と姿勢を示すデータに基づいて、キャラクターの位置と姿勢を変化させる。
【0070】
キャラクターの位置は、仮想空間内に予め定義されるグローバル座標系を用いた座標値によって表される。キャラクターの位置として、キャラクターの代表点の座標値が用いられる。キャラクターの代表点は、例えばキャラクターの重心点である。
【0071】
キャラクターの姿勢は、グローバル座標系におけるベクトル、もしくはキャラクターを構成する複数の点の座標値の組み合わせによって表される。例えば、ヒト型のキャラクターの左肩の位置から左手の先の位置へと結ぶベクトルの向きや、このベクトルの長さによって、キャラクターの左手の姿勢が表される。同様に、右手、左右の足、胴体などのキャラクターの様々な部位の向きや長さをベクトルで表すことによって、キャラクター全体の姿勢が表される。
【0072】
キャラクターの表面の形状は、複数のポリゴンの集合によって表される。
【0073】
本実施形態では、ハードディスク104には、ゲームの開始時刻T0におけるキャラクターの位置と姿勢を定義するデータ、開始時刻から所定時間ΔT経過後の時刻T1(=T0+ΔT)におけるキャラクターの位置と姿勢を定義するデータ、時刻T1から更に所定時間ΔT経過後の時刻T2(=T1+ΔT)におけるキャラクターの位置と姿勢を定義するデータ、などが格納されている。キャラクターは、予め記憶されたキャラクターの位置と姿勢を定義するデータに基づいて、CPU 101と画像処理部109の制御により動く。
【0074】
この所定時間ΔTの長さは、典型的には垂直同期割り込み(VSYNC)に相当する時間長である。それぞれの時刻におけるキャラクターの位置と姿勢を定義するデータに基づいて、CPU 101が順々にキャラクターの位置と姿勢を変化させていけば、キャラクターのアニメーション画像がモニター250に表示されることになる。
【0075】
本実施形態では、キャラクターの位置と姿勢を定義するデータ(ゲーム課題を定義するデータ)は、時系列順にゲーム課題が隣り合うもの同士の時間が等間隔になるように定義されている。ただし、ゲーム課題が示す時間は必ずしも等間隔でなくてもよい。例えば、キャラクターの動きが速いシーンや“決めポーズ”のあたりでは時間間隔を狭くして細かく描写する一方、キャラクターの動きが遅いシーンやしばらく静止するシーンなどでは時間間隔を広くして簡略化して描写してもよい。このようにすれば、ハードディスク104等に予め記憶すべきデータの量を減らすことができる。また、見る側のプレイヤーにとっては、シーンごとにメリハリの効いた分かりやすい画像を見ることができる、という効果もある。
【0076】
また、CPU 101は、画像処理部109を制御して、ゲーム開始から現在までの経過時間に対応付けられてハードディスク104に予め記憶されるキャラクターの位置と姿勢に基づいて、キャラクターを表す画像(以下「キャラクター画像」という。)を生成する。すなわち、CPU 101は、リアルタイムクロック(RTC)で時刻を計時し、ゲームの開始時刻と現在時刻との差分(つまりゲーム開始からの経過時間)を計算する。CPU 101は、計算された経過時間に対応付けられて記憶されたキャラクターの位置と姿勢を定義するデータをハードディスク104から読み出す。そして、CPU 101は、読み出した位置に、読み出した姿勢で、キャラクターを配置した画像を、生成する。生成された画像は、モニター250に表示される。
【0077】
図4に、モニター250に表示されるゲーム画面の構成例を示す。ゲーム画面には、キャラクター画像410、ゲージ450、その他背景画像などが含まれる。キャラクター画像410は、プレイヤーが現在いるべき位置と現在取るべき姿勢を表す。CPU 101は、キャラクター画像410が表す位置と姿勢と、プレイヤーから入力された指示と、を比較し、これらの合致度から、プレイヤーの成績を判定する。本図の場面では、CPU 101は、現実空間において入力装置107によって得られるプレイヤーの位置と姿勢の検出結果から、キャラクター画像410が示すようにプレイヤーが両足を少し広げて両腕を降ろすポーズをしていると判断すると、プレイヤーの成績が優れていると判定し、ゲージ450が示す値を増やす。一方、CPU 101は、プレイヤーがキャラクター画像410と異なる位置又は異なる姿勢であると判断すると、プレイヤーの成績が劣っていると判定し、ゲージ450が示す値を減らす。なお、CPU 101は、ゲージ450が示す値が所定値(典型的にはゼロ)以下になると、ゲームを終了する。
【0078】
本実施形態では、キャラクターは、プレイヤーから見て自分の鏡写しになるような動きをする。つまり、キャラクターの右足(プレイヤーからみて左側に見える足)が前に出た場合には、プレイヤーは、自分の左足を前に出せばよい。
【0079】
また、CPU 101は、検出されたプレイヤーの位置と姿勢に基づいて、進行中のゲームを一時停止したり、一時停止しているゲームの進行を再開したりすることがある。
【0080】
具体的には、CPU 101は、所定の停止条件が満たされたと判別した場合に、ゲームの進行を一時停止する。一時停止中では、CPU 101は、新たなゲーム課題の提示を行わず、また、プレイヤーの成績判定も行わない。
【0081】
CPU 101は、この所定の停止条件を、「プレイヤーの位置と姿勢が検出されなくなったこと」とすることができる。時刻TCまでは入力装置107がプレイヤーの位置と姿勢を検出していたものの、時刻TC以降にプレイヤーの位置と姿勢が検出しなくなった場合、CPU 101は、時刻TAに入力装置107の前からプレイヤーがいなくなったと推測し、停止条件が満たされたと判別する。そして、CPU 101は、進行中のゲームを一時停止する。
【0082】
例えば、プレイヤーが体を動かしてゲームをプレイしていたものの、予期しない来客や電話あるいはトイレ休憩などのためにプレイヤーが入力装置107のそばから離れると、そのプレイヤーの姿が入力装置107によって検出されなくなり、停止条件を満たすと判別され、ゲームが自動的に中断される。また、プレイヤーがゲームをしているとき、入力装置107の近くに誰かが通りがかり、入力装置107とプレイヤーとの間を遮ると、一時的にそのプレイヤーの姿が入力装置107によって検出されなくなり、停止条件を満たすと判別され、ゲームが自動的に中断される。その際、プレイヤーは、特定のポーズボタンを押圧するといった行為を要しない。
【0083】
また、CPU 101は、プレイヤーが1人だけで行われるゲームにおいて、停止条件を、「複数のプレイヤーの位置と姿勢が検出されたこと」とすることができる。CPU 101は、時刻TDまでは入力装置107が1人のプレイヤーの位置と姿勢を検出していたものの、時刻TD以降に2人以上のプレイヤーの位置と姿勢を検出した場合、時刻TBにゲーム中の真のプレイヤー以外に他の人間が割り込んできたと推測し、停止条件を満たすと判別する。そして、CPU 101は、進行中のゲームを一時停止する。
【0084】
例えば、1人のプレイヤーがゲームをプレイしているとき、入力装置107によって位置と姿勢が検出されるほど誰かが入力装置107に近寄ってくると、ゲーム中のプレイヤーの位置と姿勢の正しい検出に支障を来す恐れがあるとCPU 101によって判断され、停止条件を満たすと判別され、ゲームが自動的に中断される。ゲーム装置300は、周囲の環境がゲームのプレイに適さないと推定される場合には、事前にゲームを中断し、混乱を回避することができる。
【0085】
また、CPU 101は、複数の所定数のプレイヤーによって行われるゲームにおいて、停止条件を「所定数に含まれない他のプレイヤーの姿勢が新たに検出されたこと」とすることができる。例えば2人で行われるゲームにおいて、CPU 101は、時刻TEまでは入力装置107が2人のプレイヤーの位置と姿勢を検出していたものの、時刻TE以降に3人以上のプレイヤーの位置と姿勢を検出した場合、時刻TCにゲーム中の真のプレイヤー以外に他の人間が割り込んできたと推測し、停止条件を満たすと判別する。そして、CPU 101は、進行中のゲームを一時停止する。勿論、ゲームに参加する人数は3人以上でもよく、その場合には、CPU 101は、参加人数を超える人がゲーム装置300の近くにいると判別されれば、ゲームを一時停止すればよい。
【0086】
なお、ゲーム装置300によってゲーム開始当初から認識されている人ではない、途中から認識されるようになった“他の人”は、ゲームの“プレイヤー”であるとは言い切れないかもしれないが、本実施形態では、複数の“人”が認識されれば、いずれの人もプレイヤーである可能性があるので、統一していずれも“プレイヤー”と呼ぶこととする。
【0087】
また、CPU 101は、所定の停止条件を、「予め定められた検出期間内におけるプレイヤーの位置の変化量もしくは姿勢の変化量がしきい値以下であったこと」とすることができる。CPU 101は、時刻TFから時刻TGまでの間の位置の変化量がしきい値より大きかった場合、プレイヤーがゲームをプレイ中であると推測する。一方、時刻TFから時刻TGまでの間の位置の変化量がしきい値以下であった場合、プレイヤーがゲームをプレイしていない、もしくはプレイヤーがゲームをやめようとしていると推測し、停止条件を満たすと判別する。そして、CPU 101は、進行中のゲームを一時停止する。
【0088】
例えば、再生される楽曲の第X小節目ではプレイヤーの足の動きが活発であったものの、第X+1小節目ではプレイヤーの足の動きが止まった場合には、第X+1小節目付近からプレイヤーが疲れて休んでいるとCPU 101によって推測され、停止条件を満たすと判別され、ゲームが自動的に中断される。ゲーム装置300は、成績に応じて、プレイヤーに楽曲の選択し直し(つまりゲーム課題の選択し直し)を促したり、適度に休憩を入れさせたりすることができる。プレイヤーの動きが止まるもしくは鈍ると、小節の切れ目など楽曲の区切りがよいタイミングでゲームが一時停止することになる。
【0089】
この検出期間は、楽曲の小節などのように予め決められた固定の期間ではなく、現在のゲーム内時刻の直近の過去の期間でもよい。例えば、検出期間を「直近の過去の5秒間」に設定すると、直近の5秒間に位置もしくは姿勢の変化量がしきい値より大きい場合には、CPU 101は、プレイヤーがゲームをプレイ中であると推測する。一方、直近の5秒間に位置もしくは姿勢の変化量がしきい値以下の場合には、CPU 101は、プレイヤーがゲームをプレイしていないと推測して停止条件を満たすと判別する。そして、CPU 101は、進行中のゲームを一時停止する。プレイヤーの動きが止まるもしくは鈍ると、小節の切れ目などにかかわらず、すぐにゲームが一時停止することになる。
【0090】
また、CPU 101は、所定の停止条件を、「予め定められた検出期間内における、予め設定されたゲーム課題によって想定されるプレイヤーの位置の想定変化量もしくは姿勢の想定変化量に対する、プレイヤーの位置の変化量もしくは姿勢の変化量の割合が、しきい値以下であったこと」とすることができる。CPU 101は、時刻THから時刻TIまでの間にプレイヤーが達成すべき位置又は姿勢の想定変化量に対する、時刻THから時刻TIまでの間に実際に検出されたプレイヤーの位置又は姿勢の変化量の割合が所定値以上であった場合、ゲームを続行する。一方、この割合が所定値に達しなかった場合、CPU 101は、プレイヤーが疲れている、もしくはプレイヤーがゲーム課題通りにプレイしていないと推測し、停止条件を満たすと判別する。そして、CPU 101は、進行中のゲームを一時停止する。
【0091】
例えば、ゲーム課題が比較的少ない楽曲部分では、プレイヤーの位置又は姿勢の想定変化量が小さく、また、実際のプレイヤーの体の動きも少ないと予想される。つまり、ゲーム課題が比較的少ない楽曲部分では、プレイヤーの体の動きが少なくても、ゲーム課題の達成度が高い可能性がある。そこで、想定変化量に対する割合を考慮することにより、CPU 101は、よりゲーム課題に即した停止条件の判別ができるようになる。
【0092】
あるいは、ゲーム課題が比較的多い楽曲部分では、プレイヤーの位置又は姿勢の想定変化量が大きく、また、実際のプレイヤーの体の動きも多いと予想される。もし、ゲーム課題が比較的多い楽曲部分において、検出されたプレイヤーの位置又は姿勢の変化量がしきい値よりも小さい場合、プレイヤーが疲れている、もしくはプレイヤーにとってゲーム課題が難しいと推測される。そこで、想定変化量に対する実際の変化量の割合に応じて停止条件が満たされたか否かを判別することにより、CPU 101は、よりプレイヤーの状況に即した停止条件の判別ができるようになる。ゲーム装置300は、プレイヤーの体調や実力に適したタイミングでゲームを一時停止することができる。
【0093】
また、CPU 101は、所定の停止条件を、「所定の判定期間内におけるプレイヤーの成績がしきい値未満であったこと」とすることができる。CPU 101は、時刻TJから時刻TKまでの間の成績がしきい値以上に優れていた場合、ゲームを続行する。一方、時刻TJから時刻TKまでの間の成績がしきい値に達しなかった場合、CPU 101は、ゲームの難易度がプレイヤーの実力に適していないと判断し、停止条件を満たすと判別する。そして、CPU 101は、進行中のゲームを一時停止する。
【0094】
例えば、再生される楽曲の第X小節目まではプレイヤーの成績が悪くなかったものの、第X+1小節目以降ではプレイヤーの成績が悪くなった場合には、第X+1小節目付近からプレイヤーにとって難易度が高くなり過ぎた可能性があると判断され、停止条件を満たすと判別され、ゲームが自動的に中断される。ゲーム装置300は、成績に応じて、プレイヤーに楽曲の選択し直しを促したり、適度に休憩を入れさせたりすることができる。
【0095】
ゲームを一時停止すると、CPU 101は、一時停止した時点でRAM 103に記憶していたプレイヤーの位置と姿勢の履歴を、所定の記憶領域にコピーして待避させる。この待避されたデータは、ゲームが一時停止される直前の所定時間分の履歴であり、後述するようにゲームを再開するときに使用される。一時停止中もプレイヤーの位置と姿勢が検出され順次RAM 103に記憶されるため、一時停止した時点での履歴が上書きされて消えないように待避しておくのである。
【0096】
ゲームを一時停止している間、CPU 101は、予めハードディスク104等に記憶されている、この所定時間分のキャラクターの位置と姿勢を示すデータに基づいて生成したキャラクター画像410を、モニター250に繰り返し表示する。例えばこの所定時間が「10秒」であれば、一時停止する直前の10秒間のゲーム課題を表すキャラクター画像410が、VTR再生のように繰り返し表示される。プレイヤーは、表示されているキャラクター画像410を見れば、どのような場面でゲームを中断したのかが容易に分かる。
【0097】
なお、CPU 101は、所定時間分のキャラクターの位置と姿勢を示すデータに基づいて生成したキャラクター画像410を表示すると共に、楽曲全体のうちこの所定時間分に相当する部分を再生してスピーカーから出力することが望ましい。
【0098】
一時停止されたゲームの進行は、一時停止前に検出されたプレイヤーの位置と姿勢と、一時停止中に検出されたプレイヤーの位置と姿勢に基づいて、再開される。
【0099】
すなわち、ゲームを一時停止している間も、入力装置107はプレイヤーの位置と姿勢を検出し、CPU 101は検出されたプレイヤーの位置と姿勢を示すデータを所定時間分RAM 103に記憶する。そして、CPU 101は、ゲームを一時停止している間、待避した位置と姿勢の履歴、つまりゲームを一時停止する直前の履歴を表すデータと、一時停止中に検出された位置と姿勢の所定時間分のデータと、を比較し、これらが合致すればゲームを再開し、合致しなければ一時停止を続ける。簡単に言えば、ゲームが一時停止される直前の位置と姿勢を、ゲームの一時停止中にプレイヤーが再現できれば、一時停止が解除され、ゲームが再開される。
【0100】
次に、ゲーム装置300の上記各部が実行するゲーム処理について、図5のフローチャートを用いて説明する。本実施形態では、ゲーム装置300は、楽曲を再生すると共に、プレイヤーが行うべき模範的な動きを示すキャラクター画像410をモニター250に動画表示する。本実施形態のゲーム装置300で行われるゲームは、プレイヤーがキャラクター画像410に倣って体を動かすとダンスを踊っている気分を味わえるダンスゲームである。
【0101】
ゲームを開始する旨の指示を受け付けると、CPU 101は、予め決められたゲーム課題を示す情報を取得する(ステップS501)。また、CPU 101は、楽曲データをハードディスク104から取得する。
【0102】
CPU 101は、ゲームを開始する(ステップS502)。CPU 101は、取得した楽曲データをデコードし、楽曲の再生を開始すると共に、取得したゲーム課題を示す情報に基づいてキャラクター画像410を生成し、キャラクター画像410のモニター250への表示を開始する。キャラクター画像410の仮想空間内における位置と姿勢が、現実空間においてプレイヤーがとるべき位置と姿勢を表す。
【0103】
ゲームを開始すると、入力装置107は所定の定期的なタイミングでプレイヤーの位置と姿勢を繰り返し検出し、CPU 101は検出されたプレイヤーの位置と姿勢を示すデータの所定時間分の履歴をRAM 103に記憶する(ステップS503)。
【0104】
CPU 101は、ステップS501で取得したゲーム課題を示す情報と、ステップS503で検出したプレイヤーの位置と姿勢を示すデータとに基づいて、プレイヤーの成績を判定する(ステップS504)。
【0105】
CPU 101は、ゲームを終了するか否かを判別する(ステップS505)。例えば、CPU 101は、楽曲データのうち現在再生しているデータ部分のアドレスが終端に達した場合、ゲージ450が示す値が所定値以下(典型的にはゼロ)になった場合、もしくはプレイヤーからゲームを終了する旨の指示を受け付けた場合、ゲームを終了すると判別する。
【0106】
ゲームを終了すると判別した場合(ステップS505;YES)、CPU 101は、楽曲データの再生を終了し、動画像によるキャラクター画像410の表示を終了し、ゲーム処理を終了する。
【0107】
一方、ゲームを続行すると判別した場合(ステップS505;NO)、CPU 101は、RAM 103に記憶された履歴に基づいて、進行中のゲームを一時停止するための上述の所定の停止条件が満たされたか否かを判別する(ステップS506)。
【0108】
停止条件が満たされていないと判別した場合(ステップS506;NO)、CPU 101は、ステップS503の処理に戻り、ゲームを続行する。一方、停止条件が満たされたと判別した場合(ステップS506;YES)、CPU 101は、ゲームの進行を一時停止し、記憶された履歴を所定の記憶領域に待避させる(ステップS507)。待避されたデータは、CPU 101がゲームを再開するか否かを決めるための判断材料となる。
【0109】
入力装置107は、ゲームを一時停止している間、プレイヤーの位置と姿勢を検出する(ステップS508)。CPU 101は、検出されたプレイヤーの位置と姿勢を示すデータを取得し、取得したプレイヤーの位置と姿勢を示すデータをRAM 103に記憶する。
【0110】
CPU 101は、ステップS507で待避した履歴のデータと、ステップS508で検出したデータと、が合致するか否かを判別する(ステップS509)。
【0111】
ここで、CPU 101は、ステップS508で取得した“現在の”プレイヤーの位置が、ステップS507で待避した履歴のデータが示す“過去の”プレイヤーの位置と完全一致した場合だけに限らず、これらの位置の差が所定の許容範囲以内に収まっている場合に合致すると判別する。同様に、CPU 101は、ステップS508で取得した“現在の”プレイヤーの姿勢が、ステップS507で待避した履歴のデータが示す“過去の”プレイヤーの姿勢と完全一致した場合だけに限らず、これらの姿勢の差が所定の許容範囲以内に収まっている場合に合致すると判別する。
【0112】
本実施形態では、CPU 101は、位置の差が所定の許容範囲以内であり、且つ、姿勢の差が所定の許容範囲以内である場合に、待避した履歴と一時停止中における検出結果とが合致すると判別する。
【0113】
CPU 101は、ステップS507で待避した履歴のデータとステップS508で取得したデータとが合致しないと判別した場合(ステップS509;NO)、ステップS508の処理に戻り、合致するまでゲームを一時停止したままにする。
【0114】
一方、CPU 101は、ステップS507で待避した履歴のデータとステップS508で取得したデータとが合致すると判別した場合(ステップS509;YES)、一時停止していたゲームを再開する(ステップS510)。そして、CPU 101は、ステップS503の処理に戻り、ゲームを進行させる。
【0115】
本実施形態によれば、プレイヤーは、一時停止と再開が可能なゲームにおいて、より簡単にゲームを一時停止させたり再開させたりできるようになる。また、ゲーム装置300は、プレイヤーがゲームをプレイ中に、不測の事態によりプレイヤーがプレイを続行できなくなったとき、もしくは続行できなくなる恐れがあるとき、自動的にゲームを一時停止して、混乱を回避することができる。
【0116】
(実施形態2)
次に、本発明のその他の実施形態について説明する。本実施形態では、音楽を用いたゲームにおいて、一時停止されたゲームを再開するための条件を音楽に関連付けた条件にしており、プレイヤーがゲームをより再開しやすくなるように工夫している。
【0117】
ゲーム進行部303は、ハードディスク104等から楽曲データを取得し、取得した楽曲データをデコードし、楽曲を再生する。再生される楽曲の音声は、スピーカーから出力される。CPU 101と音声処理部110が協働して、ゲーム進行部303として機能する。
【0118】
図6(a)に示すように、楽曲は複数の小節から構成され、各小節には複数の拍が含まれる。本図では楽曲は4拍子であるが、拍数は任意である。
【0119】
CPU 101は、ゲーム課題が設定される時間を、ゲーム開始からの具体的な秒数などで定義することができるほか、例えばX小節目のY拍目(X,Yは1以上の整数)などといったように、小節と拍を用いて定義することができる。この場合、小節の切れ目や拍のタイミングで、プレイヤーの成績が判定される。例えば図6(b)では、CPU 101は、4拍子の楽曲において、各小節の1拍目と3拍目にゲーム課題611〜619を設定している。ゲーム課題が示す時間を楽曲の小節や拍に合わせることで、プレイヤーはリズムを取りやすくなり、ゲームの興趣性が増す。
【0120】
CPU 101は、拍と拍の間の丁度半分のタイミング、いわゆる“裏拍”に合わせて、ゲーム課題を設定してもよい。
【0121】
CPU 101は、再生される楽曲に含まれる複数の小節のうち所定の継続条件を満たす最後の小節に入力装置107により検出されたプレイヤーの位置と姿勢の履歴をRAM 103に記憶する。この継続条件については後述する。
【0122】
また、CPU 101は、上記実施形態と同様、入力装置107によって検出されたプレイヤーの位置と姿勢に基づいて、進行中のゲームを一時停止したり、一時停止中のゲームを再開したりする。
【0123】
本実施形態では、CPU 101は、小節の切れ目において、ゲームを一時停止する。例えば図6(a)では、CPU 101は、X小節目の1拍目の時刻T1、X+1小節目の1拍目の時刻T2、X+2小節目の1拍目の時刻T3、X+3小節目の1拍目の時刻T4、のいずれかの時刻、もしくはこれらの時刻T1,T2,T3,T4の後に、ゲームを一時停止する可能性がある。
【0124】
また、CPU 101は、ゲーム内の時間が小節の切れ目になると、再生が終わった最後の小節における成績や検出結果などが所定の継続条件を満たすか否かを判別する。所定の継続条件は、ある小節からその次の小節へゲームを進めるか否かを決めるための条件である。例えば図6(a)において、楽曲のX小節目に相当する時間帯が過ぎると、CPU 101は、再生が終わった最後の小節、すなわちX小節目が所定の継続条件を満たすか否かを判別する。CPU 101は、この継続条件を満たすと判別すると、X+1小節目にゲームを進める。一方、CPU 101は、この継続条件を満たさないと判別すると、X小節目の楽曲の再生が終わった後に、ゲームを一時停止する。
【0125】
例えば、CPU 101は、継続条件を、「小節内におけるプレイヤーの成績が所定値以上であること」としてもよい。CPU 101は、ゲーム内の時間がX小節目とX+1小節目の境界の時間T2に達すると、X小節目に含まれるゲーム課題についてプレイヤーの成績を計算し、計算した成績が所定値以上か否かを判別する。X小節目の成績が所定値以上の場合、CPU 101はX小節目が継続条件を満たすと判別し、X+1小節目に含まれるゲーム課題を提示し、ゲームを継続する。一方、X小節目の成績が所定値未満の場合、CPU 101はX小節目が継続条件を満たさないと判別し、X+1小節目に含まれるゲーム課題の成績を判定せず、ゲームを一時停止する。
【0126】
X小節目とX+1小節目の境界上もしくは境界の近傍にゲーム課題が設定されていて、X小節目が継続条件を満たさないと判別された場合、CPU 101は、一旦はその境界上のゲーム課題の成績を暫定的に判定した後、ゲームを一時停止し、その暫定的なゲーム課題の成績をゲーム全体の通算の成績に含めないようにしてもよい。
【0127】
CPU 101は、継続条件を、「小節内におけるプレイヤーの位置の変化量が所定値以上であること」としてもよい。CPU 101は、小節内の任意の2つの時間、例えばX小節目の1拍目と4拍目において検出されたプレイヤーの位置の差を計算し、計算した位置の差が所定値以上か否かを判別する。位置の差が所定値以上の場合、CPU 101はX小節目が継続条件を満たすと判別し、X+1小節目に含まれるゲーム課題を提示し、ゲームを継続する。一方、位置の差が所定値未満の場合、CPU 101はX小節目が継続条件を満たさないと判別し、X+1小節目に含まれるゲーム課題の成績を判定せず、ゲームを一時停止する。
【0128】
CPU 101は、継続条件を、「小節内におけるプレイヤーの姿勢の変化量が所定値以上であること」としてもよい。CPU 101は、小節内の任意の2つの時間、例えばX小節目の1拍目と4拍目において検出されたプレイヤーの姿勢の差を計算し、計算した姿勢の差が所定値以上か否かを判別する。姿勢の差が所定値以上の場合、CPU 101はX小節目が継続条件を満たすと判別し、X+1小節目に含まれるゲーム課題を提示し、ゲームを継続する。一方、姿勢の差が所定値未満の場合、CPU 101はX小節目が継続条件を満たさないと判別し、X+1小節目に含まれるゲーム課題の成績を判定せず、ゲームを一時停止する。
【0129】
CPU 101は、継続条件を、「小節内において上述の停止条件が満たされなかったこと」としてもよい。例えば、上述の停止条件が「プレイヤーの位置と姿勢が検出されなくなったこと」である場合、継続条件は「小節内においてプレイヤーの位置と姿勢がずっと検出され続けていたこと」である。X小節目の期間中プレイヤーの位置と姿勢が検出され続けていた場合、CPU 101は、X小節目が継続条件を満たすと判別し、X小節目の後、ゲームをX+1小節目に進める。一方、X小節目の期間中のいずれかの時間においてプレイヤーの位置と姿勢が検出されなかった時間があった場合、CPU 101は、X小節目が継続条件を満たさないと判別し、X小節目の後、ゲームを一時停止する。
【0130】
CPU 101は、継続条件を、「予め定められた検出期間内における、予め設定されたゲーム課題によって想定されるプレイヤーの位置の想定変化量もしくは姿勢の想定変化量に対する、プレイヤーの位置の変化量もしくは姿勢の変化量の割合が、しきい値以上であること」とすることができる。X小節目の期間中プレイヤーの位置又は姿勢の変化量がしきい値以上であった場合、CPU 101は、X小節目が継続条件を満たすと判別し、X小節目の後、ゲームをX+1小節目に進める。一方、X小節目の期間中プレイヤーの位置又は姿勢の変化量がしきい値未満であった場合、CPU 101は、X小節目が継続条件を満たさないと判別し、X小節目の後、ゲームを一時停止する。
【0131】
なお、ゲームが一時停止されるタイミングは、隣り合う小節同士の境界でもよいし、継続条件が満たされた最後の小節の次の小節内の任意の時間でもよい。
【0132】
上記のように、CPU 101は、再生される楽曲に含まれる複数の小節のうち所定の継続条件を満たす最後の小節に入力装置107により検出されたプレイヤーの位置と姿勢の履歴をRAM 103の所定領域に記憶する。そして、CPU 101は、ゲームが一時停止しているときに検出された位置と姿勢が、RAM 103に記憶された位置と姿勢の履歴と合致した場合、ゲームを再開する。つまり、継続条件を満たす最後の小節に検出されたプレイヤーの動きが、一時停止中にプレイヤーによって再現されれば、ゲームが再開される。
【0133】
ゲームの一時停止中、CPU 101は、RAM 103に記憶されたプレイヤーの位置と姿勢の履歴(継続条件を満たす最後の小節に検出されたプレイヤーの位置と姿勢の履歴)を用いてキャラクター画像410を生成し、生成したキャラクター画像410をモニターに表示する。プレイヤーは、継続条件を満たす最後の小節における自分の動きを確認することができ、ゲームを再開しやすくなる。
【0134】
あるいは、ゲームの一時停止中、CPU 101は、ハードディスク104等に記憶されている、キャラクターの予め決められた位置と姿勢を用いてキャラクター画像410を生成し、生成したキャラクター画像410をモニターに表示してもよい。そして、CPU 101は、ゲームが一時停止しているときに検出された位置と姿勢が、継続条件を満たす最後の小節にプレイヤーがとるべきものと定められた位置と姿勢(ゲーム課題が示す位置と姿勢)と合致した場合、ゲームを再開してもよい。プレイヤーは、継続条件を満たす最後の小節において自分が行うべき動き(ゲーム課題が表す体の動かし方)を確認することができ、ゲームを再開しやすくなる。
【0135】
CPU 101は、継続条件を満たす最後の小節に検出された位置と姿勢の履歴を用いて第1のキャラクター画像を生成すると共に、キャラクターの予め決められた位置と姿勢を用いて第2のキャラクター画像を生成し、第1と第2のキャラクター画像の両方をモニターに表示してもよい。
【0136】
なお、CPU 101は、継続条件を満たす最後の小節だけでなく、継続条件を満たす最後の小節を含む所定個数の小節に検出された位置と姿勢の所定時間分の履歴をRAM 103に記憶し、この記憶した履歴と、一時停止中に検出された所定時間分の位置と姿勢とが合致する場合に、ゲームを再開してもよい。この所定時間の長さは、RAM 103に記憶される履歴に対応する時間長と同じであることが望ましい。
【0137】
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【0138】
上記の各実施形態では、ダンスゲームを例にとって説明したが、ゲーム内容は本発明によって限定されない。
【0139】
上記の各実施形態では、ゲーム装置300は、現実空間におけるプレイヤーの位置と姿勢の両方を検出しているが、位置と姿勢のうち、姿勢のみ検出するようにしてもよい。そして、ゲーム装置300は、ゲームが一時停止する直前のプレイヤーの姿勢の履歴と、一時停止中におけるプレイヤーの姿勢とが合致する場合に、一時停止中のゲームを再開するようにしてもよい。
【0140】
上記のゲーム装置300の全部又は一部としてコンピューターを動作させるためのプログラムを、メモリーカード、CD−ROM、DVD、MO(Magneto Optical disk)などのコンピューター読み取り可能な記録媒体に格納して配布し、これを別のコンピューターにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【0141】
さらに、インターネット上のサーバー装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピューターにダウンロード等するものとしてもよい。
【0142】
以上説明したように、本発明によれば、一時停止と再開が可能なゲームにおいて、プレイヤーがより簡単にゲームを一時停止させたり再開させたりできるようにするために好適なゲーム装置、ゲーム装置の制御方法、ならびに、プログラムを提供することができる。
【符号の説明】
【0143】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 ハードディスク
105 インターフェース
106 外部メモリー
107 入力装置
108 DVD−ROMドライブ
109 画像処理部
110 音声処理部
111 NIC
250 モニター
300 ゲーム装置
301 検出部
302 記憶部
303 ゲーム進行部
410 キャラクター画像
450 ゲージ
611〜619 ゲーム課題

【特許請求の範囲】
【請求項1】
一時停止と再開が可能なゲームを実行するゲーム装置であって、
現実空間におけるプレイヤーの姿勢を検出する検出部と、
前記ゲームが一時停止されていない間に前記検出部により検出された姿勢の履歴を記憶する記憶部と、
前記検出された姿勢に基づいてゲームを進行するゲーム進行部と、
を備え、
前記ゲーム進行部は、
(a)所定の停止条件が満たされた場合、前記ゲームを一時停止し、
(b)前記ゲームが一時停止しているときに、前記検出部により検出された姿勢が前記記憶部に記憶された姿勢の履歴と合致した場合、前記ゲームを再開する、
ことを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置であって、
前記ゲーム進行部は、前記プレイヤーの姿勢が前記検出部により検出されなくなった場合に、前記停止条件が満たされたとする、
ことを特徴とするゲーム装置。
【請求項3】
請求項1に記載のゲーム装置であって、
前記ゲームは、1人のみのプレイヤーが参加するゲームであり、
前記ゲーム進行部は、前記検出部により複数のプレイヤーの姿勢が検出された場合に、前記停止条件が満たされたとする、
ことを特徴とするゲーム装置。
【請求項4】
請求項1に記載のゲーム装置であって、
前記ゲームは、所定の複数のプレイヤーが参加するゲームであり、
前記ゲーム進行部は、前記検出部により前記所定の複数のプレイヤーに含まれない他のプレイヤーの姿勢が新たに検出された場合に、前記停止条件が満たされたとする、
ことを特徴とするゲーム装置。
【請求項5】
請求項1に記載のゲーム装置であって、
前記ゲーム進行部は、検出期間内に前記検出部により検出された姿勢の変化量が所定のしきい値以下である場合に、前記停止条件が満たされたとする、
ことを特徴とするゲーム装置。
【請求項6】
請求項1に記載のゲーム装置であって、
前記ゲーム進行部は、前記検出部により検出された姿勢に基づいて前記プレイヤーの成績を判定し、所定の判定期間内に判定された成績が所定のしきい値以下である場合に、前記停止条件が満たされたとする、
ことを特徴とするゲーム装置。
【請求項7】
請求項1乃至6のいずれか1項に記載のゲーム装置であって、
前記ゲーム進行部は、楽曲を再生し、前記ゲームが一時停止しているときに前記検出部により検出された姿勢が、
(x)前記再生される楽曲に含まれる複数の小節のうち、前記ゲームが一時停止する前であって所定の継続条件を満たす最後の小節の間に検出された姿勢の履歴、もしくは、
(y)前記最後の小節において前記プレイヤーがとるべきものと定められた姿勢、
のいずれかと合致した場合、前記ゲームを再開する、
ことを特徴とするゲーム装置。
【請求項8】
請求項7に記載のゲーム装置であって、
前記ゲーム進行部は、前記複数の小節のそれぞれについて、前記検出部により検出された姿勢の変化量に基づいて、前記小節の間に前記継続条件が満たされるか否かを判別する、
ことを特徴とするゲーム装置。
【請求項9】
請求項7に記載のゲーム装置であって、
前記ゲーム進行部は、前記複数の小節のそれぞれについて、前記小節の間における前記プレイヤーの成績に基づいて、前記小節の間に前記継続条件が満たされるか否かを判別する、
ことを特徴とするゲーム装置。
【請求項10】
請求項1乃至9のいずれか1項に記載のゲーム装置であって、
前記検出部は、現実空間における前記プレイヤーの位置を更に検出し、
前記記憶部は、前記ゲームが一時停止されていない間に前記検出部により検出された位置の履歴を更に記憶し、
前記ゲーム進行部は、前記検出された姿勢と位置に基づいて前記ゲームを進行し、前記ゲームが一時停止しているときに、前記検出部により検出された姿勢と位置が前記記憶部に記憶された姿勢と位置の履歴と合致した場合、前記ゲームを再開する、
ことを特徴とするゲーム装置。
【請求項11】
検出部、記憶部、ゲーム進行部を有し一時停止と再開が可能なゲームを実行するゲーム装置において実行される制御方法であって、
前記検出部が、現実空間におけるプレイヤーの姿勢を検出する検出ステップと、
前記記憶部が、前記ゲームが一時停止されていない間に前記検出ステップで検出された姿勢の履歴を記憶する記憶ステップと、
前記ゲーム進行部が、前記検出された姿勢に基づいてゲームを進行するゲーム進行ステップと、
を備え、
前記ゲーム進行ステップでは、前記ゲーム進行部は、
(a)所定の停止条件が満たされた場合、前記ゲームを一時停止し、
(b)前記ゲームが一時停止しているときに、前記検出された姿勢が前記記憶された姿勢の履歴と合致した場合、前記ゲームを再開する、
ことを特徴とするゲーム装置の制御方法。
【請求項12】
一時停止と再開が可能なゲームを実行するコンピュータを、
現実空間におけるプレイヤーの姿勢を検出する検出部、
前記ゲームが一時停止されていない間に前記検出部により検出された姿勢の履歴を記憶する記憶部、
前記検出された姿勢に基づいてゲームを進行するゲーム進行部、
として機能させ、
前記ゲーム進行部は、
(a)所定の停止条件が満たされた場合、前記ゲームを一時停止し、
(b)前記ゲームが一時停止しているときに、前記検出された姿勢が前記記憶された姿勢の履歴と合致した場合、前記ゲームを再開する、
ことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate