(57)【特許請求の範囲】
【請求項１】
仮想空間内において時間の経過に伴って位置と姿勢とを変化させるキャラクターの当該位置と当該姿勢とが、ゲーム開始からの経過時間に対応付けられて記憶される記憶部と、
ゲーム開始から現在までの経過時間に対応付けられて前記記憶部に記憶される位置と姿勢に基づいて、キャラクターを表すキャラクター画像を生成するキャラクター画像生成部と、
ゲーム開始から現在までの経過時間に正の時間（以下「先行時間」という。）を加算した時間に対応付けられて前記記憶部に記憶される位置であって、現在から前記先行時間が経過した後に配置されるべき前記キャラクターの所定部分の位置を取得する取得部と、
前記取得された位置に配置されるマークオブジェクトを表すマーク画像を生成するマーク画像生成部と、
前記生成されたキャラクター画像と、前記生成されたマーク画像と、を画面に表示する表示部と、
現実空間におけるプレイヤーの位置と姿勢を検知する検知部と、
前記検知された前記現実空間における前記プレイヤーの位置と姿勢と、前記記憶された前記仮想空間における前記キャラクターの位置と姿勢と、に基づいて、前記プレイヤーの成績を判定する成績判定部と、
を備え、
前記取得部は、前記判定された成績に基づいて、前記キャラクターの複数の部位のうちいずれかの部位に前記所定部分を設定する、
ことを特徴とするゲーム装置。
【請求項２】
仮想空間内において時間の経過に伴って位置と姿勢とを変化させるキャラクターの当該位置と当該姿勢とが、ゲーム開始からの経過時間に対応付けられて記憶される記憶部と、
ゲーム開始から現在までの経過時間に対応付けられて前記記憶部に記憶される位置と姿勢に基づいて、キャラクターを表すキャラクター画像を生成するキャラクター画像生成部と、
ゲーム開始から現在までの経過時間に正の時間（以下「先行時間」という。）を加算した時間に対応付けられて前記記憶部に記憶される位置であって、現在から前記先行時間が経過した後に配置されるべき前記キャラクターの所定部分の位置を取得する取得部と、
前記取得された位置に配置されるマークオブジェクトを表すマーク画像を生成するマーク画像生成部と、
前記生成されたキャラクター画像と、前記生成されたマーク画像と、を画面に表示する表示部と、
前記キャラクターの所定部分を指定する指示入力をプレイヤーから受け付ける受付部と、
を備え、
前記取得部は、前記受け付けられた指示入力に応じて、前記キャラクターの複数の部位のうちいずれかの部位に前記所定部分を設定する、
ことを特徴とするゲーム装置。
【請求項３】
請求項１又は２に記載のゲーム装置であって、
前記マーク画像は複数であり、前記マーク画像のそれぞれに対応する先行時間は互いに異なる、
ことを特徴とするゲーム装置。
【請求項４】
請求項３に記載のゲーム装置であって、
それぞれの前記先行時間は等間隔に設定される、
ことを特徴とするゲーム装置。
【請求項５】
請求項４に記載のゲーム装置であって、
前記表示部は、前記先行時間が短い順に前記複数のマーク画像を配置して前記画面に表示する、
ことを特徴とするゲーム装置。
【請求項６】
請求項１乃至５のいずれか１項に記載のゲーム装置であって、
前記マーク画像生成部は、前記仮想空間内に配置される仮想視点の位置から前記キャラクターの所定部分までの距離に応じて、前記マーク画像の大きさを変化させる、
ことを特徴とするゲーム装置。
【請求項７】
請求項１乃至６のいずれか１項に記載のゲーム装置であって、
前記マーク画像生成部は、前記仮想空間内に配置される仮想視点の位置から前記キャラクターの所定部分までの距離に応じて、前記マークオブジェクトの大きさを変化させる、
ことを特徴とするゲーム装置。
【請求項８】
請求項１乃至７のいずれか１項に記載のゲーム装置であって、
前記マーク画像生成部は、前記キャラクターの所定部分の位置の単位時間当たりの変化量、又は、前記キャラクターの所定部分の姿勢の単位時間当たりの変化量に応じて、前記マーク画像の明度、彩度、色相のうち少なくともいずれか１つを変化させる、
ことを特徴とするゲーム装置。
【請求項９】
請求項１乃至８のいずれか１項に記載のゲーム装置であって、
前記表示部は、前記仮想空間内に配置された仮想視点の位置から仮想視線の向きへ前記仮想空間を眺めた様子を表す画像であって、前記生成されたキャラクター画像と、前記生成されたマーク画像と、を含む画像を前記画面に表示する、
ことを特徴とするゲーム装置。
【請求項１０】
請求項９に記載のゲーム装置であって、
前記マーク画像は複数であり、前記マーク画像のそれぞれに対応する先行時間は等しく、
前記表示部は、前記表示される画面において、前記複数のマーク画像のうち一のマーク画像（以下「第１マーク画像」という。）と他の一のマーク画像（以下「第２マーク画像」という。）とが重なる場合、前記第１マーク画像と前記第２マーク画像とが重ならないように、前記仮想視点の位置と前記仮想視線の向きを変化させる、
ことを特徴とするゲーム装置。
【請求項１１】
記憶部、キャラクター画像生成部、取得部、マーク画像生成部、表示部、検知部、成績判定部を備えるゲーム装置にて実行されるゲーム処理方法であって、
前記記憶部には、仮想空間内において時間の経過に伴って位置と姿勢とを変化させるキャラクターの当該位置と当該姿勢とが、ゲーム開始からの経過時間に対応付けられて記憶され、
前記キャラクター画像生成部が、ゲーム開始から現在までの経過時間に対応付けられて前記記憶部に記憶される位置と姿勢に基づいて、キャラクターを表すキャラクター画像を生成するキャラクター画像生成ステップと、
前記取得部が、ゲーム開始から現在までの経過時間に正の時間（以下「先行時間」という。）を加算した時間に対応付けられて前記記憶部に記憶される位置であって、現在から前記先行時間が経過した後に配置されるべき前記キャラクターの所定部分の位置を取得する取得ステップと、
前記マーク画像生成部が、前記取得された位置に配置されるマークオブジェクトを表すマーク画像を生成するマーク画像生成ステップと、
前記表示部が、前記生成されたキャラクター画像と、前記生成されたマーク画像と、を画面に表示する表示ステップと、
前記検知部が、現実空間におけるプレイヤーの位置と姿勢を検知する検知ステップと、
前記成績判定部が、前記検知された前記現実空間における前記プレイヤーの位置と姿勢と、前記記憶された前記仮想空間における前記キャラクターの位置と姿勢と、に基づいて、前記プレイヤーの成績を判定する成績判定ステップと、
を備え、
前記取得ステップでは、前記取得部が、前記判定された成績に応じて、前記キャラクターの複数の部位のうちいずれかの部位に前記所定部分を設定する、
ことを特徴とするゲーム処理方法。
【請求項１２】
記憶部、キャラクター画像生成部、取得部、マーク画像生成部、表示部、検知部、受付部を備えるゲーム装置にて実行されるゲーム処理方法であって、
前記記憶部には、仮想空間内において時間の経過に伴って位置と姿勢とを変化させるキャラクターの当該位置と当該姿勢とが、ゲーム開始からの経過時間に対応付けられて記憶され、
前記キャラクター画像生成部が、ゲーム開始から現在までの経過時間に対応付けられて前記記憶部に記憶される位置と姿勢に基づいて、キャラクターを表すキャラクター画像を生成するキャラクター画像生成ステップと、
前記取得部が、ゲーム開始から現在までの経過時間に正の時間（以下「先行時間」という。）を加算した時間に対応付けられて前記記憶部に記憶される位置であって、現在から前記先行時間が経過した後に配置されるべき前記キャラクターの所定部分の位置を取得する取得ステップと、
前記マーク画像生成部が、前記取得された位置に配置されるマークオブジェクトを表すマーク画像を生成するマーク画像生成ステップと、
前記表示部が、前記生成されたキャラクター画像と、前記生成されたマーク画像と、を画面に表示する表示ステップと、
前記受付部が、前記キャラクターの所定部分を指定する指示入力をプレイヤーから受け付ける受付ステップと、
を備え、
前記取得ステップでは、前記取得部が、前記受け付けられた指示入力に応じて、前記キャラクターの複数の部位のうちいずれかの部位に前記所定部分を設定する、
ことを特徴とするゲーム処理方法。
【請求項１３】
コンピュータを、
仮想空間内において時間の経過に伴って位置と姿勢とを変化させるキャラクターの当該位置と当該姿勢とが、ゲーム開始からの経過時間に対応付けられて記憶される記憶部、
ゲーム開始から現在までの経過時間に対応付けられて前記記憶部に記憶される位置と姿勢に基づいて、キャラクターを表すキャラクター画像を生成するキャラクター画像生成部、
ゲーム開始から現在までの経過時間に正の時間（以下「先行時間」という。）を加算した時間に対応付けられて前記記憶部に記憶される位置であって、現在から前記先行時間が経過した後に配置されるべき前記キャラクターの所定部分の位置を取得する取得部、
前記取得された位置に配置されるマークオブジェクトを表すマーク画像を生成するマーク画像生成部、
前記生成されたキャラクター画像と、前記生成されたマーク画像と、を画面に表示する表示部、
現実空間におけるプレイヤーの位置と姿勢を検知する検知部、
前記検知された前記現実空間における前記プレイヤーの位置と姿勢と、前記記憶された前記仮想空間における前記キャラクターの位置と姿勢と、に基づいて、前記プレイヤーの成績を判定する成績判定部、
として機能させ、
前記取得部は、前記判定された成績に応じて、前記キャラクターの複数の部位のうちいずれかの部位に前記所定部分を設定する、
ことを特徴とするプログラム。
【請求項１４】
コンピュータを、
仮想空間内において時間の経過に伴って位置と姿勢とを変化させるキャラクターの当該位置と当該姿勢とが、ゲーム開始からの経過時間に対応付けられて記憶される記憶部、
ゲーム開始から現在までの経過時間に対応付けられて前記記憶部に記憶される位置と姿勢に基づいて、キャラクターを表すキャラクター画像を生成するキャラクター画像生成部、
ゲーム開始から現在までの経過時間に正の時間（以下「先行時間」という。）を加算した時間に対応付けられて前記記憶部に記憶される位置であって、現在から前記先行時間が経過した後に配置されるべき前記キャラクターの所定部分の位置を取得する取得部、
前記取得された位置に配置されるマークオブジェクトを表すマーク画像を生成するマーク画像生成部、
前記生成されたキャラクター画像と、前記生成されたマーク画像と、を画面に表示する表示部、
前記キャラクターの所定部分を指定する指示入力をプレイヤーから受け付ける受付部、
として機能させ、
前記取得部は、前記受け付けられた指示入力に応じて、前記キャラクターの複数の部位のうちいずれかの部位に前記所定部分を設定する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プレイヤーが体を動かして指示を入力するゲームにおいて、よりスムーズに体を動かせるようにプレイヤーを導くために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
現実空間におけるモデルの動きを１つ又は複数のカメラで撮影したり、周囲に照射した赤外線の飛行時間やその反射波の位相差を用いてモデルまでの距離を計測したりすることによって、モデルの動きを捉える技術がある。最近では、特許文献１のようにゲームの分野に応用し、プレイヤーを撮影してプレイヤーの所定の部位（例えば、頭部、両眼部など）を追尾し、プレイヤーの動きの認識結果をゲームに反映させることも行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４１１７６８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、例えばダンスゲームのように、現実空間においてプレイヤーが体を動かすことによって進行するゲームにおいて、プレイヤーに所定の動きをさせるために、サンプル映像やお手本映像を見せるだけでは、プレイヤーは今どのようなポーズを取るべきなのかが把握できたとしても、次にどのような動きをすべきなのかを把握することは一般に難しく、連続したスムーズな動きをプレイヤーにさせることが難しいことがあった。例えば、立ちながら両膝を曲げるポーズをプレイヤーに単に提示しただけでは、それが屈伸するポーズなのか、それともジャンプする動きの予備動作なのか、そのときになってからでないと分からない、といった不都合があった。
【０００５】
本発明はこのような課題を解決するものであり、プレイヤーが体を動かして指示を入力するゲームにおいて、よりスムーズに体を動かせるようにプレイヤーを導くために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００７】
本発明の第１の観点に係るゲーム装置は、記憶部、キャラクター画像生成部、取得部、マーク画像生成部、表示部を備える。
記憶部には、仮想空間内において時間の経過に伴って位置と姿勢とを変化させるキャラクターの当該位置と当該姿勢とが、ゲーム開始からの経過時間に対応付けられて記憶される。
キャラクター画像生成部は、ゲーム開始から現在までの経過時間に対応付けられて記憶部に記憶される位置と姿勢に基づいて、キャラクターを表すキャラクター画像を生成する。
取得部は、ゲーム開始から現在までの経過時間に正の時間（以下「先行時間」という。）を加算した時間に対応付けられて記憶部に記憶される位置であって、現在から先行時間が経過した後に配置されるべきキャラクターの所定部分の位置を取得する。
マーク画像生成部は、取得された位置に配置されるマークオブジェクトを表すマーク画像を生成する。
表示部は、生成されたキャラクター画像と、生成されたマーク画像と、を画面に表示する。
【０００８】
本発明のゲーム装置にて実行されるゲームは、例えばダンスゲームのように、現実空間のプレイヤーが、仮想空間に配置されるキャラクターオブジェクト（単に「キャラクター」という。）の動きを参考にしながら体を動かすゲームである。ただし、ゲーム内容は本発明によって限定されない。仮想空間には、キャラクターのほか、現在から先行時間経過した後におけるキャラクターの所定部分の位置にマークオブジェクトが配置される。例えば、ダンスゲームにおいて、キャラクターはプレイヤーにダンスの手本を提示するヒト型のインストラクターの形をしており、キャラクターの所定部分はキャラクターの“手の先”や“足の先”などである。
【０００９】
ゲームには、ゲーム開始からの時間と対応付けて、プレイヤーがその時間にクリアすべき課題（ゲーム課題）が予め用意されている。画面には、時間の経過と共に位置や姿勢が変化するキャラクターを表すキャラクター画像が表示される。キャラクターの位置と姿勢は、プレイヤーが今達成すべきゲーム課題を表す。画面に表示される画像は、仮想視点の位置から仮想視線の向きへキャラクターを含む仮想空間を眺めた様子を仮想投影面に投影した画像である。
【００１０】
さらに、画面には、現在から先行時間経過した後におけるキャラクターの所定部分の位置に、マーク画像が表示される。マーク画像は、仮想視点の位置から仮想視線の向きへマークオブジェクトを眺めた様子を仮想投影面に投影して得られる画像である。マークオブジェクトの形状は任意である。例えば、マークオブジェクトの形状が球形であるとすると、マークオブジェクトを仮想投影面に投影して得られるマーク画像の形状は、円形である。仮想空間内をキャラクターが動くのに伴って、キャラクター画像の位置や形状だけでなく、マーク画像の画面内における位置も変化する。マーク画像の位置は、現在から先行時間経過した後にプレイヤーが達成すべきゲーム課題のヒントとなる。
【００１１】
つまり、ゲーム装置は、プレイヤーが今達成すべきゲーム課題を提示するだけでなく、現在から先行時間経過した後に提示されることになるゲーム課題の一部を提示する。プレイヤーは、キャラクター画像の位置と姿勢を見れば、いま体をどのように動かすべきなのかを把握でき、マーク画像の位置を見れば、現在から先行時間経過した後に体の一部分をどのように動かすべきなのかを把握することができる。プレイヤーは、将来どのように体を動かすことになるのかを念頭に置きながら、体を動かすことができる。従って、本発明によれば、プレイヤーは、よりスムーズに体を動かせるようになる。ゲーム装置は、よりスムーズに体を動かせるようにプレイヤーを導くことができる。
【００１２】
マーク画像は複数であってもよく、マーク画像のそれぞれに対応する先行時間は互いに異なっていてもよい。
【００１３】
つまり、現実空間において今から先行時間経過したときに所定部分が存在すべるべき位置が、プレイヤーに複数提供される。画面には、例えば、今プレイヤーがいるべき位置と姿勢を表すキャラクターと共に、Ｘ秒後にプレイヤーの手の先があるべき位置を表すマーク画像、Ｙ秒後にプレイヤーの手の先があるべき位置を表すマーク画像、Ｎ秒後にプレイヤーの手の先があるべき位置を表すマーク画像、などが表示される。従って、プレイヤーは、将来クリアすべきゲーム課題をより詳しく知ることができる。そして、ゲーム装置がよりスムーズに体を動かせるようにプレイヤーを導くことができるという効果が増す。
【００１４】
それぞれの先行時間は等間隔に設定されてもよい。
【００１５】
本発明によれば、例えば、先行時間が、５秒後・１０秒後・１５秒後や、１小節後・２小節後・３小節後、などのように、プレイヤーが把握しやすい時間間隔で設定される。従って、プレイヤーは、将来クリアすべきゲーム課題をより詳しく且つより明確に知ることができる。
【００１６】
表示部は、先行時間が短い順に複数のマーク画像を配置して画面に表示してもよい。
【００１７】
つまり、マーク画像は、時系列順に重ねて表示される。本発明によれば、プレイヤーは、将来時間の経過と共にどのように体を動かせばよいのかを明瞭に把握できる。
【００１８】
マーク画像生成部は、仮想空間内に配置される仮想視点の位置からキャラクターの所定部分までの距離に応じて、マーク画像の大きさを変化させてもよい。
【００１９】
例えば、仮想視点の位置に近いほどマーク画像を大きくすると、プレイヤーは、マーク画像が大きければ、体の所定部分を前に出せばよいことがすぐ分かる。プレイヤーは、遠近感を捉えやすくなる。そして、ゲーム装置がよりスムーズに体を動かせるようにプレイヤーを導くことができるという効果が増す。
【００２０】
マーク画像生成部は、仮想空間内に配置される仮想視点の位置からキャラクターの所定部分までの距離に応じて、マークオブジェクトの大きさを変化させてもよい。
【００２１】
例えば、仮想空間内において仮想視点の位置に近いほどマークオブジェクトを大きくすると、仮想視点の位置から仮想視線の向きへマークオブジェクトを眺めた様子を仮想投影面に投影して得られるマーク画像は、マークオブジェクトが仮想視点に近いとき、マークオブジェクトの大きさを一定にした場合よりも更に大きく表示される。一般に、目に近いものほど大きく見えるが、本発明では、マークオブジェクトそのものの大きさを変えることにより、遠近感が誇張して表現される。プレイヤーは、キャラクターの奥行きを捉えやすくなる。そして、ゲーム装置がよりスムーズに体を動かせるようにプレイヤーを導くことができるという効果が増す。
【００２２】
マーク画像生成部は、キャラクターの所定部分の位置の単位時間当たりの変化量、又は、キャラクターの所定部分の姿勢の単位時間当たりの変化量に応じて、マーク画像の明度、彩度、色相のうち少なくともいずれか１つを変化させてもよい。
【００２３】
つまり、所定部分の位置の変化量に応じて、あるいは、所定部分の姿勢の変化量に応じて、マーク画像の明るさや色彩が変化する。プレイヤーは、マーク画像の明るさや色彩の変化の度合いを見れば、マークオブジェクトが仮想視点に近づいているのか遠ざかっているのかを簡単に把握することができる。本発明によれば、ゲーム装置がよりスムーズに体を動かせるようにプレイヤーを導くことができるという効果が増す。
【００２４】
表示部は、仮想空間内に配置された仮想視点の位置から仮想視線の向きへ仮想空間を眺めた様子を表す画像であって、生成されたキャラクター画像と、生成されたマーク画像と、を含む画像を画面に表示してもよい。
【００２５】
本発明によれば、仮想空間内の様子をより立体的に表現でき、より現実感のある画像を表示することができる。
【００２６】
マーク画像は複数であってもよく、マーク画像のそれぞれに対応する先行時間は等しくてもよい。
そして、表示部は、表示される画面において、複数のマーク画像のうち一のマーク画像（以下「第１マーク画像」という。）と他の一のマーク画像（以下「第２マーク画像」という。）とが重なる場合、第１マーク画像と第２マーク画像とが重ならないように、仮想視点の位置と仮想視線の向きを変化させてもよい。
【００２７】
例えば、所定部分として、右手と左手といったように、キャラクターの複数の部位を設定することができる。このとき、１つの先行時間に対応して、複数のマーク画像が画面に表示される。しかし、キャラクターの位置や姿勢、及び、仮想視点の位置や仮想視線の向きによっては、マーク画像同士が重なって見えてしまうことがある。そこで、本発明では、マーク画像同士が重なって見えることのないように、仮想視点の位置と仮想視線の向きを変化させることとしている。本発明によれば、マーク画像が見やすいように、仮想視点と仮想視線が変化するので、プレイヤーにとってマーク画像の区別が付きづらくなったり見づらくなったりしてしまうことを防ぐことができ、ゲーム装置がよりスムーズに体を動かせるようにプレイヤーを導くことができるという効果が増す。
【００２８】
本発明のその他の観点に係るゲーム処理方法は、記憶部、キャラクター画像生成部、取得部、マーク画像生成部、表示部を備えるゲーム装置にて実行されるゲーム処理方法であって、キャラクター画像生成ステップ、取得ステップ、マーク画像生成ステップ、表示ステップを備える。
記憶部には、仮想空間内において時間の経過に伴って位置と姿勢とを変化させるキャラクターの当該位置と当該姿勢とが、ゲーム開始からの経過時間に対応付けられて記憶される。
キャラクター画像生成ステップでは、キャラクター画像生成部が、ゲーム開始から現在までの経過時間に対応付けられて記憶部に記憶される位置と姿勢に基づいて、キャラクターを表すキャラクター画像を生成する。
取得ステップでは、取得部が、ゲーム開始から現在までの経過時間に正の時間（以下「先行時間」という。）を加算した時間に対応付けられて記憶部に記憶される位置であって、現在から先行時間が経過した後に配置されるべきキャラクターの所定部分の位置を取得する。
マーク画像生成ステップでは、マーク画像生成部が、取得された位置に配置されるマークオブジェクトを表すマーク画像を生成する。
表示ステップでは、表示部が、生成されたキャラクター画像と、生成されたマーク画像と、を画面に表示する。
【００２９】
本発明によれば、プレイヤーは、よりスムーズに体を動かせるようになる。ゲーム装置は、よりスムーズに体を動かせるようにプレイヤーを導くことができる。
【００３０】
本発明のその他の観点に係るプログラムは、コンピュータを、記憶部、キャラクター画像生成部、取得部、マーク画像生成部、表示部とし機能させる。
記憶部には、仮想空間内において時間の経過に伴って位置と姿勢とを変化させるキャラクターの当該位置と当該姿勢とが、ゲーム開始からの経過時間に対応付けられて記憶される。
キャラクター画像生成部は、ゲーム開始から現在までの経過時間に対応付けられて記憶部に記憶される位置と姿勢に基づいて、キャラクターを表すキャラクター画像を生成する。
取得部は、ゲーム開始から現在までの経過時間に正の時間（以下「先行時間」という。）を加算した時間に対応付けられて記憶部に記憶される位置であって、現在から先行時間が経過した後に配置されるべきキャラクターの所定部分の位置を取得する。
マーク画像生成部は、取得された位置に配置されるマークオブジェクトを表すマーク画像を生成する。
表示部は、生成されたキャラクター画像と、生成されたマーク画像と、を画面に表示する。
【００３１】
本発明によれば、コンピュータを上述のように動作するゲーム装置として機能させることができる。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００３２】
本発明によれば、プレイヤーが体を動かして指示を入力するゲームにおいて、よりスムーズに体を動かせるようにプレイヤーを導くために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図２】情報処理装置の外観を模式的に表す図である。
【図３】ゲーム装置の機能的な構成を説明するための図である。
【図４】キャラクター画像を表す図である。
【図５】マーク画像を表す図である。
【図６】キャラクター画像とマーク画像を合成してできる画像を表す図である。
【図７】キャラクター画像と、複数の先行時間のそれぞれに対応するマーク画像と、を表す図である。
【図８】キャラクター画像と、複数の先行時間のそれぞれに対応するマーク画像と、を表す図である。
【図９】キャラクター画像と、複数の先行時間のそれぞれに対応するマーク画像と、を表す図である。
【図１０】ゲーム処理を説明するためのフローチャートである。
【図１１】実施形態２において、仮想空間内に配置されるキャラクターとマークオブジェクトを表す図である。
【図１２】キャラクター画像とマーク画像を合成してできる画像を表す図である。
【図１３】キャラクター画像とマーク画像を合成してできる画像を表す図である。
【図１４】（ａ）実施形態３において、キャラクターの所定部分の位置の変化を説明するための図である。（ｂ）キャラクターの所定部分の姿勢の変化を説明するための図である。
【図１５】キャラクターの所定部分の移動速度と、マーク画像の明度と、の関係を示す図である。
【図１６】実施形態４において、キャラクター画像と、複数の先行時間のそれぞれに対応し軌跡として描かれるマーク画像と、を表す図である。
【図１７】仮想視点の位置と仮想視線の向きの両方を変化させる様子を模式的に表した図である。
【図１８】仮想視点の位置と仮想視線の向きを変化させた後における、キャラクター画像と、複数の先行時間のそれぞれに対応し軌跡として描かれるマーク画像と、を表す図である。
【図１９】マーク画像が示すように所定部分が移動した後におけるキャラクター画像を表す図である。
【図２０】ゲーム処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００３４】
本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００３５】
（実施形態１）
図１は、本発明のゲーム装置の機能を果たす典型的な情報処理装置１００の概要構成を示す模式図である。
【００３６】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、ハードディスク１０４と、インターフェース１０５と、外部メモリ１０６と、入力装置１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disk - Read Only Memory）ドライブ１０８と、画像処理部１０９と、音声処理部１１０と、ＮＩＣ（Network Interface Card）１１１と、を備える。
【００３７】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着し、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置が実現される。
【００３８】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、ＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて、レジスタという高速アクセスが可能な記憶領域に記憶されたデータの加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、ＣＰＵ  １０１は、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行うことができるコプロセッサを備える。
【００３９】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録される。ＩＰＬがＣＰＵ  １０１によって実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムがＲＡＭ  １０３に読み出され、ＣＰＵ  １０１による起動処理が開始される。
【００４０】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、例えば、ＤＶＤ−ＲＯＭから読み出されたプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００４１】
ハードディスク１０４は、情報処理装置１００全体の動作制御に必要なオペレーティングシステム（ＯＳ）のプログラムや各種のゲームデータ等を格納する。ＣＰＵ  １０１は、ハードディスク１０４に記憶される情報を随時書き換えることができる。
【００４２】
インターフェース１０５を介して着脱自在に接続された外部メモリ１０６には、ゲームのプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワークを用いた他の装置との通信のログ（記録）のデータなどが記憶される。ＣＰＵ  １０１は、外部メモリ１０６に記憶される情報を随時書き換えることができる。また、情報処理装置１００は、インターフェース１０５を介して、増設用のハードディスクを接続することができる。
【００４３】
入力装置１０７は、図２に示すように、ゲーム画面が表示されるモニター２５０付近に設置される。入力装置１０７は、ユーザの様子などを撮影するカメラを備える。ＣＰＵ  １０１は、カメラによって撮影された画像を表す画像データを解析し、画像に含まれるユーザの部位（例えばユーザの手、足、顔など）を判別する。画像解析の手法には、例えば、パターン認識による解析、特徴点の抽出による解析、空間周波数の算出による解析などがある。カメラによる撮影は、ゲーム中に継続的に行われる。
【００４４】
また、入力装置１０７は、入力装置１０７からユーザ（もしくはユーザの任意の部位）までの距離を測定する深度センサーを備える。例えば、入力装置１０７は、赤外線を周囲に照射し、この赤外線の反射波を検知する。そして、入力装置１０７は、照射波と反射波との位相差や、赤外線が発射されてからその反射光が検知されるまでの時間（飛行時間）に基づいて、照射波の発射口から照射波を反射した物体までの距離（以下「深度」ともいう。）を求める。深度センサーによる深度の検知は、赤外線を発射可能な方向のそれぞれについて、所定の時間間隔で繰り返し行われる。
【００４５】
深度センサーを備えることにより、情報処理装置１００は、現実空間に配置された物体の３次元的な位置や形状をより詳しく把握することが可能になる。具体的には、ＣＰＵ  １０１が第１の時刻に取得された第１の画像データと第２の時刻に取得された第２の画像データとを画像解析した結果、第１の画像データと第２の画像データの両方にユーザの頭部を表す部分が含まれていることを判別したとする。ＣＰＵ  １０１は、第１の画像データ内における頭部の位置と、第２の画像データ内における頭部の位置と、の変化から、カメラから見てユーザの頭部が上下左右のどの方向にどの程度動いたのかを判別することができるだけでなく、第１の画像データにおける頭部の深度と、第２の画像データ内における頭部の深度と、の変化から、カメラから見てユーザの頭部が前後のどちらの方向にどの程度動いたのか（どの程度カメラに近づいたりカメラから遠ざかったりしたのか）を判別することもできる。
【００４６】
このように、ＣＰＵ  １０１は、入力装置１０７が備えるカメラによって撮影された画像と、入力装置１０７が備える深度センサーによって測定された距離（深度）と、に基づいて、いわゆるモーションキャプチャーのように、現実空間におけるユーザの３次元的な動きをデジタル化して把握することができる。
【００４７】
例えば、ボーリングゲームにおいて、プレイヤーがモニター２５０画面の前（つまり入力装置１０７の前）でボールを投げるモーションをすると、ＣＰＵ  １０１は、プレイヤーがボールを投げるモーションを行ったことを認識することができる。そして、ＣＰＵ  １０１は、認識したモーションに応じて、ゲームを進行することができる。つまり、プレイヤーは、タッチパッド型のコントローラなどを持つことなく、自分の体を自由に動かすことによって、所望の指示を入力することができる。入力装置１０７は、プレイヤーからの指示入力を受け付ける、いわゆる“コントローラ”の役割を果たす。
【００４８】
撮影された画像を表すデジタルの画像データは、複数の画素の集合である。典型的には、画素のそれぞれに三原色（Ｒ，Ｇ，Ｂ）の強度を表す値が対応付けられる。画像深度センサーにより各方向の深度が測定されるということは、実質的には、１つの画素が、赤（Ｒ），緑（Ｇ），青（Ｂ）に加えて、深度（Ｄ）というもう一次元を用いて表されることを意味する。
【００４９】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データなどが予め記録される。ＤＶＤ−ＲＯＭドライブ１０８は、ＣＰＵ  １０１の制御によって、装着されたＤＶＤ−ＲＯＭに記録されたプログラムやデータを読み出す。ＣＰＵ  １０１は、読み出されたプログラムやデータをＲＡＭ  １０３等に一時的に記憶する。
【００５０】
画像処理部１０９は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０９が備える画像演算プロセッサ（図示せず）によって加工処理した後、画像処理部１０９が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され、画像処理部１０９に接続されるモニター２５０へ出力される。
【００５１】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。また、画像演算プロセッサは、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００５２】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報に従って、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００５３】
また、ＣＰＵ  １０１と画像演算プロセッサがＤＶＤ−ＲＯＭに予め格納された画像データをフレームメモリに書き込むことによって、ゲームの様子などを画面に表示することができる。画像データをフレームメモリに書き込み表示させる処理を、定期的なタイミング（典型的には垂直同期割り込み（ＶＳＹＮＣ）のタイミング）で繰り返し行うことにより、モニター２５０にアニメーションを表示することが可能になる。
【００５４】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、スピーカーから出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲などの音声データを生成し、生成された音声データをデコードすることにより、様々な音声をスピーカーから出力させる。
【００５５】
音声処理部１１０は、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、音声処理部１１０が有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、音声処理部１１０は、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）形式やOgg Vorbis形式等により圧縮された音声データである場合には、圧縮された音声データをＰＣＭデータに変換する。ＰＣＭデータは、サンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカーに出力することにより、音声出力が可能となる。
【００５６】
ＮＩＣ  １１１は、情報処理装置１００をインターネット等のコンピュータ通信網に接続する。ＮＩＣ  １１１は、例えば、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）と、から構成される。
【００５７】
次に、上記構成を有する情報処理装置１００により実現される、本実施形態のゲーム装置３００の機能的な構成等について説明する。
【００５８】
本実施形態のゲーム装置３００において実行されるゲームはダンスゲームである。ＣＰＵ  １０１は、ゲームを開始すると、ダンス用の楽曲を再生すると共に、プレイヤーが達成すべきゲーム課題をプレイヤーに順々に提示する。ゲーム課題は、ゲーム内時刻と、現実空間においてプレイヤーがいるべき位置と取るべき姿勢とを表すデータと、が対応付けられることにより定義される。ＣＰＵ  １０１は、ゲーム課題の内容を反映したキャラクターオブジェクト（以下、単に「キャラクター」という。本実施形態ではダンスのインストラクターの姿をしている。）をモニター２５０に表示する。ＣＰＵ  １０１は、そのキャラクターの位置や姿勢を変化させることにより、プレイヤーにゲーム課題を提示する。
【００５９】
プレイヤーは、モニター２５０に動画で表示されるキャラクターの動きを参考にしながら自分の体を動かす。プレイヤーの体の動きが入力装置１０７によって検知される。例えば、プレイヤーの両手の位置と向き、プレイヤーの両足の位置と向き、プレイヤーの頭の位置と向きなどがＣＰＵ  １０１によって識別される。そして、この識別結果に基づいて、予め設定されたゲーム課題通りにプレイヤーが手、足、頭などを動かしたか否かが、つまりプレイヤーの成績が、ＣＰＵ  １０１によって判定される。プレイヤーは、キャラクターの動きを参考にして体を動かせば、楽曲に合わせてダンスを踊っている感覚を味わうことができる。
【００６０】
図３は、本実施形態のゲーム装置３００の機能的な構成を示す図である。ゲーム装置３００は、記憶部３０１、キャラクター画像生成部３０２、取得部３０３、マーク画像生成部３０４、表示部３０５を備える。
【００６１】
記憶部３０１は、仮想空間内おいて時間の経過に伴って位置と姿勢とを変化させるキャラクターの位置と姿勢とを、ゲーム開始からの経過時間に対応付けて記憶する。ハードディスク１０４が、記憶部３０１として機能する。
【００６２】
キャラクターの位置は、仮想空間内に予め定義されるグローバル座標系を用いた座標値によって表される。キャラクターの位置として、キャラクターの代表点の座標値が用いられる。代表点は、例えば、キャラクターの重心点である。キャラクターの姿勢は、グローバル座標系におけるベクトル、もしくはキャラクターを構成する複数の点の座標値の組み合わせによって表される。
【００６３】
ハードディスク１０４には、ゲームの開始時刻Ｔ０におけるキャラクターの位置と姿勢を定義するデータ、開始時刻から所定時間ΔＴ経過後の時刻Ｔ１（＝Ｔ０＋ΔＴ）におけるキャラクターの位置と姿勢を定義するデータ、時刻Ｔ１から更に所定時間ΔＴ経過後の時刻Ｔ２（＝Ｔ１＋ΔＴ）におけるキャラクターの位置と姿勢を定義するデータ、などが格納されている。キャラクターは、ハードディスク１０４に予め記憶された位置と姿勢を定義するデータに基づいて、ＣＰＵ  １０１と画像処理部１０９の制御により動く。
【００６４】
所定時間ΔＴの長さは、典型的には垂直同期割り込み（ＶＳＹＮＣ）に相当する時間長である。それぞれの時刻における位置と姿勢を定義するデータに基づいて、ＣＰＵ  １０１が順々にキャラクターの位置と姿勢を変化させていけば、キャラクターのアニメーション画像がモニター２５０に表示されることになる。
【００６５】
本実施形態では、キャラクターの位置と姿勢を定義するデータのそれぞれの時間間隔は等間隔になるように定義されている。ただし、これらの時間間隔は必ずしも等しくなくてもよい。例えば、キャラクターの動きが速いシーンや“決めポーズ”のあたりでは時間間隔を狭くして細かく描写する一方、キャラクターの動きが遅いシーンやしばらく静止するシーンなどでは時間間隔を広くして簡略化して描写してもよい。このようにすれば、ハードディスク１０４に予め記憶すべきデータの量を減らすことができる。また、見る側のプレイヤーにとっては、シーンごとにメリハリの効いた分かりやすい画像を見ることができる、という効果もある。
【００６６】
キャラクター画像生成部３０２は、ゲーム開始から現在までの経過時間に対応付けられて記憶部３０１に記憶される位置と姿勢に基づいて、キャラクターを表す画像（以下「キャラクター画像」という。）を生成する。ＣＰＵ  １０１と画像処理部１０９が協働して、キャラクター画像生成部３０２として機能する。
【００６７】
すなわち、ＣＰＵ  １０１は、リアルタイムクロック（ＲＴＣ）で時刻を計時し、ゲームの開始時刻と現在時刻との差分（つまりゲーム開始からの経過時間）を計算する。ＣＰＵ  １０１は、計算された経過時間に対応付けられて記憶された位置と姿勢を定義するデータをハードディスク１０４から読み出す。そして、ＣＰＵ  １０１は、読み出した位置に、読み出した姿勢で、キャラクターを配置した画像を、生成する。生成された画像は、モニター２５０に表示される。
【００６８】
本実施形態では、キャラクター４１０は、プレイヤーから見て自分の鏡写しになるような動きをする。つまり、キャラクター４１０の右足（プレイヤーからみて左側に見える足）が前に出た場合には、プレイヤーは、自分の左足を前に出せばよい。
【００６９】
取得部３０３は、ゲーム開始から現在までの経過時間に正の時間（以下「先行時間」という。）を加算した時間に対応付けられて記憶部３０１に記憶される位置であって、現在からこの先行時間が経過した後に配置されるべきキャラクターの所定部分の位置を取得する。ＣＰＵ  １０１とハードディスク１０４が協働して、取得部３０３として機能する。
【００７０】
ここで、キャラクターの“所定部分”とは、例えばキャラクターの形状がヒト型である場合には、キャラクターの手の先（指の先）や足の先（つま先）などである。ただし、キャラクターの形状はヒト型に限らず任意である。所定部分は、キャラクター中、位置の変化量もしくは姿勢の変化量が比較的大きいと予想される部位であることが望ましい。また、ゲーム制作者がプレイヤーに特に注目して欲しい部分を“所定部分”に設定するとよい。
【００７１】
また、先行時間の長さは、例えば、現在時刻からＸ秒経過した（未来の）時刻というように、あるいは、現在の割り込み（ＶＳＹＮＣ）からＸ回後の割り込みというように、予め決められる値である。
【００７２】
キャラクターの表面は、典型的には三角形や四角形の形状をした複数のプリミティブを網目状に繋げてできるポリゴンで表される。本実施形態では、ＣＰＵ  １０１は、キャラクターの表面を表すポリゴンのうち、現在から先行時間だけ未来に配置される両手の先の部分に相当するポリゴンの位置座標を取得する。
【００７３】
マーク画像生成部３０４は、取得部３０３によって取得された位置に配置されるマークオブジェクトを表すマーク画像を生成する。仮想空間内にマークオブジェクトが配置され、この配置されたマークオブジェクトを仮想空間内の仮想視点の位置から仮想視線の向きに眺めたときの様子を表す画像がマーク画像である。ＣＰＵ  １０１と画像処理部１０９が協働して、マーク画像生成部３０４として機能する。
【００７４】
本実施形態では、マークオブジェクトは、周囲と比べてより明るく輝く“光の球”である。マークオブジェクトの明度は他のオブジェクトの明度よりも相対的に大きく設定され、プレイヤーから見てマークオブジェクトを表すマーク画像が一際目立つようになっている。
【００７５】
表示部３０５は、キャラクター画像生成部３０２によって生成されたキャラクター画像と、マーク画像生成部３０４によって生成されたマーク画像と、を合成した画像を、モニター２５０に表示する。ＣＰＵ  １０１と画像処理部１０９が協働して、表示部３０５として機能する。
【００７６】
ここで、モニター２５０に表示される画像の生成工程について、図面を用いて順を追って説明する。
【００７７】
図４は、キャラクター画像生成部３０２によって生成されるキャラクター画像４１０を表す図である。キャラクター画像４１０は、プレイヤーが現在いるべき位置と現在取るべき姿勢を表す。本図の場合、ＣＰＵ  １０１は、現実空間において入力装置１０７によって得られるプレイヤーの位置と姿勢の検知結果から、プレイヤーがキャラクター画像４１０が示すように両足を少し広げて両腕を降ろすポーズをしていると判断すると、プレイヤーの成績が優れていると判定し、ゲージ４５０が示す値を増やす。一方、ＣＰＵ  １０１は、プレイヤーがキャラクター画像４１０と異なる位置又は異なる姿勢であると判断すると、プレイヤーの成績が劣っていると判定し、ゲージ４５０が示す値を減らす。なお、ＣＰＵ  １０１は、ゲージ４５０が示す値が所定値（典型的にはゼロ）以下になると、ゲームを終了する。
【００７８】
図５は、マーク画像生成部３０４によって生成されるマーク画像４３１（本図では４３１Ａ，４３１Ｂの２つ）を表す図である。マーク画像４３１は１つだけであってもよいし、図５に示すように２つ以上であってもよい。本実施形態では、ＣＰＵ  １０１は、現在から先行時間経過した後における、キャラクターの右手（プレイヤーから向かって左側の手）の先の位置に対応するマークオブジェクトを表すマーク画像４３１Ａと、キャラクターの左手（プレイヤーから向かって右側の手）の先の位置に対応するマークオブジェクトを表すマーク画像４３１Ｂと、を生成する。
【００７９】
マーク画像４３１Ａ，４３１Ｂは、現在時刻から所定の先行時間経過後（Ｘ秒後）の未来にキャラクターの両手の先が配置されることになる画面内の位置に表示される。図５には、先行時間後のキャラクター画像４２０を記載しているが、これは本発明を分かりやすくするために記載したものであり、先行時間後のキャラクター画像４２０はモニター２５０には表示されない。
【００８０】
図４に示したキャラクター画像４１０に、図５に示したマーク画像４３１Ａ，４３１Ｂを重ねることによって得られる画像を、図６に示す。マーク画像４３１Ａは、キャラクターの右手の先が示す位置６０１Ａ（プレイヤーが現在左腕を配置すべき位置）よりも少し上側に配置され、マーク画像４３１Ｂは、キャラクターの左手の先が示す位置６０１Ｂ（プレイヤーが現在右腕を配置すべき位置）よりも少し上側に配置されている。プレイヤーは、キャラクター画像４１０とマーク画像４３１Ａ，４３１Ｂを見れば、キャラクターがこれから両腕を上げる動きをすることが一目で“予見”できる。つまり、プレイヤーは、自分が現在両腕を下げているものの、これから両腕を上げることになる旨を容易に把握することができる。プレイヤーは、キャラクター画像４１０とマーク画像４３１Ａ，４３１Ｂを見れば、将来の動きを踏まえて、連続した動きをしやすくなる。
【００８１】
図５，６では、１つのみの先行時間に対応するマーク画像４３１Ａ，４３１Ｂが示されているが、複数の先行時間に対応するマーク画像が含まれていてもよい。すなわち、ＣＰＵ  １０１は、ゲーム開始から現在までの経過時間Ｔに第１の先行時間ΔＴ１を加算した時間（＝Ｔ＋ΔＴ１）に対応付けて記憶されるキャラクターの所定部分の位置と、ゲーム開始から現在までの経過時間Ｔに第２の先行時間ΔＴ２（≠ΔＴ１）を加算した時間（＝Ｔ＋Δ２）に対応付けて記憶されるキャラクターの所定部分の位置と、を取得し、それぞれの時間に対応するマークオブジェクトを仮想空間内に配置し、このマークオブジェクトを表すマーク画像を別途生成して表示してもよい。
【００８２】
例えば図７には、３つの先行時間ΔＴ１，ΔＴ２，ΔＴ３に対応する３種類のマーク画像４３１Ａ，４３１Ｂ、４３２Ａ，４３２Ｂ、４３３Ａ，４３３Ｂが含まれている。ＣＰＵ  １０１は、第１の先行時間ΔＴ１に対応するマーク画像４３１Ａ，４３１Ｂと、第２の先行時間ΔＴ２に対応するマーク画像４３２Ａ，４３２Ｂと、第３の先行時間ΔＴ３に対応するマーク画像４３３Ａ，４３３Ｂと、を生成する。ただし、ΔＴ１＜ΔＴ２＜ΔＴ３である。つまり、プレイヤーは、キャラクターがこれから両腕を頭のあたりまでだんだんと上げていくポーズをとることを容易に把握できる。
【００８３】
より多くの先行時間を設け、各先行時間に対応するマーク画像を表示することにより、プレイヤーが連続的な動きを取りやすくなる効果を高めることができる。多くのマーク画像を同時に表示すると、図８に示すように、プレイヤーからは、マーク画像４４０Ａ，４４０Ｂが軌跡を描くように連続的に見えるようになる。プレイヤーは、マーク画像４４０Ａ，４４０Ｂによって表現されるラインに沿うように自分の体を動かせば良いので、連続した動きをしやすくなるという効果が増す。
【００８４】
図９は、図８に示す画像が表示された後の時間に生成される画像を示す。この画像が表示されたタイミングでは、プレイヤーは、両手を左右に水平に伸ばすポーズをすべきである。また、マーク画像４４０Ａ，４４０Ｂが描くラインは、キャラクターの頭上へ向かっていることから、プレイヤーは、両手を水平に伸ばした後、更に両手を頭上へ輪を描くように回すべきである、というゲーム課題を直感的に把握することができる。
【００８５】
先行時間を複数設ける場合、ＣＰＵ  １０１は、それぞれの先行時間を等間隔に設定してもよい。例えば、１秒後の手の位置を表す第１のマーク画像、２秒後の手の位置を表す第２のマーク画像、Ｎ秒後のポーズを表す第Ｎのマーク画像（Ｎは２以上の整数）をモニター２５０に一緒に表示することとすれば、プレイヤーは、時間の流れと共にこれから行うべき動作をより細かく把握することができるようになる。先行時間同士の間隔は任意に設定できる。
【００８６】
なお、ＣＰＵ  １０１は、先行時間が短い順に、複数のマーク画像を配置して、モニター２５０に表示する。つまり、ＣＰＵ  １０１は、時系列順に、仮想空間内に複数のマークオブジェクトを配置していき、各マークオブジェクトを表すマーク画像をそれぞれ表示するものとする。
【００８７】
図５〜７に示すように、１つの先行時間につき２つのマーク画像４３１Ａ，４３１Ｂを生成する場合、ＣＰＵ  １０１は、それぞれの違いをプレイヤーにはっきりと知らしめるために、互いに異なる態様でマーク画像４３１Ａ，４３１Ｂを生成してもよい。例えば、ＣＰＵ  １０１は、マーク画像４３１Ａ，４３１Ｂを互いに異なる色彩（明度・彩度・色相の組み合わせ）で描画してもよい。例えば、キャラクターの右手（プレイヤーから見て左側の手）に対応するマーク画像４３１Ａは所定の第１の色（例えば“赤”）とし、キャラクターの左手（プレイヤーから見て右側の手）に対応するマーク画像４３１Ｂは所定の第２の色（例えば“青”）としてもよい。これにより、プレイヤーは色彩を区別することによりマーク画像を簡単に区別できるので、どのマーク画像が体にどの部分に対応するのかが把握しづらくなってしまうといった問題をなるべく回避できるようになる。勿論、マーク画像が３つ以上の場合にも、ＣＰＵ  １０１は、互いに異なる態様（異なる色彩）に設定すればよい。
【００８８】
次に、本実施形態の上記各部が実行するゲーム処理について、図１０のフローチャートを用いて説明する。ＣＰＵ  １０１は、ゲームを開始すると共に、ダンスの課題曲を表す楽曲データの再生を開始する。ＣＰＵ  １０１は、ゲームを開始してからの経過時間を計時する。
【００８９】
まず、ＣＰＵ  １０１は、ゲーム開始から現在までの経過時間に対応付けて記憶されたキャラクターの位置と姿勢を示すデータをハードディスク１０４から読み出して取得する（ステップＳ１００１）。
【００９０】
ＣＰＵ  １０１は、ステップＳ１００１で読み出した位置と姿勢に基づいて、キャラクター画像４１０を生成する（ステップＳ１００２）。ＣＰＵ  １０１は、仮想空間内において、取得した位置に、取得した姿勢で、キャラクターを配置することにより、キャラクター画像４１０を生成する。
【００９１】
ＣＰＵ  １０１は、ゲーム開始から現在までの経過時間に先行時間を加算した時間に対応付けて記憶されたキャラクターの位置を示すデータをハードディスク１０４から読み出して取得する（ステップＳ１００３）。先行時間を複数設ける場合には、ＣＰＵ  １０１は、先行時間のそれぞれに対応付けて記憶されたキャラクターの位置を取得する。
【００９２】
ＣＰＵ  １０１は、ステップＳ１００３で取得したキャラクターの位置に基づいて、マーク画像４３１Ａ，４３１Ｂを生成する（ステップＳ１００４）。ＣＰＵ  １０１は、仮想空間内において、取得した位置にマークオブジェクトを配置した様子を表す画像を生成することにより、マーク画像４３１Ａ，４３１Ｂを生成する。
【００９３】
ＣＰＵ  １０１は、ステップＳ１００２で生成したキャラクター画像４１０と、ステップＳ１００４で生成したマーク画像４３１Ａ，４３１Ｂと、を合成して、モニター２５０に表示する（ステップＳ１００５）。
【００９４】
ＣＰＵ  １０１は、ゲーム開始から現在までの経過時間に対応付けて記憶された仮想空間におけるキャラクターの位置と姿勢と、入力装置１０７によって検知された現実空間におけるプレイヤーの位置と姿勢と、に基づいて、プレイヤーの成績を判定する（ステップＳ１００６）。
【００９５】
すなわち、ＣＰＵ  １０１は、検知されたプレイヤーの位置と姿勢と、キャラクターの位置と姿勢と、の類似度を計算し、類似度が所定値以上であれば、プレイヤーがゲーム課題を達成している（プレイヤーの成績が優れている）と判定し、ゲージ４５０が示す値を増やす。一方、計算された類似度が所定値未満であれば、ＣＰＵ  １０１は、プレイヤーがゲーム課題を達成していない（プレイヤーの成績が劣っている）と判定し、ゲージ４５０が示す値を減らす。計算された類似度が高いほど、現実空間におけるプレイヤーのポーズと、仮想空間におけるキャラクターのポーズが似ており、プレイヤーがゲーム課題に近いポーズをとったと判定される。
【００９６】
ＣＰＵ  １０１は、ゲームを終了するか否かを判別する（ステップＳ１００７）。例えば、ＣＰＵ  １０１は、再生される楽曲データ内の位置を表すポインタが楽曲の最後に到達した場合（楽曲の再生が終わった場合）に、ゲームを終了すると判別する。あるいは、プレイヤーのゲームの成績を表すゲージ４３０の値が、所定値（典型的にはゼロ）以下になった場合に、ゲームを終了すると判別する。
【００９７】
ゲームを終了しないと判別した場合（ステップＳ１００７；ＮＯ）、ＣＰＵ  １０１は、ステップＳ１００１〜Ｓ１００６の処理を繰り返す。一方、ゲームを終了すると判別した場合（ステップＳ１００７；ＹＥＳ）、ＣＰＵ  １０１は、楽曲の再生を停止し、ゲームを終了する。
【００９８】
ＣＰＵ  １０１は、例えば、ＶＳＹＮＣ１回分につき、ステップＳ１００１〜Ｓ１１０７の一連の処理を１回実行する。すなわち、キャラクター画像４１０とマーク画像４３１Ａ，４３１Ｂを描画して表示する処理が、ＶＳＹＮＣのタイミングで繰り返し実行される。従って、モニター２５０には、キャラクター画像４１０とマーク画像４３１Ａ，４３１Ｂがアニメーション表示される。
【００９９】
本実施形態によれば、プレイヤーには、現在達成すべきゲーム課題と共に、この後与えられることになるゲーム課題のヒントになる情報が与えられる。例えば、手を動かしてダンスを踊るゲームにおいて、今どのように手を動かせばよいのかがキャラクター画像４１０の位置と姿勢によって与えられ、次に（何秒後かに）どのように手を動かせばよいのかがマーク画像４３１の位置によって与えられる。プレイヤーは、キャラクター画像４１０を見れば、今与えられているゲーム課題を簡単に理解することができ、また、マーク画像４３１を見れば、この後に与えられる見込みのゲーム課題の内容のおおよその見当をつけることができる。従って、プレイヤーは、次のポーズを念頭に置きながら、今とるべきポーズをとることができる。ゲーム装置３００は、よりスムーズに体を動かせるようにプレイヤーを導くことができる。
【０１００】
また、マーク画像４３１の大きさをキャラクター画像４１０の大きさよりも相対的に小さくすることにより、プレイヤーが現在与えられているゲーム課題を表すキャラクター画像４１０を見るときに、マーク画像４３１がなるべく邪魔にならないようにすることができる。
【０１０１】
また、キャラクター全体のうち位置の変化が比較的大きい部分にマーク画像４３１（マークオブジェクト）を配置することにより、キャラクターのどの部分の動きに特に注意すべきなのかをプレイヤーに提示することができる。
【０１０２】
マーク画像４３１の位置となる上記の「所定部分」は、手の先に限らず、足、胴体、頭など、任意の場所に設定することができる。また、ＣＰＵ  １０１は、ゲームの内容に合わせてこの所定部分を入れ替えてもよい。例えば、ＣＰＵ  １０１は、手を頻繁に動かすシーンでは所定部分を“手の先”や“指の先”に設定し、足を頻繁に動かすシーンでは所定部分を“足の先”や“膝”などに設定してもよい。
【０１０３】
ＣＰＵ  １０１は、ゲームの進行に応じてこの所定部分を入れ替えてもよい。ＣＰＵ  １０１は、提示したゲーム課題と入力装置１０７による識別結果に基づいてプレイヤーの成績を判定し、判定されたプレイヤーの成績に応じて所定部分を変えてもよい。例えば、ゲームの所定期間内（例えばゲームの前半）に提示されたゲーム課題が「足」「手」「頭」のそれぞれの位置と姿勢に関するものであり、これらのうち「足」の位置と姿勢に関するゲーム課題の達成度が相対的に低い場合、もしくは、「足」の位置と姿勢に関するゲーム課題の達成度が所定値以下であった場合、ＣＰＵ  １０１は、この所定期間が過ぎた後（例えばゲームの後半）には、所定部分を「足」に設定して仮想空間内にマークオブジェクトを配置し、マーク画像４３１を表示する。これにより、ゲーム装置３００は、プレイヤーに弱点を指摘すると共に、この弱点を強化するためのヒントを提示することができる。プレイヤーは、よりスムーズに体を動かせるように効率良く練習することができる。
【０１０４】
プレイヤーが所定部分を選択できるようにしてもよい。例えば、ＣＰＵ  １０１は、ゲームを開始する前に、マーク画像４３１（もしくはマークオブジェクト）を配置したい体の部位を指定する指示入力をプレイヤーから受け付ける。プレイヤーは、入力装置１０７等を用いて、任意の部位を指定する指示を入力する。ＣＰＵ  １０１は、受け付けられた指示入力に応じて、この所定部分を設定する。従って、手の動かし方に不安のあるプレイヤーが所定部分を“手の先”に指定したり、足の動かし方に不安のあるプレイヤーが所定部分を“足の先”に指定したりする、といったように、ＣＰＵ  １０１は、プレイヤーの都合に合わせて、マーク画像４３１（もしくはマークオブジェクト）を配置すべき部位を決定することができる。
【０１０５】
（実施形態２）
次に、本発明のその他の実施形態について説明する。本実施形態では、モニター２５０に表示されるマーク画像４３１の大きさが、仮想視点からキャラクターの所定部分までの距離に応じて変化する。
【０１０６】
図１１は、キャラクター１１１０とマークオブジェクト１１２０とが配置される３次元仮想空間を表す図である。マークオブジェクト１１２０の位置は、時系列順に、１１２０Ａ，１１２０Ｂ，１１２０Ｃ，１１２０Ｄと移動していく。仮想空間内には、仮想視点１１５０が配置される。仮想視点１１５０は、言わば、仮想空間の様子を撮影する仮想的なカメラである。ＣＰＵ  １０１は、仮想視点１１５０の位置から、仮想視線１１６０の向きへ、この仮想空間を眺めた様子をモニター２５０に表示する。仮想視点１１５０の位置と仮想視線１１６０の向き１１６０は可変である。
【０１０７】
ＣＰＵ  １０１は、入力装置１０７がプレイヤーから受け付けた指示に基づいて、もしくは、プログラムに組み込まれた所定のアルゴリズムに基づいて、仮想視点１１５０の位置を移動することができる。同様に、ＣＰＵ  １０１は、入力装置１０７がプレイヤーから受け付けた指示に基づいて、もしくは、プログラムに組み込まれた所定のアルゴリズムに基づいて、仮想視線１１６０の向きを移動することができる。なお、ＣＰＵ  １０１が仮想視点１１５０と仮想視線１１６０を変化させる処理の詳細については後述する。
【０１０８】
上述したように、ＣＰＵ  １０１は、ゲーム開始から現在までの経過時間に対応付けられてハードディスク１０４に記憶されたキャラクター１１１０の位置と姿勢を示す情報を取得する。そして、ＣＰＵ  １０１は、取得した位置に、取得した姿勢で、キャラクター１１１０を配置する。
【０１０９】
また、ＣＰＵ  １０１は、ゲーム開始から現在までの経過時間に所定の先行時間を加算した時間に対応付けられてハードディスク１０４に記憶されたキャラクター１１１０の所定部分の位置を取得する。本実施形態では、所定部分は、ヒト型のキャラクター１１１０における“右手の先端”の部分である。そして、ＣＰＵ  １０１は、取得した位置に、マークオブジェクト１１２０を配置する。
【０１１０】
そして、ＣＰＵ  １０１は、図１２に示すように、キャラクター１１１０を表すキャラクター画像１２１０と、マークオブジェクト１１２０Ａ，１１２０Ｂ，１１２０Ｃ，１１２０Ｄを表すマーク画像１２３１Ａ，１２３１Ｂ，１２３１Ｃ，１２３１Ｄと、を含む画像を生成して、モニター２５０に表示する。
【０１１１】
ここで、ＣＰＵ  １０１は、仮想空間内に配置される仮想視点１１５０の位置からキャラクター１１１０の所定部分の位置までの距離に応じて、マーク画像１１２０の大きさを変化させる。
【０１１２】
詳細には、ＣＰＵ  １０１は、現在の仮想視点１１５０の位置から、現在より先行時間だけ未来の時間におけるキャラクター１１１０の所定部分の位置までの距離、言い換えれば、現在の仮想視点１１５０の位置からマークオブジェクト１１２０Ａの位置までの距離を計算する。そして、ＣＰＵ  １０１は、計算された距離が短いほど大きくなるように、マーク画像１２３１Ａ，１２３１Ｂ，１２３１Ｃ，１２３１Ｄをモニター２５０に表示する。図１１の場合、距離の長さは、短い順に、ＬＤ＜ＬＣ＜ＬＢ＜ＬＡである。従って、図１２に示すように、マーク画像１２３１Ｄが最も大きく、ついで１２３１Ｃ，１２３１Ｂ，１２３１Ａの順に大きい。
【０１１３】
つまり、プレイヤーからは、マークオブジェクト１１２０が仮想視点１１５０に近くなるほど、マーク画像１２３１が大きく見え、マークオブジェクト１１２０が仮想視点１１５０から遠くなるほど、マーク画像１２３１が小さく見える。ゲーム装置３００は、遠近感を得やすい画像をプレイヤーに提供することができる。
【０１１４】
また、図１２に示すようにマーク画像１２３１が時間経過と共にだんだんと大きくなるように変化している場合、マークオブジェクト１１２０が仮想視点１１５０へ時間経過と共に近づいていることになるので、プレイヤーは、マーク画像１２３１に対応する部分を入力装置１０７へ近づける動作をすべきである（左手を前に出すべきである）、というゲームのヒントを得ることができる。あるいは、マーク画像１２３１が時間経過と共にだんだんと小さくなるように変化している場合、マークオブジェクト１１２０が仮想視点１１５０へ時間経過と共に遠ざかっていることになるので、プレイヤーは、マーク画像１２３１に対応する部分を入力装置１０７から遠ざける動作をすべきである（左手を後ろにすべきである）、というゲームのヒントを得ることができる。
【０１１５】
図１２に示す画像がモニター２５０へ表示された時間から、更に時間が経過した後に表示される画像を示したのが図１３である。図１３では、現在のキャラクター１１１０の右手（プレイヤーから見て左側の手）の位置と、マーク画像１２３１Ａの位置と、がほぼ合致している。従って、プレイヤーは、キャラクター画像１２１０が表している、左手を右手よりも前に出すポーズを、そのまま維持すべきである、というゲームのヒントを得ることができる。
【０１１６】
ＣＰＵ  １０１は、仮想視点１１５０の位置からマークオブジェクト１１２０の位置までの距離を計算し、計算された距離が短いほど、マークオブジェクト１１２０自体を大きくしてもよい。例えば、マークオブジェクト１１２０を球体とし、計算された距離が短いほどこの球体の半径を大きくし、計算された距離が長いほどこの球体の半径を小さくしてもよい。これにより、マーク画像１２３１の奥行き感がより強調され、特に前後の動きに関して、プレイヤーによりスムーズに体を動かせるように導くことができる効果が増す。
【０１１７】
一般の自然現象に当てはめた場合、計算される距離が比較的大きい場合と小さい場合とでは、仮にキャラクター１１１０の所定部分の位置の変位が同じであったするならば、距離が比較的小さい（近い）ときには位置の変位がより大きく感じられ、距離が比較的大きい（遠い）ときには位置の変位がより小さく感じられる傾向にある。つまり、仮想カメラを引いている場面には、マーク画像１２３１の大きさの変化が分かりづらくなり、遠近感が損なわれる恐れがある。そこで、ＣＰＵ  １０１は、仮想視点１１５０の位置からマークオブジェクト１１２０の位置までの距離が所定の閾値よりも大きい場合には、計算された距離が短いほど（近いほど）マークオブジェクト１１２０自体を大きくし、計算された距離が長いほど（遠いほど）マークオブジェクト１１２０自体を小さくすることによって、前後の位置関係を誇張して表現するのである。従って、ゲーム装置３００は奥行きが強調された画像をプレイヤーに提供することになり、プレイヤーは、画像の遠近感やキャラクター１１１０の前後の動きをより把握し易くなる。
【０１１８】
本実施形態によれば、プレイヤーは、キャラクター画像１２１０が表示される位置とマーク画像１２３１が表示される位置を見比べることにより、マーク画像１２３１に対応する体の部分を上下左右のどこへ動かせばよいのかを把握できるだけでなく、マーク画像１２３１の大きさの変化を見ることにより、マーク画像１２３１に対応する体の部分を前後のどちらへ動かせばよいのかを容易に把握できるようになる。従って、ゲーム装置３００がプレイヤーによりスムーズに体を動かせるように導くことができる効果がさらに増す。
【０１１９】
（実施形態３）
次に、本発明のその他の実施形態について説明する。本実施形態では、マーク画像の明るさや色合いが、マーク画像に対応するキャラクターの所定部分の単位時間当たりの移動量に応じて変化する。ここでは、キャラクターの形状はヒト型であるものとし、キャラクターの所定部分は“手の先”としている。
【０１２０】
図１４（ａ）は、ある時刻Ｔ１におけるキャラクター１４１０の手の位置Ｐ１と、時刻Ｔ１より後の時刻Ｔ２におけるキャラクター１４１０の手の位置Ｐ２と、を示す図である。ＣＰＵ  １０１は、時刻Ｔ１におけるキャラクター１４１０の手の先の位置座標（Ｃｘ１，Ｃｙ１，Ｃｚ１）と、時刻Ｔ２におけるキャラクター１４１０の手の先の位置座標（Ｃｘ２，Ｃｙ２，Ｃｚ２）と、から、時刻Ｔ１から時刻Ｔ２までの間に手が移動した距離Ｄを計算する。
【０１２１】
例えば、時刻Ｔ１と時刻Ｔ２の時間差をＶＳＹＮＣ１回分とすれば、計算される距離Ｄは、ＶＳＹＮＣ１回分当たりにキャラクター１４１０の所定部分が移動する変位、すなわちＶＳＹＮＣを時間単位とした、所定部分の移動速度である。
【０１２２】
そして、ＣＰＵ  １０１は、計算された距離Ｄが短いほど、マーク画像の明度を大きくする。すなわち、キャラクター１４１０の所定部分の移動速度が小さいほど、マーク画像が明るく表示される。プレイヤーは、マーク画像の明るさを見れば、所定部分がどのくらい速く動くのかを把握することができる。プレイヤーは、次に体のどこをどちらへ動かせばよいのかが分かるだけでなく、どのくらいの速さで体を動かせばよいのかを容易に把握することができる。
【０１２３】
図１５は、移動速度Ｖと明度Ｂとの関係を示す図である。マーク画像の明度を表す関数Ｂ（Ｖ）は、移動速度Ｖが大きくなるにつれて明度Ｂが小さくなる形状をしている。明度の最大値ＢＭＡＸは１００％以下の所定値である。関数Ｂ（Ｖ）は、ゼロでない最小値ＢＭＩＮに収束する。図１５は例示に過ぎず、関数Ｂ（Ｖ）として任意の関数を用いることができる。ただし、移動速度Ｖの増加に対して単調減少するものとする。
【０１２４】
ＣＰＵ  １０１は、マーク画像の明度の代わりに、マーク画像の彩度や色相を変化させてもよい。ＣＰＵ  １０１は、マーク画像の色相、彩度、明度のうち、少なくともいずれか１つ以上を変化させてもよい。
【０１２５】
例えば、ＣＰＵ  １０１は、マーク画像を、移動速度が大きいほど赤色に近づけ、移動速度が小さいほど青色に近づける、というように、色彩に変化をつけてもよい。ＣＰＵ  １０１は、既定値の明度・彩度・色相を用いて描かれたマーク画像に、所定色のフィルターをかけることとし、移動速度に応じてフィルターを切り換えるようにすればよい。
【０１２６】
勿論、ＣＰＵ  １０１は、ＨＳＢ（Hue, Saturation, Brightness）モデルではなく、ＲＧＢ（Red, Green, Blue）モデル等を用いて、マーク画像の色彩を変化させてもよい。
【０１２７】
また、ＣＰＵ  １０１は、キャラクターの所定部分の単位時間当たりの位置の変化量の代わりに、キャラクター１４１０の所定部分の単位時間当たりの姿勢の変化量に応じて、マーク画像の明度等を変化させてもよい。
【０１２８】
図１４（ｂ）は、時刻Ｔ１におけるキャラクター１４１０の手の向きを示すベクトルＶ１と、時刻Ｔ１より後の時刻Ｔ２におけるキャラクターの手の向きを示すベクトルＶ２と、を示す図である。ＣＰＵ  １０１は、ベクトルＶ１とベクトルＶ２とのなす角度θを計算する。そして、ＣＰＵ  １０１は、角度θが小さいほど、キャラクター画像の明度を大きくする。すなわち、キャラクター１４１０の所定部分の向きの変化量が小さいほど、マーク画像が明るく表示される。プレイヤーは、マーク画像の明るさを見れば、所定部分がどのくらい大きく動くのかを把握することができる。
【０１２９】
ＣＰＵ  １０１は、キャラクターの姿勢の変化量として、上記の角度θの代わりに、ベクトルＶ１，Ｖ２の内積を用いてもよい。
【０１３０】
より詳細には、ＣＰＵ  １０１は、キャラクターの手の付け根部分から、キャラクターの手の先の部分へ結ぶベクトルを上記のベクトルＶ１もしくはＶ２とし、キャラクターの姿勢の変化量としてベクトルＶ１，Ｖ２の内積を用いてもよい。つまり、ＣＰＵ  １０１は、多面体（ポリゴン）で表されるキャラクターのうちの所定部分に相当する立体内の２つの端点を結ぶベクトルを、キャラクターの所定部分の姿勢を表すパラメータとしてもよい。この場合、所定部分が大きいほど（例えば、手が長いほど、あるいは手が太いほど）、変化量を表す内積値が大きくなる。従って、姿勢が変化するオブジェクトが大きいほど、マーク画像は明るく強調して表示される。
【０１３１】
本実施形態によれば、ゲーム装置３００は、スムーズに体を動かせるようにプレイヤーを導くことができる。例えば、プレイヤーは、ゲーム課題を達成するために、マーク画像が明るく表示されている場合には比較的ゆっくりとしたモーションで体を動かし、マーク画像が暗く表示されている場合には比較的素早いモーションで体を動かせばよい、というゲームのヒントを得ることができる。
【０１３２】
（実施形態４）
次に、本発明のその他の実施形態について説明する。本実施形態では、モニター２５０に表示されるマーク画像の軌跡の形状に応じて、仮想視点の位置及び／又は仮想視線の向きが変化する。
【０１３３】
図１６は、キャラクター画像１６１０とマーク画像１６３１Ａ，１６３１Ｂとを表す図である。マーク画像１６３１Ａを第１マーク画像とも呼び、マーク画像１６３１Ｂを第２マーク画像とも呼ぶ。
【０１３４】
１つのみの先行時間を設けた場合には、例えば図６のマーク画像４３１Ａ，４３１Ｂに示すように、マーク画像は、マークオブジェクトをある仮想の投影面に投影した形状になる。マークオブジェクトが球体であれば、マーク画像は常に円になる。一方、複数の先行時間を設けた場合、例えば図７のマーク画像４３１Ａ〜４３３Ａ，４３１Ｂ〜４３３Ｂに示すように、マーク画像は、コマ送りのように間隔を開けて並べられる。さらに先行時間を増やしていくと、マーク画像は、図１６のマーク画像１６３１Ａ，１６３１Ｂに示すように、連続的な軌跡を描いたようなライン状になる。
【０１３５】
１つの先行時間につき複数のマーク画像（図１６ではマーク画像１６３１Ａ，１６３１Ｂの２つ）を描くとき、この軌跡が長くなればなるほど、互いに交差して見分けが難しくなる恐れがでてくる。図１６には、両手を下ろしたキャラクターが、ボクシングでパンチをするポーズをとるまでの両手の動きが、２つのマーク画像１６３１Ａ，１６３１Ｂとして表示されている。仮想視点の位置と仮想視線の向きは固定されたままである。すると、２つのマーク画像１６３１Ａ，１６３１Ｂは、図１６に示すように重なってしまい、互いに判別がつきづらくなるばかりか、マーク画像１６３１Ａ，１６３１Ｂの位置や形状が分かりづらくなってしまう。図１６の場合、キャラクターの左手の動きを示すマーク画像１６３１Ｂが、キャラクターの右手の動きを示すマーク画像１６３１Ａの後ろに隠れてしまって見えないことになり、不都合が生じる。そこで、本実施形態では、ＣＰＵ  １０１は、マーク画像１６３１Ａ，１６３１Ｂがなるべく互いに重ならないように、仮想視点の位置と仮想視線の向きを変化させることとしている。
【０１３６】
図１７は、仮想視点の位置と仮想視線の向きの両方を変化させる様子を模式的に示した図である。ＣＰＵ  １０１は、移動前の仮想視点１７５０の位置から、移動後の仮想視点１７７０の位置まで、まるで画面をスクロールしていくかのように、滑らかに徐々に移動する。同様に、ＣＰＵ  １０１は、移動前の仮想視線１７６０の向きから、移動後の仮想視線１７８０の向きまで、滑らかに徐々に移動する。仮想視点と仮想視線を非連続的に一気に移動するよりも、仮想視点と仮想視線を連続的に滑らかに移動させた方が、プレイヤーにとっては、仮想視点と仮想視点の移り変わりを把握しやすく見やすい画像になると推測される。勿論、現実のテレビ中継において複数の固定されたカメラ間で撮影カメラを瞬時に切り換えるかのように、仮想視点の位置と仮想視線の向きを非連続的に変化させてもよい。
【０１３７】
図１８は、図１６における仮想視点の位置と仮想視線の向きを変化させた後のキャラクター画像１６１０とマーク画像１６３１Ａ，１６３１Ｂとを表す画像である。図１８では、マーク画像１６３１Ａ，１６３１Ｂは交差していない。また、キャラクターがこれから右手を前に出すことが、マーク画像１６３１Ａの形状からはっきりと分かる。仮想視点の位置と仮想視線の向きを変化させることにより、プレイヤーは、キャラクター（の所定部分）がこれからどのように動くのかを把握し易くなる。
【０１３８】
図１９は、図１８に示すようにキャラクター画像１６１０とマーク画像１６３１Ａ，１６３１Ｂが表示された後、所定部分（両手）がマーク画像１６３１Ａ，１６３１Ｂが示すとおりに移動したときのキャラクター画像１６１０を表す図である。例えば、キャラクターが正面に向けてパンチをするポーズのように、所定部分（手）が仮想視点に近づくような動きをする場合には、ＣＰＵ  １０１は、プレイヤーが奥行き感を把握し易くなるように、仮想視点の位置と仮想視線の向きを変化させることが望ましい。
【０１３９】
次に、本実施形態の各部が実行するゲーム処理について、図２０のフローチャートを用いて説明する。本実施形態では、互いに長さが異なる複数の先行時間が設定されているものとする。
【０１４０】
まず、ＣＰＵ  １０１は、ゲーム開始から現在までの経過時間に対応付けて記憶されたキャラクターの位置と姿勢を示すデータをハードディスク１０４から読み出して取得する（ステップＳ２００１）。
【０１４１】
ＣＰＵ  １０１は、ステップＳ２００１で読み出した位置と姿勢に基づいて、キャラクターを配置する（ステップＳ２００２）。
【０１４２】
ＣＰＵ  １０１は、ゲーム開始から現在までの経過時間に、複数の先行時間のうちいずれかの先行時間を加算した時間に対応付けて記憶されたキャラクターの位置を示すデータをハードディスク１０４から読み出して取得する（ステップＳ２００３）。
【０１４３】
ＣＰＵ  １０１は、ステップＳ２００３で取得したキャラクターの位置に基づいて、仮想空間内にマークオブジェクトを配置する（ステップＳ２００４）。
【０１４４】
ＣＰＵ  １０１は、すべての先行時間に対応するマークオブジェクトを配置したか否かを判別する（ステップＳ２００５）。
【０１４５】
未だすべての先行時間に対応するマークオブジェクトを配置していない場合（ステップＳ２００５；ＮＯ）、ＣＰＵ  １０１は、すべての先行時間に対応するマークオブジェクトを配置するまで、ステップＳ２００３〜２００５の処理を繰り返す。
【０１４６】
すべての先行時間に対応するマークオブジェクトを配置した場合（ステップＳ２００５；ＹＥＳ）、ＣＰＵ  １０１は、仮想視点の位置から仮想視線の向きへキャラクターとマークオブジェクトを眺めた様子を表す画像を生成する（ステップＳ２００６）。生成される画像には、キャラクター画像１６１０とマーク画像１６３１Ａ，１６３１Ｂが含まれる。
【０１４７】
ＣＰＵ  １０１は、モニター２５０に表示される画面内において、マーク画像１６３１Ａとマーク画像１６３１Ｂが重なり合うか否かを判別する（ステップＳ２００７）。
【０１４８】
マーク画像１６３１Ａとマーク画像１６３１Ｂが重ならないと判別された場合（ステップＳ２００７；ＮＯ）、ＣＰＵ  １０１はステップＳ２００９の処理に移る。一方、マーク画像１６３１Ａとマーク画像１６３１Ｂが重なり合うと判別された場合（ステップＳ２００７；ＹＥＳ）、ＣＰＵ  １０１は、マーク画像１６３１Ａとマーク画像１６３１Ｂが重なり合わないように、仮想視点の位置と仮想視線の向きを変化させる（ステップＳ２００８）。言い換えれば、ＣＰＵ  １０１は、マーク画像１６３１Ａとマーク画像１６３１Ｂが画面内で重ならないように、仮想カメラの位置と向きを移動する。ＣＰＵ  １０１は、マーク画像１６３１Ａとマーク画像１６３１Ｂが重なり合わなくなるまで、ステップＳ２００６〜２００８の処理を繰り返す。
【０１４９】
ＣＰＵ  １０１は、キャラクター画像１６１０とマーク画像１６３１Ａ，１６３１Ｂをモニター２５０に表示する（ステップＳ２００９）。
【０１５０】
ＣＰＵ  １０１は、ゲーム開始から現在までの経過時間に対応付けて記憶された仮想空間におけるキャラクターの位置と姿勢と、入力装置１０７によって検知された現実空間におけるプレイヤーの位置と姿勢と、に基づいて、プレイヤーの成績を判定する（ステップＳ２０１０）。
【０１５１】
ＣＰＵ  １０１は、ゲームを終了するか否かを判別する（ステップＳ２０１１）。例えば、ＣＰＵ  １０１は、再生される楽曲データ内の位置を表すポインタが楽曲の最後に到達した場合（楽曲の再生が終わった場合）に、ゲームを終了すると判別する。あるいは、プレイヤーのゲームの成績を表すゲージの値が、所定値（典型的にはゼロ）以下になった場合に、ゲームを終了すると判別する。
【０１５２】
ゲームを終了しないと判別した場合（ステップＳ２０１１；ＮＯ）、ＣＰＵ  １０１は、ステップＳ２００１〜Ｓ２０１１の処理を繰り返す。一方、ゲームを終了すると判別した場合（ステップＳ２０１１；ＹＥＳ）、ＣＰＵ  １０１は、楽曲の再生を停止し、ゲームを終了する。
【０１５３】
本実施形態によれば、同じ先行時間に対応づけられるマーク画像同士が重ならないように仮想カメラの位置と向きが変化するので、プレイヤーにとってマーク画像が見やすいなり、ゲーム装置３００がプレイヤーをスムーズに体を動かせるように導くことができるという効果が増す。
【０１５４】
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【０１５５】
上記のゲーム装置３００の全部又は一部としてコンピュータを動作させるためのプログラムを、メモリカード、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ（Magneto Optical disk）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【０１５６】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【０１５７】
以上説明したように、本発明によれば、プレイヤーが体を動かして指示を入力するゲームにおいて、よりスムーズに体を動かせるようにプレイヤーを導くために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【符号の説明】
【０１５８】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ハードディスク
１０５  インターフェース
１０６  外部メモリ
１０７  入力装置
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  画像処理部
１１０  音声処理部
１１１  ＮＩＣ
２５０  モニター
３００  ゲーム装置
３０１  記憶部
３０２  キャラクター画像生成部
３０３  取得部
３０４  マーク画像生成部
３０５  表示部
４１０，４２０  キャラクター画像
４３１，４３１Ａ，４３１Ｂ，４３２Ａ，４３２Ｂ，４３３Ａ，４３３Ｂ  マーク画像
４４０Ａ，４４０Ｂ  マーク画像
１１１０  キャラクターオブジェクト（キャラクター）
１１２０Ａ，１１２０Ｂ，１１２０Ｃ，１１２０Ｄ  マークオブジェクト
１１５０  仮想視点
１１６０  仮想視線
１２１０  キャラクター画像
１２３１，１２３１Ａ，１２３１Ｂ，１２３１Ｃ，１２３１Ｄ  マーク画像
１４１０  キャラクター
１６１０  キャラクター画像
１６３１Ａ，１６３１Ｂ  マーク画像
１７１０  キャラクター
１７２０Ａ，１７２０Ｂ  マークオブジェクト
１７５０，１７７０  仮想視点
１７６０，１７８０  仮想視線
【図１】
0005238764.tif 000002
【図２】
0005238764.tif 000003
【図３】
0005238764.tif 000004
【図４】
0005238764.tif 000005
【図５】
0005238764.tif 000006
【図６】
0005238764.tif 000007
【図７】
0005238764.tif 000008
【図８】
0005238764.tif 000009
【図９】
0005238764.tif 000010
【図１０】
0005238764.tif 000011
【図１１】
0005238764.tif 000012
【図１２】
0005238764.tif 000013
【図１３】
0005238764.tif 000014
【図１４】
0005238764.tif 000015
【図１５】
0005238764.tif 000016
【図１６】
0005238764.tif 000017
【図１７】
0005238764.tif 000018
【図１８】
0005238764.tif 000019
【図１９】
0005238764.tif 000020
【図２０】
0005238764.tif 000021