(57)【要約】【課題】プレイヤーの体の動きをより簡単に推測する。【解決手段】ゲーム装置５００において、第１のコントローラ１０５は、プレイヤーの体に固定され、位置の変化又は姿勢の変化を検知する。第２のコントローラ１１１は、プレイヤーによる操作を検知する。提示部５１０は、プレイヤーのいずれか１つの部位により所定の課題操作を第２のコントローラ１１１に与えるべき旨を、プレイヤーに提示する。推定部５２０は、提示部５１０により提示された課題操作と、第１のコントローラ１０５により検知されたプレイヤーの操作と、第２のコントローラ１１１により検知された位置の変化もしくは姿勢の変化と、に基づいて、第２のコントローラ１１１が固定されているプレイヤーの部位を推定する。【選択図】図５
2011172707.tif 000002
【特許請求の範囲】
【請求項１】
プレイヤーの体の複数の部位のいずれかに固定され、当該固定された部位の位置もしくは姿勢の変化を検知する第１のコントローラと、
前記プレイヤーの体の複数の部位による操作を検知する第２のコントローラと、
前記複数の部位のうち少なくともいずれか１つの部位により所定の課題操作を前記第２のコントローラに与えるべき旨を前記プレイヤーに提示する提示部と、
前記提示された課題操作と、前記第１のコントローラにより検知された位置の変化もしくは姿勢の変化と、前記第２のコントローラにより検知された操作と、から、前記複数の部位のうち前記第１のコントローラが固定された部位を推定する推定部と、
を備えることを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置であって、
前記推定部は、前記提示された課題操作と、前記第１のコントローラにより検知された位置の変化と姿勢の変化のうち少なくともいずれか一方と、前記第２のコントローラにより検知された操作とに基づいて、前記複数の部位のそれぞれについて、当該部位に固定されていると仮定した場合における前記プレイヤーの成績を計算し、当該計算された成績に基づいて、前記第１のコントローラが固定された部位を推定する、
ことを特徴とするゲーム装置。
【請求項３】
請求項１又は２に記載のゲーム装置であって、
前記所定の課題操作は、前記複数の部位のうち所定の課題部位による操作を与えるべき旨の課題を示すものであり、
前記第１のコントローラにより検知された位置の変化もしくは姿勢の変化と、前記第２のコントローラにより検知された操作と、前記第１のコントローラが固定されていると推定された部位と、から、前記プレイヤーが前記所定の課題部位により操作を与えたか否かを判定する判定部を更に備える、
ことを特徴とするゲーム装置。
【請求項４】
請求項３に記載のゲーム装置であって、
前記ゲーム装置にて行われるゲームには、第１種の時間領域と、当該第１種の時間領域より後の第２種の時間領域とが設けられ、
前記推定部は、前記第１種の時間領域において、前記複数の部位のうち前記第１のコントローラが固定された部位を推定し、
前記判定部は、前記第２種の時間領域において、前記プレイヤーが前記所定の課題部位により操作を与えたか否かを判定する、
ことを特徴とするゲーム装置。
【請求項５】
請求項４に記載のゲーム装置であって、
前記判定部は、前記ゲームの進行に応じて、前記第１種の時間領域の時間長と、前記第１種の時間領域の数と、前記第２種の時間領域の時間長と、前記第２種の時間領域の数と、のうち少なくともいずれか一つを変更する、
ことを特徴とするゲーム装置。
【請求項６】
請求項１乃至５のいずれか１項に記載のゲーム装置であって、
前記第１のコントローラにより検知された位置の変化の履歴もしくは姿勢の変化の履歴と、前記第２のコントローラにより検知された操作の履歴と、を記憶する履歴記憶部を更に備え、
前記推定部は、前記記憶された履歴のそれぞれに基づいて、前記第１のコントローラが固定された部位を推定する、
ことを特徴とするゲーム装置。
【請求項７】
請求項１乃至６のいずれか１項に記載のゲーム装置であって、
前記第１のコントローラは、前記プレイヤーの右足又は左足に固定され、
前記推定部は、前記提示された課題操作と、前記第１のコントローラにより検知された位置の変化もしくは姿勢の変化と、前記第２のコントローラにより検知された操作と、から、前記第１のコントローラが固定された部位が右足と左足のどちらであるかを推定する、
ことを特徴とするゲーム装置。
【請求項８】
第１のコントローラと第２のコントローラと提示部と推定部を有するゲーム装置にて行われるゲーム処理方法であって、
前記第１のコントローラが、プレイヤーの体の複数の部位のいずれかに固定され、当該固定された部位の位置もしくは姿勢の変化を検知する第１の検知ステップと、
前記第２のコントローラが、前記プレイヤーの体の複数の部位による操作を検知する第２の検知ステップと、
前記提示部が、前記複数の部位のうち少なくともいずれか１つの部位により所定の課題操作を前記第２のコントローラに与えるべき旨を前記プレイヤーに提示する提示ステップと、
前記提示された課題操作と、前記第１の検知ステップにおいて検知された位置の変化もしくは姿勢の変化と、前記第２の検知ステップにおいて検知された操作と、から、前記複数の部位のうち前記第１のコントローラが固定された部位を推定する推定ステップと、
を備えることを特徴とするゲーム処理方法。
【請求項９】
プレイヤーの体の複数の部位のいずれかに固定され、当該固定された部位の位置もしくは姿勢の変化を検知する第１のコントローラと、前記プレイヤーの体の複数の部位による操作を検知する第２のコントローラと、を有するコンピュータを、
前記複数の部位のうち少なくともいずれか１つの部位により所定の課題操作を前記第２のコントローラに与えるべき旨を前記プレイヤーに提示する提示部、
前記提示された課題操作と、前記第１のコントローラにより検知された位置の変化もしくは姿勢の変化と、前記第２のコントローラにより検知された操作と、から、前記複数の部位のうち前記第１のコントローラが固定された部位を推定する推定部、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プレイヤーの体の動きを推測するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
プレイヤーが足で踏むマット型のコントローラを用い、ダンスなどのゲームを行うことができるゲーム装置がある。プレイヤーは、提示された課題（一般に“足譜”とも呼ばれる）をクリアするように足を動かすことによって、ダンスを踊っている感覚を楽しむことができる。
【０００３】
一方で、プレイヤーが片手で把持できる、特許文献１等に開示されるコントローラが普及している。このコントローラには加速度センサや無線モジュールが内蔵されており、コントローラの姿勢や位置を検知することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−０５４１１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、マット型のコントローラが提示された課題通りに踏まれたか否かを判定するだけでは、ゲーム装置は、プレイヤーがどのような動きをしたのか、例えばプレイヤーが左足と右足のどちらで踏んだのかを判断することができなかった。例えば、課題通りに踏めば模範的なダンスができるように足譜が定義されている場合において、プレイヤーが左右の足を間違えて動かしたとしても、ゲーム装置は、プレイヤーが課題通りに足を動かしたのかどうかを判断することができなかった。また、足に限らず、手などの他の部位を動かしてプレイするゲームにおいて、ゲーム装置は、正しく部位を動かしたかどうかを判断することができなかった。
【０００６】
本発明はこのような課題を解決するものであり、プレイヤーの体の動きを容易に推定するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００８】
本発明の第１の観点に係るゲーム装置は、第１のコントローラと第２のコントローラと提示部と推定部を備える。
第１のコントローラは、プレイヤーの体の複数の部位のいずれかに固定され、当該固定された部位の位置もしくは姿勢の変化を検知する。
第２のコントローラは、プレイヤーの体の複数の部位による操作を検知する。
提示部は、複数の部位のうち少なくともいずれか１つの部位により所定の課題操作を第２のコントローラに与えるべき旨をプレイヤーに提示する。
推定部は、提示された課題操作と、第１のコントローラにより検知された位置の変化もしくは姿勢の変化と、第２のコントローラにより検知された操作と、から、複数の部位のうち第１のコントローラが固定された部位を推定する。
【０００９】
部位とは、具体的には、例えば左足、右足、左手、右手などであるが、その他の任意の体の場所であってもよい。
第１のコントローラは、典型的には手に持って振り回して操作することができるリモコン型の把持モジュールを備え、単に“リモコン”とも呼ばれる。
第２のコントローラは、典型的には足で踏んで操作するマット型の形状をしており、単に“マット”とも呼ばれる。
【００１０】
プレイヤーは、第１のコントローラの把持モジュールをいずれかの部位に固定してゲームをプレイする。例えば、プレイヤーは、第１のコントローラの把持モジュールを左足と右足のどちらか好きな方に固定し、足を動かしてゲームをプレイする。また、プレイヤーは、第２のコントローラに設けられた所定領域（例えば押圧状態を検知するセンサが配置されるマットの一部分など）を片足で踏んでゲームをプレイする。プレイヤーは、提示された課題操作通りに部位を動かすと、ダンスをしている感覚を楽しむことができるようになっている。
【００１１】
そして、提示された課題操作と、第１のコントローラの位置の変化と姿勢の変化のうち少なくともいずれか一方と、第２のコントローラの押圧状態とから、把持モジュールが固定された部位が推定される。例えば、第１のコントローラの位置の変化量と、第２のコントローラの所定領域の押圧・非押圧状態と、の組み合わせに応じて、把持モジュールが固定された部位が推定される。部位を推定するタイミングは任意であるが、例えば、ゲーム全体が前半と後半に分かれており、ゲームの前半において部位が推定される。その後、ゲームの後半において、推定結果を反映した演出が行われる。
【００１２】
本発明によれば、プレイヤーは、把持モジュールを任意の部位に固定してゲームをプレイすることができ、ゲーム装置は、把持モジュールが固定されている部位を簡単に推定することができる。把持モジュールが固定されている部位の推定結果から、その部位の位置がどのように移動しているのか、あるいは、その部位の姿勢がどのように変化しているのかを容易に推定できることになる。すなわち、ゲーム装置は、プレイヤーの体の動きを容易に推定することができる。
【００１３】
推定部は、提示された課題操作と、第１のコントローラにより検知された位置の変化と姿勢の変化のうち少なくともいずれか一方と、第２のコントローラにより検知された操作とに基づいて、複数の部位のそれぞれについて、当該部位に固定されていると仮定した場合におけるプレイヤーの成績を計算し、当該計算された成績のそれぞれに基づいて、第１のコントローラが固定された部位を推定してもよい。
【００１４】
例えば、ある１つの部位に第２のコントローラが固定されていると仮定して、ゲーム前半におけるプレイヤーの成績が判定される。同様に、他の１つの部位に第２のコントローラが固定されていると仮定して、ゲーム前半におけるプレイヤーの成績が判定される。こうして、すべての部位について、固定されていると仮定したときの成績が判定される。そして、最も良い成績に対応する部位に、第２のコントローラが固定されているものと推定される。ただし、最も良い成績に対応する部位に限られない。例えば、ある所定値以上の成績に対応する部位に固定されていると推定してもよいし、成績が所定範囲内に収まる部位に固定されていると推定されてもよい。本発明によれば、ゲーム装置は、把持モジュールが固定されている部位を簡単に推定することができる。そして、ゲーム装置は、プレイヤーの体の動きを容易に推定することができる。
【００１５】
所定の課題操作は、複数の部位のうち所定の課題部位による操作を与えるべき旨の課題を示すものであってもよい。
そして、ゲーム装置は、第１のコントローラにより検知された位置の変化もしくは姿勢の変化と、第２のコントローラにより検知された操作と、第１のコントローラが固定されていると推定された部位と、から、プレイヤーが所定の課題部位により操作を与えたか否かを判定する判定部を更に備えてもよい。
【００１６】
例えば、ゲーム全体が前半と後半に分かれており、ゲームの前半において部位が推定される。その後、ゲームの後半において、推定結果を用いてプレイヤーの成績が判定される。ただし、ゲーム全体のうち、部位が推定される部分と、推定結果を用いて成績が判定される部分との分け方は、本発明によって限定されない。本発明によれば、部位の推定結果を用いて、成績に応じて演出を変えたり、プレイヤーに適切なアドバイスを提供したりすることができ、ゲームの興趣性が増す。
【００１７】
ゲーム装置にて行われるゲームには、第１種の時間領域と、当該第１種の時間領域より後の第２種の時間領域とが設けられてもよい。
そして、推定部は、第１種の時間領域において、複数の部位のうち第１のコントローラが固定された部位を推定してもよい。
また、判定部は、第２種の時間領域において、プレイヤーが所定の課題部位により操作を与えたか否かを判定してもよい。
【００１８】
例えば、第１種の時間領域がゲームの前半であり、当該第１種の時間領域より後の第２種の時間領域がゲームの後半である。ただし、前半・後半に限らず、第１種の時間領域と第２種の時間領域を任意のゲーム内時間に設定することが可能である。第１種の時間領域をゲーム開始直後に設定し、第２種の時間領域を第１種の時間領域が経過した後に設定すれば、より正確な部位の推定ができ、且つ、推定結果を反映してゲームを進行できる期間を長くすることができるようになる。
【００１９】
判定部は、ゲームの進行に応じて、第１種の時間領域の時間長と、第１種の時間領域の数と、第２種の時間領域の時間長と、第２種の時間領域の数と、のうち少なくともいずれか一つを変更してもよい。
【００２０】
すなわち、部位を推定するための第１種の時間領域と、推定結果を用いて成績が判定される第２種の時間領域は、固定でなくてもよく、都度変更されてもよい。本発明によれば、把持モジュールが固定されている部位をより正確に推定することができ、また、推定結果を用いたゲームの演出の効果をより高めることができる。
【００２１】
ゲーム装置は、第１のコントローラにより検知された位置の変化の履歴もしくは姿勢の変化の履歴と、第２のコントローラにより検知された操作の履歴と、を記憶する履歴記憶部を更に備えてもよい。
そして、推定部は、記憶された履歴のそれぞれに基づいて、第１のコントローラが固定された部位を推定してもよい。
【００２２】
本発明によれば、部位をより正確に推定することができるサンプル数のデータを用いて、把持モジュールが固定されている部位を推定できるようになる。
【００２３】
第１のコントローラは、プレイヤーの右足又は左足に固定されていてもよい。
そして、推定部は、提示された課題操作と、第１のコントローラにより検知された位置の変化もしくは姿勢の変化と、第２のコントローラにより検知された操作と、から、第１のコントローラが固定された部位が右足と左足のどちらであるかを推定してもよい。
【００２４】
本発明によれば、プレイヤーが足を動かしてプレイするゲームにおいて、ゲーム装置は、プレイヤーが望ましい足の動きをしたか否かを適切に推定することができる。その際、プレイヤーは、左右のどちらの足に把持モジュールを固定してもよく、また、どちらの足に固定したのかといった情報をわざわざ入力する必要はない。
【００２５】
本発明のその他の観点に係るゲーム処理方法は、第１のコントローラと第２のコントローラと提示部と推定部を有するゲーム装置にて行われるゲーム処理方法であって、第１の検知ステップと第２の検知ステップと提示ステップと推定ステップとを備える。
第１の検知ステップでは、第１のコントローラが、プレイヤーの体の複数の部位のいずれかに固定され、当該固定された部位の位置もしくは姿勢の変化を検知する。
第２の検知ステップでは、第２のコントローラが、プレイヤーの体の複数の部位による操作を検知する。
提示ステップでは、提示部が、複数の部位のうち少なくともいずれか１つの部位により所定の課題操作を第２のコントローラに与えるべき旨をプレイヤーに提示する。
推定ステップでは、提示された課題操作と、第１の検知ステップにおいて検知された位置の変化もしくは姿勢の変化と、第２の検知ステップにおいて検知された操作と、から、複数の部位のうち第１のコントローラが固定された部位を推定する。
【００２６】
本発明によれば、把持モジュールが固定されている部位を簡単に推定することができるゲーム処理方法を提供することができる。そして、プレイヤーの体の動きを容易に推定することができるゲーム処理方法を提供することができる。
【００２７】
本発明のその他の観点に係るプログラムは、プレイヤーの体の複数の部位のいずれかに固定され、当該固定された部位の位置もしくは姿勢の変化を検知する第１のコントローラと、プレイヤーの体の複数の部位による操作を検知する第２のコントローラと、を有するコンピュータを、提示部と推定部として機能させる。
提示部は、複数の部位のうち少なくともいずれか１つの部位により所定の課題操作を第２のコントローラに与えるべき旨をプレイヤーに提示する。
推定部は、提示された課題操作と、第１のコントローラにより検知された位置の変化もしくは姿勢の変化と、第２のコントローラにより検知された操作と、から、複数の部位のうち第１のコントローラが固定された部位を推定する。
【００２８】
本発明によれば、コンピュータを上述のように動作するゲーム装置として機能させることができる。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００２９】
本発明によれば、プレイヤーの体の動きを推測するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図２】第１のコントローラの構成を説明するための図である。
【図３】第２のコントローラ（マット）の構成を説明するための図である。
【図４】ゲーム画面の構成例を示す図である。
【図５】ゲーム装置の機能的な構成を説明するための図である。
【図６】ゲーム課題と検知結果の例を示す図である。
【図７】（ａ）と（ｂ）は、プレイヤーの動作の推定されるパターンの例を示す図である。
【図８】（ａ）〜（ｆ）は、プレイヤーの足の動作を説明するための図である。
【図９】ゲーム処理を説明するためのフローチャートである。
【図１０】実施形態２において、ゲーム装置の機能的な構成を説明するための図である。
【図１１】ゲーム画面の構成例を示す図である。
【図１２】プレイヤーの成績を判定するために用いられる余裕時間を説明するための図である。
【図１３】部位の推定を行う時間領域と、部位の推定結果から成績を判定する時間領域と、を説明するための図である。
【図１４】推定結果を示すキャラクター画像を配置したゲーム画面の構成例を示す図である。
【発明を実施するための形態】
【００３１】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００３２】
（実施形態１）
図１は、プログラムを実行することにより、本発明の実施形態に係るゲーム装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。
【００３３】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＯＭ  １０２、ＲＡＭ（Random Access Memory）１０３、インターフェース１０４、第１のコントローラ１０５、外部メモリ１０６、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０７、画像処理部１０８、音声処理部１０９、ＮＩＣ（Network Interface Card）１１０、第２のコントローラ１１１を備える。
【００３４】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０７に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態に係るゲーム装置が実現される。
【００３５】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され、制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００３６】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００３７】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００３８】
インターフェース１０４を介して接続された第１のコントローラ１０５と第２のコントローラ１１１は、プレイヤーがゲーム実行の際などに行う操作入力を受け付ける。第１のコントローラ１０５と第２のコントローラ１１１の詳細については後述する。以下の説明において、第１のコントローラ１０５を単に「コントローラ」と、第２のコントローラ１１１を「マット」と、それぞれ呼ぶことがある。
【００３９】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。プレイヤーは、第１のコントローラ１０５と第２のコントローラ１１１を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００４０】
ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭには、ゲームを行うためのプログラムとゲームに付随する画像データや音声データなどが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０７は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００４１】
画像処理部１０８は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０８が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０８が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０８に接続されるモニター（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００４２】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００４３】
また、仮想空間が３次元にて構成される場合には、当該３次元空間内に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想空間に配置されたポリゴンを所定の視線の方向へ見たレンダリング画像を得る演算の高速実行も可能である。
【００４４】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００４５】
音声処理部１０９は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカーから出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカーから出力させる。
【００４６】
音声処理部１０９では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカーに出力することにより、音声出力が可能となる。
【００４７】
さらに、情報処理装置１００には、インターフェース１０４を介してマイクを接続することができる。この場合、マイクからのアナログ信号に対しては、適当なサンプリング周波数でＡ／Ｄ変換を行い、ＰＣＭ形式のディジタル信号として、音声処理部１０９でのミキシング等の処理ができるようにする。
【００４８】
ＮＩＣ  １１０は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェイス（図示せず）により構成される。
【００４９】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００５０】
以上で説明した情報処理装置１００は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【００５１】
例えば、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣを備え、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、第１のコントローラ１０５や第２のコントローラ１１１ではなく、キーボードやマウスなどを入力装置として利用することができる。
【００５２】
本実施形態では、第１のコントローラ１０５として、現実の空間における第１のコントローラ１０５の現在位置や姿勢などの種々のパラメータが測定できるようなコントローラを採用する。
【００５３】
図２は、現実の空間における位置や姿勢などの種々のパラメータが測定できるような第１のコントローラ１０５と、情報処理装置１００との外観を示す説明図である。以下、本図を参照して説明する。
【００５４】
第１のコントローラ１０５は、把持モジュール２０１と発光モジュール２５１との組合せからなる。把持モジュール２０１は、無線通信によって情報処理装置１００と通信可能に接続されている。発光モジュール２５１は、有線で情報処理装置１００と通信可能に接続されている。情報処理装置１００の処理結果の音声および画像は、テレビジョン装置２９１によって出力表示される。
【００５５】
把持モジュール２０１は、テレビジョン装置２９１のリモートコントローラと類似した外観をしており、その先端には、ＣＣＤカメラ２０２が配置されている。
【００５６】
一方、発光モジュール２５１は、テレビジョン装置２９１の上部に固定されている。発光モジュール２５１の両端には、発光ダイオード２５２が配置されており、情報処理装置１００からの電源供給によって発光する。
【００５７】
把持モジュール２０１のＣＣＤカメラ２０２は、この発光モジュール２５１の様子を撮影する。
【００５８】
撮影された画像の情報は、情報処理装置１００に送信され、情報処理装置１００のＣＰＵ  １０１は、当該撮影された画像内において発光ダイオード２５２が撮影された位置に基づいて、発光モジュール２５１に対する把持モジュール２０１の位置を取得する。
【００５９】
このほか、把持モジュール２０１内には、加速度センサ、角加速度センサ、傾きセンサ等が内蔵されており、把持モジュール２０１そのものの姿勢を測定することが可能となっている。この測定結果も、情報処理装置１００に送信される。
【００６０】
把持モジュール２０１の上面には、十字形キー２０３が配置されており、プレイヤーは、十字形キー２０３を押し込み操作することによって、各種の方向指示入力を行うことができる。また、Ａボタン２０４ほか、各種ボタン２０６も上面に配置されており、当該ボタンに対応付けられた指示入力を行うことができる。
【００６１】
一方、Ｂボタン２０５は、把持モジュール２０１の下面に配置されており、把持モジュール２０１の下面に窪みが構成されていることとあいまって、拳銃やマジックハンドにおける引き金を模したものとなっている。典型的には、仮想空間内における拳銃による発砲やマジックハンドによる把持の指示入力は、Ｂボタン２０５を用いて行われる。
【００６２】
また、把持モジュール２０１の上面のインジケータ２０７は、把持モジュール２０１の動作状況や情報処理装置１００との無線通信状況などをプレイヤーに提示する。
【００６３】
把持モジュール２０１の上面に用意された電源ボタン２０８は、把持モジュール２０１そのものの動作のオン・オフを行うもので、把持モジュール２０１は内蔵された電池（図示せず）によって動作する。
【００６４】
このほか、把持モジュール２０１の上面には、スピーカー２０９が配置され、音声処理部１０９から入力される音声信号による音声を出力する。把持モジュール２０１内部には、バイブレータ（図示せず）が用意されており、情報処理装置１００からの指示に基づいて、振動の有無や強弱を制御することができるようになっている。
【００６５】
以下では、把持モジュール２０１と発光モジュール２５１との組合せからなる第１のコントローラ１０５を用いて、把持モジュール２０１の現実世界における位置や姿勢を測定することを前提に説明する。ただし、上記のような形態によらず、たとえば超音波や赤外線通信、ＧＰＳ（Global Positioning System）等を利用して第１のコントローラ１０５の現実世界における位置や姿勢を測定するとした場合であっても、本発明の範囲に含まれる。
【００６６】
第２のコントローラ（マット）１１１は、床などの上に置かれ、表面の所定領域をプレイヤーが足や手などで押圧できるマット型の形状をしている。第２のコントローラ１１１の表面の所定領域には、プレイヤーからの押圧による指示入力を受け付けるボタン、あるいは、プレイヤーにより加わる圧力を検知するセンサが配置されている。
【００６７】
図３は、床面に設置された第２のコントローラ１１１を真上から眺めた図である。第２のコントローラ１１１の所定領域には、“左”を指示する入力をプレイヤーから受け付けるボタン３０１、“下”を指示する入力をプレイヤーから受け付けるボタン３０２、“上”を指示する入力をプレイヤーから受け付けるボタン３０３、“右”を指示する入力をプレイヤーから受け付けるボタン３０４、がそれぞれ配置されている。プレイヤーは、ボタン３０１乃至３０４を任意のタイミングで押圧することができる。
【００６８】
ボタン３０１乃至３０４がプレイヤーによって押圧されている状態を「押圧状態」と呼び、押圧されていない状態を「非押圧状態」と呼ぶ。ＣＰＵ  １０１は、ボタン３０１乃至３０４のそれぞれについて、押圧状態か非押圧状態かを判別する。
【００６９】
本実施形態の第２のコントローラ１１１は４つのボタン３０１乃至３０４を備えているが、ボタンの数は４個に限定されず、３個以下あるいは５個以上でもよい。
【００７０】
次に、本実施形態の情報処理装置１００が実行するゲームの概略について説明する。
【００７１】
図４は、モニターに表示されるゲーム画面の構成例である。ゲーム画面には、所定位置に固定して描画される静止マーク４０１乃至４０４、描画位置が時間の経過と共に移動する踏み位置指示マーク４１０（本図中では４１０Ａ，４１０Ｂ，４１０Ｃ，４１０Ｄの４種類）、プレイヤーの成績を表すゲージ４３０、その他の背景画像などが表示される。
【００７２】
踏み位置指示マーク４１０は、再生される音楽に合わせてスクロール表示される。踏み位置指示マーク４１０には、上下左右のいずれかの矢印が描かれている。
【００７３】
静止マーク４０１乃至４０４は、それぞれ、ボタン３０１乃至３０４をプレイヤーが押圧すべきタイミング（以下「課題時刻」ともいう。）を示すマークである。静止マーク４０１乃至４０４には、上下左右のいずれかの矢印の画像が描かれている。
【００７４】
踏み位置指示マーク４１０は、静止マーク４０１乃至４０４が描画されている位置に向かって音楽の再生速度に合わせて移動していく。静止マーク４０１乃至４０４と同じ位置に踏み位置指示マーク４１０が移動してきたときに、静止マーク４０１乃至４０４に描かれる矢印の向きに対応するボタン３０１乃至３０４のいずれかをプレイヤーが押圧すると、プレイヤーの得点が加算されたりゲージ４３０が示す値（ダンスメーター）がアップしたりする。
【００７５】
踏み位置指示マーク４１０が静止マーク４０１乃至４０４のいずれかと重なる位置に移動してきたときに、移動してきた踏み位置指示マーク４１０に示される矢印に対応するボタン（ボタン３０１乃至３０４のいずれか）をプレイヤーが足で押圧すると、再生されている音楽に合った模範的なダンスのステップを踏むことができるようになっている。
【００７６】
課題時刻とその課題時刻に押圧すべきボタンを指定する情報との組み合わせを「課題」と呼ぶ。１つの課題は［数１］のように表される。
【００７７】
Ｐ（ｉ）  ＝  （Ｔ（ｉ），Ｂ（ｘ））      ・・・［数１］
【００７８】
ただし、本実施形態のゲームにはＮ個（Ｎは１以上の整数）の課題が存在することとし、Ｐ（ｉ）は先頭からｉ番目（ｉは１以上Ｎ以下の整数）の課題を表し、Ｔ（ｉ）は課題Ｐ（ｉ）に対応する課題時刻を表し、Ｂ（ｘ）は課題内容を表す。
【００７９】
課題時刻Ｔ（ｉ）は、ゲーム内における時刻でもよいし、リアルタイムクロックで計時される現実世界における時刻でもよい。
例えば、課題時刻Ｔ（ｉ）は、“音楽の先頭から第何小節の第何拍目”といったように、再生される音楽に関連付けて定義されてもよい。
【００８０】
課題内容Ｂ（ｘ）には、ボタン３０１を示す値Ｂ（Ｌ）、ボタン３０２を示す値Ｂ（Ｄ）、ボタン３０３を示す値Ｂ（Ｕ）、ボタン３０４を示す値Ｂ（Ｒ）のいずれかが指定される。
ただし、後述するように、課題内容は、ボタンを示す情報のほか、プレイヤーの体の部位など、他の情報をさらに含むものであってもよい。
【００８１】
例えば、ある課題が、［数２］のように表されるとする。
Ｐ（ｉ）  ＝  （Ｔ（ｉ），Ｂ（Ｌ））      ・・・［数２］
このとき、ｉ番目のゲーム課題は「時刻Ｔ（ｉ）に第２のコントローラ１１１の左ボタン３０１を押圧すること」である。プレイヤーは、通常、ゲーム内の時間がＴ（ｉ）になったとき、左ボタン３０１を足で踏めばよい。
【００８２】
１つの課題時刻に、複数の課題内容を対応付けることも可能である。ただし、１つの課題時刻には、最大でも２つまでの課題内容を対応付けることが望ましい。
例えば、時刻Ｔ（ｉ）に２つの課題内容Ｂ（ｘ１），Ｂ（ｘ２）を対応付ける場合、課題は［数３］のように表される。
【００８３】
Ｐ（ｉ）  ＝  （Ｔ（ｉ），Ｂ（ｘ１），Ｂ（ｘ２））  ・・・［数３］
【００８４】
あるいは、［数４］と［数５］に示すように、２つの異なる課題として表してもよい。
【００８５】
Ｐ（ｉ）      ＝  （Ｔ（ｉ），Ｂ（ｘ１））      ・・・［数４］
Ｐ（ｉ＋１）  ＝  （Ｔ（ｉ），Ｂ（ｘ２））      ・・・［数５］
【００８６】
例えば、ある課題が、［数６］のように表されるとする。
【００８７】
Ｐ（ｉ）  ＝  （Ｔ（ｉ），Ｂ（Ｌ），Ｂ（Ｒ））      ・・・［数６］
【００８８】
このとき、ｉ番目のゲーム課題は「時刻Ｔ（ｉ）に、第２のコントローラ１１１の左ボタン３０１を押圧し、且つ、第２のコントローラ１１１の右ボタン３０４を押圧すること」である。プレイヤーは、ゲーム内の時刻がＴ（ｉ）になったとき、左ボタン３０１と右ボタン３０４の両方を足で踏めばよい。
【００８９】
ＣＰＵ  １０１は、ボタン３０１乃至３０４のうち課題内容によって示されるボタンが課題時刻にどの程度近いタイミングで押圧されたかに基づいて、それぞれの課題についてのプレイヤーの成績を判定する。例えば、課題内容によって示されるボタンが課題時刻と同じタイミングで押圧されると“ＧＲＥＡＴ”、課題内容によって示されるボタンが課題時刻の前後の所定時間幅以内のタイミングで押圧されると“ＧＯＯＤ”、その他のタイミングで押圧されるかもしくは押圧されなかったときは“ＢＡＤ”、などのように判定する。
【００９０】
あるいは、ＣＰＵ  １０１は、ボタン３０１乃至３０４のうち課題内容によって示されるボタンが課題時刻に押圧されたか否かに基づいて、それぞれの課題についてのプレイヤーの成績を判定してもよい。
【００９１】
次に、上記構成を有する情報処理装置１００により実現される、本実施形態のゲーム装置５００の機能的な構成について説明する。
【００９２】
図５は、本実施形態のゲーム装置５００の機能的な構成を示す図である。ゲーム装置５００は、第１のコントローラ１０５、第２のコントローラ１１１、提示部５１０、推定部５２０を備える。
【００９３】
第１のコントローラ１０５の把持モジュール２０１は、プレイヤーによって把持されたりプレイヤーの体に固定されたりする。第１のコントローラ１０５は、把持モジュール２０１の位置の変化（つまり固定された部位の位置の変化）と、把持モジュール２０１の姿勢の変化（つまり固定された部位の姿勢の変化）と、のうち、少なくともいずれか一方を検知する。ここで、部位とは、具体的には、左手、右手、左足、右足などのことである。
【００９４】
プレイヤーは、左手又は右手に把持モジュール２０１を持ち、各種ボタンを押したり把持モジュール２０１を振ったりすることによって、所望の指示を入力することができる。つまり、第１のコントローラ１０５は、左手又は右手によるプレイヤーの操作（動作）を検知することができる。
【００９５】
また、プレイヤーは、左足又は右足に把持モジュール２０１を固定し、把持モジュール２０１を装着した足を動かすことによって、所望の指示を入力することもできる。つまり、第１のコントローラ１０５は、左足又は右足によるプレイヤーの操作（動作）を検知することができる。
【００９６】
そのほか、プレイヤーは、プレイヤーの体に装着するためのバンド等を用いて、頭や胴体など自分の体の任意の場所に把持モジュール２０１を固定することができる。
本実施形態では、第１のコントローラ１０５の把持モジュール２０１は、プレイヤーの足のスネや太モモのあたりなどに固定され、足による操作を検知するものとして説明する。
【００９７】
第２のコントローラ（マット）１１１は、プレイヤーによる操作を検知する。第２のコントローラ１１１は、プレイヤーの体の複数の部位のうちのいずれかの部位による操作、例えばプレイヤーの片足による操作を検知する。プレイヤーは、典型的には、第２のコントローラ１１１のボタン３０１〜３０４を足で踏むことによって、所望の指示を入力する。ただし、プレイヤーは、第２のコントローラ１１１のボタン３０１乃至３０４を手などで押すこともできる。
【００９８】
第１のコントローラ１０５と第２のコントローラ１１１を併用することによって、ＣＰＵ  １０１は、プレイヤーがどのように体を動かしたかを推定することが可能になる。詳細は後述する。
【００９９】
提示部５１０は、複数の部位のうち少なくともいずれか１つの部位により所定の課題操作を第２のコントローラ１１１に与えるべき旨を、プレイヤーに提示する。ＣＰＵ  １０１と画像処理部１０８が協働して、提示部５１０として機能する。
【０１００】
課題操作は、プレイヤーが所定の課題部位によって与えるべき操作のことである。課題操作は、課題部位と課題時刻を示す画像が図４に示すようにモニターに表示されることにより、プレイヤーに提示される。
【０１０１】
例えば、ＣＰＵ  １０１は、左向きの矢印を表す画像（踏み位置指示マーク４１０Ａ）をモニターにスクロール表示することにより、「踏み位置指示マーク４１０Ａが示すタイミングでボタン３０１を踏むべきである」という課題操作をプレイヤーに提示する。
【０１０２】
ただし、ＣＰＵ  １０１は、課題操作の提示を、モニターに画像を表示することによって行うだけでなく、スピーカーからガイダンス音声を出力することによって行ってもよい。また、ＣＰＵ  １０１は、モニターへの表示に替えて、スピーカーからの音声の出力のみによって行ってもよい。
【０１０３】
推定部５２０は、提示部５１０によってプレイヤーに提示された課題操作と、第１のコントローラ１０５により検知された操作と、第２のコントローラ１１１により検知された位置の変化及び姿勢の変化と、から、第１のコントローラ１０５の把持モジュール２０１が固定された部位を推定する。ＣＰＵ  １０１と第１のコントローラ１０５と第２のコントローラ１１１が協働して、推定部５２０として機能する。
【０１０４】
仮に、ある時刻において、把持モジュール２０１の位置又は姿勢が所定量以上変化したことが検知され、且つ、第２のコントローラ１１１（マット）のボタン３０１乃至３０４のいずれかが押圧されたことが検知されたとき、この時刻のみの検知結果を用いて部位を推定するものとすると、“把持モジュール２０１が固定された部位によってボタン３０１乃至３０４のいずれかが押圧された”、言い換えれば、“プレイヤーが把持モジュール２０１を固定した部位でマットを押した（踏んだ）”と推定できるが、“プレイヤーがどの部位に把持モジュール２０１を固定しているのか”まで推定することは一般に容易ではないと考えられる。
そこで、本実施形態では、ＣＰＵ  １０１は、ゲーム開始後の所定期間内における、第１のコントローラ１０５により検知された操作の履歴と、第２のコントローラ１１１により検知された位置の変化の履歴及び姿勢の変化の履歴を、ＲＡＭ  １０３に記憶し、更に、ＲＡＭ  １０３に記憶されたこれらの履歴に基づいて、所定期間経過後の期間について、第１のコントローラ１０５の把持モジュール２０１が固定された部位を推定することとしている。
【０１０５】
所定期間は、例えば、ゲーム開始時点から、再生される音楽全体の長さのおよそ半分が経過するまで、の期間（つまり楽曲の前半）である。つまり、ＣＰＵ  １０１は、再生される音楽の前半部分における、第１のコントローラ１０５により検知された操作の履歴と、第２のコントローラ１１１により検知された位置の変化の履歴及び姿勢の変化の履歴とに基づいて、再生される音楽の後半部分について、第１のコントローラ１０５の把持モジュール２０１が固定されたプレイヤーの部位を推定する。
【０１０６】
ただし、所定期間は、音楽の前半と後半を区別することによって定義されるほか、他の手法によって定義されることとしてもよい。例えば、所定期間は、音楽全体の時間長（前半の時間長と後半の時間長の合計）であってもよいし、現在時刻の直近の過去所定時間（例えば現在時刻のＸ秒前から現在時刻まで）であってもよい。
【０１０７】
ここで、把持モジュール２０１が固定された部位を推定する処理について詳しく説明する。
【０１０８】
例えば、［数７］〜［数１０］及び図６（の左側のカラム）に示すように、４つの一連のゲーム課題が定義されるとする。
Ｐ（ｉ）  ＝  （Ｔ（ｉ），    Ｂ（Ｄ；Ｒ））    ・・・［数７］
Ｐ（ｉ＋１）  ＝  （Ｔ（ｉ＋１），Ｂ（Ｒ；Ｌ））    ・・・［数８］
Ｐ（ｉ＋２）  ＝  （Ｔ（ｉ＋２），Ｂ（Ｕ；Ｒ））    ・・・［数９］
Ｐ（ｉ＋３）  ＝  （Ｔ（ｉ＋３），Ｂ（Ｌ；Ｌ））    ・・・［数１０］
【０１０９】
パラメータＢ（Ｘ；Ｙ）は、“ボタンＸを、足Ｙで踏む”という課題操作を表す。すなわち、［数７］〜［数１０］で表される一連の課題操作は、
（１）１番目に、下のボタン３０２を右足で踏み、
（２）２番目に、右のボタン３０４を左足で踏み、
（３）３番目に、上のボタン３０３を右足で踏み、
（４）４番目に、左のボタン３０１を左足で踏む、
という動きをプレイヤーがすべきことを意味する。
【０１１０】
そして、第１のコントローラ１０５と第２のコントローラ１１１による検知結果が、図６（の右側のカラム）に示す内容であったと仮定する。このとき、ＣＰＵ  １０１は、図７（ａ）に示されるパターンでプレイヤーによって押圧されたか、もしくは、図７（ｂ）に示されるパターンでプレイヤーによって押圧されたか、のどちらかである、と推定することができる。
【０１１１】
さらに、ＣＰＵ  １０１は、図７（ａ）に示すように推定されるパターンで操作された場合のプレイヤーの成績値と、図７（ｂ）に示すように推定されるパターンで操作された場合のプレイヤーの成績値と、の両方を計算する。
【０１１２】
図７（ａ）に示すように推定されるパターンを採用する場合、ＣＰＵ  １０１によって判定されるプレイヤーの成績は、次のようになる。
・ｉ番目のゲーム課題・・・・・失敗。（右足で踏むべきところを左足で踏んだ）
・ｉ＋１番目のゲーム課題・・・失敗。（左足で踏むべきところを右足で踏んだ）
・ｉ＋２番目のゲーム課題・・・失敗。（右足で踏むべきところを左足で踏んだ）
・ｉ＋３番目のゲーム課題・・・成功。（左足で踏むべきところを左足で踏んだ）
すなわち、プレイヤーの成功率は、２５％である。
【０１１３】
一方、図７（ｂ）に示すように推定されるパターンを採用する場合、ＣＰＵ  １０１によって判定されるプレイヤーの成績は、次のようになる。
・ｉ番目のゲーム課題・・・・・成功。（右足で踏むべきところを右足で踏んだ）
・ｉ＋１番目のゲーム課題・・・成功。（左足で踏むべきところを左足で踏んだ）
・ｉ＋２番目のゲーム課題・・・成功。（右足で踏むべきところを右足で踏んだ）
・ｉ＋３番目のゲーム課題・・・失敗。（左足で踏むべきところを右足で踏んだ）
すなわち、プレイヤーの成功率は、７５％である。
【０１１４】
そして、ＣＰＵ  １０１は、どちらか成績の良い方のパターンで操作されたものと推定する。上記の例の場合、ＣＰＵ  １０１は、成功率がより高い方、すなわち図７（ｂ）に示されるパターンでプレイヤーによって操作された、と推定する。
【０１１５】
図７（ｂ）に示すパターンは、ｉ番目のゲーム課題ではプレイヤーが「右足」で下ボタン３０２を踏み、ｉ＋１番目のゲーム課題ではプレイヤーが「左足」で右ボタン３０４を踏み、ｉ＋２番目のゲーム課題ではプレイヤーが「右足」で上ボタン３０３を踏み、ｉ＋３番目のゲーム課題ではプレイヤーが「右足」で左ボタン３０１を踏んだ、ということを示している。従って、ＣＰＵ  １０１は、把持モジュール２０１が固定された部位は「右足」である、と推定する。
【０１１６】
ＣＰＵ  １０１は、把持モジュール２０１が固定された部位を推定し、更に、プレイヤーの動作を詳しく推定することができる。図８（ａ）〜（ｆ）は、図７（ｂ）に示すパターンが採用された場合における、推定されるプレイヤーの動作を模式的に表した図である。
【０１１７】
図８（ａ）に示すように、マットの真ん中に両足を揃えて立っている初期状態から、図７（ｂ）に示すように推定される一連の動作をより自然な形で実行しようとするならば、ＣＰＵ  １０１は、プレイヤーが、
（１）最初に、図８（ｂ）に示すように、右足を後ずさりするように移動し、
（２）次に、図８（ｃ）に示すように、体をひねりながら左足を前に出し、
（３）次に、図８（ｄ）に示すように、体をひねりながら右足を前に出し、
（４）最後に、図８（ｅ）に示すように、体をひねりながら左足を前に出した、
と推定することができる。つまり、プレイヤーがマットの中を左回りに（反時計回りに）回転した、と推定される。
【０１１８】
さらに、プレイヤーがマットの中を左回りに回転したと推定されることから、ＣＰＵ  １０１は、「プレイヤーは、時刻Ｔ（ｉ＋３）の後、図８（ｆ）に示すように、右足で下ボタン３０２を踏む可能性が高い、と推定することができる。すなわち、ＣＰＵ  １０１は、ＲＡＭ  １０３に記憶された履歴から、プレイヤーが次にとる可能性が高いと推定される動作を推定することもできる。
【０１１９】
なお、ＣＰＵ  １０１が以上のように部位や動作を推定するに際し、把持モジュール２０１をどちらの足に固定しているのかをプレイヤーに予め入力させたり、どちらの足に固定しなければならないという制限を設けたりする必要はない。
【０１２０】
推定部５２０によってプレイヤーが把持モジュール２０１をどちらの足に固定してプレイしているのかが推定できれば、プレイヤーに単にボタンを順々に踏ませるだけでなく、どちらの足を動かすべきかも考慮してプレイヤーにボタンを順々に踏ませるように誘導するダンスゲームを実現することが可能になる。
【０１２１】
次に、ゲーム装置５００の上記各部が協働して行うゲーム処理について説明する。
図９は、ゲーム処理を説明するためのフローチャートである。
【０１２２】
まず、ＣＰＵ  １０１は、プレイヤーにゲーム課題を提示する（ステップＳ９０１）。具体的には、ＣＰＵ  １０１は、複数の部位のうち少なくともいずれか１つの部位により所定の課題操作をすべき旨を表す踏み位置指示マーク４１０Ａ〜４１０Ｄを、モニターにスクロール表示する。
【０１２３】
ＣＰＵ  １０１は、第１のコントローラ１０５によって検知される位置の変化と姿勢の変化のうち少なくとも一方を表す検知結果と、第２のコントローラ１１１によって検知される各ボタンの押圧状態を表す検知結果と、を取得する（ステップＳ９０２）。
【０１２４】
ＣＰＵ  １０１は、ステップＳ９０２で取得された、第１のコントローラ１０５による検知結果と、第２のコントローラ１１１による検知結果と、に基づいて、把持モジュール２０１が固定された部位を推定する（ステップＳ９０３）。
【０１２５】
ステップＳ９０３では、ＣＰＵ  １０１は、上述したように、把持モジュール２０１の位置の変化量の履歴と、第２のコントローラ１１１のボタンの押圧状態の履歴とに基づいて、把持モジュール２０１が固定された部位を推定する。
【０１２６】
ここで、ＣＰＵ  １０１は、把持モジュール２０１の位置の変化量ΔＰの絶対値が所定の閾値以上であり、且つ、第２のコントローラ１１１が有するボタンのうち提示されたゲーム課題が示すボタンＸが押圧された場合に、把持モジュール２０１が固定された足ＹでボタンＸが踏まれた、と推定する。
【０１２７】
あるいは、ＣＰＵ  １０１は、把持モジュール２０１の位置の変化量ΔＰｘ，ΔＰｙ，ΔＰｚのうちいずれかが所定の閾値以上であり、且つ、第２のコントローラ１１１が有するボタンのうち提示されたゲーム課題が示すボタンＸが押圧された場合に、把持モジュール２０１が固定された足ＹでボタンＸが踏まれた、と推定してもよい。ただし、ΔＰｘは現実空間に定義される３次元直交座標系におけるｘ方向の変位を表し、ΔＰｙはｙ方向の変位を表し、ΔＰｚはｚ方向の変位を表す。
【０１２８】
位置の変化量ΔＰの代わりに、向きの変化量ΔＤを用いて、プレイヤーの動作が推定されてもよい。
ＣＰＵ  １０１は、把持モジュール２０１の向きの変化量ΔＤの絶対値が所定の閾値以上であり、且つ、第２のコントローラ１１１が有するボタンのうち提示されたゲーム課題が示すボタンＸが押圧された場合、把持モジュール２０１が固定された足ＹでボタンＸが踏まれた、と推定してもよい。ＣＰＵ  １０１は、把持モジュール２０１の向きの変化量と、第２のコントローラ１１１の各ボタンが押圧状態か非押圧状態かに基づいて、把持モジュール２０１が固定された部位を推定することもできる。
【０１２９】
あるいは、ＣＰＵ  １０１は、把持モジュール２０１の向きの変化量ΔＤｘ，ΔＤｙ，ΔＤｚのうちいずれかが所定の閾値以上であり、且つ、第２のコントローラ１１１が有するボタンのうち提示されたゲーム課題が示すボタンＸが押圧された場合、把持モジュール２０１が固定された足ＹでボタンＸが踏まれた、と推定してもよい。ただし、ΔＤｘは現実空間に定義される３次元直交座標系における向きの変化量ΔＤのｘ方向成分の大きさを表し、ΔＤｙはΔＤのｙ方向成分の大きさを表し、ΔＤｚはΔＤのｚ方向成分の大きさを表す。
【０１３０】
また、ＣＰＵ  １０１は、把持モジュール２０１の位置の変化量ΔＰと向きの変化量ΔＤの両方に基づいて、把持モジュール２０１が固定された部位を推定してもよい。
【０１３１】
次に、ＣＰＵ  １０１は、ステップＳ９０３で得られた推定結果を用いて、ゲームを進行する（ステップＳ９０４）。
【０１３２】
ＣＰＵ  １０１は、推定された部位、すなわち、プレイヤーが把持モジュール２０１を固定していると推定される部位と、課題操作が示す部位と、が一致するか否かを判定し、判定結果をモニターに表示してもよい。例えば、ＣＰＵ  １０１は、推定された部位と課題操作が示す部位とが一致していれば「ＧＲＥＡＴ！」と表示し、一致していなければ「ＢＡＤ！」と表示する。あるいは、ＣＰＵ  １０１は、推定された部位と課題操作が示す部位とが一致していれば、プレイヤーの獲得スコアやゲージ４３０が示す値に所定の点数を加算し、一致していなければ、減点してもよい。
【０１３３】
そして、ＣＰＵ  １０１は、ゲームを終了するか否かを判別する（ステップＳ９０５）。例えば、ＣＰＵ  １０１は、ゲージ４３０が示す値が所定の閾値（典型的にはゼロ）以下であればゲームを終了し、そうでなければゲームを続行すると判別する。
【０１３４】
ゲームを終了しないと判別した場合（ステップＳ９０５；ＮＯ）、ＣＰＵ  １０１は、ステップＳ９０１に戻り、ステップＳ９０１乃至Ｓ９０４の処理を繰り返す。
一方、ゲームを終了すると判別した場合（ステップＳ９０５；ＹＥＳ）、ＣＰＵ  １０１は、ゲーム処理を終了する。
【０１３５】
本実施形態によれば、ゲーム装置５００は、プレイヤーの体の動きを容易に推定することができる。そして、ゲーム装置５００は、推定されたプレイヤーの動きに合わせてゲームを進行させることにより、ゲームの興趣性を高めることができる。
例えば、ダンスゲームにおいて、足を接地すべき位置の順番をプレイヤーに提示するだけでなく、どちらの足をどこに接地すべきかをプレイヤーに提示し、提示されたゲーム課題の達成度に基づいて、プレイヤーにダンスのアドバイスをすることができる。
【０１３６】
本実施形態では、把持モジュール２０１が足に固定されるものとして説明したが、把持モジュール２０１を固定する部位は足だけに限定されるわけではない。例えば、プレイヤーが把持モジュール２０１を右手又は左手に固定して（典型的には右手又は左手で握って）ゲームをプレイする場合においても、上記と同様の推定を行うことにより、プレイヤーが把持モジュール２０１をどちらの手に握ってプレイしているのかを推定することができる。そして、ゲーム装置５００は、足の動きだけではなく手の動きも取り入れたダンスのゲームを提供し、プレイヤーにアドバイス等を適宜提供できるようになる。
【０１３７】
（実施形態２）
次に、本発明のその他の実施形態について説明する。本実施形態では、ゲーム装置５００は、推定部５２０による推定結果に基づいてプレイヤーの成績を判定し、判定結果をプレイヤーに提供する。
【０１３８】
図１０は、本実施形態のゲーム装置５００の機能的な構成を説明するための図である。ゲーム装置５００は、判定部１０１０を更に備える。
図１１は、モニターに表示されるゲーム画面の構成例を表す図である。踏み位置指示マーク１１５０Ａ〜１１５０Ｄは、判定ライン１１６０へ向かって徐々に移動していく。
【０１３９】
判定部１０１０は、第１のコントローラ１０５により検知された位置の変化もしくは姿勢の変化と、第２のコントローラ１１１により検知された操作と、第１のコントローラ１０５の把持モジュール２０１が固定されていると推定部５２０により推定された部位と、から、プレイヤーが所定の課題部位により操作を与えたか否か（つまりプレイヤーのゲーム成績）を判定する。ＣＰＵ  １０１が判定部１０１０として機能する。
【０１４０】
上述したように、ｉ番目のゲーム課題Ｐ（ｉ）は、［数１１］で表される。
【０１４１】
Ｐ（ｉ）  ＝  （Ｔ（ｉ），Ｂ（Ｘ；Ｙ））      ・・・［数１１］
ただし、
ｉ：ゲーム課題の通し番号。１以上Ｎ以下の整数。
Ｎ：ゲーム課題の総数。１以上の整数。
Ｔ（ｉ）：課題時刻
Ｂ（Ｘ；Ｙ）：課題内容
Ｘ：押圧されるべきボタン
Ｙ：課題部位
【０１４２】
この［数１１］で表されるゲーム課題は、より簡単に言えば、“プレイヤーが、時刻Ｔ（ｉ）に、ボタンＸを、足Ｙで踏むべきである”ことを示している。
【０１４３】
ゲーム課題は、モニターに、プレイヤーが踏むべきボタンに対応付けられる“向き”を表す画像（本実施形態では、上下左右のいずれかの矢印の形をした画像）と、プレイヤーが操作を行うべき部位に対応付けられる画像と、の組み合わせによってプレイヤーに提示される。
【０１４４】
図１１に示される踏み位置指示マーク１１５０Ａ〜１１５０Ｄは、それぞれ、［数１２］〜［数１５］で表されるゲーム課題に相当する。
【０１４５】
・踏み位置指示マーク１１５０Ａ：
Ｐ（ｉ）  ＝  （Ｔ（ｉ）  ，Ｂ（Ｌ；Ｌ））      ・・・［数１２］
・踏み位置指示マーク１１５０Ｂ：
Ｐ（ｉ＋１）  ＝  （Ｔ（ｉ＋１），Ｂ（Ｄ；Ｒ））      ・・・［数１３］
・踏み位置指示マーク１１５０Ｃ：
Ｐ（ｉ＋２）  ＝  （Ｔ（ｉ＋２），Ｂ（Ｕ；Ｌ））      ・・・［数１４］
・踏み位置指示マーク１１５０Ｄ：
Ｐ（ｉ＋３）  ＝  （Ｔ（ｉ＋３），Ｂ（Ｒ；Ｒ））      ・・・［数１５］
【０１４６】
つまり、踏み位置指示マーク１１５０Ａ〜１１５０Ｄで表される一連のゲーム課題は、プレイヤーが、
・まず、左足で左ボタン３０１を踏み、
・次に、右足で下ボタン３０２を踏み、
・更に、左足で上ボタン３０３を踏み、
・最後に、右足で右ボタン３０４を踏む、
という操作をすべきである、という内容である。
【０１４７】
なお、図示していないが、これら４種類の踏み位置指示マークのほか、Ｂ（Ｌ；Ｌ）の代わりにＢ（Ｌ；Ｒ）が指定されるゲーム課題と、Ｂ（Ｄ；Ｒ）の代わりにＢ（Ｄ；Ｌ）が指定されるゲーム課題と、Ｂ（Ｕ；Ｌ）の代わりにＢ（Ｕ；Ｒ）が指定されるゲーム課題と、Ｂ（Ｒ；Ｒ）の代わりにＢ（Ｒ；Ｌ）が指定されるゲーム課題も存在する。
Ｂ（Ｌ；Ｒ）は「右足で左ボタンを踏む」という課題内容を表し、Ｂ（Ｄ；Ｌ）は「左足で下ボタンを踏む」という課題内容を表し、Ｂ（Ｕ；Ｒ）は「右足で上ボタンを踏む」という課題内容を表し、Ｂ（Ｒ；Ｌ）は「左足で右ボタンを踏む」という課題内容を表す。
【０１４８】
それぞれのゲーム課題を表す画像（踏み位置指示マーク）のデザイン、数、配置の仕方は任意であるが、プレイヤーがなるべく直感的に（簡単に）認識できるようにすることが望ましい。
【０１４９】
ＣＰＵ  １０１は、ゲーム課題Ｐ（ｉ）について、次の３つの条件が満たされるか否かを判定する。
【０１５０】
（第１条件）課題時刻Ｔ（ｉ）にボタンが押圧されたこと。
（第２条件）押圧された場合、押圧されたボタンは、押圧されるべきボタンＸと合致すること。
（第３条件）押圧された場合、押圧されたボタンは、課題部位Ｙによって押圧されたと推定されること。
【０１５１】
これら３つの条件の判定処理について、更に詳しく説明する。
まず、第１条件について、ＣＰＵ  １０１は、ボタンが押圧状態になった時刻Ｔｐと、課題時刻Ｔ（ｉ）と、が合致するか否かを判定する。
この第１条件における“合致する場合”には、時刻Ｔｐと課題時刻Ｔ（ｉ）とが完全に一致する場合だけでなく、時刻Ｔｐが課題時刻Ｔ（ｉ）の前後に設定される所定の期間（以下「余裕期間」という。）内である場合も含まれる。
【０１５２】
図１２に余裕期間を図示する。本図では、２種類の余裕期間が示されている。
第１余裕期間は、Ｔ（ｉ）より前の期間Ｔ１と、Ｔ（ｉ）より後の期間Ｔ２と、からなる。典型的にはＴ１の時間長とＴ２の時間長は等しいが、異なる長さであってもよい。
第２余裕期間は、期間Ｔ１より前の期間Ｔ３と、期間Ｔ２より後の期間Ｔ４と、からなる。典型的にはＴ３の時間長とＴ４の時間長は等しいが、異なる長さであってもよい。
【０１５３】
押圧状態になった時刻Ｔｐが第１余裕期間又は第２余裕期間に含まれていれば、ＣＰＵ  １０１は、上記の条件１が満たされたと判定する。
【０１５４】
ここで２種類の余裕期間を設けたのは、ＣＰＵ  １０１が、ゲーム課題が単に達成されたか否かを判定するだけでなく、どの程度の正確さで達成されたのかもプレイヤーの成績に考慮するようにしているからである。
【０１５５】
例えば、第２条件と第３条件が満たされ、且つ、時刻Ｔｐが第１余裕期間に含まれていれば、ＣＰＵ  １０１は、より高い達成度であると判定し、プレイヤーに得点Ｓ１を与える。
また、第２条件と第３条件が満たされ、且つ、時刻Ｔｐが第２余裕期間に含まれていれば、ＣＰＵ  １０１は、やや低い達成度であると判定し、プレイヤーに得点Ｓ２（Ｓ２＜Ｓ１）を与える。
【０１５６】
次に、第２条件について、ＣＰＵ  １０１は、押圧状態になったことが第２のコントローラ１１１によって検知されたボタンと、課題内容が示すボタンＸと、が合致するか否かを判定する。
この第２条件における“合致する場合”とは、押圧状態になったボタンと、課題内容が示すボタンＸと、が同一であること、を意味する。
【０１５７】
また、第３条件について、ＣＰＵ  １０１は、ゲーム課題Ｐ（ｉ）に対応する課題操作が、推定部５２０によって推定される部位によってなされたか否かを判定する。
【０１５８】
例えば、ＣＰＵ  １０１は、ゲームの前半に行われたプレイヤーの操作の履歴に基づいて把持モジュール２０１が固定されている部位を推定した後、ゲームの後半におけるゲーム課題のそれぞれについて、ゲーム課題に対応する課題操作が、推定部５２０によって推定された部位によってなされたか否かを判定する。
【０１５９】
ゲーム内時間のどの時点をもってゲームを前半と後半の２つに分類するのかは自由である。また、把持モジュール２０１が固定された部位を推定する処理を行う時間領域と、部位を推定した結果を用いてプレイヤーの成績を判定する時間領域とを、任意に定義することが可能である。
【０１６０】
例えば図１３に示すように、ある音楽データを最初から最後まで再生したときの全再生時間のうち、部位の推定を行う時間領域と、部位の推定結果から成績を判定する時間領域と、をそれぞれ定義してもよい。典型的には、部位の推定を行う時間領域は音楽の出だし部分であり、部位の推定結果から成績を判定する時間領域は音楽のサビの部分（最も盛り上がると思われる部分）である。
【０１６１】
また、部位の推定を行う時間領域は、１つだけではなく複数設けられてもよい。部位の推定を行う複数の時間領域は、それぞれ第１種の時間領域とも呼ばれる。同様に、部位の推定結果から成績を判定する時間領域は、１つだけではなく複数設けられてもよい。部位の推定結果から成績を判定する複数の時間領域は、それぞれ第２種の時間領域とも呼ばれる。ＣＰＵ  １０１は、第１種の時間領域と第２種の時間領域を任意に設定することができる。
【０１６２】
ＣＰＵ  １０１は、ゲームの進行に応じて、第１種の時間領域と第２種の時間領域を任意に変更してもよい。例えば、ＣＰＵ  １０１は、連続する複数のゲーム課題をプレイヤーが続けて達成する（一般に“コンボ”と呼ばれる）と、第２種の時間領域の時間長を所定時間分だけ延長したり、第２種の時間領域の数を増やしたりする。このようにすることで、更に高得点を狙えるチャンスがプレイヤーに与えられ、プレイヤーのゲームへの意欲を増長させる効果が得られる。
【０１６３】
また、ＣＰＵ  １０１は、ゲーム開始時点で初期設定として設けられた第１種の時間領域内において、プレイヤーによって行われた操作の数が所定値より少ない場合、言い換えれば、把持モジュール２０１が固定された部位を推定するためのデータのサンプル数が十分でない場合、第１種の時間領域の時間長を所定時間分だけ延長したり、第１種の時間領域の数を増やしたりしてもよい。このようにすることで、把持モジュール２０１が固定された部位の推定がより正確に行われるようになる効果が得られる。
【０１６４】
なお、ＣＰＵ  １０１は、第１種と第２種の時間領域の時間長を短くしたり、第１種と第２種の時間領域の数を少なくしたりすることもできる。
【０１６５】
ＣＰＵ  １０１は、上述のステップＳ９０４において、第１条件と第２条件と第３条件がそれぞれ満たされるか否かを判定することにより、プレイヤーの成績を判定する。ＣＰＵ  １０１は、成績の判定結果を、モニターに表示したり音声で出力したりしてプレイヤーに通知する。
【０１６６】
例えば、第１条件と第２条件と第３条件のすべてが満たされていると判定した場合、ＣＰＵ  １０１は、プレイヤーの獲得スコアに所定の点数を加算したり、「ＧＲＥＡＴ！」「いい調子だ！」などのようにゲーム課題の達成度が高い旨を通知したりする。一方、第１条件と第２条件と第３条件のいずれか１つ以上が満たされていないと判定した場合、ＣＰＵ  １０１は、ゲージ４３０が示す値から所定の点数を減算したり、「ＢＡＤ！」「そこは左足じゃない、右足だ！」などのように成績やアドバイスを通知したりする。なお、ＣＰＵ  １０１は、ゲーム課題に則した内容のアドバイスを提供すれば良い。
【０１６７】
成績の判定結果は、プレイヤーが直感的に把握しやすい形態で提示されることが望ましい。図１４は、判定結果を分かりやすく表現するキャラクター画像１４００を配置したゲーム画面の構成例である。ゲーム課題を示す踏み位置指示マーク１４１０が静止マークと重なるタイミングで、プレイヤーが課題操作と同じ動作を行うと、ＣＰＵ  １０１は、このゲーム課題について「成功した」と判定すると共に、推定結果を示すようにキャラクター画像１４００を変化させる。この例の場合、「左足で上ボタン３０３を踏む」という内容の課題操作であるので、ＣＰＵ  １０１は、左足で上ボタン３０３を踏んでいることを示すキャラクター画像１４００を表示する。
【０１６８】
なお、図１４では、ＣＰＵ  １０１は、プレイヤーからあたかも鏡に映ったかのように見える（自分の鏡像のように見える）キャラクター画像１４００を表示しているが、表示方法は本発明によって限定されない。例えば、ＣＰＵ  １０１は、鏡像ではないキャラクター画像１４００を表示してもよいし、仮想空間内の様々なアングルから眺めたキャラクター画像１４００を表示してもよい。
【０１６９】
本実施形態によれば、ゲーム装置５００は、把持モジュール２０１が固定されていると推定される部位によって課題操作がなされたか否かを判定することによって、プレイヤーにより適切なアドバイスを提供することができる。また、ゲームの興趣性を高めることができる。
【０１７０】
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【０１７１】
上記のゲーム装置５００の全部又は一部としてコンピュータを動作させるためのプログラムを、メモリカード、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ（Magneto Optical disk）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【０１７２】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【０１７３】
以上説明したように、本発明によれば、プレイヤーの体の動きを推測するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【符号の説明】
【０１７４】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  第１のコントローラ（コントローラ）
１０６  外部メモリ
１０７  ＤＶＤ−ＲＯＭドライブ
１０８  画像処理部
１０９  音声処理部
１１０  ＮＩＣ
１１１  第２のコントローラ（マット）
２０１  把持モジュール
２０２  ＣＣＤカメラ
２０３  十字形キー
２０４  Ａボタン
２０５  Ｂボタン
２０６  各種ボタン
２０７  インジケータ
２０８  電源ボタン
２０９  スピーカー
３０１〜３０４  ボタン
４０１〜４０４  静止マーク
４１０Ａ〜４１０Ｄ  踏み位置指示マーク
４３０  ゲージ
５００  ゲーム装置
５１０  提示部
５２０  推定部
１０１０  判定部
１１５０Ａ〜１１５０Ｄ  踏み位置指示マーク
１１６０  判定ライン
【図１】
2011172707.tif 000003
【図２】
2011172707.tif 000004
【図３】
2011172707.tif 000005
【図４】
2011172707.tif 000006
【図５】
2011172707.tif 000007
【図６】
2011172707.tif 000008
【図７】
2011172707.tif 000009
【図８】
2011172707.tif 000010
【図９】
2011172707.tif 000011
【図１０】
2011172707.tif 000012
【図１１】
2011172707.tif 000013
【図１２】
2011172707.tif 000014
【図１３】
2011172707.tif 000015
【図１４】
2011172707.tif 000016