図1は、本発明に係るビデオゲーム装置が適用される対戦ゲームシステムの一実施形態を示す構成図である。対戦ゲームシステムは、それぞれ識別情報が対応付けされたクライアント端末装置(ゲーム端末)1と、複数の(ここでは8台の)ゲーム端末1と通信可能に接続され、これらの間の中継・接続及び各ゲーム端末1とネットワーク(インターネット)を介して他の店舗のゲーム端末1との間での接続を行う通信機器であるルーター2と、各ルーター2を介して通信可能に接続され、複数のプレイヤがゲーム端末1を用いて行うためのプレイヤ認証、プレイヤ選択及びゲーム履歴に関する情報を管理するサーバ3とを備えている。
ゲーム端末1は、プレイヤがモニタに表示されるゲーム画面に基づいて所定の操作を行うことによって、ゲームを進行するものである。なお、ゲーム端末1に対応付けされる識別情報は、ゲーム端末1が接続されているルーター2毎の識別情報(又はゲーム端末1が配設されている店舗の識別情報)とゲーム端末1が配設されている店舗内でのゲーム端末1毎の識別情報(端末番号という)とを含んでいる。例えば、店舗Aの識別情報がAであって、店舗A内でのゲーム端末1の識別情報が4である場合には、当該ゲーム端末1の識別情報はA4である。
ルーター2は、それぞれ複数のゲーム端末1及びサーバ3と通信可能に接続され、ゲーム端末1とサーバ3との間でデータの送受信を行うものである。
サーバ3は、各ルーター2と通信可能に接続され、プレイヤ個人を特定するためのユーザIDに対応付けて前記プレイヤ情報を格納すると共に、ルーター2を介してゲーム端末1とデータの送受信を行うことによってプレイヤと同一ゲーム空間上でゲームを行うプレイヤ(対戦者という)を選択するものである。
図2は、ゲーム端末1の一実施形態の外観を示す斜視図である。なお、ゲーム端末1を用いて行われる対戦ゲームとして、本実施形態では対戦ゲームのうち、射撃ゲームを想定している。射撃ゲームは、1人対1人の対戦モードやチーム対戦モードが設定されている。チーム対戦モードは、所定人数、例えば4名ずつの敵、味方プレイヤが対戦するものである。対戦モード、チーム対戦モードでは、後述するネットワーク通信部18、ルーター2を介してお互いの操作データの送受信が行われる。
ゲーム端末1は、モニタ部10と、モニタ部10の前面に設置されるコントローラ部20とを有し、両者間にマット部材1Aが備えられている。モニタ部10は、ゲーム画像を表示する液晶やプラズマディスプレイ等からなるモニタ11、個人カードの内容を読み取るカードリーダ13、ゲーム料金を投入するコイン受付部14、及び後述する表示モード指定用の操作部材、例えば押込式のボタン15を備える。個人カードは、プレイヤの識別情報がユーザIDとして記録された磁気カードやICカードである。また、図2には示していないが、攻撃時(射撃等)の効果音等を発生させるスピーカ12が配置されている。
コントローラ部20は、本実施形態では椅子型の着座部21を備えている。着座部21は左右に肘掛け部22,23を有する。右肘掛け部22及び左肘掛け部23の先端部には、人手で把持し得る程度の大きさを有する第1の操作部材30、第2の操作部材40が置かれている。詳細には、右肘掛け部22の先端上面は平面形状に形成されており、この上に第1の操作部材30が置かれている。左肘掛け部23の先端上面には、第2の操作部材40が置かれている。
第1の操作部材30は、内部底面側に光学式マウス31を備え、さらに、外部上面に押し込み式スイッチであるトリガボタン32が、側面上段側に押し込みスイッチである姿勢変更ボタン33が、その下段にジョグダイアル34が設けられている。光学式マウス31は、公知の構造を有し、スライド量検出部として機能するものである。より詳細には、第1の操作部材30は、その底板の一部に形成された透光部を介して外部を写す照射光を投光する投光器と、さらに外部からの反射光を受光して撮像する撮像素子とを内蔵している。撮像素子で撮像された外部の画像の変化を検出することで、第1の操作部材30の移動量を求めるものである。撮像画像の変化を検出可能とするために、右肘掛け部22の先端上面は、所定の粗さに形成されている。第1の操作部材30を右肘掛け部22の上面でスライド操作することで、前後左右方向のスライド量が計測可能にされている。
トリガボタン32は、可動部321を本体側に押し込むことで、内部の図略の可動する金属切片が他方の固定金属切片と接する等して電気信号を生成して、押し込み操作を検出するものである。押し込み操作は、モニタ11の画面に表示されている自己キャラクタに対して射撃動作を指示するものである。
姿勢変更ボタン33は、水平面上で揺動可能な構造を有し、一端側が外方に付勢されている。この一端側を付勢力に抗して押し込む毎にしゃがむ姿勢が実行される。ジョグダイアル34は、仮想カメラ60の旋回速度を設定するもので、ダイヤルの回転量に応じた速度で仮想カメラが旋回する。
第2の操作部材40は、自己キャラクタの移動を指示するためのジョイスティック41を備え、さらに、外部前側にはいずれも押し込み式スイッチである構えボタン42,アイテムボタン43,アクションボタン44が配設されている。各ボタン42,43,44はトリガボタン32と同一構造をしているものである。ジョイスティック41は、公知の構造を有し、水平面上で所望する方向に傾倒可能な操作桿を有し、操作桿の傾倒方向及び傾倒角度に応じた信号を出力するものである。傾倒方向及び傾倒角度に応じた信号はモニタ11の画面に表示される自己キャラクタの仮想ゲーム画面内における移動を指示するものである。傾倒角度は移動速度を指示し、傾倒方向は移動方向を示す。移動方向は、360度でもよいが、信号処理上、前後左右を含む所定方向に設定されている。例えば8方向である。なお、移動速度は傾倒角度に関わりなく停止と移動のみの切り替えとして移動速度を一定とする態様としてもよく、あるいは移動速度を所定段階、例えば2段階に設定する態様としてもよい。
構えボタン42は、攻撃準備指示部材として機能するもので、押し込み操作によって、自己キャラクタが所持する武器に本来の働きを行わせるための準備動作を指示するものである。アイテムボタン43は、アイテムを変更するためのボタンで、押し込み操作によって予め設定されている複数種類のアイテム(ここでは武器)をサイクリックに変更設定するものである。武器としては、ゲームに対応したものが準備されており、ここでは、仮想銃としてのライフル銃やハンドガン、その他にナイフや手榴弾等がある。武器が指定されると、モニタ11の画面上の自己キャラクタの手に武器画像が仮想的に所持される。アクションボタン44は、アクションを指示する部材として機能するもので、例えば接近戦で格闘技を出すものである。
ゲーム端末1の適所には、検出信号や、各部への制御信号を出力するマイクロコンピュータなどで構成される制御部16(図3参照)が配設されている。
図3は、ゲーム端末1の一実施形態を示すハードウェア構成図である。制御部16はゲーム端末1の全体の動作を制御するもので、ゲームの進行全般に関する処理、画像表示処理の他、種々の情報処理を行う情報処理部(CPU)161と、処理途中の情報等を一時的に格納するRAM162と、所定の画像情報及びゲームプログラム等が予め記憶されたROM163とを備える。
外部入出力制御部171は、制御部16とカードリーダ13及びコイン受付部14を含む検出部の間で、検出信号を処理用のディジタル信号に変換し、また指令情報を検出部の各機器に対して制御信号に変換して出力するもので、かかる信号処理と入出力処理とを例えば時分割的に行うものである。また、外部入出力制御部171は、ボタン15、第1、第2の操作部材30,40に対する各操作に応じた指令情報を制御部16に出力するものである。外部機器制御部172は、それぞれの時分割期間内に検出部の各機器への制御信号の出力動作と、検出部の各機器からの検出信号の入力動作とを行うものである。
描画処理部111は制御部16からの画像表示指示に従って所要の画像をモニタ11に表示させるもので、ビデオRAM等を備える。音声再生部121は制御部16からの指示に従って所定のメッセージやBGM等をスピーカ12に出力するものである。
ROM163には、プレイヤによって操作される所定数の味方、敵キャラクタの画像、アイテム(武器)画像、各種画面の画像等が記憶されている。また、ROM163には、後述するように、コンピュータによって制御されるキャラクタであるNPC(Non player Character)の画像が1又は所要種類(例えば敵、味方が識別可能な2種類)だけ記憶されている。なお、プレイヤによって操作されるキャラクタとNPCとは、外見上、敵側か、味方側かが識別可能であればよい。各画像は3次元描画が可能なように、それを構成する所要数のポリゴンで構成されており、描画処理部111はCPU161からの描画指示に基づいて、3次元空間(仮想ゲーム空間)でのワールド座標系から仮想カメラを基準としたローカル座標系へ、さらに擬似3次元空間上での位置への変換のための計算、光源計算処理等を行うと共に、上記計算結果に基づいてビデオRAMに対して描画すべき画像データの書き込み処理、例えば、ポリゴンで指定されるビデオRAMのエリアに対するテクスチャデータの書き込み(貼り付け)処理を行う。背景は、射撃ゲームが演出できるような、各種オブジェクトで形成されている。
ここで、CPU161の動作と描画処理部111の動作との関係を説明する。CPU161は、内蔵のあるいは外部からモニタ11への画像情報の出力とその表示を行う画像表処理部との装着脱式としてのROM163に記録されているオペレーティングシステム(OS)に基づいて、ROM163から画像、音声及び制御プログラムデータ、ゲームルールに基づくゲームプログラムデータを読み出す。読み出された画像、音声及び制御プログラムデータ等の一部若しくは全部は、RAM162上に保持される。以降、CPU161は、RAM162上に記憶されている制御プログラム、各種データ(表示物体のポリゴンやテクスチャ等その他の文字画像を含む画像データ、音声データ)、並びに検出部からの検出信号等に基づいて、処理が進行される。
ROM163に記憶された各種データのうち装着脱可能な記録媒体に記憶され得るデータは、例えばハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等のドライバで読み取り可能にしてもよく、この場合、記録媒体は、例えばハードディスク、光ディスク、フレキシブルディスク、CD、DVD、半導体メモリ等である。
ネットワーク通信部18は、射撃ゲームの実行中に発生するプレイヤの操作情報等をルーター2を介して、さらにはネットワークを介して味方プレイヤや敵のプレイヤが操作しているゲーム端末1と送受信するためのものである。さらに、ネットワーク通信部18は、プレイヤ受け付け処理時の情報、ゲーム終了時点でのゲーム成績情報をルーター2等を介してサーバ3との間で送受信するためのものである。
図4は、ゲーム端末1の制御部16の機能構成図である。制御部16のCPU161は、RAM162上に保持されたゲームプログラム、制御プログラムを実行することによって、プレイヤからのゲームへの参加を受け付ける受付処理部161aと、ゲームの開始から終了までの一連の進行を制御して射撃ゲームを進行させるゲーム進行制御部161bと、モニタ11に受付画像やゲーム画像等を表示する画像表示制御部161cとして機能する。また、CPU161は、RAM162上に保持されたゲームプログラム、制御プログラムを実行することによって、仮想ゲーム空間に配置される仮想カメラ60の位置及び視線方向を制御する仮想カメラ制御部161d、自己キャラクタの仮想ゲーム空間内での移動動作を処理するキャラクタ移動処理部161eと、自己キャラクタが仮想的に所持する武器を用いて行う攻撃動作の処理する攻撃処理部161fと、攻撃動作に先立って行われる攻撃準備としての構え動作を行う構え処理部161gと、構え動作の実行と共に行われる攻撃方向を示す照準を表示する照準表示部161hと、自己キャラクタの敵キャラクタへ行う攻撃の有無をゲーム中、監視しておき、攻撃が成功したとき、例えば銃による射撃において命中したとき所定のスコアの付与を行うスコア処理部161iと、自己プレイヤのゲームに対する強さを設定するゲーム強さ設定部161jと、自己キャラクタの仮想ゲーム空間内での移動情報を周期的に取得すると共に、後述するように、進行ルート上に予め準備されている通過ポイントとの異同を比較して集計を行う移動情報取得部161kと、チームを構成するキャラクタが不足している場合に、後述するサーバ3側で選定された、コンピュータによって制御されるNPC(Non player Character)の仮想ゲーム空間内での進行ルートを決定するNPC進行ルート決定部161m、NPCの行動(攻撃、防御及び移動動作)を制御するNPC制御部161n、及びゲーム開始前後及びゲーム中に各種情報の通信の制御を行う通信制御部161oとして機能する。
受付処理部161aは、個人カードがゲーム端末1のカードリーダ13に差し込まれることで受け付けを行い、個人カードからユーザIDを読み取り、読み取ったユーザIDをサーバ3に送信するものである。対戦モードが複数ある態様では、例えばジョイスティック41や他の所定のボタン乃至はスイッチを押し込むことで設定可能にされている。
仮想カメラ制御部161dは、光学式マウス31が操作された場合に、操作内容に応じて仮想カメラ60の視点及び視線方向を調整するものである。仮想カメラ制御部161dは、自己キャラクタと相対的な位置関係を有して仮想カメラ60の位置を設定するものである。なお、本実施形態においては、必須の構成要素ではないが、後述するように、3D立体視表示を実現するべく、仮想カメラとして仮想カメラ60L,60Rの2台が設けられている。また、光学式マウス31による仮想カメラ60の移動は、図7の説明において行う。
キャラクタ移動処理部161eは、ジョイスティック41が操作された場合に、操作内容に応じて自己キャラクタの移動方向及び移動速度を調整するものである。仮想カメラ制御部161dは、自己キャラクタが移動する場合、相対位置関係を維持するべく、自己キャラクタの移動と平行移動するように制御する。これによって、自己キャラクタを中心としたゲーム画像の表示が維持される。仮想カメラ制御部161d及びキャラクタ移動処理部161eの処理内容は画像表示制御部161cによってモニタ11に表示される画像に反映される。
図7は、仮想カメラ60の移動及び自己キャラクタの移動を説明するための図である。図7において、光学式マウス31が前後(上下)方向の所定距離だけスライドされると、このスライド量が計測され、計測されたスライド量に相当する角度だけ、仮想カメラ60が旋回させられる。光学式マウス31が前側に移動された場合、カメラは、仮に現在「A」位置にあるとすると、「B」位置側にスライド量に対応した角度だけ旋回する。逆に、光学式マウス31が後ろ側に移動された場合、カメラは「A」位置から、「C」位置側にスライド量に対応した角度だけ旋回する。また、光学式マウス31が左右側に移動された場合、カメラは仮に現在「A」位置にあるとすると、水平面上の左右方向にスライド量に対応した角度だけ旋回する。仮想カメラ制御部161dは、入力されたスライド方向及びスライド量に対応して仮想カメラ60を移動させ、この結果、画像表示制御部161cは、仮想カメラ60の視線方向の所定の画角内に写る画像をモニタ11に表示する。従って、ゲーム画像は、同一の仮想ゲーム空間で行うチーム射撃ゲームであっても、各プレイヤの操作するゲーム端末1のモニタ11には各プレイヤ中心のゲーム画像が表示される。
さらに、ジョイスティック41の操作桿が前後左右方向の所定角度だけ傾倒されると、この傾倒方向及び傾倒角度に対応する電気信号がキャラクタ移動処理部161eに出力される。キャラクタ移動処理部161eは電気信号から、傾倒方向に、傾倒角度に応じた速度で自己キャラクタを移動させる。移動方向は、現に自己キャラクタが向いている方向を基準として、前後左右が設定される。図7は、前方向に移動させるものである。自己キャラクタを所望する方向に移動させることで、敵キャラクタに近づいたり、退避したりすることで、ゲームを有利に進めることが可能となる。また、自己キャラクタの移動中に、光学式マウス31を操作することで、自己キャラクタの周囲を確認しながら、的確な移動が可能となる。
攻撃処理部161fは、トリガボタン32の操作を受け付けて、自己キャラクタに対して、所持する武器で敵キャラクタに攻撃を行わせるものである。構え処理部161gは、構えボタン42が押されたとき、自己キャラクタの向きを仮想カメラ60の視線方向に向けるものである。具体的には、自己キャラクタが所持する武器、例えば銃の銃口の向きを仮想カメラ60の視線方向に一致乃至は平行にするものである。ところで、仮想カメラ60の視点については、自己キャラクタの一部(例えば上半身部分)の斜め後方位置に設定する三人称視点位置(TPS:Third person shooter)表示モードと、自己キャラクタの顔位置、あるいは武器位置に設定される一人称視点位置(FPS:First person shooter)表示モードとがある。仮想カメラ60は、構えボタン42が押されたとき、三人称位視点位置表示モードで位置が制御され、仮想カメラ制御部161dは、仮想カメラ60の視線方向を自己キャラクタに略一致(肩越し位置に)させており、従って、モニタ11の中心は自己キャラクタの肩越し位置となる(例えば図12参照)。
図8は、構え(攻撃態勢)を取った状態を説明するための図である。図8では、仮想カメラ60がほぼ前方に向けてあり、この状態で、構えボタン42が押し込まれると、自己キャラクタの向きには関係なく、仮想銃の銃口の向きが仮想カメラ60の視線方向である前方に向けられる。図8の左側には、銃オブジェクトを構えたときの画面図A,Bが記載されている。画面図A,Bは、ここでは一人称視点位置表示モードで表示している。画面図Aのように、画面中央には銃口の向きを示す照準11aが表示されている。照準表示部161hは、構え処理部161gの動作に連動して照準11aを表示するものである。画面図Aでは、照準11aと敵キャラクタ110との位置とは一致しておらず、この状態でトリガボタン32を押し込んでも、敵キャラクタ110には命中しない。そこで、画面図Bのように、すなわち、画面図Aに対して光学式マウス31を左方向に所与量だけスライドすることで、照準11aを敵キャラクタ110に重ねるようにすることができる。具体的には、敵キャラクタ110がモニタ11の画面中心に移動する(照準11aに対して)ように相対的に移動して両者が重なる。従って、この状態で、トリガボタン32が押し込まれると、敵キャラクタ110に命中することとなる。
攻撃処理部161fは、銃口から発射された銃弾の弾道計算を行い、計算結果に従って弾道を表示するようにしてもよいし、あるいは、本実施形態にように、十字状の照準11aの中心に対して所定の径を有する円形内(所定領域)を仮想的に銃弾が通過するようにしてもよい。このようにすると、この所定領域内に敵キャラクタ110の一部が重畳していると、命中ということになる。なお、銃弾は必ずしも十字状の照準11aの中心に進むとは限らず、例えば機関銃等での銃口が不規則にぶれる処理を行ったり、あるいは自己キャラクタの移動中における射撃の方向がぶれる処理を行ったりしてもよい。
スコア処理部161iは、敵キャラクタへの攻撃が成功した場合に、攻撃の種類毎に予め設定されているスコアが、例えば射撃の場合、命中毎に所定のスコアを蓄積するようにしている。本実施形態では、自己キャラクタが攻撃を受けた場合、自己のスコアが減点されない態様であるが、所定値だけ減点される態様であってもよい。そして、ゲーム終了時点で、チーム対戦モードの場合、味方、敵側毎にスコアの総和を求め、その大小で勝敗を決定するなどすればよい。なお、攻撃を受けた場合、演出として所定時間だけ倒れる動作を行わせ、その間、移動や攻撃の指示が禁止されるようにしてもよい。また、スコア処理部161iによってゲーム開始時に所定のライフ値が付与され、攻撃を受ける毎に、このライフ値が所定値ずつ減少し、ライフが値0になった時点で、ゲームへの復帰が禁止される、すなわち当該プレイヤのみ強制的にゲーム終了としてもよい。ゲーム終了時点での蓄積スコアは通信制御部161oによってサーバに送られ、記憶される。
なお、本実施形態では、プレイヤによるボタン15への操作に応じて、乃至はゲーム進行が予め設定されている所定の状況に達した場合、あるいは元に戻った場合に、かかる状況を判断して、自動的に2D表示モードと3D立体視表示モードとの間で表示方法の切り替えが行われるようになっている。ここに、2D表示モードとは、3次元画像をそのままの方法で表示するもので、3D立体視表示モードとは、3次元画像を左右の眼で見たときの視差のある左右の画像を対応する側の眼にのみ導くようにして立体感を付与するようにしたものである。以下、2D表示モードと3D立体視表示モードとについて、図9、図10を用いて簡単に説明する。
図9は、ゲーム画像の3D立体視表示モードの原理を説明する図で、図9(a)は2台の仮想カメラと被写体との関係を示す模擬図であり、図9(b)は2台の仮想カメラで撮影された画像とモニタ画像との関係を示す模擬図である。図10は、ゲーム画像を3D立体視表示モードで表示するための構成図である。
仮想ゲーム空間には、左目用に相当する仮想カメラ60Lと右目用に相当する仮想カメラ60Rの2台が準備されている。両仮想カメラ60L,60Rは所定の位置関係を有しており、視線方向は奥行き方向の所定位置、代表的には、仮想ゲーム空間内の被写体としての、キャラクタやオブジェクトの位置で交叉している。画像記憶部162Lは、RAM162内の一部のメモリ領域を示しており、仮想カメラ60Lで撮影された仮想ゲーム空間内の1シーンの画像データが書き込まれる。画像記憶部162Rは、RAM162内の一部のメモリ領域を示しており、仮想カメラ60Rで撮影された仮想ゲーム空間内の1シーンの画像データが書き込まれる。図9(a)に示すオブジェクトOB1、OB2はシーン内に含まれている被写体の画像である。仮想カメラ60L,60Rは、ここではオブジェクトOB1の方に視線が設定されている。なお、説明の便宜上、仮想カメラ60Lで撮影された画像は縦線で表現され、仮想カメラ60Rで撮影された画像は横線で表現されている。
画像記憶部162L,162Rの各画像は、合成されて、モニタ11で表示されている。後述するように、モニタ11の画面上には、シート体の視差バリア部材71(例えば、商品名Xpol(登録商標)、株式会社有沢製作所製)が貼付されている。視差バリア部材71は、微細偏光素子を規則正しく配列して形成したもので、縦方向に所定間隔(水平走査1本のライン幅に相当)毎に交互に、縦方向スリットが形成された縦偏光域と横方向スリットが形成された横偏光域とを有する。この結果、モニタ11からの画像光のうち、縦偏光域では縦偏光のみの光が通過し、横偏光域では横偏光のみの光が通過する(図9(b)参照)。めがね72は、左右側で縦偏光、横偏光のための微細偏光素子(偏光材)が貼付されており、左目側が縦偏光光のみを通過させ、右目側が横偏光光のみを通過させる。従って、モニタ11からの偏光された光の画像をめがね72を掛けて(使用して)、見ることで、左右の目に視差画像が提供され、3D立体視表示された画像を見ることが可能(立体感を得ること)となる。
より詳細には、図10において、仮想カメラ60L,60Rは、所定周期、例えば1/60(秒)毎に撮影動作を繰り返し、各タイミングで撮影された画像は画像記憶部162L,162Rに一時的に書き込まれる。画像記憶部162L,162Rの記憶容量は縦方向n行、横方向m列とし、ビデオRAM162Cの記憶容量を縦方向2n行、横方向m列とする。
画像表示制御部161cのR/Wアドレス制御部161c−1は、画像記憶部162Lの各行の画像データを順次読み出して、ビデオRAM162Cの奇数行(ライン)に順番に書き込む。1ラインの書込が終了する毎に、続いて、R/Wアドレス制御部161c−1は、画像記憶部162Rの各行の画像データを順次読み出して、ビデオRAM162Cの偶数行(ライン)に順番に書き込む。R/Wアドレス制御部161c−1は、そのための読出アドレス、書込アドレスの作成、及びチップセレクト信号を生成する。かかる一連の書込処理によって、ビデオRAM162Cに左右両目用の画像データが作成されたことになる。
ビデオRAM162Cの画像データは所定の高速で繰り返しモニタ11に読み出される。モニタ11のピクセル数(画素数)は、ビデオRAM162Cに対応した2n×mである。視差バリア部材71は、図10にイメージ(縦線、横線が交互に付されている)で示しているように、縦方向のピクセル1行毎に、前述した縦偏光、横偏光のための微細偏光素子が交互に配列されている。
なお、仮想カメラ60L,60Rで写される画像を記憶する画像記憶部162L,162Rの記憶容量を縦方向2n行にして、モニタ11の縦方向のピクセル数に対応させることで、3D立体視表示において2D表示の場合と同様の解像度を維持するようにしてもよい。また、画像記憶部162L,162Rの記憶内容をビデオRAM162Cへ読み出すのと同様にして、すなわち同期させて直接モニタ11へ出力するようにしてもよい。このようにすることで、ビデオRAM162Cを用いない態様が可能となる。
上記の説明は、仮想カメラ60L,60Rが所定の位置関係を有した、互いに異なる位置に設定されている場合である。続いて、2D表示モードについて説明する。
3D立体視表示モードを2D表示モードへ切り換える指示信号が出力されると、仮想カメラ制御部161dは、仮想カメラ60L,60Rの位置を一致させ、かつ視線方向も一致するように、仮想カメラ60L,60Rの位置制御を行う。この結果、仮想カメラ60L,60Rには、同一の画像が撮影されることになり、画像記憶部161L,162Rの画像データも同一となる。この結果、ビデオRAM162Cには、3D立体視表示の場合と同様な処理で画像データが各行に埋められることとなる。すなわち、左目用の画像と右目用の画像に視差が発生しなくなるため、めがね72を掛けたプレイヤに立体感を与えることができず、その結果、3次元画像を2D表示モードで表示するという、通常の表示態様となる。なお、2D表示モードを3D立体視表示モードへ切り換える指示信号が出力される場合には、逆に仮想カメラ60L,60Rの位置が離間した所定の位置関係に設定される結果、左右両目の間に視差が発生して立体視表示可能な画像となる。このようにすることで、仮想カメラ60L,60Rの配置位置を変更する処理のみで、2D表示モードと3D立体視表示モードとの切り換えが可能となる。かかる表示モードの変更のための制御プログラムは、ROM163に予め格納されている。
仮想カメラ制御部161dは、3D立体視表示モードでの仮想カメラ60L,60Rの位置関係について、以下のようにして位置設定を行っている。すなわち仮想カメラが1台と仮定した時に制御される位置情報を基準位置(中心位置)とし、その左右側に所定距離だけ離間した位置に左右側に対応する仮想カメラを配置するようにしている。仮想カメラ60L,60Rの離間距離は人間の両目の間の距離に相当するものとするのが自然であり、好ましい。なお、この場合において、仮想カメラ60L,60Rのいずれか一方の位置を基準として位置処理してもよい。
図4に戻って、制御部16のRAM162は、同じ仮想ゲーム空間での対戦ゲーム中のゲーム途中経過情報が、逐次プレイヤ毎に、すなわち自己及びネットワーク通信部18を介して得られる味方、敵側の全プレイヤについて更新的に記憶される途中経過情報記憶部162aと、各種スイッチ、ボタンで設定された設定情報及びスコア情報を記憶する設定情報記憶部162bとを備える。ゲームが終了する毎に、通信制御部161oは、スコア情報をプレイヤのユーザID、ゲーム端末1及び店舗の各識別情報と共にサーバ3に送信する。
ゲーム強さ設定部161jは、ゲーム終了時に当該ゲームでの自己のゲーム成績(スコア、勝敗、また攻撃成功回数、防御失敗回数等)から、所定のルールに従ってゲーム強さを設定するものである。典型的には、ランク分けであり、所定の階級数(例えばランク1,ランク2,・・・)で識別する。なお、ゲーム強さ設定部161jはサーバ3内に設けて、ゲーム端末1からプレイヤ毎の履歴記憶部362bへの書き込み時にランクを設定する態様としてもよい。
移動情報取得部161kは、キャラクタ移動処理部161eによって処理される自己キャラクタの仮想ゲーム空間内での移動の状況を示す移動情報を取得するものである。本実施形態では、仮想ゲーム空間内に予め識別可能な通過ポイントを所要数設定しておき、ゲーム中に周期的に自己キャラクタの位置を検出し、検出位置がいずれかの通過ポイントと一致したとき、当該通過ポイントの識別情報を通過情報として取得するものである。通過ポイントは、2次元座標でもよいが、本実施形態では、自己キャラクタが建物の屋上に移動したり、地下や洞穴に入ったりすることを想定して3次元座標として取得され、ゲーム終了時に、通信制御部161oによってサーバ3に送信され、サーバ3の説明において説明するように推奨進行ルート(図11参照)を求めるための集計用データとして利用される。なお、仮想ゲーム空間は、予め準備され、本実施形態では、後述するようにサーバ3のROM363に記憶されている。選択された仮想ゲーム空間は、ゲーム開始前にROM363からRAM162に読み出されて、モニタ3に展開される。なお、仮想ゲーム空間は、各ゲーム端末のROM163に記憶される態様でもよい。
なお、NPC進行ルート決定部161mの詳細は、サーバ3の説明中において行う。
NPC制御部161nは、攻撃動作、防御動作、移動動作等、通常のプレイヤによる操作を模倣した動作指示信号を生成して、NPCに供給する。また、NPCは敵チームから攻撃されることを想定しており、命中した場合は、通常のキャラクタと同様に処理される。
図5は、サーバ3の一実施形態を示すハードウェア構成図である。制御部36はサーバ3の全体の動作を制御するもので、情報処理部(CPU)361と、プレイヤの個人情報、各プレイヤのゲームに関する情報等を一時的に格納するRAM362と、管理用プログラム及び仮想ゲーム空間を構築する画像情報が予め記憶されたROM363とを備える。
ROM363は、チーム対戦ゲームにおけるチーム編成及び対戦ゲームの結果に関する情報の管理を行うサーバ機能を実行する前記管理用のプログラムを格納する管理用プログラム記憶部363aと、所定種類の仮想ゲーム空間を構築する画像情報が格納された仮想ゲーム空間画像情報記憶部363bとを備えている。ROM363に記憶された各種データのうち装着脱可能な記録媒体に記憶され得るデータは、例えばハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等のドライバで読み取り可能にしてもよく、この場合、記録媒体は、例えばハードディスク、光ディスク、フレキシブルディスク、CD、DVD、半導体メモリ等である。
ネットワーク通信部38は、各種データをWWW等からなるネットワークを介して複数のルーター2のいずれかを経て端末識別情報に従って対応するゲーム端末1との間で情報の送受信を行うものである。
なお、管理用プログラムは、管理用プログラム記憶部363aからRAM362上にロードされ、CPU361によりRAM362上のゲーム進行プログラムが順次実行されることによってそれぞれの機能が実現される。
図6は、サーバ3の制御部36の機能構成図である。RAM362は、ユーザID等の個人情報を格納するプレイヤ情報記憶部362aと、プレイヤ毎のゲーム成績を含むゲーム履歴を更新的に記憶する履歴記憶部362bと、ゲーム毎に各ゲーム端末1から受信した通過ポイント情報を格納すると共に推奨進行ルートの記憶を行う移動情報記憶部362cとを備えている。
制御部36のCPU361は、RAM362上に保持された管理用プログラムを実行することによって、プレイヤ情報記憶部362a、履歴記憶部362b及び移動情報記憶部362cへの各情報の記録を行う記憶制御部361aと、各ゲーム端末1でのプレイヤのゲーム参加受付に応答して一連の受付管理処理を実行する受付部361bと、受付部361bによって受け付けられたプレイヤの中から、同一仮想ゲーム空間内でプレイする所定数(例えば味方、敵側の各4名ずつ)のプレイヤの組合せを、後述するルールに則って選定する選定部361cと、各プレイヤのゲーム中の移動情報からNPCに対して推奨する進行ルートを作成する推奨進行ルート作成部361dと、各ゲーム端末1との間で情報の授受を行う通信制御部361eとして機能する。
受付部361bは、ゲーム端末1から送信されたプレイヤのユーザIDの個人情報、ゲーム端末1及び店舗の各識別情報を受け付けて、ゲームへの参加を受け付けるものである。また、受付部361bは、プレイヤから対戦ゲームへの参加が指定されている場合、選定部361cに対戦相手の組み合わせのための選定処理の指示を行う。
選定部361cは、同一のゲーム空間に位置付けさせる条件が設定されており、例えば、参加受付順が一般的であり、交互に異なるチーム側に割り振るようにすればよい。なお、同一店舗から参加するプレイヤを優先的に同一仮想ゲーム空間の同じチーム側に割り振るようにすることが好ましい。更に、キャラクタのゲーム強さ等の別の条件を付加して、両チーム間の強さバランスを採るようにしてもよい。
プレイヤの選定のための時間は、適宜な所要時間(例えば数分)が予め設定されており、図略の内蔵タイマで管理されている。選定時間内に味方チーム、敵チームの全てのプレイヤが選定できない場合には、時間を多少延長するようにしてもよいが、選定時間を過ぎ、また延長時間を過ぎた場合には、コンピュータによって制御されるキャラクタであるNPCで不足数を補充するようにして(チーム編成を行って)、対戦ゲームを実行可能にしている。なお、選定部361cは、仮想ゲーム空間に最初に割り当てられた、プレイヤが操作するゲーム端末1をマスター機として扱うよう、当該ゲーム端末1に対して、例えばマスターフラグを設定する。
通信制御部361eは、選定部361cによって、プレイヤと仮想ゲーム空間との紐付けが決定すると、該プレイヤが参加受付を行ったゲーム端末1に、その旨の情報を送信するようにしている。また、通信制御部361eは、同一の仮想ゲーム空間に全てのプレイヤが紐付けられると、各プレイヤ情報(少なくとも各プレイヤが操作するゲーム端末1及び当該ゲーム端末1が設置されている店舗の識別情報)を互いのゲーム端末1に送信するようにしている。これにより、各ゲーム端末1間で、操作情報を授受することが可能となる。この情報には、いずれかのゲーム端末1がマスターである旨の情報も含まれる。マスター機は、各ゲーム端末1でのプレイヤ操作情報を周期的(例えば1/60秒毎)に取得し、さらに、自己の操作及びNPCの行動指示を施した情報を含めて他のゲーム端末1に周期的に配信し、これにより同一仮想ゲーム空間でゲームを行っている全ゲーム端末1に対して同一の事象を提供し、共通の対戦ゲームを進行可能にしている。
ここで、NPCへの進行ルートの設定について説明する。
仮想ゲーム空間画像情報記憶部363bに記憶された仮想ゲーム空間は、チーム対戦を行う対戦場を演出するもので、例えば、廃墟、工場跡地、森林、その他の複数種類が想定され、予め作成されている。各対戦場は、場所に応じたイメージに相応しいものとなるように、3次元の仮想空間内に、廃墟や工場跡地であれば、これらを演出する種々の建物オブジェクト、コンテナや廃棄車両等の障害物オブジェクト、また通路や広場が配設され、森林であれば多種の樹木、小屋、起伏した地表、川、沼の各オブジェクト、また山道等が適当に配設されて、作成されている。各オブジェクトは所要数のポリゴン及びテクスチャで構成されている。各オブジェクトは基準座標が仮想ゲーム空間の世界座標で位置決めされており、各オブジェクトを構成するポリゴンの座標は、オブジェクトの基準座標を原点にして設定されており、これによりオブジェクトが仮想ゲーム空間内でマッピング可能にされている。
移動情報取得部161kによって取得された通過ポイントにおけるカウント情報は、ゲーム終了時に通信制御部161oによって、プレイヤのゲーム強さ及び仮想ゲーム空間の種別の情報と共にサーバ3に送信され、記憶制御部361aによって、プレイヤのゲーム強さ及び仮想ゲーム空間の種別毎に、移動情報記憶部362cに記憶される。
移動情報記憶部362cに記憶される情報には、プレイヤ情報は特に含めなくてもよく、ランク情報があれば足りる。これは、後述するように、推奨進行ルートをランク毎に区分して求めるためである。
推奨進行ルート作成部361dは、NPCに進行ルートを設定するために予め推奨する進行ルートを作成するものである。推奨進行ルート作成部361dは、1ゲーム中でのゲーム開始から終了までに取得した各通過ポイントにおけるカウント情報から、仮想ゲーム空間内での進行ルートを確定(解析)する。かかる処理を所定の期間内、又は最近の所定ゲーム数内で行う。所定の期間内とは、例えば最近の1ヶ月以内をいい、最近の所定ゲーム数内とは、最近から古い方向に数えて、例えば100回のゲーム分をいう。これにより最近の進行ルートの流行が取得可能となる。そして、解析した各進行ルートの数を累積する。累積数は、仮想ゲーム空間の種類毎に、かつランク毎に分けて行う。ランクに応じて進行ルートに特徴が出る可能性があるからである。また、解析の結果、数の多い進行ルートから順に、所定順位までを推奨進行ルートとして、移動情報記憶部362cに更新的に記憶するようにしている。この推奨進行ルートの更新は、新たなゲームが終了する毎に行ってもよいし、所定周期毎に行ってもよい。また、新たな対戦ゲームが開始されることを受けて実行されてもよい。
図11は、推奨進行ルートを説明するための、対戦場の1つを示す平面図である。図11中の二重丸及び星印が付された位置SP1,SP2は、対戦する両チームの各キャラクタがゲーム開始時に対応付けられるスタート位置を示している。図11に示すように、スタートSP1,SP2間には、本実施形態では、移動履歴の実績の高かった3本の推奨進行ルートR1,R2,R3が示されている(なお、R1〜R3は説明の便宜上、識別可能に示しているが、実際には見えていない)。
なお、仮想ゲーム空間内に複数の通過ポイントが準備されている場合に、進行ルートの設定は、以下のようにすればよい。例えば、進行ルートR1とR2とは前半の一部が共通しており、すなわち進行ルートR1上に、通過ポイントT1,T2,T3,…が設定され、進行ルートR2上に、通過ポイントT1,T2,T13,…が設定され、通過ポイントT1,T2とが共通している場合、キャラクタが通過ポイントT1,T2を通った後、通過ポイントT3,…を通れば、進行ルートR1と判断され、一方、通過ポイントT3,…ではなく、通過ポイントT13,…を通れば、進行ルートR2と判断される。このようにすることで、進行ルートの一部が重複していても、いずれの進行ルートかを正しく判断することが可能となる。
ゲーム端末1のいずれか、すなわちマスター機のゲーム端末のNPC進行ルート決定部161mは、チーム対戦においてチームを構成するプレイヤが不足している場合に選定部361cによって選定されたNPCに、仮想ゲーム空間内での進行ルートを自動的に設定するものである。NPC進行ルート決定部161mは、サーバ3の移動情報記憶部362cから所要数の推奨進行ルートを受信し、その中から、ランダムにあるいは所定のルールに従って、1つの進行ルートを決定し、1つのNPCに割り当てる。NPCが複数存在する場合には、同様にして、他の進行ルートを割り当ている。割り当てルールを実行した結果、同じ進行ルートに決まっても構わない。なお、各NPCに対して割り当てられた進行ルートは、ゲームの緊迫感を維持するべく、いずれのプレイヤにも開示されないようにされている。
また、補充するNPCに対して選定部361cがランク(ゲーム強さ)の設定を行う態様では、NPCに割り当てられる進行ルートをNPCと同一のランクの推奨進行ルートから決定するようにしている。さらに、仮想ゲーム空間の種類が、マスター機となるゲーム端末1、又は他のゲーム端末から自動的に、あるいは所定のボタンを介して指定される態様では、指定された仮想ゲーム空間に対する推奨進行ルートが対象となる一方、サーバ3が自動的に決定する場合には、例えば選定部361cが仮想ゲーム空間を選定するようにしてもよい。
ゲーム端末のいずれか、すなわちマスター機のゲーム端末のNPC制御部161nは、各NPCに対して決定された進行ルートを移動する指示を行う。具体的には、ゲーム開始からの時間情報と仮想ゲーム空間の位置情報とからNPCを位置情報で示す位置に移動する指示を行う。また、NPC制御部161nは、攻撃、防御の行動を指示し、敵キャラクタが攻撃範囲に出現したことを判断すると、予め準備されている1又は複数の攻撃パターン、防御パターンから選定した、例えば1つのパターンに基づいて行動指示を与えるようにしている。なお、決定された進行ルートを移動制御中に、味方キャラクタが複数の敵キャラクタから攻撃を受けているとか、銃撃戦が始まったというようなイベントが発生したと判断した場合、例えばNPCの現在位置とイベント位置との距離を算出し、所定距離より近いと判断した場合には(前記イベントを演出する音(例えば射撃音)が聞こえたという想定のもとで)、イベント発生位置へ向かうように、すなわち決定された進行ルートを離れるイベント対応処理が実行される。所定距離以上である場合には、進行ルートに沿って移動するようにされる。イベント終了後は、元の進行ルートに戻るように指示される。なお、キャラクタやNPCが、例えばトランシーバーを携帯するという想定であれば、前記距離の大小は無関係にイベント発生を知ることができるようにしている。
図12は、ゲーム画面の一例を示す図である。図12は、戦闘画像で自己キャラクタP11の他に、直ぐ近くに味方キャラクタP12が表示され、前方に表示されている敵キャラクタP21との間で地上戦を行っている場面を想定したものである。さらに、図12には、自己キャラクタと敵キャラクタとの間にNPCであるキャラクタP13が表示されている。図12では、NPCであるキャラクタP13が、自己キャラクタP11、味方キャラクタP12と同一の通路を移動中である一場面を想定している。
続いて、図13は、ゲーム端末1のCPU161のゲームプログラムによって実行されるゲーム処理の手順を説明するフローチャートである。先ず、チーム対戦ゲームでのプレイヤの選定(マッチング)が成立したか否かが判断される(ステップS1)。マッチングが成立していなければ、所定時間が経過したか否かが判断され(ステップS3)、経過していなければ、ステップS1に戻る。一方、所定時間が経過したのであれば、チーム対戦での不足プレイヤ数分のNPCが補充される(ステップS5)。
ステップS1及びS5を経ると、サーバ3から送信される、マッチングが成立したプレイヤのプレイヤ情報及び所定のスコア情報に対する受信動作が行われる(ステップS7)。次いで、チーム対戦ゲームが開始され(ステップS9)、所定のチーム対戦処理が実行される(ステップS11)。対戦処理を簡単に説明すれば、仮想カメラ制御部161d〜照準表示部161hによって、以下の処理が繰り返されることで、ゲームが進行することになる。すなわち、本実施形態では、前述したように、ジョイスティック41が操作されたと判断されると、自己キャラクタの移動処理が実行される。光学式マウス31が操作されたと判断されると、仮想カメラ60L,60Rの移動処理が実行される。構えボタン42が操作されたと判断されると、仮想カメラ60L,60Rが肩越し(TPS)表示、又は銃口位置(FPS)表示のいずれかに設定される。さらに、トリガボタン32が操作されたと判断されると、射撃処理が実行される。アクションボタン44が操作されたと判断されると、格闘で技を繰り出す処理が実行される。姿勢変更ボタン33が操作されたと判断されると、自己キャラクタの姿勢が変更される。そして、自己が操作するゲーム端末の操作情報、及び同一の仮想ゲーム空間で対戦ゲームを行っているゲーム端末でのプレイヤの操作情報は、同一仮想ゲーム空間でゲームを行っている他の全てのゲーム端末に送信される。
なお、NPCの制御は、チーム対戦ゲームを行っているうちの1つのマスター機となるゲーム端末1によって管理、処理され、かつNPCの移動処理を施して、通信処理部161nを介して他のゲーム端末1に送信される。マスター機となるゲーム端末1は、例えば、当該仮想ゲーム空間に最初に割り当てられることで設定されるようにしている。これにより、チーム対戦ゲームを行っているゲーム端末に共通のゲーム情報が提供される。各ゲーム端末1のモニタ11には、それぞれのゲーム端末1を操作しているプレイヤが操作するキャラクタ基準の前記した視点で仮想ゲーム空間が描画されており、この仮想ゲーム空間に受信したゲーム情報が反映されることによって、視点はそれぞれ異なりながらも、共通事象のもとで1つのゲームが展開される。
次いで、ゲーム終了か否かが判断され(ステップS13)、ゲームが終了したのであれば、ゲーム終了時の結果処理、ゲーム成績の表示、ゲーム成績やゲーム毎に得られる情報のサーバ3への送信が実行されて(ステップS15)、本フローが終了する。
図14は、ゲーム端末1のCPU161のゲームプログラムによって実行される通過履歴取得処理の手順を説明するフローチャートである。先ず、自己キャラクタの位置の検出が行われ(ステップS21)、この検出位置情報と通過ポイントの位置情報との異同が判断される(ステップS23)。通過ポイントは仮想ゲーム空間内に進行ルートとなりそうな箇所に分散させて所与数の通過チェックポイントとして準備されているものである。
移動判断の結果、検出位置情報と通過ポイントの位置情報とが一致しなければ、ゲーム終了か否かの判断が行われ(ステップS25)、ゲームが終了していなければ、ステップS21に戻る。一方、検出位置情報と通過ポイントの位置情報とが一致すると、当該通過ポイント毎のカウンタに対し、移動情報取得部161kによってカウント値が1だけアップされて(ステップS27)、ステップS25に進む。ステップS25で、ゲームが終了していると、収集した通過ポイント毎のカウント情報がプレイヤのゲーム強さ及び仮想ゲーム空間種別情報と対応付けられてサーバ3へ送信される(ステップS29)。なお、検出位置情報と通過ポイントの位置情報との異同は、仮想ゲーム空間内の通路などの幅を考慮して、すなわち進行ルートを識別可能に抽出するに足りる範囲で通過ポイントの位置情報にある程度の領域を持たせることが好ましい。
図15は、サーバ3のCPU361のゲームプログラムによって実行される通過履歴記憶処理の手順を説明するフローチャートである。先ず、ゲーム端末1から、収集した通過ポイント毎のカウント情報が受信されると(ステップS41)、プレイヤのゲーム強さ、仮想ゲーム空間種別及び通過ポイント毎のカウント情報が取得される(ステップS43)。次いで、ゲーム強さ及び仮想ゲーム空間種別毎に、通過ポイント毎のカウント情報が記憶内容として追加される(ステップS45)。ここに、追加とは、通過ポイント毎のカウント情報が、受信の都度、そのまま記憶されることをいう。
図16は、マスター機となるゲーム端末1のCPU161のゲームプログラムによって実行される進行ルート決定処理の手順を説明するフローチャートである。先ず、チーム対戦ゲームの開始前に進行ルート要求コマンドの送信がサーバ3に向けて行われる(ステップS51)。この進行ルート要求コマンドには、プレイヤのゲーム強さ、仮想ゲーム空間種別情報が含まれている。次いで、ゲーム強さ、仮想ゲーム空間種別情報に応じた推奨進行ルート情報がサーバ3から受信されたか否かが判断される(ステップS53)。推奨進行ルート情報が受信されるまで待機し、受信されると、推奨進行ルートのうちの1つが、例えばランダムに、あるいは所定のルールに従って決定される(ステップS55)。そして、ゲームが開始されると、決定された進行ルートに従って、NPCの移動処理が実行される(ステップS57)。次いで、ゲーム終了か否かが判断され(ステップS59)、ゲームが終了でなければ、ステップS57に戻り、ゲーム終了であれば、本フローを終了する。なお、ゲーム終了でない場合に、ステップS55に戻るようにし、その都度、新たな進行ルートを推奨進行ルート内から決定し得る態様としてもよい。このようにすれば、進行ルートが固定されないので、より変化に富んだゲーム展開が期待される。
図17は、サーバ3のCPU361のゲームプログラムによって実行される推奨進行ルート送信処理の手順を説明するフローチャートである。先ず、進行ルート要求コマンドがゲーム端末1から受信されたか否かが判断される(ステップS71)。進行ルート要求コマンドが受信されていなければ、本フローを抜ける。一方、進行ルート要求コマンドが受信されたのであれば、プレイヤのゲーム強さ及び仮想ゲーム空間種別に応じた所定数の推奨進行ルート情報がコマンド送信元であるマスター機のゲーム端末1に返送される(ステップS73)。
図18は、サーバ3のCPU361のゲームプログラムによって実行される推奨進行ルート作成処理の手順を説明するフローチャートである。先ず、プレイヤのゲーム強さ及び仮想ゲーム空間種別のうち、所定の期間を経過したもの、あるいは直近側から古い方向に数えて所定の個数を超える、いわゆる古いデータが削除される(ステップS81)。次いで、ゲーム強さ及び仮想ゲーム空間種別毎の各通過ポイントのカウント情報を元に、進行ルートを作成し、そのうちから実績の高い所定数の進行ルートが推奨進行ルートとして作成され、記憶される(ステップS83)。
なお、2D表示モードから3D立体視表示モードへ切り換えの指示信号の割込は、押し込み式ボタン15が押下された場合の他、ゲーム進行において、モニタ11画面に敵キャラクタが出現した場合、敵キャラクタとが格闘する場合、銃を構えた状況等に移行したことを条件とする場合も含めてもよい。
なお、本発明は、以下の態様が採用可能である。
(1)本実施形態では、第1、第2の操作部30,40を採用した対戦ゲームとしたが、本発明は種々のゲームに適用可能であり、第1、第2の操作部30,40は一例である。ゲームの種類としては、キャラクタが自由に移動可能な仮想ゲーム空間を有し、この仮想ゲーム空間内で対戦ゲームを行うものであればよい。
(2)本実施形態では、2D表示と3D立体視表示が可能なモニタで説明したが、本発明は、2D表示のみであってもよい。
(3)本実施形態では、移動情報の取得方法として、予め各仮想ゲーム空間内に所与の通過ポイントを設定し、プレイヤ操作によるキャラクタの移動実績を、通過ポイントとの照合で収集したが、移動情報の収集方法としては、その他の種々の方法が採用可能である。例えば、ゲーム開始から終了まで、周期的に位置情報を収集する方法である。この方法の場合、移動履歴は、得られた移動情報を時間軸に沿って繋ぐことで再現できる。また、各ポイントを広げて所要の領域まで含める(同一のルートと見なし得る範囲)ようにすることで、近似した移動履歴を共通の移動履歴としてまとめることも可能となる。所要の領域とは、仮想ゲーム空間内の通路や広場等の幅、広さを含むサイズとすればよい。
(4)本実施形態では、NPCは決定された進行ルートに沿って移動するように説明したが、これに限定されず、進行ルートから所要の距離の範囲内であれば、自在に動き回る態様として、より自然に、また敵キャラクタを探したりする演出行動も含めることが好ましい。
(5)本実施形態では、チーム対戦ゲームで説明したが、1対1ゲームにも適用可能である。極端な態様では、自己キャラクタ以外がNPCであってもよい。