以下、本発明の好ましい実施の形態を、図面を参照して具体的に説明する。
図1〜15は、本発明に係るゲーム装置の一実施形態を示している。図1に示すように、本実施形態のゲーム装置Aは、ガンシューティングゲーム用のアーケードゲーム装置である。ゲーム装置Aは、筐体1、メインモニタ2、ガンコントローラ3、蹴り台4、サブモニタ5、ステージ6、ステージ用モニタ7、複数のLED8A,8B、およびゲーム制御用の各種ハードウェア(図4参照)を備える。ゲーム装置Aは、2人のプレイヤに対応するため、メインモニタ2からLED8A,8Bまでの構成要素を1つのセットとして左右に2セット備える。なお、以下の説明では、いずれか一方のセットに関する構成および動作について説明する。
筐体1は、床面から所定の高さ位置にメインモニタ2を保持する。筐体1はまた、ゲーム制御用の各種ハードウェアを備えた制御基板を内蔵するとともに、スピーカ19(図4参照)および電飾用の発光体(図示略)を適部に備える。この筐体1の近傍には、ガンコントローラ3を載せて置くための載置台1Aが設けられている。
メインモニタ2は、ガンシューティングゲーム用のゲーム画像を画面2Aに表示するものであり、たとえば液晶パネルからなる。メインモニタ2の画面2Aは、床面から所定の高さ位置に概ね鉛直起立状に配置される。
ガンコントローラ3は、たとえばプレイヤPが画面2A内に表示された後述の敵キャラクタ100(図8および図9参照)に照準を定め、その照準位置に向けて銃で撃つような操作を行うためのものである。ガンコントローラ3は、トリガ(図示略)を備えるとともに、このトリガを指で引く操作に応じてトリガ操作信号を出力するトリガスイッチ30(図4参照)を備える。ガンコントローラ3はまた、照準位置検出用の撮像素子31および画像処理部32(図4参照)を備えるとともに、撮像素子31の入射側に光学レンズおよび赤外線フィルタを備える(図示略)。このガンコントローラ3は、トリガスイッチ30および画像処理部32に通じる信号線を収容したケーブル3Aを介して筐体1に繋がれている。なお、撮像素子31および画像処理部32の機能については後述する。
蹴り台4は、プレイヤPの足による蹴り操作を受け付けるための箱状部材であり、メインモニタ2の画面2Aより前方の床面上に配置される。蹴り台4の内部には、サブモニタ5が収容される。サブモニタ5は、たとえばメインモニタ2に表示された画像に連続するゲーム画像を画面5Aに表示可能な液晶パネルである。
上記蹴り台4は、蹴り操作がなされる第1の透明カバー部40を有する。第1の透明カバー部40は、メインモニタ2の画面2Aの下端近傍から前方に延びつつ床面に近づくように傾斜状に配置される。図2によく示すように、第1の透明カバー部40は、格子状の枠41、枠41間に形成された複数の開口部42、各開口部42の奥側周縁に形成された段部43、各開口部42の角部を覆うように枠41に固定された規制部材44、および複数の開口部42を塞ぐ複数の透明パネル400によって構成される。サブモニタ5の画面5Aは、第1の透明カバー部40全体に面して外方に臨むように配置される。各開口部42の段部43には、バネなどの弾性部材(図示略)とともに複数の感圧センサ50が設けられている。
透明パネル400は、たとえばアクリル製の強化パネルであり、プレイヤPの足による蹴り操作に応じて押圧される。複数の透明パネル400は、複数の開口部42に位置することにより、サブモニタ5の画面5A全体を覆うようにマトリクス状に配置される。透明パネル400はまた、枠41に固定された規制部材44と段部43との間に位置し、段部43に設けられた弾性部材によって外側に常に付勢されている。これにより、透明パネル400は、自然状態では常に規制部材44に当接しており、プレイヤPの足による蹴り操作によって押圧されると、規制部材44より内側に弾性的に押し込まれる。その後プレイヤPの足が透明パネル400から離れると、その透明パネル400は、弾性部材の弾力によって外側に押し戻され、再び規制部材44に当接した状態になる。また、プレイヤPは、各透明パネル400を通してサブモニタ5の画面5A全体に表示されたゲーム画像を見ることができる。さらに、プレイヤPは、画面5Aに表示されたゲーム画像を見ながらその画像内の所望とする位置を足で蹴り付けるなどにより、対応する位置の透明パネル400を押圧することができる。なお、透明パネル400は、完全な透明に限らず、サブモニタ5に表示されたゲーム画像を視認できる程度の透明性があればよい。
感圧センサ50は、透明パネル400の押圧状態を感知するものであり、たとえば所定以上の圧力を検知可能な圧力センサからなる。感圧センサ50は、たとえば1つの開口部42につき4個設けられており、蹴り台4に別途内蔵された回路基板上の後述する操作位置検出部500(図4参照)に接続されている。たとえば、ある透明パネル400が蹴り操作によって押圧されると、それに対応する4個全ての感圧センサ50が所定以上の圧力を同時に検知し、これらの感圧センサ50から操作位置検出部500に圧力検知信号が送出される。なお、感圧センサ50は、圧力レベルまでも含む信号を出力してもよい。透明パネル400に対する操作を検出するための構成には、たとえばタッチパネルと同様のセンサ方式を採用してもよい。
ステージ6は、プレイヤPが立った状態である程度動き回れる大きさの箱状部材であり、蹴り台4よりさらに前方の床面上に設置される。ステージ6の内部には、ステージ用モニタ7が収容される。ステージ用モニタ7は、たとえばメインモニタ2およびサブモニタ5に表示された画像に続くゲーム画像を画面7Aに表示可能な液晶パネルである。
上記ステージ6は、プレイヤPが直接立って載ることが可能で、かつ、プレイヤPの体重や足の踏み付け力にも耐えうる第2の透明カバー部60を上面側に有する。第2の透明カバー部60は、蹴り台4の下部近傍から前方に延び、床面に対して水平状に配置される。図3によく示すように、第2の透明カバー部60は、格子状の枠61、枠61間に形成された複数の開口部62、各開口部62の奥側周縁に形成された段部63、各開口部62の角部を覆うように枠61に固定された規制部材64、および複数の開口部62を塞ぐ複数の透明パネル600によって構成される。ステージ用モニタ7の画面7Aは、第2の透明カバー部60全体に面して上方に臨むように配置される。各開口部62の段部63には、バネなどの弾性部材(図示略)とともに複数の感圧センサ70が設けられている。
透明パネル600は、たとえばアクリル製の強化パネルであり、少なくともプレイヤPの片足に対して十分な大きさを有し、プレイヤPの足によって押圧される。複数の透明パネル600は、複数の開口部62に位置することにより、ステージ用モニタ7の画面7A全体を覆うようにマトリクス状に配置される。透明パネル600はまた、枠61に固定された規制部材64と段部63との間に位置し、段部63に設けられた弾性部材によって上方側に常に付勢されている。これにより、透明パネル600は、プレイヤPの足で押さえられない状態では常に規制部材64に当接しており、プレイヤPが立つなどして足で押さえられると、規制部材64より下方側に弾性的に押し込まれる。その後プレイヤPが立ち位置を変えて足が透明パネル600から離れると、その透明パネル600は、弾性部材の弾力によって上方側に押し戻され、再び規制部材64に当接した状態になる。また、プレイヤPは、各透明パネル600を通してステージ用モニタ7の画面7A全体に表示されたゲーム画像を見ることができる。さらに、プレイヤPは、足下において画面7Aに表示されたゲーム画像を見ながらその画像内の所望とする位置を足で踏み付けるなどにより、対応する位置の透明パネル600を押圧することもできる。なお、透明パネル600も、完全な透明に限らず、ステージ用モニタ7に表示されたゲーム画像を視認できる程度の透明性があればよい。
感圧センサ70は、透明パネル600の押圧状態を感知するものであり、たとえば所定以上の圧力を検知可能な圧力センサからなる。感圧センサ70は、たとえば1つの開口部62につき4個設けられており、ステージ6に別途内蔵された回路基板上の後述する立ち位置検出部700(図4参照)に接続されている。たとえば、ある透明パネル600の上にプレイヤPが立ってその透明パネル600が押圧されると、それに対応する4個全ての感圧センサ70が所定以上の圧力を同時に検知し、これらの感圧センサ70から立ち位置検出部700に圧力検知信号が送出される。このように透明パネル600にプレイヤPが載った状態では、その透明パネル600がいわゆる長押し状態となる。透明パネル600が長押し状態になった場合、対応する感圧センサ70は、その長押し状態が解除されるまで圧力検知信号を送出し続ける。なお、この感圧センサ70も、圧力レベルまでも含む信号を出力してもよい。透明パネル600に対する操作を検出するための構成には、たとえばタッチパネルと同様のセンサ方式を採用してもよい。
LED8Aは、たとえば2個一組となって筐体1の適部に設けられたものであり、メインモニタ2に対応してその画面2Aの近傍に位置する。これらのLED8Aは、ガンコントローラ3をメインモニタ2の画面2Aに向けて照準を定めた場合のその画面2A上における照準位置を光学的に検出するために用いられる。LED8Aは、誤検出を防ぐために赤外線LEDが適用され、メインモニタ2の画面2A前方に向けて赤外光を発するように設置されている。
LED8Bは、たとえば3個一組となって蹴り台4の適部に設けられたものであり、サブモニタ5に対応してその画面5Aの近傍に位置する。これらのLED8Bは、ガンコントローラ3をサブモニタ5の画面5Aに向けて照準を定めた場合のその画面5A上における照準位置を光学的に検出するために用いられる。このLED8Bも、誤検出を防ぐために赤外線LEDが適用され、サブモニタ5の画面5A前方に向けて赤外光を発するように設置されている。
図4に示すように、ゲーム装置Aは、制御基板に設けられるハードウェアとして、CPU10、ROM11、RAM12、GPU13、VRAM14、ビデオインターフェース15、入力インターフェース16、および出力インターフェース17を備える。CPU10、ROM11、RAM12、GPU13、入力インターフェース16、および出力インターフェース17は、バス18を介して互いに接続されている。GPU13には、VRAM14およびビデオインターフェース15を介して、メインモニタ2、サブモニタ5、およびステージ用モニタ7が接続されている。入力インターフェース16には、トリガスイッチ30、画像処理部32、操作位置検出部500、および立ち位置検出部700が接続される。出力インターフェース17には、LED8A,8Bが接続される。なお、バス18には、出力インターフェース17(オーディオインターフェース)を介してスピーカ19が接続されており、出力インターフェース17には、電飾用の発光体(図示略)が接続されている。
CPU10は、ROM11に記憶されたシステムプログラムおよびゲームプログラムを実行し、各種の入出力制御および演算処理を行う。このCPU10は、ガンコントローラ3のトリガスイッチ30および画像処理部32、あるいは操作位置検出部500、立ち位置検出部700などから入力される各種の信号および情報に応じて所定のゲーム画像をメインモニタ2ならびにサブモニタ5およびステージ用モニタ7に表示させる旨の命令をGPU13に送る。また、CPU10は、ゲームプログラムに基づいて電飾用の発光体やスピーカ19を動作させる。
ROM11は、読み出し専用の半導体メモリである。このROM11には、ハードウェアの基本的な動作を制御するためのシステムプログラムと、ゲームに関する各種の処理をCPU10に実行させるための命令や手順を記したゲームプログラムなどが記憶されている。また、ROM11には、3次元の仮想ゲーム空間を生成するための画像データおよびオーディオデータ、ならびに制御テーブルなどのゲームデータが記憶されている。さらに、ROM11には、後述する照準マークをゲーム画像に合成して表示(オーバーレイ表示)するためのレイヤーデータも記憶されている。制御テーブルには、たとえば敵キャラクタおよびプレイヤキャラクタのゲーム進行上における体力値および攻撃力といった各種のパラメータが規定されている。これらのパラメータについては後述する。
ゲームプログラムには、仮想ゲーム空間を生成するプログラムが含まれるとともに、ゲーム進行状況に応じて敵キャラクタやプレイヤキャラクタの体力値や攻撃力を変化させるためのプログラムが含まれる。たとえばCPU10は、ゲームプログラムを実行することにより、所定のゲームステージごとにプレイヤキャラクタが進むべき仮想ゲーム空間を生成し、この仮想ゲーム空間内に生じた各種のイベントに応じてプレイヤキャラクタの体力値や攻撃力を増減させる。また、ゲームプログラムには、ステージ6上におけるプレイヤPの立ち位置に基づき、仮想ゲーム空間における敵キャラクタの動作速度などを変化させるためのプログラムが含まれる。たとえばCPU10は、立ち位置検出部700からの立ち位置情報に基づき、ステージ6上におけるプレイヤPの立ち位置がメインモニタ2および蹴り台4に対して所定の基準よりも近い位置にあると判定した場合、ポジションフラグをオンとして敵キャラクタの動作速度を高速にするコマンドを実行する。一方、CPU10は、立ち位置検出部700からの立ち位置情報に基づき、プレイヤPの立ち位置が所定の基準よりも遠い位置にあると判定した場合、ポジションフラグをオフとして敵キャラクタの動作速度を低速にするコマンドを実行する。なお、画像データおよびオーディオデータならびにゲームプログラムは、たとえばハードディスク、光ディスクあるいはフラッシュメモリといった記録媒体に記録しておき、この記録媒体から読み取り装置を介して適宜読み出すようにしてもよい。
RAM12は、読み書き可能な半導体メモリであり、CPU10によるプログラムのロード、ならびにデータなどの一時的な記憶に用いられる。たとえばRAM12には、立ち位置検出部700からの立ち位置情報に基づき、CPU10によってポジションフラグに関するオン/オフ情報が書き込まれる。
GPU13は、仮想的なカメラで撮像される仮想ゲーム空間の2次元の画像(公知の透視投影法による2次元画像)であるゲーム画像を生成するといった画像の表示処理に必要な高速演算処理を行う。本実施形態では、仮想ゲーム空間における1つの視点位置に、視線方向が互いに異なる3つの仮想的なカメラが配置される。3つの仮想的なカメラは、メインモニタ2ならびにサブモニタ5およびステージ用モニタ7に映し出すべき仮想ゲーム空間を撮像する。各カメラの方向(視線方向)は、各画面2A,5A,7Aが臨む方向と一致するように設定される。本実施形態では、各画面2A,5A,7Aに表示されるゲーム画像が連続するように、各カメラの方向が設定されている。
また、本実施形態では、上記3つの仮想的なカメラの視点位置を、プレイヤキャラクタの視点位置に設定している。そして、プレイヤキャラクタが見ている仮想ゲーム空間がメインモニタ2に表示されるように、メインモニタ2に表示されるべき仮想ゲーム空間を撮像する1つのカメラの視線方向は、プレイヤキャラクタの視線方向に設定されている。すなわち、プレイヤPは、仮想ゲーム空間をプレイヤキャラクタの視点で見ることができる(一人称視点:ファースト・パーソン・シューティングゲーム)。なお、各画面5A,7Aでは、たとえば、プレイヤキャラクタが水平方向を見ている場合は、メインモニタ2のゲーム画像に連続するように、プレイヤキャラクタの視点から前方の斜め下方および略真下方向の仮想ゲーム空間のゲーム画像が表示される。
したがって、GPU13は、3つの仮想的なカメラのそれぞれによって撮像される仮想ゲーム空間のゲーム画像を生成する。各視点のゲーム画像は、メインモニタ2に表示すべき画像、サブモニタ5に表示すべき画像、およびステージ用モニタ7に表示すべき画像に分けられ、順次VRAM14に転送される。また、GPU13は、CPU10からの命令に応じてゲーム画像に照準マークを合成する処理を行い、この照準マークを含むゲーム画像をVRAM14に転送する。
VRAM14は、映像表示専用の半導体メモリである。たとえばVRAM14は、GPU13によって生成されたゲーム画像を一時的に保持するフレームバッファとして機能するほか、GPU13の各種処理に際して必要なデータも一時的に保持する。VRAM14はまた、メインモニタ2に対応するバッファ領域、サブモニタ5に対応するバッファ領域、およびステージ用モニタ7に対応するバッファ領域を有し、GPU13によってそれぞれのモニタに表示すべきものとして生成されたゲーム画像を一時的に保持する。このVRAM14からは、ビデオインターフェース15を介してメインモニタ2ならびにサブモニタ5およびステージ用モニタ7に1フレームずつゲーム画像が送信される。
メインモニタ2ならびにサブモニタ5およびステージ用モニタ7は、VRAM14から1フレームずつゲーム画像が送信されてくるのに応じて、たとえば20fpsのフレームレートで画面2A,5A,7Aの書き換えを行う。これにより、各画面2A,5A,7Aには、動画としてのゲーム画像が表示される。具体的に、各画面2A,5A,7Aには、互いに連続しつつも視線方向が異なるゲーム画像が同時に表示される。たとえば図8に示すように、メインモニタ2の画面2Aには、敵キャラクタ100の上半身100Aを示すゲーム画像が表示されるとともに、サブモニタ5の画面5Aには、その敵キャラクタ100の下半身100Bを示すゲーム画像が表示され、さらにステージ用モニタ7の画面7Aには、敵キャラクタ100とは別の敵キャラクタ110が地面を這って近づいてくるようなゲーム画像が表示される。
撮像素子31は、たとえばCCDイメージセンサあるいはCMOSイメージセンサからなる。この撮像素子31は、図示しない光学レンズおよび赤外線フィルタを介してLED8A,8Bの赤外光を受光することにより、可視光などのノイズを含まない赤外光の輝点を捉えた撮像画像を画像処理部32に出力する。
画像処理部32は、撮像素子31からの撮像画像を画像処理し、この撮像画像内の輝点の位置に基づき、各画面2A,5A上におけるガンコントローラ3の照準位置を検出する。また、画像処理部32は、撮像画像内の輝点の数を検出し、その検出結果に基づいてガンコントローラ3の照準がどの画面2A,5Aに合わされた状態にあるかを認識する。これにより、画像処理部32は、各画面2A,5A上における照準位置の座標を示した照準座標情報を出力する。なお、撮像画像の所定領域内に輝点が検出されないとき、画像処理部32は、ガンコントローラ3の照準が画面2A,5A外にあると認識し、その旨を示す照準座標情報を出力する。このような画像処理部32による照準位置の検出処理は、周知の技術(たとえば特開平11−305935号公報記載の技術)によって実現される。
たとえば画面2A内の照準位置を示す照準座標情報がCPU10に伝えられると、メインモニタ2の画面2Aには、ガンコントローラ3の照準位置に対応する照準マークM(図13(B)参照)が表示される。このとき、プレイヤPによってガンコントローラ3のトリガが操作されると、トリガスイッチ30からのトリガ操作信号がCPU10に伝えられる。そして、CPU10は、トリガ操作信号を取得し、メインモニタ2の画面2Aには、照準位置に着弾したようなゲーム画像が表示される。一方、たとえば撮像画像の所定領域内に輝点を検出できなかった場合、画像処理部32は、照準位置が画面外にあると判断する。その結果、メインモニタ2の画面2Aには、照準マークMが表示されない。CPU10および画像処理部32は、上記と同様の処理によってサブモニタ5の画面5Aにも照準位置に対応する照準マークMや照準位置に着弾したようなゲーム画像を表示させる。
操作位置検出部500は、蹴り台4における複数の感圧センサ50からの圧力検知信号に基づいてどの位置の透明パネル400が蹴り操作されたかを認識する。たとえば操作位置検出部500は、ある位置の透明パネル400に対応する4個全ての感圧センサ50から圧力検知信号を受けると、その透明パネル400が操作されたと認識する。これにより、操作位置検出部500は、サブモニタ5の画面5Aに対する透明パネル400の操作位置および操作タイミングに関する操作情報を出力する。操作位置検出部500から出力された操作情報がCPU10に伝えられると、たとえばCPU10は、透明パネル400の操作位置に対応する画面5Aの一部に敵キャラクタ100が表示されているか否か判断する。透明パネル400の操作位置に敵キャラクタ100が表示されていた場合、サブモニタ5の画面5Aには、その敵キャラクタ100がダメージを受けるようなゲーム画像が表示される。なお、操作位置検出部500は、たとえば1つの透明パネル400に対応する1〜3個までの感圧センサ50しか圧力を検知しない場合でもその透明パネル400が操作されたものと認識してもよい。操作位置検出部500による処理は、CPU10が代わりに実行するようにしてもよい。
立ち位置検出部700は、ステージ6における複数の感圧センサ70からの圧力検知信号に基づいてどの位置の透明パネル600にプレイヤPが立った状態であるかを認識する。たとえば立ち位置検出部700は、ある位置の透明パネル600に対応する4個全ての感圧センサ70から所定時間継続して圧力検知信号を受けると、その透明パネル600が長押しされた状態と認識する。これにより、立ち位置検出部700は、ステージ6上におけるプレイヤPの立ち位置に関する情報(立ち位置情報)を出力する。たとえばCPU10は、ステージ6の前端側1列に属する少なくとも1つの透明パネル600がプレイヤPの立ち位置である旨の立ち位置情報を立ち位置検出部700から受信すると、そのプレイヤPの立ち位置がメインモニタ2および蹴り台4に対して近い位置と判断し、ポジションフラグをオンに設定する。一方、ステージ6の前端側1列を除く一または複数の透明パネル600がプレイヤPの立ち位置である旨の立ち位置情報を立ち位置検出部700から受信すると、CPU10は、プレイヤPの立ち位置がメインモニタ2および蹴り台4に対して遠い位置と判断し、ポジションフラグをオフに設定する。
なお、立ち位置検出部700も、操作位置検出部500と同様の構成であり、ステージ用モニタ7の画面7Aに対する透明パネル600の操作位置および操作タイミングに関する操作情報を出力することができる。たとえば立ち位置検出部700は、ある位置の透明パネル600に対応する感圧センサ70から所定時間に満たないパルス状の圧力検知信号を受けると、その透明パネル600が操作されたと認識する。これにより、立ち位置検出部700は、ステージ用モニタ7の画面7Aに対する透明パネル600の操作位置および操作タイミングに関する操作情報を出力する。また、立ち位置検出部700は、たとえば1つの透明パネル600に対応する1〜3個までの感圧センサ70しか圧力を検知しない場合でも、その感圧センサ70から所定時間継続して圧力検知信号が入力される場合は、その透明パネル600が長押しされた状態で立ち位置になると認識してもよい。このような立ち位置検出部700による処理は、CPU10が代わりに実行するようにしてもよい。
次に、ゲーム装置Aのゲーム制御処理について、図5〜15を参照して説明する。
まずゲームが始まると、画面2A,5A,7Aには、ゲーム画像が表示され、ゲームが進行する。ゲーム画像は、仮想ゲーム空間を2次元画像で可視化したものであり、ゲーム画像には、背景や物体などのオブジェクトが表示されるとともに、敵キャラクタ100,110などの標的が表示される(図8参照)。プレイヤPは、ガンコントローラ3を画面2A,5Aに向けて標的に照準を合わせ、トリガを引く操作を行う。ここで、たとえばCPU10は、トリガ操作信号を取得すると、画面2A,5Aに表示される2次元画像において標的が占める一定領域内に、照準位置の座標が入っているか否かを検出する。そして、CPU10は、当該一定領域内に照準位置が入っていれば弾が標的に命中したと判定し、当該一定領域内に照準位置が入っていなければ弾が標的に命中しなかったと判定する。なお、このような標的に弾が命中したか否かの判定手法は、周知の技術である。
プレイヤキャラクタと敵キャラクタ100,110には、それぞれ所定の体力値が設定され、かつ当該体力値が0になると倒れるように設定されている。CPU10は、プレイヤキャラクタや敵キャラクタ100,110の体力値、位置情報、攻撃力などのパラメータを管理している。プレイヤPのトリガ操作により仮想ゲーム空間内の敵キャラクタ100,110に弾が命中したと判定されると、CPU10は、ゲームプログラムに規定された銃攻撃による演出処理を行い、画面2A,5Aには、敵キャラクタ100,110がダメージを受けるようなゲーム画像が表示される。そして、CPU10は、撃たれた敵キャラクタ100,110の体力値を所定数減少させ、その体力値が0になると敵キャラクタ100,110を倒した状態とする。図5は、プレイヤキャラクタの体力値や攻撃力などの各種パラメータの一例を表す。プレイヤキャラクタによる攻撃力は、武器の種類や攻撃内容に応じて異なる。図6は、敵キャラクタ100,110の体力値や攻撃力などの各種パラメータの一例を表す。これらプレイヤキャラクタおよび敵キャラクタに関するパラメータは、ROM11に記憶されており、ゲームプログラム実行中にはROM11から読み出されてRAM12に記憶される。
ゲームの進行に際しては、1つのゲームステージごとに所定の仮想ゲーム空間が生成される。当該仮想ゲーム空間には、背景や物体などのオブジェクト、敵キャラクタなどが、あらかじめ決められた位置に配置されている。メインモニタ2の画面2Aに表示されるゲーム画像は、プレイヤキャラクタの視点にある仮想的なカメラから仮想ゲーム空間を撮像した2次元画像である。
プレイヤキャラクタは、ゲームステージごとに、仮想ゲーム空間内において、たとえばプレイヤPの操作によって選択されたコース、あるいはあらかじめ定められたコースを移動するように制御される。すなわち、メインモニタ2の画面2Aに対応する仮想的なカメラの移動(視線方向および配置位置の移動)は、あらかじめ定められたコース(視点位置の経路)、移動速度、移動条件、および視線方向の情報などに基づいて制御される。そして、サブモニタ5およびステージ用モニタ7の画面5A,7Aに対応する仮想的なカメラの移動も、メインモニタ2の画面2Aに対応する仮想的なカメラの移動に合わせて制御される。
敵キャラクタ100,110は、ゲームステージごとに、仮想ゲーム空間内において、たとえばあらかじめ定められたコースを移動する、あるいはプログラミングされた周知のAI(人工知能)によって移動するように制御される。敵キャラクタ100,110は、ゲーム画像内においてプレイヤキャラクタの体力値を0にしようと、プレイヤキャラクタに対して接近して攻撃を仕掛けてくる。敵キャラクタ100,110が仮想的なカメラ(プレイヤキャラクタ)から一定範囲(たとえば、3m:図6の攻撃行動範囲3mに対応)に近づくと、敵キャラクタ100,110からの攻撃によりプレイヤキャラクタがダメージを受けうる。そして、CPU10は、ダメージを受けたプレイヤキャラクタの体力値を所定数減少させ、その体力値が0になると、プレイヤキャラクタが倒れた状態となる。そして、プレイヤキャラクタが3回倒れると、ゲームが終了する。次々に迫ってくる敵キャラクタ100,110を素早く倒し、敵キャラクタ100,110からの攻撃をかわすことができれば、1つのゲームステージのクリアが成立し、次のゲームステージに進むことができる。なお、ゲーム画像には、プレイヤキャラクタの全部または一部が表示されていてもよいし、プレイヤキャラクタが持つ銃のみが表示されていてもよい。
本実施形態では、ステージ6上におけるプレイヤPの立ち位置に応じてゲームの進行が変化する。
具体的には図7に示すように、CPU10は、ゲームの進行を制御する処理(図10参照)において立ち位置判定制御処理を実行している。この立ち位置判定制御処理では、立ち位置検出部700からの立ち位置情報に基づき、ステージ6上におけるプレイヤPの立ち位置がメインモニタ2および蹴り台4に対して近い位置か否かをCPU10が判定している(S1)。立ち位置情報は、たとえばステージ6の前端側1列に属する透明パネル600が立ち位置に該当する場合、近い位置を示す情報となり、その余の後端側2列の透明パネル600が立ち位置に該当する場合、遠い位置を示す情報になる。
立ち位置情報に基づいてステージ6上におけるプレイヤPの立ち位置を近い位置と判定した場合(S1:YES)、CPU10は、ポジションフラグをオンに設定する(S2)。
そして、CPU10は、制御テーブルに基づいてポジションフラグオンに対応するコマンドを実行することにより、仮想ゲーム空間内における敵キャラクタ100,110の動作速度を高速に設定する(S3)。これにより、画面2A,5A,7Aに表示された敵キャラクタ100,110のモーション再生速度が速くなり、たとえば1回の殴りかかる動作や所定距離を移動する動作を終えるのに60フレームの画像が描画処理される。
また、CPU10は、制御テーブルに基づいてポジションフラグオンに対応するコマンドを実行することにより、仮想ゲーム空間内における敵キャラクタ100,110およびプレイヤキャラクタが所持する銃の攻撃力を強に設定する(S4)。この攻撃力を強に設定する処理には、CPU10による内部的な抽選処理が含まれる。たとえば、CPU10は、画面2A,5A,7Aに表示された敵キャラクタ100,110について、攻撃力が強い「つかみかかる」を当選確率80%、攻撃力が弱い「殴りかかる」を当選確率20%とし、その上で攻撃力についての抽選を行う。これにより、敵キャラクタ100,110は、たとえばプレイヤキャラクタから攻撃行動範囲1mに近づいた状態で動き方が比較的速くなり、プレイヤキャラクタに対してつかみかかるような様相を呈することが多くなる。プレイヤキャラクタの銃の攻撃力については、内部的な抽選処理を行うことなく強に設定される。なお、CPU10は、プレイヤキャラクタのキック攻撃についても、その攻撃力の強さを内部的な抽選処理によって設定してもよい。
すなわち、ステージ6上におけるプレイヤPの立ち位置がメインモニタ2の画面2Aに対して近い位置になると、図8に示すように、メインモニタ2およびサブモニタ5の画面2A,5Aには、たとえば敵キャラクタ100の上半身100Aおよび下半身100Bが激しく動き、プレイヤキャラクタに対して強い力で襲ってくるように表示される。また、ステージ用モニタ7の画面7Aには、たとえば敵キャラクタ100よりもさらに前方の地面を這って別の敵キャラクタ110が近づいてくるように表示され、この敵キャラクタ110もまた、素早く動いて強い力で襲ってくるように表示される。
一方、S1において、立ち位置情報に基づいてステージ6上におけるプレイヤPの立ち位置を遠い位置と判定した場合(S1:NO)、CPU10は、ポジションフラグをオフに設定する(S5)。
そして、CPU10は、制御テーブルに基づいてポジションフラグオフに対応するコマンドを実行することにより、仮想ゲーム空間内における敵キャラクタ100,110の動作速度を低速に設定する(S6)。これにより、画面2A,5A,7Aに表示された敵キャラクタ100,110のモーション再生速度が遅くなり、たとえば1回の殴りかかる動作や所定距離を移動する動作を終えるのに90フレームの画像が描画処理される。
また、CPU10は、制御テーブルに基づいてポジションフラグオフに対応するコマンドを実行することにより、仮想ゲーム空間内における敵キャラクタ100,110およびプレイヤキャラクタが所持する銃の攻撃力を弱に設定する(S7)。このとき、CPU10は、たとえば画面2A,5A,7Aに表示された敵キャラクタ100,110の攻撃種類について、内部的な抽選処理を行うことなく攻撃力が弱い「殴りかかる」に設定する。これにより、敵キャラクタ100,110は、プレイヤキャラクタに対して比較的緩慢な動きで近づくように表示され、たとえば攻撃行動範囲3mに近づいてもプレイヤキャラクタに対して殴りかかるといったそれほど攻撃力が感じられない状態となる。プレイヤキャラクタの銃の攻撃力についても同様に弱に設定されるため、敵キャラクタ100,110を銃によって倒しにくい状態となる。
すなわち、ステージ6上におけるプレイヤPの立ち位置がメインモニタ2の画面2Aに対して遠い位置になると、図9に示すように、メインモニタ2およびサブモニタ5の画面2A,5Aには、たとえば敵キャラクタ100が比較的ゆっくりとした動きでプレイヤキャラクタに対して遠くから襲ってくるように表示される。また、ステージ用モニタ7の画面7Aには、敵キャラクタ110が遠くから近づいてくるように表示され、この敵キャラクタ110もまた、ゆっくりと動くように表示される。このようなS1〜S7の立ち位置判定制御処理は、ゲームが終了するまでたとえば1フレーム毎に繰り返し実行される。
なお、上記立ち位置判定制御処理は、ポジションフラグのオンオフに基づき、S3およびS6の動作速度設定に関するステップ、S4およびS7の攻撃力設定に関するステップのうち、少なくともいずれか一のステップを含む処理であればよい。
CPU10は、上記立ち位置判定制御処理によってプレイヤPの立ち位置に応じてポジションフラグのオンオフを設定しているため、仮想ゲーム空間における敵キャラクタ100,110の動作速度および攻撃力、さらにはプレイヤキャラクタの銃の攻撃力が変化させられる。たとえば、プレイヤPは、メインモニタ2に対して近づくようにステージ6における前側1列の透明パネル600に立つと、その画面2Aには、動きが速くて攻撃力が強い敵キャラクタ100が画面2A手前のプレイヤPに近づいて攻撃してくるゲーム画像が表示される。プレイヤPは、メインモニタ2から離れるようにステージ6における後側2列の透明パネル600に立つと、その画面2Aには、動きが緩慢で攻撃力が弱い敵キャラクタ100が画面2A手前のプレイヤPに対して攻撃してくるゲーム画像が表示される。これにより、プレイヤPは、敵キャラクタ100,110に近づいたり遠のいたりするかのような感覚を得ることができ、立ち位置を変えることで多様に変化するゲーム画像によって臨場感や迫力を感じることができる。また、プレイヤPは、前方、斜め下方、および足下の異なる方向に連続したゲーム画像を見ることができ、視覚的により迫力のある画像を感じることができる。
上記ゲーム画像の表示中、CPU10は、ポジションフラグがオンか否かを監視している(後述の図11のS21)。
図10は、ゲーム進行制御処理の概略を示すフローチャートである。先述したゲームが開始されると、CPU10は、プレイヤキャラクタが倒されたり、あるいはゲームステージのクリアなどによってゲームが終了するまで、同図に示す各処理をたとえば1フレーム毎に繰り返し実行する。
CPU10は、最初にプレイヤPによる操作情報などを取得する(S10)。たとえば、操作情報には、ガンコントローラ3からのトリガ操作信号、操作位置検出部500や立ち位置検出部700からの操作情報および立ち位置情報、画像処理部32からの照準座標情報がある。
次に、CPU10は、上述した図7に示す立ち位置判定制御処理を実行する(S11)。
その後、CPU10は、プレイヤキャラクタの行動処理を実行する(S12)。このプレイヤキャラクタの行動処理は、S10の処理で取得したプレイヤPによる操作情報、プレイヤキャラクタのステータス(攻撃を受けた状態など)、ポジションフラグの設定情報などに基づき、プレイヤキャラクタの行動を決定し、決定された行動に応じたモーション(攻撃を回避する動作など)を複数フレームにかけて再生などするための処理である。すなわち、プレイヤキャラクタの行動処理では、仮想ゲーム空間内でのプレイヤキャラクタの行動を制御するための処理を行う。プレイヤキャラクタの行動の決定(設定)は、図11に示す処理手順で行われる。図11に示すプレイヤキャラクタ行動決定処理は、プレイヤキャラクタの行動処理(S12)において実行される処理の一部である。その詳細については後述する。なお、プレイヤキャラクタの行動処理では、上述したようにプレイヤキャラクタを仮想ゲーム空間内の予め定められたコース上を移動させる処理も実行される。このような処理によれば、仮想的なカメラ(カメラの視線方向および配置位置)が移動させられる。
次に、CPU10は、敵キャラクタの行動処理を行う(S13)。敵キャラクタの行動処理は、敵キャラクタ100,110のステータス(攻撃を受けた状態など)、S11の処理で設定された動作速度などの設定情報などに基づいて、敵キャラクタ100,110の行動を決定し、決定された行動に応じたモーション(殴りかかる動作など)を複数フレームかけて再生などするための処理である。すなわち、敵キャラクタの行動処理では、仮想ゲーム空間内での敵キャラクタの行動を制御するための処理を行う。CPU10は、仮想ゲーム空間に存在する全ての敵キャラクタ100,110のそれぞれについて行動処理を行う。また、CPU10は、敵キャラクタの行動処理において、敵キャラクタ100,110に攻撃行動を実行させる際、上述の設定による敵キャラクタの攻撃力などの情報に基づいて攻撃行動の種類を決定する。さらに、CPU10は、上述の設定による動作速度の値(高速、低速)に基づいてモーション再生速度についても制御する。たとえば、CPU10は、動作速度の値に基づき、敵キャラクタ100,110のモーションを60フレームで再生させたり、あるいは90フレームかけて再生させる。
その後、CPU10は、その他のゲーム制御処理を行う(S14)。たとえば、CPU10は、S11〜S13のステップで更新されたプレイヤキャラクタおよび敵キャラクタなどに関する情報に基づき、アタリ判定処理やその判定結果に基づく各キャラクタの体力値の更新などといったステータスの更新などを行う。体力値の更新では、立ち位置判定制御処理により設定された攻撃力の情報などに基づき、たとえば体力値を減少させるといった処理などが行われる。アタリ判定処理では、プレイヤキャラクタの銃から発射された弾が敵キャラクタ100,110などの標的に命中したか否かの判定や、プレイヤPの蹴り台4への蹴りなどによる操作が標的に当たる操作か否かの判定、さらには敵キャラクタ100,110の攻撃行動がプレイヤキャラクタにヒットするか否かの判定などが行われる。また、その他のゲーム制御処理では、生成するゲーム画像に照準マークMなどを含めるためのエフェクト処理なども行われる。
その後、CPU10は、S10〜S14の処理などで更新された仮想ゲーム空間の情報に基づき、GPU13などを介して1フレーム分のゲーム画像を生成する描画処理を実行し(S15)、このゲーム進行制御処理を終了する。たとえば、プレイヤキャラクタの銃から発射された弾が敵キャラクタ100,110に命中したと判定された場合、その命中した様子を表すゲーム画像が生成される。そして、このような処理が繰り返し実行されることにより、画面2A,5A,7Aに動画としてのゲーム画像が表示される。
次に、S12の処理で実行されるプレイヤキャラクタ行動決定処理について説明する。図11に示すように、CPU10は、プレイヤキャラクタ行動決定処理の実行開始時、ポジションフラグがオンか否かを監視している(S21)。
ポジションフラグがオンの場合(S21:YES)、CPU10は、操作位置検出部500あるいは立ち位置検出部700からの操作情報の受信を監視している(S22)。
操作位置検出部500あるいは立ち位置検出部700から操作情報を受信すると(S22:YES)、CPU10は、その操作情報に基づいて操作がなされた透明パネル400,600を特定し、その透明パネル400,600の操作位置に対応する画面5A,7Aの一部に敵キャラクタ100,110が表示されているか否か判断する(S23)。
透明パネル400,600の操作位置に対応する画面5A,7Aの一部に敵キャラクタ100,110が表示されている場合(S23:YES)、CPU10は、プレイヤキャラクタの行動として、敵キャラクタ100,110に対するキック攻撃行動を設定し(S24)、処理を終了する。これにより、サブモニタ5あるいはステージ用モニタ7には、敵キャラクタ100,110がキックされたようなゲーム画像が表示される。たとえば、図12(A)に示すように、プレイヤPの立ち位置がメインモニタ2および蹴り台4に対して近い位置にあるとき、同図(B)に示すように、プレイヤPは、画面5Aに表示された敵キャラクタ100の下半身100Bを足で蹴るように画面5A上の透明パネル400に対して蹴り操作を行うことができる。蹴り操作によって透明パネル400が押圧されると、画面5Aには、敵キャラクタ100の下半身100Bにダメージが与えられたゲーム画像が表示される。すなわち、プレイヤPは、ステージ6上の立ち位置と蹴り台4に対する足の操作とを組み合わせた制御によってゲームの進行内容を多様に変化させることができる。
また、CPU10は、操作位置検出部500あるいは立ち位置検出部700から所定時間を経ても操作情報を受信しなかったり(S22:NO)、あるいは透明パネル400,600の操作位置に対応する画面5A,7Aの一部に敵キャラクタ100,110が表示されていない場合(S23:NO)、画像処理部32からの照準座標情報に基づいてメインモニタ2およびサブモニタ5の画面2A,5A内にガンコントローラ3の照準が存在するか否か判断する(S25)。
ガンコントローラ3の照準がいずれかの画面2A,5A内に存在する場合(S25:YES)、さらにCPU10は、トリガスイッチ30からトリガ操作信号を受信したか否か判断する(S26)。
トリガ操作信号を受信すると(S26:YES)、CPU10は、プレイヤキャラクタに行わせる行動として、照準位置に向けて銃弾を発射する銃攻撃行動を設定し(S27)、処理を終了する。たとえば、図13(A)に示すように、プレイヤPの立ち位置がメインモニタ2および蹴り台4に対して近い位置にあり、かつ、ガンコントローラ3の照準が画面2Aに合わせられているとき、同図(B)に示すように、画面2Aには、敵キャラクタ100の上半身100Aとともに照準マークMが表示される。この照準マークMが敵キャラクタ100の所定の画素領域と重なっている状態でガンコントローラ3のトリガ操作を行うと、画面2Aには、プレイヤキャラクタが銃を撃つ動作を行い、その後に敵キャラクタ100が銃で撃たれた動作の画像が表示される。このとき、プレイヤキャラクタの銃の攻撃力が強に設定されているため、たとえば1発の着弾だけで敵キャラクタ100が倒れる動作の画像が表示される。
S26において、トリガスイッチ30からトリガ操作信号を受信しない場合(S26:NO)、CPU10は、銃攻撃行動を設定せずに処理を終了する。
S25において、ガンコントローラ3の照準が画面2A,5A内に存在しない場合(S25:NO)、CPU10は、銃攻撃行動を設定せずに処理を終了する。なお、プレイヤPの立ち位置がメインモニタ2および蹴り台4に対して近い位置にある場合において、ガンコントローラ3の照準が画面2A,5A外にあり、かつ、トリガスイッチ30からトリガ操作信号を受信した場合、CPU10は、たとえば銃に弾を補充する行動、いわゆるリロードをプレイヤキャラクタにさせるようにしてもよい。
S23において、透明パネル400,600の操作位置に対応する画面5A,7Aの一部に敵キャラクタ100,110が表示されていない場合(S23:NO)、CPU10は、S24のステップをスキップしてS25のステップに移行する。この場合、プレイヤPは、たとえば敵キャラクタ100,110の所定の画素領域に対応しない透明パネル400,600を蹴るなどして操作ミスした状態になるため、プレイヤキャラクタにキック攻撃の行動は設定されず、敵キャラクタ100,110にダメージを与えることはできない。
S22において、操作位置検出部500および立ち位置検出部700から操作情報を受信しない場合(S22:NO)、CPU10は、S23およびS24のステップをスキップしてS25のステップに移行する。
S21において、ポジションフラグがオフであり、(S21:NO)、かつ、ガンコントローラ3の照準が画面2A,5A内に存在する場合(S28:YES)、CPU10は、S26のステップに移行する。すなわち、透明パネル400,600に対する足の操作は、プレイヤPの立ち位置がメインモニタ2および蹴り台4に対して近い位置にあるときに有効とされ、立ち位置が遠い位置にあるときは透明パネル400,600に対する足の操作が無効となる。このとき、プレイヤキャラクタの銃の攻撃力が弱に設定されているため、1発の着弾だけでは敵キャラクタ100が倒れない。
S21において、ポジションフラグがオフであり、(S21:NO)、かつ、ガンコントローラ3の照準が画面2A,5A外にある場合(S28:NO)、さらにCPU10は、トリガスイッチ30からのトリガ操作信号の受信を監視している(S29)。
トリガスイッチ30からトリガ操作信号を受信しない場合(S29:NO)、CPU10は、プレイヤキャラクタの行動として、敵キャラクタ100の攻撃から回避した状態とする回避行動を設定し(S30)、処理を終了する。たとえば、図14(A)に示すように、プレイヤPの立ち位置がメインモニタ2および蹴り台4に対して遠い位置にあり、かつ、ガンコントローラ3の照準が画面2A,5A外にあるとき、同図(B)に示すように、画面2Aには、俯瞰表示モードによりプレイヤキャラクタ120が表示される。たとえば画面2Aには、プレイヤキャラクタ120が物陰などに隠れて敵キャラクタ100から攻撃されない状態のゲーム画像が表示される。このとき、たとえば敵キャラクタ100は、プレイヤキャラクタ120を見失い、プレイヤキャラクタ120は、敵キャラクタ100を倒さずにやり過ごしてから前に進むことができる状態になる。これにより、プレイヤPは、自身の動きとプレイヤキャラクタ120の動きとが連動するように感じ取ることができ、あたかもその場にいるかのような臨場感を感じることができる。なお、上記の俯瞰表示モード時は、プレイヤキャラクタ(仮想的なカメラ)のあらかじめ設定されたコースの移動が中断された状態となる。また、敵キャラクタ100が銃などで攻撃してくる場合には、たとえばプレイヤキャラクタ120の周辺にある静的オブジェクトを盾にして銃による攻撃を防ぐ回避行動をプレイヤキャラクタ120にさせるようにしてもよい。
一方、トリガ操作信号を受信すると(S29:YES)、CPU10は、プレイヤキャラクタの行動として、使用する銃の種類を変更する銃切替行動を設定し(S31)、処理を終了する。本実施形態の銃切替行動は、プレイヤキャラクタに上述した回避行動をさせた状態で、使用する銃の種類を変える行動となる。たとえば、図15(A)に示すように、プレイヤPの立ち位置がメインモニタ2および蹴り台4に対して遠い位置にあり、かつ、ガンコントローラ3の照準が画面2A外に合わせられた状態でトリガ操作がなされたとき、同図(B)に示すように、画面2Aには、敵キャラクタ100の攻撃から回避した状態のプレイヤキャラクタ120が銃を取り替える動作を行うゲーム画像が表示される。このとき、たとえばプレイヤキャラクタ120は、攻撃力の弱いハンドガンから攻撃力の強いショットガンに銃を取り替えることができる。これにより、プレイヤPは、ステージ6上の立ち位置とガンコントローラ3の操作とを組み合わせた制御によってゲームの進行内容を多様に変化させることができる。
したがって、上記ゲーム装置Aによれば、ステージ6上のプレイヤPの立ち位置に応じて敵キャラクタ100,110の動作や状態などが変化し、ゲームの進行が多様に変化する。たとえばプレイヤPが画面2A,5Aに対して比較的近い位置に立つと、敵キャラクタ100,110の動作速度が速くなる。その一方、プレイヤPが画面2A,5Aから比較的遠い位置に立つと、敵キャラクタ100,110の動作速度が遅くなる。すなわち、プレイヤPは、自身の立ち位置に応じて画面2A,5Aに映し出された敵キャラクタ100との距離感をリアルに感じることができる。これにより、ゲーム装置Aは、ゲーム画像による臨場感や迫力をプレイヤPに十分感じさせることでき、ひいてはゲームの興趣を高めることができる。
また、サブモニタ5およびステージ用モニタ7には、ガンシューティングゲームだけでなく足の操作にも対応するゲーム画像が表示されるので、プレイヤPは、手足を使って色々なゲームコンテンツを楽しむことができる。
なお、上記実施形態はあくまで一例であり、本発明の技術的範囲はこれに限定されるものではない。本発明に係るゲーム装置の具体的な構成は、発明の思想から逸脱しない範囲内で種々な変更が可能である。
たとえば立ち位置判定制御処理は、図16に示すように、ズームイン表示(S3’)およびズームアウト表示(S6’)を含むものとしてもよい。この場合、たとえばCPU10は、制御テーブルに基づいてポジションフラグオンに対応するコマンドを実行することにより、敵キャラクタ100,110および背景をズームイン表示させる(S3’)。このズームイン表示では、仮想ゲーム空間に対する仮想的なカメラの配置位置が比較的近い位置に変更され、それに伴い敵キャラクタ100,110や背景が画面に大きく映し出される(図8参照)。一方、CPU10は、制御テーブルに基づいてポジションフラグオフに対応するコマンドを実行することにより、敵キャラクタ100,110および背景をズームアウト表示させる(S6’)。このズームアウト表示では、仮想ゲーム空間に対する仮想的なカメラの配置位置が比較的遠い位置に変更され、それに伴い敵キャラクタ100,110や背景が画面に小さく映し出される(図9参照)。したがって、このズームイン表示およびズームアウト表示によれば、プレイヤPは、自身の立ち位置に応じてあたかも仮想ゲーム空間に近づいたり遠ざかるような錯覚を起こしやすくなり、画面2A,5A,7Aに映し出された敵キャラクタ100,110との距離感をよりリアルに感じることができる。
上記実施形態では、プレイヤPが1人でプレイする場合について説明したが、これに限られない。2人で同時にプレイする場合には、たとえば互いに連動したゲーム画像を左右のモニタに表示させるようにしてもよい。
上記実施形態では、照準位置検出用として赤外光を発するLED8A,8Bをモニタ2,5の画面2A,5A近傍に設け、ガンコントローラ3側に撮像素子31を設けた。これに代えて、たとえばガンコントローラ側にLEDを設けるとともに、モニタの画面近傍に複数の撮像素子を設け、照準位置を検出するように構成してもよい。また、表示手段としてブラウン管方式のモニタを用いる場合、ラスタ走査方式によって照準位置を検出するように構成してもよい。
上記実施形態では、複数の透明パネル400,600をマトリクス状に配置して透明カバー部40,60を構成したが、これに限られない。たとえば、透明カバー部40,60は、モニタ5,7の画面5A,7A全体を覆う1つの透明な板状部材とし、この板状部材の上面全体に感圧センサとしてのマトリクススイッチあるいは抵抗膜を配置し、さらにその上に透明な保護カバーを積層するようにしてもよい。
上記実施形態では、ステージ用モニタ7を設けたが、これに限られない。たとえば、ステージ6は、押圧検知可能な複数のパネルを備えただけの構成としてもよい。その場合、複数のパネルは、特に透明である必要はなく不透明であってもよい。
上記実施形態では、プレイヤPの立ち位置について、メインモニタ2および蹴り台4に対して近い位置か遠い位置かの2通りを判定したが、これに限らない。たとえば実施形態のステージ6のように、メインモニタ2および蹴り台4に対して最も近い列の透明パネル600、最も遠い列の透明パネル600、その中間の列の透明パネル600がある場合、立ち位置検出部700は、プレイヤPの立ち位置として、たとえば近い位置、遠い位置、中間の位置の3通りを検出することができる。この場合、CPU10は、敵キャラクタの動作速度や攻撃力などをプレイヤPの立ち位置に応じて3段階に変化させることができる。これにより、ゲーム画像は、より多様かつスムーズに変化させられるので、臨場感や迫力をよりリアルにプレイヤPに感じさせることができる。
上記実施形態では、蹴り台4を設けたが、ゲーム装置Aは、少なくとも立ち位置を検出可能なステージ6とメインモニタ2とを備えた構成であればよい。たとえば本発明の構成は、家庭用のゲーム装置にも適用可能である。
上記実施形態の変形例として、プレイヤキャラクタの移動動作を、プレイヤPの立ち位置に応じて変化させることも可能である。たとえば、プレイヤPがメインモニタ2の近くに位置するほど、プレイヤキャラクタの移動速度を速くすることができる。これは、ゲームステージのクリアに制限時間がある場合において、その制限時間が迫っているようなときに視点の移動速度を速くすることにも適用可能である。また、たとえば、プレイヤPがメインモニタ2の近くに位置するときはプレイヤキャラクタを前進させる一方、プレイヤPがメインモニタ2から遠くに位置するときはプレイヤキャラクタを後退させることができる。さらに、たとえば岩石が落下してくる際のその落下位置に応じて、プレイヤPがメインモニタ2に対する立ち位置を適宜選択することにより、落下してくる岩石に当たらない位置にプレイヤキャラクタを移動させることができる。これにより、落下してくる岩石から逃れることができる。上記変形例では、プレイヤキャラクタの視点と仮想的なカメラの視点とが、上記実施形態のように一致していても、あるいは上記実施形態とは異なり一致していなくても、そのいずれでもよい。なお、プレイヤキャラクタの視点と仮想的なカメラの視点とが一致しない場合であっても、プレイヤPの立ち位置に応じて仮想的なカメラの移動速度を速くするなどしてもよい。
上記実施形態によるゲーム装置Aは、3次元の仮想ゲーム空間のゲームに関するものであるが、2次元の仮想ゲーム空間のゲームにも適用可能である。
上記実施形態では、プレイヤPの立ち位置を複数の透明パネル400,600を用いて検出したが、たとえば光センサによってプレイヤPの立ち位置を検出してもよい。
上記実施形態の変形例として、プレイヤPの立ち位置に応じてプレイヤキャラクタの攻撃行動の種類を変化させてもよい。たとえば、メインモニタ2に対して近い位置ほど、強力な攻撃行動を行わせることができる。
上記実施形態では、ガンコントローラ3を用いたが、たとえばジョイスティックを使用してもよい。
上記実施形態では、敵キャラクタが人体モデルであるが、たとえば戦闘機やミサイルなどの人体モデル以外であってもよい。
上記実施形態では、プレイヤキャラクタは常にモニタに表示されることはないが、本発明は、プレイヤキャラクタが常時モニタに表示されるサードパーソンシューティングなどのゲームや、プレイヤキャラクタが全くモニタに表示されないゲームにも適用可能である。また、上記実施形態では、敵キャラクタが存在したが、本発明は、たとえば迷路ゲームなどのプレイヤキャラクタしか存在しないゲームにも適用可能である。