次に本発明の実施の形態をテレビゲーム機を例にして説明する。このテレビゲーム機は、ロールプレイングゲームにシューティングゲームを組み合わせた新規なゲームプログラムを実行するものであり、ロールプレイングゲームの処理ステップとシューティングゲームの処理ステップを実行する。これらのゲームは、コンピュータの3D空間内に定義された仮想空間の中で行われる。
ロールプレイングゲームの処理中、遊戯者(プレイヤ)が操るキャラクタ(プレイヤキャラクタ)は予め定められた移動用マップ上を移動し、モニタには移動方向にスクロール(画面が一定方向に進むこと、又は画面ないを背景が移動すること)された画面が表示される。所定のエンカウント情報が発生すると、ロールプレイングの処理ステップから戦闘シーン(シューティング)の処理ステップに移動する。
仮想空間内では、プレイヤキャラクタや敵キャラクタ等の主要な仮想体はポリゴンから構成され、背景はスクロール画面から構成される。3次元空間内には、所定の箇所に仮想カメラが設定され、仮想カメラから観た映像がモニタに表示される。
ここで、エンカウント情報とは、一つのゲームの場面(ロールプレイングシーン)から他のゲーム場面(シューティング)に移行させることを指令する情報や信号であって、例えば、所定のフラグ(エンカウントフラグ)がメモリのRAMに立ったときにエンカウント情報がありと判定される。
図1は、遊戯者が操るプレイヤキャラクタ10A(ドラゴン)がロールプレイングゲームプログラム実行時に移動マップ上を移動している状態の概念図である。12Aはドラゴンが飛行した範囲である。14Aは、移動マップ上に存在する敵キャラクタである。プレイヤは、後述のコントローラの方向キーを自由に操作して、ドラゴンの飛行方向や飛行範囲を仮想空間中で自由に設定することができる。なお、敵キャラクタを移動マップ上に表示しない場合もある。
図2及び図3は、シューティングプログラム実行時の戦闘シーンを例示する概念図である。図2は、動かない敵キャラクタとの戦闘シーンであり、図3は、動く敵キャラクタ14Aとの戦闘シーンである。図3に示す戦闘シーンでは、フィールド上にパス16Aが設定されており、このパス上をドラゴンと敵キャラクタとが強制スクロールによって移動する。
図2ではパスはなく、強制スクロールはされることがない一方で、ドラゴンは敵キャラクタの回りを自由に飛行することができる。この戦闘シーンのプログラム実行時では、敵キャラクタとプレイヤキャラクタとの間の戦闘の場合、所定の早さで時間が流れている状態で戦闘の終了まで継続される。
移動マップ上を移動中に、イベント発生、例えば敵キャラクタに遭遇によってエンカウントフラグが立ち、或いはランダムフラグを立てて戦闘シーンに移行する。このいずれの戦闘シーンでも、既述のようにリアルタイムのシューティングが可能となる。図3の戦闘シーンでは後述するように、複数の敵キャラクタとドラゴンとの位置取りをシミュレートした遊戯が可能となる。
ここで、位置とりとは、ドラゴンが敵の攻撃方向を予測して予め安全な位置に待避しておく、或いは敵キャラクタがドラゴンを追跡するなど、敵キャラクタ或いはドラゴンが自己によって戦闘上有利な位置を取らんとする行為である。
既述のように、移動マップから戦闘シーンへの移行は、エンカウント情報が発生した時に開始される。エンカウントフラグに「1」が設定されたとき、このエンカウント情報が発生したこととする。
図4は、移動マップ処理と戦闘シーン処理との関係を示すフローチャートであり、後述のハード構成を持つテレビゲーム機のCPUによって実行される。先ず、ゲームが開始すると、S4.0においてロールプレイングゲームの一場面としての図1記載の移動シーンが実行される。
S4.2では、戦闘シーンに移行するためのエンカウントフラグがチェックされ、エンカウントフラグが「1=エンカウントあり」の場合は次の戦闘シーンの処理へ移行する。エンカウントフラグが「0=エンカウントなし」の場合はS4.0に戻る。
エンカウントフラグが立った場合は、ある特定の現象が生じた時のイベントエンカウントか或いはランダムに生じるランダムエンカウントかに応じて戦闘シーンに移行し、それぞれの戦闘シーンで処理の戦闘行動が実現される。これらの戦闘シーンは同じであっても、それぞれ異なるようにしても良い。
イベントエンカウントの時の戦闘シーン(S4.6)は、既述のように図1に示すドラゴン10Aが飛行ルート上の敵キャラクタに遭遇したとき等特定のイベント発生時に発生する。なお、移動マップ上で敵キャラクタを表示するとき、プレイヤキャラクタは敵キャラクタと遭遇することを避けるように、遊戯者はドラゴンの飛行方向を制御することができる。
一方、ランダムエンカウントの戦闘シーン(S4.8)は、所定時間の経過やゲームの得点が特定の値に到った時等所定の条件が成立或いは発生した時に現れる。S4.10では、戦闘シーンが終了したか否かが判定され、その判定が肯定されると移動シーンへリターンし、それが否定されると戦闘行動にリターンする。
イベント戦闘時やランダム戦闘時には、プレイヤキャラクタと敵キャラクタとの間で攻撃を仕掛けたり攻撃を避けたりする等のリアルタイムのシューティングゲームが再現される。
戦闘シーンの終了は、敵キャラクタの全消滅、プレイヤキャラクタの消滅、強制終了のとき等に肯定される。敵キャラクタやプレイヤキャラクタの消滅は、公知の手法によって検討される。すなわち、例えば、敵キャラクタを形成するポリゴンと仮想の武器のポリゴンとの衝突(コリジョン)を判定し、衝突が肯定されたとき敵キャラクタやプレイヤキャラクタの形状や状態値に変更が生じたり、その消滅が必要と判断される。この判断は、衝突により体力値が減少することにより、可能となる。
この処理はゲームが終了するまで継続して実行される。図4に示す処理の中で、S4.0、S4.2はロールプレーイングゲームの処理ステップに相当し、S4.4以降の処理はシューティングゲームの処理ステップに相当する。
戦闘シーンは、既述のように図2のものと図3のものとから構成される。この実施例では、ロールプレイングゲームの処理ステップから他のゲーム画面、例えばシューティングの処理ステップに移行する際に、図3の場合、予め定められたパス(道筋)上をプレイヤキャラクタを強制的に飛行させることにより、シューティングの処理ステップに於けるシューティングの際にプレイヤキャラクタの移動方向制御が遊戯者にとって容易になる。
すなわち、シューティングの操作を遊戯者にとって優しくなるようにしている。図3の場合、パスの経路が適当に屈曲し、様々な背景(山、谷)を経るようにされているために、パスが単調にならないようにもしている。
このような決まったパスは仮想空間のワールド座標系に、特定点の座標ポイントを経るようにすることにより定義することが可能となる。
次に、ゲーム装置のハードウエアの構造について説明する。図5は、その基本構成を示すものであって、ゲーム機の外観を示す斜視図に相当する。この図において、符号1は、TVゲーム機本体を示している。このTVゲーム機本体1の前面には、二つのコネクタ2a、2aが設けられており、これらのコネクタ2a、2aにはゲーム機操作用のPAD等のプリフェラル2b,2bがケーブル2c、2cを介して接続されている。
また、TVゲーム機本体1の上部には、ROMカートリッジ接続用のカートリッジインターフェース(カートリッジI/F)1aが設けられている。同様に、TVゲーム機本体1の上部には、CD−ROM読取り用のCD−ROMドライブ1bが設けられている。TVゲーム機本体1の背面には、図示しないが、ビデオ出力端子及びオーディオ出力端子が設けられている。このビデオ出力端子はケーブル4aを介してTV受像機5のビデオ入力端子に接続されている。
このオーディオ出力端子はケーブル4bを介してTV受像機5のオーディオ入力端子に接続されている。このようなゲーム機において、ユーザーがペリフェラル2b、2bを操作することにより、TV受像機5に映し出された画面を見ながらプレイヤキャラクタであるドラゴン10Aを操作してゲームを行うことができる。
図6はこのゲーム装置のハードウアの機能ブロック図を示すものである。ゲーム機本体は、装置全体の制御を行うCPUブロック10、ゲーム画面の表示制御を行うビデオブロック11、効果音響等を生成するサウンドブロック12、CD─ROMの読出しを行うサブシステム13等により構成されている。
CPUブロック10は、SCU(System Control Unit )100、メインCPU101、RAM102、ROM103、カートリッジI/F1a、サブCPU104、CPUバス105等より構成されている。
メインCPU101は、装置全体の制御を行うものである。このメインCPU101は、内部にDSP(Digital Signal Processor)と同様な演算機能を備え、アプリケーションソフトを高速に実行可能になっている。
RAM102は、メインCPU101のワークエリアとして使用されるものである。ROM103は、初期化処理用のイニシャルプログラム等が書き込まれている。SCU100は、バス105、106、107を制御することにより、メインCPU101、VDP120、130、DSP140などの相互間のデータ入出力を円滑に行う。
また、SCU100は、内部にDMAコントローラを備え、ゲーム中のキャラクタデータ(ポリゴンデータ)をビデオブロック11内のVRAM121に転送することができる。これにより、ゲーム機等のアプリケーションソフトを高速に実行することができる。カートリッジI/F1aは、ROMカートリッジの形態で供給されるアプリケーションソフトをTVゲーム機本体内の所定のブロックに入力するためのものである。
サブCPU104は、SMPC(System Manager & Peripheral Control )と呼ばれるもので、メインCPU101からの要求に応じて、ペリフェラル2b、2bからペリフェラルデータを図5のコネクタ2a、2aを介して収集する機能等を備えている。
メインCPU101は、サブCPU104から受け取ったペリフェラルデータに基づき、例えば仮想空間上(3次元空間)のキャラクタの(座標等の)回転変換や透視変換などの画像制御を行ってこれを画面に表示するための処理を行う。コネクタ2a、2aには、パッド、ジョイスティック、キーボード等のうち任意のペリフェラルを接続できる。サブCPU104は、コネクタ2a、2aに接続されたペリフェラルの種類を自動的に認識し、プロファイルの種類に応じた通信法規に従いペリフェラルデータ等を収集する機能を備えている。
ビデオブロック11は、TVゲームのポリゴンデータからなるキャラクタ及び背景像に上書きするポリゴン画面の描画を行う第1のVPD(Video DisplayProcessor)120と、スクロール背景画面の描画、プライオリティ(表示優先順位)に基づくポリゴン画像データとスクロール画像データとの画面合成、クリッピングなどを行う第2のVDP130とを備えている。
第1のVPD120はシステムレジスタ120aを内蔵するとともに、VRAM(DRAM)121及び2面のフレームバッファ122、123に接続されている。TVゲームのキャラクタを表すポリゴンの描画データは、メインCPU101を介して第1のVDP120に送られ、VRAM121に書き込まれた描画データは、例えば16または8ビット/pixel の形で描画用のフレームバッファ122(又は123)に描画される。描画されたフレームバッファ122(又は123)のデータは、表示モード時に第2のVDP130に送られる。
このようにフレームバッファには、バッファ122、123が使われており、描画と表示がフレーム毎に切り換わるダブルバッファ構造をなしている。さらに、描画を制御する情報は、メインCPU101からSCU100を介して第1のVPD120のシステムレジスタ120aに設定された指示に従って第1のVPD120が描画と表示を制御する。
一方、第2のVDP130は、レジスタ130a及びカラーRAM130bを内蔵するとともに、VRAM131に接続されている。また第2のVDP130はバス107を介して第1のVPD120及びSCU100に接続されるとともに、メモリ132及びエンコーダ160を介してビデオ出力端子Voに接続されている。ビデオ出力端子Voには、ケーブル4aを介してTV受像機5のビデオ入力端子が接続されている。
この第2のVDP130に対して、スクロール画面データはメインCPU101からSCU100を介してVRAM131及びカラーRAM130bに定義される。画像表示を制御する情報も同様にして第2のVDP130に定義される。VRAM131に定義されたデータは、第2のVDP130によりレジスタ130aに設定されている内容に従って読み出され、キャラクタに対する背景を表す各スクロール画面の画像データになる。各スクロール画面の画像データと第1のVPD120から送られてきたテクスチャマッピングが施されたポリゴンデータの画像データは、レジスタ130aにおける設定に従って表示優先順位(プライオリティ)が決められ、最終的な表示画面データに合成される。
この表示画像データがパレット形式の場合、第2のVDP130によって、その値に従ってカラーRAM130bに定義されているカラーデータが読み出され、表示カラーデータが生成される。また、表示画像データがRGB形式の場合、表示画像データがそのまま表示カラーデータとなる。この表示カラーデータは、メモリ132に蓄えられた後にエンコーダ160に出力される。エンコーダ160は、この画像データに同期信号等を付加することにより映像信号を生成し、ビデオ出力端子Voを介してTV受像機5のビデオ入力端子に供給する。これにより、TV受像機5のスクリーンにゲーム画面が表示される。
サウンドブロック12は、PCM方式あるいはFM方式に従い音声合成を行うDSP140と、このDSP140の制御等を行うCPU141とを備えている。DSP140により生成された音声データは、D/Aコンバータ170により2チャンネルの音声信号に変換された後に、インターフェース171を介してオーディオ出力端子Aoに供給される。
このオーディオ出力端子Aoは、ケーブル4bを介してTV受像機5のオーディオ入力端子に接続されている。このため、音響信号は、オーディオ出力端子Ao、ケーブル4bを介してTV受像機5のオーディオ入力端子からオーディオ増幅回路(図示せず)に入力される。オーディオ増幅回路で増幅された音声信号は、TV受像機5に内蔵されているスピーカ5a、5bを駆動する。
サブシステム13は、CD−ROMドライブ1b、CD−I/F180、CPU181、MPEG−AUDIO部182、MPEG−VIDEO部183等により構成されている。このサブシステム13は、CD−ROMの形態で供給されるアプリケーションソフトの読み込み、動画の再生等を行う機能を備えている。CD−ROMドライブ1bは、CD−ROMからデータを読み取るものである。CPU181は、CD−ROMドライブ1bの制御、読み取られたデータの誤り訂正等の処理を行うものである。CD−ROMから読み取られたデータは、CD−I/F180、バス106、SCU100を介してメインCPU101に供給され、アプリケーションソフトとして利用される。
また、MPEG−AUDIO部182、MPEG−VIDEO部183は、MPEG規格(Motion Picture Expert Group)により圧縮されたデータを復元する装置である。これらのMPEG−AUDIO部182、MPEG−VIDEO部183を用いてCD−ROMに書き込まれたMPEG圧縮データの復元を行うことにより、動画の再生を行うことが可能となる。
ここで説明したゲーム機はシューティングゲームを遊戯者にとって操作が優しく、しかもゲームの面白みを損なわないような処理でシミュレートするように構成されている。以下、このゲーム機の各種動作について説明する。
先ず、図7は、図3に示す戦闘シーンで実行される一処理に相当するものである。図7には、敵キャラクタ100Aとプレイヤキャラクタ200Aとの空間的な関係が模式的に示されている。
プレイヤキャラクタ200Aは、既述のように空飛ぶドラゴンを模擬したものであり、敵キャラクタ100Aは例えば空とぶ巨大昆虫を模擬したものである。図8はプレイヤキャラクタ及び敵キャラクタの位置関係を斜視図として示している。なお、プレイヤキャラクタ或いは敵キャラクタに相当するキャラクタはどのような形態のものであっても良い。敵キャラクタは1体でも、或いは複数体であっても良い。
プレイヤキャラクタは敵キャラクタの回りを矢印方向に回るとともに、上下にも矢印のように移動することができる。敵キャラクタは図3に示すパスに沿って矢印のように仮想空間内を移動する。プレイヤキャラクタは敵キャラクタの移動に合わせて敵キャラクタの回りを上下に移動しながら回ることができる。
すなわち、図8はプレイヤキャラクタの移動範囲を具体的に示したものであり、敵キャラクタの回りに設定された特定形状の空間域としてのシリンダ形状(円筒)様の領域(移動エリア)202の表面をプレイヤキャラクタが移動できることを示している。なお、敵キャラクタがプレイヤキャラクタの周りを周回するようなものでも良い。また、戦闘シーンの際、図3の場合とは異なるように、敵キャラクタが仮想空間内を自由な方向に移動しても良い。
敵キャラクタは、プレイヤキャラクタに対して多種類の攻撃をランダム、又は所定のパターンや敵固有の攻撃方法で仕掛け、遊戯者はプレイヤキャラクタを自由に操作して(敵キャラクタを予測してプレイヤキャラクタをエリア内で操作して)、敵キャラクタからの攻撃を避けつつ敵キャラクタに攻撃を加える。
プレイヤキャラクタが所定の時間以内に敵キャラクタに致命量のダメージを与えればゲームに勝利し、プレイヤキャラクタが致命量のダメージを受けた場合にゲーム終了となる。
このような領域202を設けることにより、次のような利点がある。プレイヤキャラクタの行動範囲をこの領域に限ることにより、敵キャラクタの周囲近傍にプレイヤキャラクタを敵キャラクタに臨むように容易に配置させることができ、遊戯者がプレイヤキャラクタを敵キャラクタに対して有利な位置にマッピングするようにできる。
図34はここに示すプレイヤキャラクタの配置を制御するプログラムに基づくフローチャートであり、図3の戦闘シーンがスタートすると戦闘シーンが終わるまでCPUによって繰り返し実行される。
S34.0において、敵キャラクタのパス上の位置が検出され、S34.2においてシリンダ様形状の決定を行う。S34.2ではシリンダの直径や高さを決定し、S34.4においてそのシリンダの中心に敵キャラクタが来るように、すなわち、敵キャラクタの中心にこのシリンダを形成して敵キャラクタとともにパス上を移動させる。Sではこのシリンダの表面にドラゴンを配置する。したがって、ドラゴンも敵キャラクタとともにパスに沿って移動する。
S34.2におけるシリンダの直径や高さの決定は、次のようにして例えば実行される。図9に示すように、敵キャラクタ100Aが大きな形態(ポリゴン)となった際にシリンダ様領域202の径を大きくする。このために、CPUは、例えば、仮想空間内での敵キャラクタを構成するポリゴンの頂点座標を読み込み、XYZの各方向の最大座標と最小座標の差から敵キャラクタの大きさを決定する。もっとも、敵キャラクタ毎にシリンダの形態を決めてテーブルにしておくようにしても良い。
遊戯者は、ゲーム機の方向キー2bbを所定方向に操作することによって、プレイヤキャラクタをシリンダ様領域表面の前後左右側に連続的に移動させることができる。しかし、プレイヤキャラクタの移動範囲をシリンダ領域の表面に限ったとしても、時としてプレイヤにとってドラゴンをシリンダ様領域の臨む側(前後左右のどれか)に移動させることが困難な場合もありうるから、シリンダを図8に示す4つのブロックエリア(前後左右)に分割し、一つのエリアから他のエリアへの移動際、移動先のエリアの特定位置、例えばエリアの中心に強制的に移動されるようにしても良い。すなわち、図35はこのことを示すものであり、シリンダ202の或ブロックから他のブロックに向けてドラゴンが移動するとき、特定点350から特定点352にドラゴンが強制的に移動されることを示している。この場合、特定点に到った後のドラゴンはこのブロック内において、ブロック表面の上下左右に移動しても良いし、或いは移動できないようにしても良い。
ブロック間のドラゴンの移動は例えば次のとおりである。方向キーの操作方向に対応させて、方向キーの上方向キーの操作時には、シリンダの進行方向の前面のブロックにドラゴンを移動させ、したキーの場合には後面のブロックに移動させ、右キー操作の場合には右ブロックに移動させ、左キー操作の場合には左ブロックに移動させる。また、上下キーをシリンダ側面でのドラゴンの高度制御用にし、左右キーをシリンダの側面方向の移動制御用にしても良い。なお、ドランゴンはシリンダ形状の表面ばかりでなく、その内側でも移動できるようにしても良い。
この4つのブロックエリアは、シンリダ様領域202を互いに直交する二つの直方面(500,502)によって分割されたものとして定義される。なお、この直方面は、領域202の分割の仕方を示すためのものであり、実際にこのような直方面を設けることまでは行われない。
メインCPUは、媒体としてのカートリッジI/F又はCDROMから供給されるアプリケーションソフトウエアによって、図7及び図8の敵キャラクタ100Aからプレイヤキャラクタ200Aに向けて弾丸を発射し、プレイヤキャラクタがこの弾丸を被った場合には、プレイヤキャラクタが破壊されたり、プレイヤキャラクタを消滅されたりする映像を作成する。プレイヤキャラクタがこの弾丸を被らなかった場合には、勿論プレイヤキャラクタにダメージを与えるような映像は生じない。
図10はこの時の映像の模式図である。図10は、図8の平面図に相当するものである。敵キャラクタ100Aからの弾丸発射は前後左右の4つのブロック毎(図8のブロックA1乃至A4のいずれか)に分けて行われる。
図10は、前側のブロック206に弾丸を発射している状態を示している。プレイヤキャラクタ202Aがこのブロック内に居ると被弾の可能性が高くなる。一方、プレイヤキャラクタが右側のブロックに居れば、被弾の可能性はない。敵キャラクタには仮想的に弱点領域(弱点コリジョン)207があり、この領域に攻撃するために、プレイヤキャラクタを敵キャラクタに対する後ろ側のブロックに回り込ませることが効果的である。
既述のように敵キャラクタからの弾丸の射出方向は、4つのブロック毎に設定されている。すなわち、弾丸は方向を持ち、又弾丸はある規則に支配されている。したがって、遊戯者は弾丸が飛ぶ方向を予測して、これに備えることができる。
弾丸としては、光線弾、誘導弾等適宜種々のものがある。これら弾丸の種類、コースをCPUがプログラムに応じて決定する。このように、弾丸の移動形態には、方向や種類の点において複数存在する。
プレイヤキャラクタは敵キャラクタからの弾丸が命中することを避けるために、そして、敵キャラクタの弱点を効果的に攻撃するために、4つのブロック毎のいずれかに配置される。
弾丸の方向や、発射される弾丸の種類、弾丸の発射タイミング、時間等に規則を設けることにより、遊戯者はこの規則を理解し弾丸の移動形態を予想して、この弾丸を避けるように、例えば、プレイヤキャラクタを敵弾が及ばないエリアを選択して予め待避させることができる。
遊戯者にプレイヤキャラクタの敵キャラクタに対する位置を明示する目的で、図11に示す戦闘画面には仮想レーダ11Aが表示される。この仮想レーダには、プレイヤキャラクタ200Aのシンボルと敵キャラクタ100Aのシンボルが表示される。したがって、この仮想レーダにより、敵キャラクタとプレイヤキャラクタとの相対的位置関係が分かる。
図11は、プレイヤキャラクタ200Aが敵キャラクタ100Aの前のブロックに配置されている状態を示している。プレイヤキャラクタが存在するブロックの領域の色彩を背景画とは異なるようにして、遊戯者に一見してプレイヤキャラクタが敵キャラクタに対して成すブロック位置分かるようにできる。
遊戯者がプレイヤキャラクタの移動エリアとしていずれかのものを図8のA1乃至A4から選択することにより、後述のフローチャートに示されるように、プレイヤキャラクタがこの移動エリアに自動的に移動される。
なお、図11において、110はドラゴンから敵キャラクタへ攻撃可能状態になったことを、遊戯者に示すためのゲージであり、このゲージが最大値に達することによって遊戯者はドラゴンから敵キャラクタに対して所望の武器によって攻撃を仕掛けることができる。この武器ゲージに対して、本願発明は特徴的処理を提供している。このことは後述する。
また、敵キャラクタ100Aの上にある数値「10」は、敵キャラクタのダメージを表すものである。HPはヒットポイントと呼ばれるものであり、プレイヤキャラクタの残存寿命が分母に対する分子の数値として表現されている。分子が現在の残りHPであり、分母が最大HPである。また、BPとはバーサークポイントと呼ばれるものであり、プレイヤキャラクタから敵キャラクタに対して技を繰り出す余力容量を示すポイントである。技とは、例えば、プログラム上の魔法に当たるもの、或いは必殺技に当たるものである。
弾丸の移動形態には、弾丸が前後左右の順番に発射される、或いは敵キャラクタの特定の動作(振動や変動)や形態の変化(大きさ、形、色)のタイミングによって発射される等の複数の形態が存在する。ここで、弾丸は請求項記載の移動する移動キャラクタに相当する。
図12は、前記CPU101によって攻撃の予測処理を達成するためのフローチャートを示す。このフローチャートは、大きくは、プレイヤキャラクタの移動エリアを選択し、敵キャラクタに対する攻撃武器の選択を行うフェーズF1と、プレイヤキャラクタと敵キャラクタとの間の攻撃の成否を実行するフェーズF2とから構成されている。これらのフェーズは1インターラプト毎に繰り返し実行される。
遊戯者により移動エリアの選択結果がコントローラ2bを介してゲーム機に入力される(S600)。この選択は遊戯者が敵弾の発射方向や発射タイミング、或いは敵キャラクタの弱点方向を予想して行われる。この入力結果に応じて、CPUはプレイヤキャラクタを選択されたブロックに配置する。
次に、S602で、遊戯者により武器選択が行われる。選択武器の種類によって、敵キャラクタに向けて表示される照準カーソルを後述のように画面に表示する。選択武器の種類に応じてカーソルの形態を変えることが出来る。
例えば、後に図18に図示されるように、選択した武器の種類/威力に合わせて、表示される照準カーソルの形状や大きさを変化させたり、照準に近いほど威力が高いことを示すために、カーソルを大型矩形(1)、小型矩形(2)、大型円形(3)、矩形多重枠(4)、円形多重枠(5)等に変えることが出来る。この照準内に、敵キャラクタを入れてトリガーをオンすることにより敵キャラクタへの攻撃を成功させる。トリガーは前記コントロータ2b内の所定ボタンによって構成される。
S604では、移動エリアの選択結果に応じてプレイヤキャラクタを選択された図8のエリアの内の一つにマッピングし、選択武器の種類に応じ照準を表示し、また、敵キャラクタから弾丸が発射される映像が形成される。
このとき、弾丸の発射コースや弾丸の種類等の弾丸の移動形態は、アプリケーションソフトウエアにより、CPU101によって種々或るものの中から特定のものが決定される。選択された移動エリアにプレイヤキャラクタを移動させることは、CPU101によって自動的に行われるようにしても良い。また、遊戯者はコントローラ2bの方向キー2bbによって自身によりプレイヤキャラクタを移動エリアに移動させても良い。
次いで、ステップ606において、この予測が結果的に正しかったか、或いは誤ったかが判定される。すなわち、同ステップにおいて、予測が正しければ、弾丸とプレイヤキャラクタとの当たり判定(仮想空間における座標の重なりの判定)が当たりなしと判定され、予測が誤っていれば当たりありと判定される。
予測誤りの場合には、S608に移行してプレイヤキャラクタへのダメージ量が積算され、プレイヤキャラクタのダメージが所定以上になった場合にプレイヤキャラクタを消滅させて新たなプレイヤキャラクタを出現させ(S610,S612)、ダメージが所定値未満である場合にはS614に移行する。
S614は、S606に於ける予測結果が正しい場合にも採られるステップである。S614では、当たり判定の手法により、プレイヤキャラクタから敵キャラクタへの射撃が成功したか否かが判定される。これが肯定されると敵キャラクタへのダメージ追加処理を行い、敵キャラクタの損傷や敵キャラクタの消滅、新規な敵キャラクタの出現等の処理が実行される(S616)。
一方、これが否定されると、このステップをスキップしてリターンする。S610においてプレイヤキャラクタのダメージ判定が所定値未満であるとS614に移行する。
請求項に記載の移動手段はS604によって実現され、決定手段はS604によって実現され、予測手段はS600によって実現され、キャラクタ位置設定手段はS604によって実現され、表示処理制御手段は、S606以降によって実現される。
なお、この実施形態では敵キャラクタの弾丸発射がゲーム装置側のCPUによって制御される例について説明したが、対戦相手としての他の遊戯者によってコントローラ2bを介して制御されるものであっても良い。この時は、弾丸の移動形態が対戦者の意志によりランダムに選択されることがあり、遊戯者はこの対戦者の意志をいわば予想して、プレイヤキャラクタの移動先を制御することになる。
この実施形態に示されたゲーム装置によれば、遊戯者が敵キャラクタの弾丸発射形態を予想しこの予測結果をゲーム機に入力しさえすれば、プレイヤキャラクタが所定のコースに自動的に移動され、うまくすれば、弾丸を避けることができるので、3D空間内であってもキャラクタを弾を避けるため等にうまく、かつ簡単にコントロールすることができる。
なお、移動エリアの選択があるとブロックエリア毎の所定のフラグが立てられてRAMに一時記憶され、CPUはこのフラグを見てプレイヤキャラクタを該当するエリアにマッピングすることができる。また、遊戯者がプレイヤキャラクタをエリア内で上下左右に移動させることにより、敵キャラクタからプレイヤキャラクタに向けた弾を避けることができる。
先に選択武器によって照準の形態を変えることを説明した。次に、敵キャラクタからの攻撃を防御するための、すなわち、敵弾を迎撃するための応戦弾を選択する場合について説明する。
図13は、これを示す模式図である。敵キャラクタ100Aの前面にプレイヤキャラクタ200Aが向き合って位置している。敵キャラクタから単一の弾丸210がプレイヤキャラクタに発射されている。(1)はこの状態の平面図であり、(2)は側面図である。この弾丸の軌跡は複数の形態を取り得る。
プレイヤキャラクタに向かって、プレイヤキャラクタの上を狙った直線弾、下を狙った直線弾、上から下に向かった曲線弾、下から上に向かった曲線弾、左から右に曲がった曲線弾、右から左に曲がった曲線弾がある。
プレイヤキャラクタは自身から応戦弾を発射して敵キャラクタからの弾丸がプレイヤキャラクタに命中しないようにプレイヤキャラクタの手前で破壊するようにする。この第2実施形態では、このようなゲーム画面がモニタの映像に表示される。
遊戯者には、プレイヤキャラクタの先端にある仮想カメラの視点から敵キャラクタに臨む映像が表示される。図14は画面に表示される、プレイヤキャラクタの側にとっての応戦用のカーソル表示体を示したものである。このカーソルはC1とC2の2重表示になっている。
遊戯者はこのカーソルを敵弾に合わせて移動させコントローラのトリガをオンすると、応戦弾がカーソルに向けて発射され、カーソル内に敵弾が有る場合で応戦弾の発射タイミングが適切であれば、敵弾が応戦弾によって破壊される映像がシミュレートされる。
敵弾がカーソル内に来ないとこの応戦が失敗と判定される。敵弾の移動は高速であるので、カーソルを敵弾に合わせて移動させることは通常困難である。敵弾のコースと敵弾の種類を予め予測してこの予測結果に応じてカーソルの位置を設定することがポイントである。このことは後述する。
なお、敵弾がC1のカーソルで示された範囲を通過するならば、敵弾の破壊が可能であり、特にC2のカーソルの範囲に入れば、より確実に敵弾の破壊が達成される。C2のカーソルはC1の中心にほぼ所定の大きさで表示される。なお、このカーソルも請求項のキャラクタの一つである。
図15はカーソルの移動範囲を一点鎖線で示すものである。A1からA4は、カーソルの位置設定先を示す範囲である。A1は遊戯者から見て右上、A2は右下、A3は左上、A4は左下である。遊戯者は敵弾の通過位置(通過コース)を敵弾の発射以前に予測し、カーソルの移動先をA1からA4のいずれかに設定する。
そして、その後、カーソルの位置を調整して敵弾をC2のカーソル内に合わせるようにする。仮に、この予想が正解であれば、敵弾を少なくともC1のカーソル内に含ませることは容易である。一方、この予想が外れた場合にはこれが困難である。予想が外れた場合、例えばA1の位置にあるカーソルをA4の位置まで移動させてカーソル内に敵弾を含ませることは移動量が大きく、高速で移動する敵弾にカーソルを追従させることは難しい。カーソル内に敵弾を含ませることができないと敵弾によりプレイヤキャラクタが損傷を受ける。
カーソルC2の存在の意義は次のとおりである。仮に、敵弾のコースが予想と当たっても、敵弾の種類が違うと敵弾がカーソルC1内を通過する程度が異なるとする。例えば、敵弾が直線弾であれば、カーソルC2内に敵弾が容易に含まれるが、曲線弾であるとC1内を通過するものの、C2内を通過しない確率が高くなる。よって、曲線弾の場合にはC2内を通過するようにカーソルを微調整して確実に敵弾を破壊することを遊戯者が競うことができる。もっとも、このカーソルC2を省くことは可能である。
図16はカーソルC2の形態を示したものである。遊戯者が、直線弾か曲線弾か、曲線弾ではどのような曲線弾かを予測する。予測結果に応じてC2の中心カーソルの形態が設定される。(5)は直線弾の場合である。このものは上下左右うに均等な形態を持っている。勿論矩形の形態に変えて円形でも良い。C1も同じである。
(1)は遊戯者のから見て(仮想カメラから見て、仮想カメラは図7のプレイヤキャラクタの敵キャラクタ側の先端に設定されているものとする。)、下から上に向かって曲がる曲線弾に対応するためのカーソルC2である。(2)は上から下、(3)は左から右、(4)は右から左に曲がる曲線弾に対応させるためのものである。
曲がる方向に幅広のカーソルであれば、敵弾の曲がりに対する予想が当たった際、さらに敵弾をより効果的にカーソルC2内に含ませてこれを確実に破壊することができる。
図17はカーソルと敵弾との重なり判定処理のフローチャートである。S1100において、敵弾の通過がカーソルC1内であるかが判定される。S1102において、さらに敵弾の通過がカーソルC2内であるかが判定される。S1104,S1106では応戦弾の発射タイミングが適切か否かが判定される。
S1104で発射タイミングが適切な場合は、S1108で敵弾破壊の映像が作成される。この時の敵弾破壊確率は高い。S1106の判定が肯定された場合も同映像が作成される。
この時の敵弾破壊確率は、S1108よりも低い。S1104とS1106が否定の判定であれば、応戦失敗と判定されて敵弾は破壊されない(S1112)。遊戯者側からの応戦がない場合もS1104,S1106で「NO」と判定される。また、S1100で敵弾がC1通過しない場合も敵弾非破壊と判定される。
この実施形態によっても敵弾の形態を予想し、この予想結果に応じて応戦用のカーソル(照準)を特定の位置に設定するので、実施形態1と同様な効果を達成することができる。また、図12のエリア選択/武器選択のフェーズF1の間では、敵弾の攻撃方向や敵弾の種類、特性が分からないので、エリア選択とは別に、或いはこれと合わせて移動する移動キャラクタとしての敵弾の特性を予想しこれに備えるという新たな観点のゲーム上の駆け引きを生じさせることができる。
また、既述の実施形態によれば、敵の攻撃を予測して対応する時間を設けたことにより、その時間内において敵の行動の読み、予測を遊戯者が自分の経験によって決めることができるので、その分ゲームとしての駆け引きがより多彩になる。
なお、プレイヤキャラクタからの応戦弾の種類に応じて、さらにカーソルの形態を変えるようにしても良い。こうすることにより、敵弾破壊に対して効果的な応戦弾を予想して、すなわち、予想のファクタが増えるので遊戯をより多様化して高度な遊戯環境を構築することが可能となる。
図12のフェーズF1では、遊戯者によるコントロールからの弾丸発射等の入力をCPUは受け付けず、S600からS604までの移動エリアの選択、武器選択の結果を起こるシーンの再生のみがCPUによって実行される。したがって、ロールプレイングゲームの特性として明かであるが、このフェーズの間は例えば、シネマスコープ(商標)を表示することによって、この間遊戯者側は入力が不可能なことを知ることができる。図19は、画面にシネマスコープが表示されている状態を示している。このシネマスコープは、遊戯者に対して入力不可状態を示す掲示手段として機能する。
図19のシネマスコープは、また、リアルタイムの戦闘シーンにおいて時計の進みを止めることと、遊戯者に技や攻撃をプレイヤキャラクタから敵キャラクタに繰り出すことが入力不可状態にあることを知らしめる情報伝達手段でもある。遊戯者はシネマスコープの画面によって、リアルタイムの戦闘シーンから或期間入力不可状態にあることを知ることができる。例えば、図19は、敵キャラクタ100Aからプレイヤキャラクタ200Aに攻撃が行われ、プレイヤキャラクタに攻撃命中の処理を施した映像である。この映像が表示されている間、時間の進行を止めて、一定時間プレイヤキャラクタから攻撃が行えないようにしている。
また、ロールプレイングゲームでは、遊戯者側の手番と対戦者側の手番が存在する。よって手順としては、「プレイヤキャラクタ側のフェーズF1」と「プレイヤキャラクタ側のフェーズF2」、「相手側のフェーズF1」、「相手側のフェーズF2」「プレイヤキャラクタ側のフェーズF1」・・・の手順のように、図12のフローチャートをプレイヤキャラクタ側と敵側との手順の流れに分けることができる。
なお、この明細書において、「予想」とは遊戯者やこの遊戯者に対する対戦者の意志であることは勿論であるが、ゲーム装置側がプレイヤキャラクタ側になって遊戯者が敵キャラクタ側である場合は、ゲーム装置による予想のことである。また、「予想」とは、遊戯者が敵の攻撃を避けようとする積極的意志(前述のシリンダのブロック間移動)を遊戯者が持つ場合、敵キャラクタの攻撃そのものを破壊する積極的意志(敵弾への応戦)持つ場合の他、適当に、ランダムにプレイヤキャラクタの位置やカーソルの位置を決め、結果的に敵キャラクタによる攻撃を避けるようなことができた場合をも含む。
次に、ゲーム機の戦闘シーンのさらに他の特徴的動作について説明する。図20はこの特徴的動作を説明するための模式図(戦闘シーンの一画面)に相当するものである。プレイヤキャラクタ200Aから敵キャラクタ100Aを攻撃できる部位をコリジョン点と定義し、このコリジョン点にシューティングゲームにおいて公知のロックオンカーソルLCをロックオンさせてプレイヤキャラクタから敵キャラクタに攻撃が行われるようにしている。
ここで、コリジョンとは、キャラクタの一つのしてのゲームプログラム上の弾や光線が敵キャラクタ或いはプレイヤキャラクタに当たる(両座標の一致または重なり)ことをいい、コリジョン点とはコリジョンが起こった箇所或いは起こるべき箇所をいう。
このコリジョン点は、例えば、敵キャラクタの前後左右の計4箇所(C1〜C4)に設定されており、プレイヤキャラクタから観て近いコリジョン点順にロックオンカーソルがロックオンする。図21に示すように、プレイヤキャラクタから見えるコリジョン点、敵キャラクタのコリジョン点のうちプレイヤキャラクタ側にある、すなわち仮想カメラの視野領域に入っている、または遊戯者から観ることができるコリジョン点にロックオンが可能となる。
このコリジョンをスイッチオンしたコリジョン点とし、プレイヤキャラクタから見えない、すなわち、プレイヤキャラクタとは反対側にあるコリジョンをオフされたコリジョン点とする。
図21の(3)の場合を例にとって説明すると、尾以外のコリジョン点はオンされて、オンされたコリジョンに許容される数のカーソルがロックオンすることができる。図20はカーソルがコリジョン点にロックオンされている状態を示している。
図22は、このロックオン機能のフローチャートの一例を示すものであり、先ず、S22.2では、前記シリンダ様領域内の前後左右のどのブロックにプレイヤキャラクタ(ドラゴン)が位置するかが決定される。次いで、ブロックの位置からオン或いはオフとなるコリジョン点を決定し(S22.4)、オンとなったコリジョン点の座標データから、オンコリジョン点のドラゴンに対する遠近を決定する(S22.6)。
既述のように最もドラゴンに近いコリジョン点にカーソルがロックオンしたことを示すフラグ「1」を立てる(S22.8)。この後、全数のロックオンカーソル数がロックオンしたか否かが立ったフラグ数によって判定され(S22.10)、次いで、全オンコリジョンにフラグが立ったか否かが判定される(S22.12)。S22.10でロックオン数が最大値に達したときには、以後のロックオンが行われることなく、遊戯者がコントローラの引き金をオンしたか否かの判定に移行する(S22.14)。
S22.10でロックオン数が最大値に達することがなく、且つ、S22.12で全コリジョンがロックオンされていないときには、S22.16に移行してフラグが立っていないコリジョン点が決定されて、このコリジョン点の中から最も近いコリジョン点にフラグを立てる。S22.12で全コリジョンがロックオンされたときには、S22.14に移行してトリガーのオン又はオフが判定される。S22.14でトリガーオンされたときには、S22.18に移行してドラゴンから敵キャラクタのコリジョン点にロックオンしたロックオンカーソルに向けて仮想の誘導弾や光線弾が飛散する攻撃シーンの画像が合成されてモニタに表示される。一方、遊戯者が所定時間内にトリガーをオンしない場合には、S22.18をスキップしてリターンする。
この処理動作によれば、敵キャラクタのコリジョンの中でもプレイヤキャラクタであるドラゴン側にあるコリジョン点のみ、又はドラゴン側に近いコリジョン点に攻撃を仕掛けることができるために、例えば、遊戯者から見えないコリジョン点に攻撃がなされるようなことを避けることができる。
コリジョン点は遊戯者から攻撃できる箇所を多彩にするために、敵キャラクタの前後左右に複数設定される。敵キャラクタが複数のオブジェクト(頭、胴、尾等)から構成される場合には、個々のオブジェクトに対して設定できる。
コリジョン点には、コリジョンの性格毎に「重み」を付けることができる。例えば、ある特定の箇所のコリジョンを敵キャラクタの弱点に相当するコリジョンとすることができる。このコリジョンへの攻撃が成功すると、敵キャラクタには多くのダメージが与えられたものとする。この時、コリジョンの重みの相違によってロックオンカーソルの形や色彩を変えるようにしても良い。
このコリジョン点はその位置や重みが固定された静的なものから、コリジョン点の位置や重みが変化する動的なものであっても良い。すなわち、時間を経て、あるいはゲームの得点や、プレイヤキャラクタや敵キャラクタのポイントに応じて或コリジョン点が消滅したり、或いはコリジョン点の位置が変わったり、また、コリジョン点の重みが変化したりである。図11のように敵キャラクタが複数体存在する場合には、コリジョン点は敵キャラクタ毎に設定されることが良い。コリンジョン点よりロックオンカーソル数が多い場合には、或コリジョンに複数のロックオンカーソルが重なっても良い。
前記レーダの他の例として、図23に示すような多情報を表示可能な形態のものがある。図24はそれの表示例である。このレーダーRAは、中央にプレイヤキャラクタとしてのドラゴンを配置して、その回りに各種多彩の情報を表示するためのシンボルを置いている。
500はドラゴンが仮想空間内を飛行している時の飛行速度を示す仮想ゲージである。502は、目的地或いは目的方向を示すものであり、これをほぼ中心に捉えていれば目的地に向けてドラゴンを飛行させることができる。
また、504は、仮想な海抜点に対するドラゴンの飛行高度を示すものである。さらに506は、ドラゴンの飛行方向に対するマップの北方向を表すものであり、508はドラゴンが既述の戦闘シーンに移行する率、エンカウント率に相当する形態を表示する領域である。この508の領域に、敵乃至イベントポイント(街、セーブポイント)の表示を加えても良い。
エンカウント率が高いと近い将来戦闘シーンに移行する確率が高いことを示す。このエンカウント率の変化を領域508の形態、例えば、背景色を変化させることによって遊戯者に伝えることができる。エンカウント率はドラゴンが飛行する位置によって異なる。この表示レーダは、ロールプレイングのゲームプログラム処理中の画面に主として表示される。遊戯者はエンカウント率をモニタしながら、敵キャラクタとの遭遇を望むか、或いはドラゴンを目的地に対して例えば遠回りさせても敵キャラクタとの遭遇を避けるようにするかを適宜判断しながら、ドラゴンを操作する。
ドラゴンから敵キャラクタへの攻撃は、図11に示す武器ゲージ110の容量が満杯になった映像が完成したときに可能となる。従来のものでは、このような武器ゲージとして武器の種類毎に複数設けるようにしたものが存在したが、本願発明ではこれを一本化したことを特徴とする。
図36はゲージ110に仮想的なエネルギーが溜まって行く過程を(1)から(7)進むように示したものである。先ず(1)から(3)の過程で、白地のゲージに所定色の第1エネルギーが充填される。ゲージの右端まで色が反転するとゲージへのエネルギー充填完了とされる。次に、(4)から(5)の過程で異なった色の第2エネルギーが溜まって行く。さらに(6)から(7)の過程でさらに異なった色の第3エネルギーが溜まっていく。それぞれのエネルギーが溜まった(3),(4),(5)でゲージポイントがそれぞれ1,2,3とされ、それぞれゲージポイント毎に武器プライオリティが1,2,3が与えられる。
武器プライオリティが高い程、ドラゴンは高度な技や武器を敵キャラクタに向けて繰り出すことができる、或いは同じ武器の場合は数多く繰り出すことができる等である。
遊戯者は、ゲージの色が反転して行く過程を認識することによって自分が選択できる技や武器を知ることが出来る。遊戯者がコントローラのトリガーをオンすることによって、トリガーオンの時のポイントに応じて繰り出す武器や技の数や種類が決定される。
ゲージポイントが「3」の時では、遊戯者が望むときには同じ武器を連続3回発射できる。従来のようにゲージが一度溜まる毎に一回の攻撃が選択できるに過ぎない場合に比較すると、遊戯者にとって攻撃の態様が増し、短い時間に多くの敵キャラクタを倒す必要がある場合に備えることができる。
ゲージが溜まっている途中でも、遊戯者はドラゴンを移動させることができる。また、武器を発射することもできる。遊戯者によるトリガーのオン指令を受けたCPUは、その時のゲージポイントから武器プライオリティを得、これから武器を選択して敵キャラクタに対して攻撃を与える。
トリガーオンの後、使用武器の量に応じてゲージポイントが減じられる。例えば、図36(4)の時から1ゲージポイント分の武器が使用されると(2)の状態にまで戻る。また、(6)の状態からだと1ゲージポイント分の武器使用の場合(4)に戻り、2ゲージポイント分であると(2)の状態に戻る。
ゲージには所定の時間速度で順次仮想エネルギーが充填されるようになっており、ゲージポイントが減じられても、順次ゲージにエネルギーが充填されて行く。但し、(7)のゲージポイント3が最大値であるので、これ以上のポイント増加はないものとする。
このように従来複数のゲージを一本化することにより、遊戯者は敵キャラクタに対する武器選択を複数のゲージを常時チェックする煩わしさから開放される効果がある。なお、ゲージの機能としては武器選択に限らず、プレイヤキャラクタの行動様式の選択や敵キャラクタの選択等、ゲージのポイント毎に異なる映像を合成するようなもの、異なるシミュレートを実行するようなもの等特に限定されるものではない。
ここで、説明した新規ゲージの他の態様として、図37に記載するものも存在する。このものでは、左から右にかけて色彩が順次一回反転して行くものであり、左側のブロックの右端まで反転するとゲージポイントが1であり、真ん中のブロックの右端までだとポイント2であり、さらに右のブロックの右端までであるとゲージポイントが3である。
前記RAM102には、このゲージポイントを記録するための所定の記録領域が設けられており、武器が使用されるとゲージポイントが1づつデクリメントされ、また、所定時間経過するとゲージポイントが1インクリメントされ、それぞれの結果が記録されている。ゲージポイントを超える武器発射コマンドがCPU101に入力されても、CPUはこのコマンドを無視し、ゲージポイントが溜まった後のコマンド入力に応答して武器を発射するようにしている。
なお、ゲージを塗り替える回数は3回に限る必要はない。また、プレイヤキャラクタが複数存在する場合、武器や行動の他に、武器や行動をするキャラクタを選択可能である。
次に、敵キャラクタの回りに形成される区画領域の他の例について説明する。ここでは、既述のシリンダ様領域に代えて、正6面体(キュービック)様領域にした点に特徴がある。この正6面体の少なくとも一面にプレイヤキャラクタが配置される。また、ある面にプレイヤキャラクタを配置し且つ他の面に敵キャラクタが配置される。
図25は、この一例を示すものであり敵キャラクタをキュービック240のある面に配置し、プレイヤキャラクタをその面に対向する面に配置している。敵キャラクタ及びプレイヤキャラクタは、キュービックの側面の4面の表面を移動できる。図26は、プレイヤキャラクタや敵キャラクタをキュービックに配置するためのフローチャートを示すものである。
先ず、S25.0では図3の戦闘シーンに移行したときに、キュービックの初期形態が決定される。キュービックの初期形態は、主に敵キャラクタとプレイヤキャラクタとの距離に基づいて決定される。両者の距離が大きくなるにしたがって、キュービックが大きくなるに決定される。
敵キャラクタに対するキュービックを配置する態様には、各種のものを考えることができる。図27は既述のシリンダ様領域のように、敵キャラクタ100Aをキュービックの下面の中心に置いてプレイヤキャラクタ200Aをキュービックの右側面に配置したことを示している。また、敵キャラクタから離れた位置にキュービックを配置するようにしても良い。さらに、また、キュービックの重心位置に敵キャラクタを配置するようにしても良い。
図3で説明した戦闘シーンでは、プレイヤキャラクタが敵キャラクタに対して有利な位置を採るように、プレイヤキャラクタと敵キャラクタとの位置取りが行われる。そこで、このような位置取りを容易に実現するため、図28を参照しながらさらにフローチャートを説明する。
S25.2では、キュービックが所定速度を持って仮想空間としてのワールド座表系を進行する処理が行われる。既述のように、このキュービックも図3のパス16Aに沿って移動することとする。すなわち、ドラゴンと敵キャラクタの動きに合わせて、キュービックの位置が補正される。図28は、その過程を示すものである。
ドラゴンと敵キャラクタとが初期位置に在る状態からドラゴンが敵キャラクタに対して前方向に進むと、ドラゴンと敵キャラクタとを結ぶ直線の中心にキュービックの中心が来るようにキュービックの全体の位置が前進された補正が実行される。図の破線は補正前のキュービックの位置を示すものであり、図の実線はドラゴンの進行分に応じて前方に進行したキュービックの位置を示すものである。
キュービックの形態は、また、必要に応じて変形される(S25.4)。キュービックの変形が必要な場合とは、ドラゴンと敵キャラクタとの距離に応じて初期形態のキュービックの形態が変更される場合である。図29は両者が比較的離れた場合に径が大きくなるようにキュービックが変形され、また、両者の距離が比較的小さくなった場合、キュービックの径をそれに合わせて小さくなるようにした場合を示したものである。
キュービックの変形の第2の場合は、キュービックが通るルートに応じてキュービックの径が変形することである。図30はルートの幅290が狭い場合に、キュービックの幅を小さくした場合を示す。図30の場合には、キュービックとルートとの衝突判定がチェックされて、衝突判定が肯定された場合にキュービックを衝突判定が判定が否定されるようになるまで、所定の値ずつキュービックの一辺の長さが減じられることとする。
次いで、敵キャラクタとドラゴンとの位置替えステップ(S25.6)に移行する。このステップでは、図28で示すドラゴンの位置変化の過程で、ドラゴンと敵キャラクタがキュービックのコーナーの座標に近づいた際、コーナーとドラゴン又プレイヤキャラクタとの距離が所定値以下になったとき位置替えのためのフラグを立てて、CPU101はドラゴンをキュービックの前面の中心に移し、かつ敵キャラクタをこの前面に対向する後面の中心に強制的に移す処理を行う。
この時、プレイヤキャラクタと敵キャラクタとの間の距離が補正される。ドラゴンと敵キャラクタがキュービックのコーナーに近づくまで位置替えを伴うことなくキュービックが前進する。
この位置替えは、既述の4面の間で行われるが、上下面に位置替えが及ぶものであっても良い。後者の場合は、キュービックの上下面にも敵キャラクタ及びプレイヤキャラクタが移動する。仮想カメラがプレイヤキャラクタと敵キャラクタの後ろからこれらを撮影するシステムである関係上、キャラクタの移動が上下面に及ぶとドラゴンや敵キャラクタの映像が鏡像のように逆転する可能性もある。
S25.8において、プレイヤキャラクタ或いは敵キャラクタのキュービックにおける位置を制限することが必要な場合には、例えば図31に示すようにドラゴンの移動範囲をキュービックの下面寄りにするとともに、敵キャラクタの移動範囲をキュービックの上面寄りにする。また、図32,図33に示すように、ドラゴンをキュービックの上面寄りで敵キャラクタをその下面寄りにする。このようにすると、例えば敵キャラクタがプレイヤキャラクタに比べて長い場合(図33)に、両者が交錯しないようにしている。ドラゴンや敵キャラクタの移動範囲を制限することは、それぞれが移動できる座標値を指定して実行される。このような制限は、シリンダ様形状を利用した先に説明した実施の形態にも適用できることは当然である。このとき、シリンダの長径や短径の長さを自由に設定できる。シリンダの上下の幅に制限を設けることにより、ドラゴンの飛行範囲を制限することによることに基づき、遊戯者が敵キャラクタやプレイヤキャラクタを制御することを容易にしたり、又はゲームの展開(敵キャラクタとプレイヤキャラクタとの空間的な係わり合い等)を多様化することができる。
既述の実施形態は、プレイヤキャラクタと敵キャラクタとの間の戦闘(射撃)をシミュレートするゲーム機について説明されたが、本発明が適用できるものでれば、ゲームプログラムの種類が限定されるものではない。例えば、既述の予測動作をサッカーゲームに於けるPK戦の時のゴールキーパーによる相手チームからのキックに対する防御に応用することができる。また、シューティングの他の戦闘ゲームとしての格闘ゲームにも適用できる。
また、コリジョンの説明は、戦闘ばかりでなく、コマンドRPG等のゲームに使用することもできる。
また、既述の実施形態では、プレイヤキャラクタ或いはカーソルの移動を所定の領域に自動的に移動される場合について説明したが、これを遊戯者が自身で所定領域に予め移動させるようにすることも本発明に含まれるものである。
またさらに、キャラクタの設定先は、エリア毎に分かれたものでなく、例えば、決められたポイント(ある特定の空間座標箇所)であっても良い。要するに、事前に決められた箇所、領域或いは位置であれば良い。この箇所は、空間座標系に定義され、或いは画面座標系に定義され得る。またさらに、本発明を2次元座標系を基準としてスプライトゲームに適用することもできる。
なお、ゲーム機の動作用プログラムが記憶された記憶媒体としては、既述のカートリッジROM、CD−ROMの他にインターネット、パソコンネット上の通信媒体でも良い。また、前記移動キャラクタの移動先を複数の領域に分けるようにすることもできる。
また、所定の空間域としては、既述のシリンダ形状とキュービックの他に6面体を越える多角形や球状形であっても良い。
また、既述の実施形態では、エンカウントを戦闘(シューティングの上位概念)の処理モードに移行するための情報として説明したが、シューティングの他にアクション・格闘ゲーム、ゲームプログラム上の街での情報収集やストーリ展開のドラマ等の種々のゲームプログラムでよい。また、ロックオンカーソルの重み付けについて、敵キャラクタが複数の場合、種類が異なる仮想体の場合、各キャラクタ毎にコリジョンが設定されるだけでなく、そのキャラクタの種類によってロックオンカーソルが変わる、例えば、先に倒すことが有利なキャラクタに重み付けのカーソルが表示されるようにしても良い。すなわち、本願発明ではロックオンカーソルに重みを付けたカーソルが複数設定されて、敵キャラクタ種類や数に応じて重みを付けたカーソルを表示することができる。