{1.ゲームシステム1の全体構成}
以下、図面を参照しつつ本発明の実施の形態について説明する。実施の形態では、据え置き型のゲームシステムを例にして説明する。
図1は、実施の形態に係るゲームシステム1の全体図である。ゲームシステム1は、ゲーム装置2と、コントローラ3と、タブレット4とを備える。
ゲーム装置2は、ゲームシステム1の全体制御を行う処理装置であり、光ディスクに記録されたゲームプログラムを実行する。ゲーム装置2は、テレビジョン受像機5の画面5aにゲームの映像を表示するために画像データを生成し、画像データをテレビジョン受像機5に出力する。
コントローラ3は、ユーザが入力した情報を、ゲームの操作情報としてゲーム装置2に送信する。タブレット4は、操作面4a上の3次元空間におけるコントローラ3の位置を検出し、コントローラ3の位置を示す3次元位置情報を生成する。操作面4aは、タブレット4がコントローラ3の位置を検出することができる領域である。
ユーザは、タブレット4の上でコントローラ3を浮かしながら保持する。これにより、コントローラの3次元位置情報が、操作情報としてゲーム装置2に入力される。したがって、ゲームシステム1は、ユーザが操作面4a上の3次元空間でコントローラ3を動かすという、新しい操作方法を用いたゲームを提供することができる。
図2は、ゲーム装置2のブロック図である。ゲーム装置2は、制御部21と、光ディスクドライブ22と、出力部23と、無線通信部24とを備える。
制御部21は、CPU及びRAMなどを備え、様々なゲームプログラムを実行する。制御部21は、光ディスクドライブ22にセットされた光ディスク6にアクセスし、光ディスク6に記録されたゲームプログラムを実行する。ユーザは、ゲームプログラムが記録された光ディスク6を光ディスクドライブ22にセットすることで、様々なゲームを楽しむことができる。
出力部23は、ゲーム装置2に接続されたテレビジョン受像機5に、ゲームの映像やゲームの音声を出力する。無線通信部24は、ゲーム装置2とコントローラ3及びタブレット4との間で無線通信を行う。無線通信には、Bluetooth(登録商標)などを利用することができる。
次に、コントローラ3について説明する。図3は、コントローラ3の機能的構成を示すブロック図である。コントローラ3は、制御部31と、操作部32と、無線通信部33と、位置指示部34とを備える。
制御部31は、コントローラ3の全体制御を行う。操作部32は、コントローラ3の表面に設けられたボタンである。図4は、コントローラ3の斜視図である。図4に示すように、コントローラ3の表面には、操作部32として、Aボタン32a、Bボタン32b及び十字キー32cなどが設けられる。ユーザは、操作部32を操作することにより、ゲームの操作情報を入力する。
無線通信部33は、ゲーム装置2と無線通信を行うことにより、操作情報をゲーム装置2に送信する。位置指示部34は、コイル34a及びコンデンサ34b(図5参照)などにより構成される共振回路であり、共振信号をタブレット4に送信する。位置指示部34は、図4に示すように、コントローラ3の長手方向側の側面35の近傍に設けられる。以下、側面35を位置指示面35と呼ぶ。位置指示面35の近傍には、Bボタン32bが存在する。
次に、タブレット4の構成とともに、タブレット4がコントローラ3の位置を検出する流れについて説明する。図5は、タブレット4とコントローラ3との位置関係を示す図である。タブレット4は、操作面4aの上方に位置指示部34が存在する場合、位置指示部34の位置を検出することができる。すなわち、タブレット4は、位置指示部34の位置を、コントローラ3の3次元位置情報としてゲーム装置2に送信する。
図5に示すように、操作面4aの左下側の角を原点として、X軸、Y軸、及びZ軸を定義する。操作面4aがXY平面に対応する。Z軸は、操作面4aに対して垂直な方向である。タブレット4において、操作面4aの下には、複数のXセンサコイル41x,41x・・・及びYセンサコイル41y,41y・・・が、交差するようにして配置されている。図5では、Xセンサコイル41x及びYセンサコイル41yを実線で示す。Xセンサコイル41xは、Y軸方向に沿って設置され、位置指示部34のX座標を検出するために用いられる。Yセンサコイル41yは、X軸方向に沿って設置され、位置指示部34のY座標を検出するために用いられる。
タブレット4が位置指示部34の位置を特定する流れについて説明する。制御部31は、コイル34aに電流信号(以下、「位置指示信号」という)を供給する。位置指示信号の供給に必要な電力は、コントローラ3に内蔵された電池により供給される。コイル34aに位置指示信号が流れることにより、位置指示部34の周辺の磁界が変化して、共振信号が発生する。
Xセンサコイル41x及びYセンサコイル41yが共振信号を受信する。タブレット4は、タブレット4は、Xセンサコイル41x及びYセンサコイル41yで受信した共振信号に基づいて、位置指示部34のX座標及びY座標を検出する。タブレット4は、受信した共振信号の波形に基づいて、位置指示部34のZ座標を特定する。このようにして、タブレット4は、位置指示部34の3次元位置情報を取得する。
位置指示信号の供給に必要な電力は、タブレット4から供給されてもよい。具体的には、Xセンサコイル41x及びYセンサコイル41yに、位置指示部34の共振周波数に対応する信号を供給することにより、コイル34aに誘導電流を発生させる。コンデンサ34bには、誘導電流に応じた電荷が蓄積される。制御部31は、コンデンサ34bに蓄積された電荷を利用して、コイル34aに位置指示信号を供給する。
図3及び図5に示すコントローラ3は、一つの位置指示部34を備えている。しかし、ユーザが様々なゲームを楽しむことができるように、コントローラ3は、複数の位置指示部34,34・・・を備えていてもよい。
{2.ゲームの具体例}
以下、ゲームシステム1で実行することができるゲームの具体例について説明する。
{2.1.ドミノ倒しゲーム}
ドミノ倒しゲームは、ドミノ倒しを疑似的に体験することができるゲームである。まず、ユーザは、ドミノ倒しゲームプログラムが格納された光ディスク6を光ディスクドライブ22にセットする。これにより、ドミノ倒しゲームが開始される。以下、制御部21における処理は、ドミノ倒しゲームプログラムの実行による処理である。
図6は、ドミノ倒しゲームの操作方法を説明する図である。図6では、コントローラ3、タブレット4、及び画面5aのみを表示している。ドミノ倒しゲームが開始されると、制御部21は、ドミノ倒しゲーム用のゲーム空間51aを生成する。ゲーム空間51aは、仮想的な3次元空間である。制御部21は、ドミノ倒しゲームにおけるユーザの操作対象として、ポインタオブジェクト51bを生成する。制御部21は、3次元位置情報をタブレット4から入力すると、3次元位置情報をゲーム空間51aの位置情報(仮想位置情報)に変換する。制御部21は、ゲーム空間51aの仮想位置情報に対応する位置に、ポインタオブジェクト51bを配置する。
図6の画面5aには、ドミノ倒しゲームの初期画面が表示されている。平面51cは、ゲーム空間51aに形成された平面であり、操作面4aに対応する。ユーザは、操作面4aの上でコントローラ3の移動及び操作を行うことにより、平面51cに仮想的なドミノを並べていく。
ユーザは、操作面4aの上でコントローラ3を動かす。このとき、ユーザは、図6に示すように、位置指示面35を操作面4aに向けながらコントローラ3を掴んでいることが望ましい。位置指示部34と操作面4aとの距離が短くなるため、タブレット4は、コントローラ3の位置を正確に検出することができる。タブレット4は、リアルタイムにコントローラ3の3次元位置情報を、ゲーム装置2に出力する。制御部21は、3次元位置情報が入力されるたびに3次元位置情報を仮想位置情報に変換して、ゲーム空間51aにおけるポインタオブジェクト51bの位置を変化させる。
ユーザは、ポインタオブジェクト51bをドミノ置き場51dに移動させ、Aボタン32aを押す。これにより、制御部21は、ドミノオブジェクト51eを新たに生成する。画面5aには、ポインタオブジェクト51bに代えて、ドミノオブジェクト51e(図7参照)が表示される。ユーザの操作対象が、ポインタオブジェクト51bからドミノオブジェクト51eに変更される。仮想位置情報がドミノオブジェクト51eに対応付けられるため、ユーザは、操作面4a上でコントローラ3を移動させて、ドミノオブジェクト51eを移動させることができる。
図7は、ドミノオブジェクト51eの移動時の操作方法を説明する図である。図7に示すように、平面51cには、既に立てた状態で並べられた複数のドミノオブジェクト51f,51f・・・がある。
ドミノオブジェクト51e,51fには、仮想位置情報及びドミノの形状を示す情報が設定されている。制御部21は、ドミノオブジェクト51eとドミノオブジェクト51fとの距離を、リアルタイムに監視している。ドミノオブジェクト51eとドミノオブジェクト51fとの距離が所定の距離より短くなった場合、制御部21は、ドミノオブジェクト51eがドミノオブジェクト51fに接触したと判定する。制御部21は、ドミノオブジェクト51eが接触したドミノオブジェクト51fを倒す処理を行う。倒れたドミノオブジェクト51fが他のドミノオブジェクト51fに接触した場合、制御部21は、他のドミノオブジェクト51fを倒す処理を行う。このように、ドミノオブジェクト51eがドミノオブジェクト51fに接触することで、ドミノオブジェクト51fが連鎖的に倒れていく様子が、画面5aに表示される。
したがって、ユーザは、画面5aを見ながら、ドミノオブジェクト51eがドミノオブジェクト51fに接触しないように、ドミノオブジェクト51eを移動させる必要がある。たとえば、コントローラ3が矢印51gに示す経路のように、操作面4aに平行に移動した場合、ドミノオブジェクト51eがドミノオブジェクト51fに接触する可能性が高い。一方、コントローラ3が矢印51hに示す経路のように山なりに移動した場合、ドミノオブジェクト51eがドミノオブジェクト51fに接触する可能性は低くなる。
ユーザは、平面51c上の所望の位置にドミノオブジェクト51eを移動させた後に、Aボタン32aを押す。ドミノオブジェクト51eが、配列済みのドミノオブジェクト51fとして平面51cの上に立てられることにより、ドミノオブジェクト51eの操作が終了する。ポインタオブジェクト51bがコントローラ3に対応する位置に新たに表示される。ユーザは、ドミノオブジェクト51eを平面51cに並べる操作を繰り返す。
このように、ドミノ倒しゲームにおいて、ゲームシステム1は、コントローラ3の3次元位置情報を利用して、ドミノオブジェクト51eの位置を特定する。コントローラ3の動きを操作対象のドミノオブジェクト51eに正確に反映させることができるため、ユーザは、リアリティの高いドミノ倒しゲームを楽しむことができる。
{2.2.ビリヤードゲーム}
ビリヤードゲームは、ビリヤードを疑似的に体験することができるゲームである。ビリヤードゲームでは、コントローラ3がキューに見立てられる。操作面4aがビリヤード台に見立てられる。
まず、ユーザは、ビリヤードゲームプログラムが格納された光ディスク6を光ディスクドライブ22にセットする。これにより、ビリヤードゲームが開始される。以下、制御部21における処理は、ビリヤードゲームプログラムの実行による処理である。
図8は、ビリヤードゲームの操作方法を説明する図である。図8では、コントローラ3、タブレット4、及び画面5aのみを示している。ビリヤードゲームプログラムが開始されると、制御部21は、ビリヤードゲーム用のゲーム空間52aを生成し、ゲーム空間52aにビリヤード台52bを配置する。画面5aには、ビリヤード台52bを含むゲーム空間52aが表示される。
制御部21は、手球オブジェクト52cと、複数の的球オブジェクト52d,52d・・・と、キューオブジェクト52eを生成する。制御部21は、手球オブジェクト52c及び的球オブジェクト52dに設定された仮想位置情報に基づいて、手球オブジェクト52c及び的球オブジェクト52dをビリヤード台52bの上に配置する。
キューオブジェクト52eは、ユーザの操作対象であり、コントローラ3の3次元位置情報に基づいてゲーム空間52aに配置される。具体的には、キューオブジェクト52eの先端521eが位置指示部34に対応する。このため、先端521eの位置は、3次元位置情報から変換した仮想位置情報に基づいて特定される。キューオブジェクト52eは、先端521eから見た手球オブジェクト52cの方向と反対側の方向に配置される。
ユーザは、画面5aに表示された手球オブジェクト52cとキューオブジェクト52eを見ながら、キューオブジェクト52eを動かす方向を決定する。ユーザは、図8に示すように、決定した方向に向けて、コントローラ3を突くように動かす。
制御部21は、タブレット4からリアルタイムに入力される3次元位置情報を仮想位置情報に変換し、変換した仮想位置情報に基づいてキューオブジェクト52eを移動させる。キューオブジェクト52eの移動と並行して、制御部21は、先端521eの仮想位置情報と手球オブジェクト52cの仮想位置情報とに基づいて、先端521eと手球オブジェクト52cとの距離を計算する。先端521eと手球オブジェクト52cとの距離が所定の距離より短い場合、先端521eが手球オブジェクト52cに当たったと判定する。
制御部21は、先端521eが手球オブジェクト52cに当たる直前の先端521eの仮想位置情報と、先端521eが手球オブジェクト52cに当たった時の先端521eの仮想位置情報とに基づいて、先端521eの移動方向を特定する。制御部21は、先端521eの移動方向に基づいて、手球オブジェクト52cを移動させる。
このように、キューオブジェクト52eがコントローラ3の3次元位置情報に基づいて移動するため、コントローラ3の動きをゲーム空間52aで忠実に再現することができる。したがって、ユーザは、キューに見立てられたコントローラ3を突くようにして動かすことにより、現実の感覚に近いビリヤードゲームを楽しむことができる。
ビリヤードゲームにおいて、制御部21は、ビリヤード台52bの外枠に手球オブジェクト52cが衝突した場合、外枠に対する手球オブジェクト52cの入射方向に基づいて、手球オブジェクト52cの移動方向を変更する。手球オブジェクト52が外枠に衝突したか否かは、手球オブジェクト52cと先端521eとの衝突の判定と同様に判定することができる。
制御部21は、手球オブジェクト52cと的球オブジェクト52dとの距離に基づいて、手球オブジェクト52cが的球オブジェクト52dに衝突したか否かも判定することができる。手球オブジェクト52cが的球オブジェクト52dに衝突した場合、制御部21は、的球オブジェクト52dを移動させる。
ビリヤードゲームにおいて、ジャンプショットを再現することも可能である。制御部21は、キューオブジェクト52eが手球オブジェクト52cに当たったと判定したときに、ビリヤード台52bに対するキューオブジェクト52eの入射角を計算する。キューオブジェクト52eの入射角が所定の角度より大きい時に、手球オブジェクト52cをビリヤード台52bからジャンプさせる。
{2.3.歯医者シミュレーションゲーム}
歯科医シミュレーションゲームは、ユーザが歯科医となって、仮想的な虫歯を治療するゲームである。歯科医シミュレーションゲームでは、コントローラ3が、ドリルやレンチなどの治療器具に見立てられる。ユーザは、操作面4a上でコントローラ3を操作することによって、仮想的な虫歯を治療する。
まず、ユーザは、歯科医シミュレーションゲームプログラムが格納された光ディスク6を光ディスクドライブ22にセットする。これにより、歯科医シミュレーションゲームが開始される。以下、制御部21における処理は、歯科医シミュレーションゲームプログラムの実行による処理である。
図9は、歯科医シミュレーションゲームの操作方法を説明する図である。制御部21は、歯科医シミュレーションゲームが開始されると、歯科医シミュレーションゲーム用のゲーム空間53aを生成する。制御部21は、歯オブジェクト53b,53b・・・と、虫歯オブジェクト53c,53c・・・とを生成して、ゲーム空間53aに配置する。歯オブジェクト53bは、虫歯になっていない正常な歯である。虫歯オブジェクト53cは、虫歯である。歯オブジェクト53b及び虫歯オブジェクト53cには、仮想位置情報及び形状を示す情報が設定される。制御部21は、図9に示すような映像を画面5aに表示させる。
図9では、下側の歯に対応する複数の歯オブジェクト53b,53b・・・と、二つの虫歯オブジェクト53c,53cが表示されている。歯オブジェクト53bを白色で示す。虫歯オブジェクト53cをハッチングで示す。ユーザは、上側の歯オブジェクトを画面5aに表示させたい場合、画面5aの右側に表示される表示方向選択メニュー53dで「上向き」を選択すればよい。
ユーザは、画面5aに表示される治療器具選択メニュー53eを利用して、「ドリル」を選択する。制御部21は、ドリルオブジェクト53fを新たに生成する。制御部21は、コントローラ3の3次元位置情報から変換した仮想位置情報に基づいて、ゲーム空間53aにドリルオブジェクト53fを配置する。ドリルオブジェクト53fが画面5aに表示される。コントローラ3の3次元位置情報の変化に応じて、操作対象であるドリルオブジェクト53fの位置が変化する。ドリルオブジェクト53fの生成と同時に、ドリルの回転音が記録された回転音データが再生される。
ユーザは、画面5aを見ながらコントローラ3を動かして、虫歯オブジェクト53cの近傍にドリルオブジェクト53fを移動させる。ドリルオブジェクト53fのドリルが、コントローラ3の位置指示部34に対応する。ユーザは、ドリルオブジェクト53fが歯オブジェクト53bなどに当たらないように、コントローラ3を操作面4aの上で動かす。ユーザがAボタン32aを押下することにより、画面5aに表示される映像が、図10Aに示す映像に変化する。
図10A及び図10Bは、ドリルオブジェクト53f付近の拡大図である。図10A及び図10Bでは、下側の歯を斜め上方向から見た映像が表示される。これにより、ユーザは、虫歯オブジェクト53cとドリルオブジェクト53fとの上下方向の位置関係を容易に確認することができる。
ユーザは、図10Aに示す画面5aを見ながら、ドリルオブジェクト53fを虫歯オブジェクト53cに接触する位置にまで移動させる。制御部21は、虫歯オブジェクト53cとドリルオブジェクト53fとの距離に基づいて、ドリルオブジェクト53fが虫歯オブジェクト53cに接触したか否かを判定する。ドリルオブジェクト53fが虫歯オブジェクト53cに接触した場合、制御部21は、虫歯オブジェクト53cを削る処理を開始する。具体的には、制御部21は、虫歯オブジェクト53cがドリルオブジェクト53fによって削られていることを示すために、回転音データに代えて、ドリルと歯との摩擦音が記録された摩擦音データを再生する。あるいは、制御部21は、ドリルオブジェクト53fが虫歯オブジェクト53cに接触した場合、回転音データの再生音量を大きくしたり、回転音データの再生音の音色を変化させたりしてもよい。制御部21は、図10Bに示すように、削り取られた歯の破片が飛び散る様子を画面5aに表示する。このとき、ドリルオブジェクト53fが虫歯オブジェクト53cの占有領域に入り込むにつれて、回転音データの再生に伴うドリルの音量を大きくすればよい。コントローラ3の位置に応じて、ドリルの回転音の音量を調節することにより、ユーザは、虫歯を削る治療を疑似的に経験することができる。
制御部21は、ドリルオブジェクト53fが歯オブジェクト53bに接触したときも、歯オブジェクト53bを削る処理を実行する。したがって、歯科医シミュレーションゲームでは、虫歯オブジェクト53cのみを削るために、コントローラ3の微細な動きが要求される。したがって、ユーザは、緊張感のあるゲームを楽しむことができる。
ユーザは、虫歯の治療として抜歯を行うこともできる。ユーザは、画面5aに表示される治療器具選択メニュー53eを利用して、「レンチ」を選択する。制御部21は、「レンチ」の選択に応じて、レンチオブジェクト53gを新たに生成する。
図11A及び図11Bは、レンチオブジェクト53gの周囲を拡大した図である。ユーザは、図11Aに示すように、コントローラ3を操作面4aの上で動かすことによって、レンチオブジェクト53gを虫歯オブジェクト53cの近傍に移動させる。制御部21は、虫歯オブジェクト53cとレンチオブジェクト53gとが接触した場合、レンチオブジェクト53gが虫歯オブジェクト53cに当たったことを示す、「カチッ」という音が記録された音声データを再生する。ユーザは、Bボタン32bを押すことで、レンチオブジェクト53gを閉じることができる。制御部21は、レンチオブジェクト53gを閉じることにより、レンチオブジェクト53gが虫歯オブジェクト53cを挟んだ映像を表示する。
その後、ユーザは、コントローラ3を上方向に動かす。制御部21は、コントローラ3の移動によりレンチオブジェクト53gが一定の距離を移動した場合、図11Bに示すように、虫歯オブジェクト53cが歯茎から抜き取られる映像を表示する。虫歯オブジェクト53cが歯茎から抜き取られる瞬間に、制御部21は、「スポッ」という歯が抜き取られる音が記録された音声データを再生する。コントローラ3の位置に応じて、虫歯が抜き取られる音声を再生することにより、ユーザは、現実に近い感覚で抜歯の治療を行うことができる。
このように、歯科医シミュレーションゲームでは、虫歯を治療するためにコントローラ3の微細な動きが要求される。また、ユーザが選択した治療器具に応じた音声が、コントローラ3の位置に応じて再生される。したがって、ユーザは、リアリティの高い歯科医シミュレーションゲームを楽しむことが可能となる。
歯科医シミュレーションゲームでは、コントローラ3を用いる例について説明した。しかし、ドリルの形状をしたコントローラや、実際のレンチのように操作できるコントローラなどのような専用のコントローラを用いてもよい。これにより、さらにリアリティの高い歯科医シミュレーションゲームを楽しむことが可能となる。
{2.4.デコレーションゲーム}
デコレーションゲームは、ケーキのデコレーションを疑似的に体験することができるゲームである。デコレーションゲームでは、コントローラ3が、クリーム絞り器に見立てられる。また、ユーザは、コントローラ3を用いて、ローソクやイチゴなどのフルーツを仮想的なケーキの上に載せることができる。
まず、ユーザは、デコレーションゲームプログラムが格納された光ディスク6を光ディスクドライブ22にセットする。これにより、デコレーションゲームが開始される。以下、制御部21の処理は、デコレーションゲームプログラムの実行による処理である。
図12は、デコレーションゲームの操作方法を説明する図である。制御部21は、デコレーションゲームが開始されると、デコレーションゲーム用のゲーム空間54aを生成する。制御部21は、デコレーションがされていない円筒形のケーキオブジェクト54bを生成し、ゲーム空間54aのデフォルトの位置に配置する。ケーキオブジェクト54bには、仮想位置情報及びケーキの形状を示す情報が設定される。制御部21は、図12に示すように、ゲーム空間52aを画面5aの左側に表示させる。ケーキオブジェクト54bが形成された時点では、クリームオブジェクト54d,54dは、画面5aに表示されていない。画面5aの右側には、アイテム選択メニュー54cが表示される。
ユーザは、アイテム選択メニュー54cを利用して、ケーキオブジェクト54bのデコレーションに用いるアイテムを選択する。「クリーム絞り器」が選択された場合、制御部21は、絞り器オブジェクト54eを新たに生成する。制御部21は、コントローラ3の3次元位置情報を変換して仮想位置情報を生成する。仮想位置情報に基づいて、ゲーム空間54aに絞り器オブジェクト54eが配置される。コントローラ3の位置指示部34が、絞り器オブジェクト54eの口金54fに対応する。ユーザは、クリーム絞り器としてコントローラ3を操作する場合、位置指示面35(図4参照)を操作面4aに対向させながら、コントローラ3を操作する。
ユーザは、画面5aを見ながらコントローラ3を操作面4aの上で動かして、クリームを載せたい位置まで絞り器オブジェクト54eを移動させる。口金54fがケーキオブジェクト54bに接触した場合、クリームの絞り出しが可能となる。ユーザは、Aボタン32aを押して、クリームの絞り出しを指示する。制御部21は、ユーザがAボタン32aを押し続けている間、口金54fからクリームが絞り出される映像を画面5aに表示する。Aボタン32aが押下されることにより、クリームオブジェクト54dが新たに生成される。クリームオブジェクト54dのサイズは、Aボタン32aが押されている時間が長いほど大きくなる。クリームオブジェクト54dは、口金54f(仮想位置情報)に対応する位置に配置される。
図13は、クリーム絞り器以外のアイテムによりデコレーションされたケーキオブジェクト54bを示す図である。ユーザは、アイテム選択メニュー54cを利用して、イチゴ、チョコプレート及びローソクなどの各アイテムをケーキオブジェクト54bの上に乗せることができる。たとえば、ユーザが「イチゴ」が選択した場合、制御部21は、イチゴオブジェクト54gを新たに生成する。ユーザは、コントローラ3を操作して、イチゴオブジェクト54gをケーキオブジェクト54b上の所望の位置に移動させて、Aボタン32aを押す。これにより、ケーキオブジェクト54bの上に、イチゴオブジェクト54gを載せることができる。イチゴオブジェクト54gと同様に、チョコプレート及びローソクについても、ケーキオブジェクト54bの上に乗せることができる。
このように、デコレーションゲームを利用することにより、ユーザは、ユーザ自身が考えたオリジナルデザインのケーキデコレーションを容易に実現することができる。
{2.5.木彫りゲーム}
木彫りゲームは、木彫りを疑似的に体験することができるゲームである。木彫りゲームでは、コントローラ3が、彫刻刀などの工具に見立てられる。ユーザは、操作面4a上でコントローラ3を操作することによって、仮想的な木材を好みの形に造形することができる。
まず、ユーザは、木彫りゲームプログラムが格納された光ディスク6を光ディスクドライブ22にセットする。これにより、木彫りゲームが開始される。以下、制御部21における処理は、木彫りゲームプログラムの実行による処理である。
図14は、木彫りゲームの操作方法を説明する図である。制御部21は、木彫りゲームが開始されると、木彫りゲーム用のゲーム空間55aを生成する。制御部21は、直方体の木材オブジェクト55bを生成し、ゲーム空間55aのデフォルトの位置に配置する。木材オブジェクト55bには、木材オブジェクト55b自体の形状を示す情報が設定される。画面5aの左側には、ゲーム空間55aが表示される。画面5aの右側には、工具を選択するための工具選択メニュー55cが表示される。
ユーザは、工具選択メニュー55cを利用して、「平刀」を選択する。制御部21は、ユーザの選択に応じて、平刀オブジェクト55dを新たに形成する。平刀オブジェクト55dは、コントローラ3の3次元位置情報から変換された仮想位置情報に基づいて、ゲーム空間55aに配置される。平刀オブジェクト55dの刃先55eが、位置指示部34の位置に対応する。
ユーザは、画面5aに表示されている木材オブジェクト55b及び平刀オブジェクト55dを見ながら、コントローラ3を操作面4a上で動かす。コントローラ3の3次元位置情報の変化に応じて、平刀オブジェクト55dがゲーム空間55aを移動する。
制御部21は、木材オブジェクト55bと刃先55eとの距離を監視している。この距離は、刃先55eの仮想位置情報と、木材オブジェクト55bの仮想位置情報及び形状を示す情報とに基づいて計算される。木材オブジェクト55bと刃先55eとの距離が所定の距離より短くなった場合、制御部21は、刃先55eが木材オブジェクト55bに接触したと判定する。
図15は、形状が変更された木材オブジェクト55bを示す図である。ユーザがコントローラ3を操作面4aに対して斜め左上方向に動かしたとする。制御部21は、刃先55eが木材オブジェクト55bに接触してからの刃先55eの軌跡に基づいて、木材オブジェクト55bの形状を変更する。つまり、木材オブジェクト55bは、刃先55eとの接触点55fから斜め左上方向に削り取られる。木材オブジェクト55bは平刀オブジェクト55dによって削られたため、削り取られた面は、平面となる。平刀以外の彫刻刀が選択された場合、選択された彫刻刀に応じて、削り取られた面の形状が変化する。
このように、ユーザは、操作面4a上でコントローラ3を動かすことにより、彫刻を疑似的に体験することができる。また、彫刻の後片付けなどをしなくてもよいため、ユーザは、気軽に彫刻を楽しむことができる。
彫刻ゲームでは、コントローラ3に代えて、彫刻ゲーム専用のコントローラを用いてもよい。たとえば、平刀や、丸刀などの形状の複数のコントローラを用いることが考えられる。ユーザは、各コントローラを使い分けることにより、さらに現実の彫刻に近い感覚で、彫刻ゲームを楽しむことができる。この場合、タブレット4が各コントローラを識別するために、各コントローラの各位置指示部34は、互いに異なる共振周波数を有する位置指示部34を有する。タブレット4は、受信する共振信号の周波数を識別することにより、コントローラを識別することができる。
{2.6.中華料理ゲーム}
中華料理ゲームは、仮想的に中華料理を作るゲームである。中華料理ゲームでは、コントローラ3が、中華鍋や、おたまなどの調理器具に見立てられる。ユーザは、操作面4a上でコントローラ3を操作することによって、仮想的に料理を行う。
まず、ユーザは、中華料理ゲームプログラムが格納された光ディスク6を光ディスクドライブ22にセットする。これにより、中華料理ゲームが開始される。以下、制御部21における処理は、中華料理ゲームプログラムの実行による処理である。
図16は、中華料理ゲームの操作方法を説明する図である。制御部21は、中華料理ゲームが開始されると、中華料理ゲーム用のゲーム空間56aを生成する。制御部21は、中華鍋オブジェクト56bと、おたまオブジェクト56cと、容器オブジェクト56d,56e,56fとを生成する。容器オブジェクト56d,56e,56fは、水、醤油、豆板醤が入れられた仮想的な容器である。
図16に示すように、画面5aの右側には、アイテム選択メニュー56gが表示される。ユーザは、アイテム選択メニュー56gを利用して、使用する調理器具をアイテム選択メニュー56gから選択する。画面5aの左側には、中華鍋オブジェクト56b、おたまオブジェクト56c、及び容器オブジェクト56d〜56fが配置されたゲーム空間56aが表示される。
図16では、アイテム選択メニュー56gで「おたま」が選択されている。このため、制御部21は、コントローラ3の3次元位置情報から変換した仮想位置情報に基づいて、ゲーム空間56aにおたまオブジェクト56cを配置する。中華鍋オブジェクト56b及び容器オブジェクト56d〜56fは、ゲーム空間56aのデフォルトの位置に配置される。
ユーザが操作面4a上でコントローラ3を動かすことにより、おたまオブジェクト56cが、ゲーム空間56aを移動する。位置指示部34の位置は、おたまオブジェクト56cの半球状の部分に対応する。制御部21は、中華鍋オブジェクト56b及びおたまオブジェクト56cの仮想位置情報に基づいて、おたまオブジェクト56cが中華鍋オブジェクト56bに接触したか否かをリアルタイムに監視している。制御部21は、中華鍋オブジェクト56bとおたまオブジェクト56cとが接触したと判断した場合、「カン」という金属音が記録された音声データを再生する。これにより、ユーザは、中華料理で頻繁に行われる動作(中華鍋をおたまでたたく動作)を疑似的に行うことができる。
図17は、容器オブジェクト56dの操作を説明する図である。アイテム選択メニュー56gで「水」が選択されているため、容器オブジェクト56dが、コントローラ3の3次元位置情報の変化に応じて、ゲーム空間56aを移動する。おたまオブジェクト56cは、ゲーム空間56aのデフォルトの位置に配置される。
ユーザがBボタン32b(図4参照)を押すことにより、容器オブジェクト56dは、図17に示すように、傾いた状態で表示される。制御部21は、容器オブジェクト56dが中華鍋オブジェクト56bの上に位置していれば、中華鍋オブジェクト56bの中に水が入ったと判断する。中華鍋オブジェクト56bの中に水が入ったことを示すために、制御部21は、水が熱した中華鍋に入った時に発生する音声(たとえば、「ジュー」という音声)が記録された調理音を再生する。
ユーザは、アイテム選択メニュー56gで「醤油」または「豆板醤」を選択することで、容器オブジェクト56e,56fを、容器オブジェクト56dと同様に操作することができる。この他にも、たとえば麻婆豆腐の材料をアイテム選択メニュー56gに表示することにより、ユーザは、麻婆豆腐の調理を疑似的に体験することができる。
容器オブジェクト56dを操作する他に、中華料理ゲームでは、おたまオブジェクト56cを操作して、中華鍋オブジェクト56bに水を入れてもよい。具体的には、ユーザは、おたまオブジェクト56cを容器オブジェクト56dへ移動させる。おたまオブジェクト56cの半球状の部分を容器オブジェクト56dの中に入れることで、半球状の部分に水を入れることができる。ユーザは、おたまオブジェクト56cを中華鍋オブジェクト56bの上で傾けることで、中華鍋オブジェクト56bに水が投入される。おたまオブジェクト56cを傾ける際には、ユーザは、Bボタン32bを押せばよい。
中華料理ゲームでは、おたまオブジェクト56cに代えて、菜箸あるいは木べら他の調理器具を使用できるようにしてもよい。このとき、複数の調理器具からいずれか一つをユーザが選択できるように、調理器具選択メニューを画面5aの右側に表示してもよい。
図18は、中華鍋オブジェクト56bの操作を説明する図である。アイテム選択メニュー56gで「中華鍋」が選択されているため、中華鍋オブジェクト56bが、コントローラ3の3次元位置情報の変化に応じて、ゲーム空間56aを移動する。位置指示部34は、中華鍋オブジェクト56bの柄の部分に対応する。
ユーザがコントローラ3を操作面4a上で上下に移動させることにより、中華鍋オブジェクト56bがゲーム空間56aを上下に移動する。このとき、制御部21は、一定の速度以上でコントローラ3が上下方向に移動したと判断した場合、中華鍋オブジェクト56bの中に入っている水などが中華鍋オブジェクト56bから飛び出す映像を表示する。これにより、ユーザは、中華料理でよく行われる中華鍋を返す動作を疑似的に体験することができる。
以上説明したように、中華料理ゲームでは、ユーザは、操作面4a上の3次元空間内でコントローラ3を動かすことにより、よりリアルな感覚で中華料理を疑似的に作ることができる。
{2.7.聴診器ゲーム}
聴診器ゲームは、聴診器を用いた患者の診察を疑似的に体験することができるゲームである。聴診器ゲームでは、コントローラ3が、聴診器に見立てられる。
まず、ユーザは、聴診器ゲームプログラムが格納された光ディスク6を光ディスクドライブ22にセットする。これにより、聴診器ゲームが開始される。以下、制御部21における処理は、聴診器ゲームプログラムの実行による処理である。
図19は、聴診器ゲームの操作方法を説明する図である。制御部21は、聴診器ゲームが開始されると、聴診器ゲーム用のゲーム空間57aを生成する。制御部21は、聴診器オブジェクト57bと、患者オブジェクト57cとを生成する。患者オブジェクト57cは、人体の上半身に対応し、ゲーム空間57aのデフォルトの位置に配置される。制御部21は、コントローラ3の3次元位置情報から変換した仮想位置情報に基づいて、聴診器オブジェクト57bをゲーム空間57aに配置する。聴診器オブジェクトの集音部57dが、位置指示部34に対応する。
画面5aの左側には、患者オブジェクト57cを含むゲーム空間57aが表示される。図19に示す画面5aには、患者オブジェクト57cの腹側が表示されている。ユーザは、患者オブジェクト57cの背中を診察したい場合、表示切り替えメニュー57eを利用して、患者オブジェクト57cの背中を画面5aに表示させることができる。
ユーザは、画面5aを見ながらコントローラ3を動かすことにより、聴診器オブジェクト57bを診察したい位置に移動させる。このとき、ユーザは、患者の上半身が操作面4aに横たわっていると想定して、コントローラ3を操作面4aから浮かした状態で動かす。位置指示部34が集音部57dに対応するため、コントローラ3の移動時には、コントローラ3の位置指示面35(図4参照)が操作面4a側に向いていることが望ましい。
制御部21は、集音部57dと患者オブジェクト57cとの距離を監視している。集音部57dと患者オブジェクト57cとの距離が所定の距離より短い場合、制御部21は、集音部57dが患者オブジェクト57cに接触したと判定する。光ディスク6には、実際の聴診器で聞くことができる複数の体内音データが記録されている。制御部21は、複数の体内音データの中から、患者オブジェクト57cの接触位置に応じた体内音データを再生する。たとえば、集音部57dが患者オブジェクト57cの左胸に当てられた場合、制御部21は、心臓の鼓動を記録した体内音データを再生する。このように、聴診器ゲームでは、ユーザは、コントローラ3を用いて聴診器オブジェクト57bを操作することにより、患者の診察を疑似的に体験することができる。
聴診器ゲームにおいて、制御部21は、聴診器オブジェクト57bが患者オブジェクト57cに接触している位置に関するクイズを出題してもよい。図20は、聴診器ゲームでクイズが出題されたときの画面5aを示す図である。たとえば、光ディスク6には、心臓の病気の応じた複数の心音パターンを格納した音声データが格納されている。制御部21は、集音部57dが患者オブジェクト57cの左胸に当てられた場合、複数の心音パターンのうちいずれか一つをランダムに選択して再生する。画面5aの右側には、回答メニュー57fが表示される。回答メニュー57fには、「聞こえる心音についての正しい症状を、以下から選びなさい。」というメッセージが表示される。ユーザは、メッセージの下に表示された選択肢の中から答えを選択する。ユーザが答えを選択した後で、制御部21は、正しい答えと、正しい答えに関する詳しい解説とを、回答メニュー57fに表示する。このように、ユーザは、聴診器を用いた患者の診察を疑似的に体験するだけでなく、医療に対する知識を深めることができる。
聴診器ゲームにおいて、患者オブジェクト57cの形状に対応した人形を操作面4a上に載せてもよい。これにより、ユーザは、聴診器オブジェクト57bと患者オブジェクト57cとの位置関係を容易に把握することができる。人形には、制御部21が人形の位置や姿勢を特定できるようにするために、共振周波数が互いに異なる複数の位置指示部34を埋め込まれていることが望ましい。タブレット4は、受信した共振信号の周波数に基づいて各位置指示部を識別する。制御部21は、各位置指示部34の3次元位置情報に基づいて人形の位置や向きを特定する。これにより、操作面4aに載せられた人形の向きや位置と、画面5aに表示される患者オブジェクト57cの向きや位置とを対応させることができる。
聴診器ゲームにおいて、コントローラ3に代えて、聴診器の形状をした聴診器ゲーム専用のコントローラを用いてもよい。聴診器ゲーム専用のコントローラにおいて、位置指示部34は、集音部に対応する位置に設置される。これにより、ユーザは、聴診器ゲームをよりリアルな感覚で楽しむことができる。
{2.8.人形飛び出しゲーム}
図21は、人形飛び出しゲームの操作方法を説明する図である。画面5aには、人形飛び出しゲームの映像が表示されている。
人形飛び出しゲームは、図21に示すように、円柱オブジェクト58bに形成されている複数の差し込み穴に、鍵オブジェクト58c,58c・・・を次々に差し込んでいくゲームである。複数の差し込み穴のうち、当たり穴58eに鍵オブジェクト58cが差し込まれた場合、円柱オブジェクト58bにセットされた人形オブジェクト58dが飛び出す。ユーザは、コントローラ3を鍵オブジェクト58cに見立てて、人形飛び出しゲームをプレイする。
まず、ユーザは、人形飛び出しゲームプログラムが格納された光ディスク6を光ディスクドライブ22にセットする。これにより、人形飛び出しゲームが開始される。以下、制御部21における処理は、人形飛び出しゲームプログラムの実行による処理である。
制御部21は、人形飛び出しゲームが開始されると、ゲーム空間58aを生成する。制御部21は、円柱オブジェクト58bと、人形オブジェクト58dとを生成する。円柱オブジェクト58bは、仮想位置情報及び形状を示す情報が設定され、ゲーム空間58aのデフォルトの位置に配置される。人形オブジェクト58dは、円柱オブジェクト58bの上面に形成された穴にセットされる。円柱オブジェクト58bの側面には、複数の差し込み穴が形成される。制御部21は、複数の差し込み穴のうちいずれか一つを、当たり穴58eとしてランダムに設定する。画面5aには、人形オブジェクト58dがセットされた円柱オブジェクト58bが表示される。
ユーザがBボタン32bを押すことにより、制御部21は、鍵オブジェクト58cを新たに生成する。制御部21は、コントローラ3の3次元位置情報から変換した仮想位置情報に基づいて、生成した鍵オブジェクト58cをゲーム空間58aに配置する。
鍵オブジェクト58cは、操作面4a上でのコントローラ3の動きに応じて、ゲーム空間58aを移動する。ユーザは、画面5aを見ながらコントローラ3を刺すように動かすことにより、複数の差し込み穴のうちにいずれか一つに鍵オブジェクト58cを差し込む。制御部21は、鍵オブジェクト58cが円柱オブジェクト58bの側面に接触したと判断した場合、接触位置に一番近い位置に存在する差し込み穴に鍵オブジェクト58cを差し込まれたと判断する。鍵オブジェクト58cが差し込まれた差し込み穴が当たり穴58eであれば、制御部21は、人形オブジェクト58dを円柱オブジェクト58bから飛び出す処理を行う。
複数のユーザが順番に円柱オブジェクト58bに形成された差し込み穴に鍵オブジェクト58cを差し込んでいくことで、複数のユーザが同時に人形飛び出しゲームを楽しむことができる。人形飛び出しゲームが開始されるたびに、当たり穴58eの位置が変更されるため、いつ人形オブジェクト58dが飛び出すかわからない緊張感を楽しむことができる。
{2.9.野球ゲーム}
野球ゲームは、バットに見立てたコントローラ3を操作面4a上でユーザが振ることにより、野球のバッティングを疑似的に体験することができるゲームである。
まず、ユーザは、野球ゲームプログラムが格納された光ディスク6を光ディスクドライブ22にセットする。これにより、野球ゲームが開始される。以下、制御部21における処理は、野球ゲームプログラムの実行による処理である。
図22は、野球ゲームの操作方法を説明する図である。制御部21は、野球ゲームが開始されると、野球場に対応したゲーム空間59aを生成する。画面5aには、ホームベース後方からマウンドを見た野球場(ゲーム空間59a)の映像が表示される。操作面4aは、ホームベース周辺の領域に対応している。
制御部21は、バットオブジェクト59b及びボールオブジェクト59cを生成する。ボールオブジェクト59cは、ゲーム空間59a(野球場)のマウンドに配置される。バットオブジェクト59bは、左右のバッターボックスのいずれか一方に配置される。具体的には、位置指示部34の位置がバットオブジェクト59bの先端に対応する。このため、バットオブジェクト59bの先端の位置が、3次元位置情報から変換された仮想位置情報に基づいて決定される。ユーザは、右バッターボックス及び左バッターボックスのどちらかを選択する。制御部21は、バットオブジェクト59bの先端の位置に基づいて、バットオブジェクト59bを、ユーザが選択したバッターボックスの上に配置する。
制御部21は、画面5aのピッチャーが投球動作を行う映像を表示させて、ボールオブジェクト59cをマウンドからホームベース方向に移動させる。画面5aには、マウンドからホームベース方向へボールオブジェクト59cが飛んでくる様子が表示される。ユーザは、画面5aに表示されるボールオブジェクト59cの位置を確認しながら、コントローラ3を操作面4a上でスイングする。コントローラ3をスイングする方向は、図22に示すように、操作面4aの手前側から奥側への方向(矢印59dで示す方向)である。
コントローラ3が操作面4a上でスイングされることにより、バットオブジェクト59bの位置が変化する。制御部21は、ピッチャーが投球動作を開始してから、バットオブジェクト59bとボールオブジェクト59cとの距離を監視する。制御部21は、バットオブジェクト59bとボールオブジェクト59cとの距離が所定の距離より短ければ、バットオブジェクト59bにボールオブジェクト59cが当たったと判定する。制御部21は、バットオブジェクト59bにボールオブジェクト59cが当たった場合、ボールオブジェクト59cをフェアグラウンドの方向へ移動させる。
したがって、ユーザは、バットオブジェクト59bにボールオブジェクト59cを当てるためには、適切な高さ及びタイミングでコントローラ3をスイングする必要がある。野球ゲームでは、コントローラ3の3次元位置情報に基づいて、バッティングが成功したか否かを判定することができるため、より現実の感覚に近い野球ゲームを楽しむことが可能となる。
図23は、コントローラ3のスイング方向を示す図である。制御部21は、バットオブジェクト59bにボールオブジェクト59cが当たったと判定した場合、バットオブジェクト59bのスイング方向に基づいて、バットオブジェクト59bに当たった後のボールオブジェクト59c(打球)の軌道が決定される。スイング方向は、ピッチャーが投球動作を開始してからバットオブジェクト59bがボールオブジェクト59cに当たるまでのバットオブジェクト59bの仮想位置情報に基づいて決定される。
図23に示すように、ユーザがコントローラ3を下方向(矢印59eで示す方向)にスイングした場合、バットオブジェクト59bも下方向にスイングされる。この場合、打球はゴロとなる。打球がゴロであれば、野球場をボールオブジェクト59cが転がっていく映像が画面5aに表示される。同様に、ユーザがコントローラ3を上方向(矢印59fで示す方向)にスイングした場合、バットオブジェクト59bも上方向にスイングされる。この場合、打球はフライとなる。打球がフライであれば、野球場ゲーム空間内をボールオブジェクト59cが放物線を描いて飛んでいく映像が画面5aに表示される。このように、野球ゲームでは、ユーザが様々なスイングをすることにより、野球ゲームの進行状況に応じたバッティングをすることができる。
{2.10.指人形ゲーム}
指人形ゲームは、ゲーム空間内のキャラクタをユーザの指の動きに合わせて動かすゲームである。指人形ゲームでは、コントローラ3ではなく、ユーザの指に装着することができるコントローラを使用する。
まず、ユーザは、指人形ゲームプログラムが格納された光ディスク6を光ディスクドライブ22にセットする。これにより、指人形ゲームが開始される。以下、制御部21における処理は、指人形ゲームプログラムの実行による処理である。
図24は、指人形ゲームの操作方法を説明する図である。制御部21は、指人形ゲームが開始されると、指人形ゲーム用のゲーム空間60aを生成する。制御部21は、指人形オブジェクト60bを形成して、ゲーム空間60aに配置する。画面5aには、指人形オブジェクト60bが表示される。
指人形ゲームでは、指人形オブジェクト60bの操作に、コントローラ7a,7b,7cを使用する。ユーザは、コントローラ7a〜7cが装着された指を操作面4a上で動かすことにより、指人形オブジェクト60bを操作する。
図25は、コントローラ7の外観図である。以下、コントローラ7a〜7cに関する共通の説明をするときに、コントローラ7と総称する。コントローラ7は、指サック型の形状である。ユーザは、コントローラ7の下側から指を挿入して、コントローラ7を指に装着する。コントローラ7の表面には、センサチップ71が取り付けられる。
図26は、センサチップ71の機能的構成を示すブロック図である。センサチップ71は、位置指示部72と、位置指示信号供給部73とを備える。位置指示部72は、位置指示部34と同様に、コイル及びコンデンサなどにより構成される共振回路である。位置指示部72の共振周波数は、コントローラ7で互いに異なる。位置指示信号供給部73は、各コントローラ7の位置指示部72の共振周波数に対応する電流信号(位置指示信号)を、位置指示部72に供給する。なお、位置指示部72と、位置指示信号供給部73とが、同一の共振回路であってもよい。
タブレット4が各コントローラ7の3次元位置情報を取得する流れについて説明する。タブレット4は、コントローラ7a〜7cのいずれかに対応する正弦波電流信号を、Xセンサコイル41x及びYセンサコイル41yに供給する。たとえば、コントローラ7aが共振周波数f1(Hz)に対応している場合、タブレット4は、f1(Hz)の正弦波電流信号をXセンサコイル41x及びYセンサコイル41yに供給する。これにより、コントローラ7aの位置指示部72に誘導電流が発生する。コントローラ7b、7cの位置指示部72には誘導電流が発生しない。
コントローラ7aにおいて、位置指示部72に誘導電流が発生した場合、位置指示信号供給部73は、f1(Hz)の位置指示信号を位置指示部72に供給する。タブレット4は、f1(Hz)の共振信号を受信する。タブレット4は、f1(Hz)の正弦波電流信号の供給後に受信したf1(Hz)の共振信号が、コントローラ7aから送信されたと判断する。タブレット4は、コントローラ7aの識別情報を対応付けた3次元位置情報をゲーム装置2に出力する。これにより、制御部21は、入力された3次元位置情報がコントローラ7aに対応していると判断することができる。同様に、タブレット4は、コントローラ7b,7cに対応する共振周波数の正弦波信号をXセンサコイル41x及びYセンサコイル41yに供給することにより、コントローラ7b,7cに対応する3次元位置情報を取得する。
次に、指人形オブジェクト60bの操作について、図24を用いて説明する。図24に示すように、コントローラ7aは、ユーザの右手の親指に装着される。コントローラ7bは、ユーザの右手の人差し指に装着される。コントローラ7cは、ユーザの右手の中指に装着される。コントローラ7a、7b、7cは、指人形オブジェクト60bの左前脚60c、頭部60d、右前脚60eに対応する。
たとえば、ユーザが親指を動かしてコントローラ7aを上方向に動かしたとする。制御部21は、コントローラ7aに対応付けられた3次元位置情報が変化するため、コントローラ7aが移動したと判断する。制御部21は、コントローラ7aの3次元位置情報の変化に応じて、指人形オブジェクト60bの左前脚60cを移動させる。このように、ユーザは、コントローラ7が装着された右手の親指、人差し指、及び中指を、操作面4a上で動かすことにより、指人形オブジェクト60を操作することができる。
ユーザは、指人形オブジェクト60b全体を移動させることができる。ユーザは、右手全体を操作面4a上で動かすことにより、コントローラ7を同時に同一方向に移動させる。制御部21は、コントローラ7a〜7cが同時に同一方向に移動したと判定して、指人形オブジェクト60b全体を移動させる。また、ユーザは、右手全体を動かすと同時に、親指、人差し指、及び中指を動かすことにより、まるで歩いているかのように、指人形オブジェクト60bを移動させることができる。
図24では、指人形オブジェクト60bとして小鹿を示しているが、これに限られない。ユーザが複数のキャラクタの中から操作対象を選択できるようにしてもよい。
{2.11.陶芸ゲーム}
陶芸ゲームは、ゲーム空間内の粘土を茶碗などの形に整えることにより、疑似的に陶芸を楽しむことができるゲームである。陶芸ゲームでは、指人形ゲームと同様に、指サック型のコントローラ7が用いられる。
まず、ユーザは、陶芸ゲームプログラムが格納された光ディスク6を光ディスクドライブ22にセットする。これにより、陶芸ゲームが開始される。以下、制御部21における処理は、陶芸ゲームプログラムの実行による処理である。
図27は、陶芸ゲームの操作方法を説明する図である。陶芸ゲームでは、10個の指サック型のコントローラ7a,7b,7c,7d,7e,7f,7g,7h,7i,7jを使用する。以下、コントローラ7a〜7jについて共通の説明をするときに、コントローラ7と総称する。コントローラ7は、ユーザの全ての指に装着される。ユーザの指に装着されるコントローラ7は、予め指定されている。右手の親指、人差し指、中指、薬指、及び小指には、コントローラ7a,7b,7c,7d,7eが装着される。左手の親指、人差し指、中指、薬指、及び小指には、コントローラ7f,7g,7h,7i,7jが装着される。
制御部21は、陶芸ゲームが開始されると、陶芸ゲーム用のゲーム空間61aを生成する。画面5aの左側に、ゲーム空間61aが表示される。
制御部21は、茶碗オブジェクト61bと、ろくろオブジェクト61cと、右手オブジェクト61dと、左手オブジェクト61eとを生成する。ろくろオブジェクト61cは、ゲーム空間61aのデフォルトの位置に配置される。茶碗オブジェクト61bは、ろくろオブジェクト61cの上に載せられる。
制御部21は、各コントローラ7の3次元位置情報を仮想位置情報に変換する。制御部21では、コントローラ7a〜7eの3次元位置情報と、右手オブジェクト61dの各指とが対応付けられている。同様に、コントローラ7f〜7jの3次元位置情報と、左手オブジェクト61eの各指とが対応付けられている。制御部21は、右手オブジェクト61d及び左手オブジェクト61eの位置及び形状を、コントローラ7の3次元位置情報から変換された仮想位置情報に基づいて決定し、右手オブジェクト61d及び左手オブジェクト61eをゲーム空間61aに配置する。
コントローラ7の3次元位置情報の変化に応じて、右手オブジェクト61d又は左手オブジェクトの対応する指の位置が変化する。ユーザが右手全体を動かした場合、コントローラ7a〜7cが同時に同一方向に移動する。この場合、制御部21は、右手オブジェクト61d全体を移動させる。
画面5aの右側には、操作メニュー61fが表示される。操作メニュー61fは、ろくろオブジェクト61cの回転開始または回転停止を指示するために用いられる。ユーザは、操作メニュー61fを操作して、ろくろオブジェクト61cを回転させる。画面5aに表示された茶碗オブジェクト61b、右手オブジェクト61d、及び左手オブジェクト61eを見ながら、ユーザは、右手及び左手を動かす。
制御部21は、茶碗オブジェクト61bと右手オブジェクト61dとが重なったと判定した場合、茶碗オブジェクト61bの形状を変化させる。茶碗オブジェクト61bの形状は、茶碗オブジェクト61bと右手オブジェクト61dとが重なった重複領域に応じて変化する。茶碗オブジェクト61bと左手オブジェクト61eとが重なった場合も同様である。このように、ろくろオブジェクト61cを回転させながらユーザ自身の右手及び左手を動かすことにより、茶碗オブジェクト61bの形状を整えることができる。
ユーザは、ろくろオブジェクト61cの回転を止めた状態で、茶碗オブジェクト61bの形状を整えてもよい。これにより、茶碗オブジェクト61bの形状を細かく調整することが可能となる。
陶芸ゲームでは、コントローラ3をへらなどの他の器具に見立てることにより、茶碗オブジェクト61bを成形してもよい。たとえば、操作メニュー61fの下に、使用する器具の選択メニューが表示される。ユーザは、選択メニューから選択した器具にコントローラ3を見立てて、操作面4a上でコントローラ3を操作する。
{変形例}
本実施の形態では、据え置き型のゲームシステム1を例にして説明したが、これに限られない。携帯型のゲーム装置にタブレット4を内蔵することにより、携帯型のゲーム装置でも、上記の各ゲームプログラムを実行することが可能である。
図28は、実施の形態の変形例に係る携帯型のゲーム装置8を示す図である。図28に示すゲーム装置8は、液晶パネル81と、Aボタン82aと、Bボタン82bと、十字キー82cと、タブレット83と、スタイラスペン84とを備える。
液晶パネル81は、テレビジョン受像機5の画面5aに対応し、ゲームの映像を表示する。Aボタン82a、Bボタン82b、及び十字キー82cは、コントローラ3のAボタン32a、Bボタン32b、及び十字キー32cにそれぞれ対応する。タブレット83は、タブレット4に対応し、スタイラスペン84に内蔵された位置指示部34の位置を検出して3次元位置情報を生成する。ゲーム装置81のAボタン82a、Bボタン82b、十字キー82c、及びスタイラスペン84を併用することにより、携帯型のゲーム装置8でも、3次元位置情報を利用した上記のゲームを楽しむことができる。
また、タブレット4の上に液晶パネルを配置してもよい。この場合、タブレット4の上に配置された液晶パネルに各ゲームのゲーム空間を表示してもよい。これにより、タブレット4の上に配置された液晶パネルにゲーム空間を表示することができる。
たとえば、ビリヤードゲームの場合、ビリヤード台52bをタブレット4の上に配置された液晶パネルに表示してもよい。これにより、ユーザは、コントローラ3の位置とキューオブジェクト52eの位置との対応関係を容易に確認することができる。野球ゲームの場合、タブレット4の上に配置された液晶パネルに、ホームベース及びバッターボックスの映像を表示させてもよい。これにより、ユーザは、スタイラスペン82をスイングする位置を容易に確認することができる。