以下、本発明の好ましい実施の形態を、図面を参照しながら説明する。なお、以下では全ての図を通じて同一または相当する要素には同一の参照符号を付して、その重複する説明を省略する。
[ハードウェアの構成]
図1は、本発明の実施の形態に係るゲーム装置の一例としての携帯型ビデオゲーム機の内部構成を示すブロック図である。図1に示すように、この携帯型ビデオゲーム機(以下、「ゲーム機」)1は、カラー液晶のディスプレイ2、操作部22、図示しないメディア装着部、制御部8を備えている。メディア装着部には、ゲームプログラム5aおよびゲームデータ5bが記録されている記録媒体であるゲームメディア5がセットされ、ゲーム機1の電源がオンされることにより、ゲームがスタートする。
制御部8にはCPU(Central Processing Unit)11、描画データ生成プロセッサ12、RAM(Random Access Memory)13、ROM(Read Only Memory)14、描画処理プロセッサ15、および音声処理プロセッサ18が含まれている。さらにゲーム機1は、この他にもVRAM(Video-RAM)16、アンプ19、スピーカ20、イヤホン端子21、操作部22、メディアインタフェース23、無線LANモジュール24、およびバス25を備えている。そして、これらのうちCPU11、描画データ生成プロセッサ12、RAM13、ROM14、描画処理プロセッサ15、音声処理プロセッサ18、操作部22、メディアインタフェース23、および無線LANモジュール24が、バス25によって相互にデータ伝送可能に接続されている。
操作部22は、プレイヤにより操作される方向キーと、操作されるボタン群とを含んでおり、プレイヤの操作を受け付けて、その操作内容に応じた操作信号をCPU11に入力する。また、方向キーおよびボタン群が有する各種のボタンは、プレイヤキャラクタの特定の動作を指示するための操作子である。また、操作部22には、これら操作子以外にゲーム機1の電源の入/切を行うための電源スイッチ等が含まれる。
メディアインタフェース23は、図示しないメディア装着部にセットされたゲームメディア5にアクセスしてゲームプログラム5aおよびゲームデータ5bを読み出す。このうちゲームプログラム5aは、後述するように、プレイヤキャラクタが味方キャラクタとともにゲーム空間内にてモンスター等の敵キャラクタを討伐する内容のゲームをゲーム機1に実行させるものである。また、ゲームデータ5bには、前記ゲームを実行する上で必要なデータとして、キャラクタや背景の画像データ、ステータスなどの情報表示用の画像データ、効果音やBGMなどの音声データ、文字や記号によるメッセージデータ等が含まれている。なお、記録媒体であるゲームメディア5は、半導体メモリのほか、光ディスクの一種であるUMD(Universal Media Disc)(登録商標)を採用することができる。
RAM13には、ゲームの進行に応じてゲームメディア5から読み込まれたゲームプログラム5aおよびゲームデータ5bを格納するロードエリア、並びに、CPU11がゲームプログラム5aを処理する際に使用するためのワークエリアが設定されている。ROM14には、ディスクローディング機能などのゲーム機1の基本的機能や、ゲームメディア5に記憶されているゲームプログラム5aおよびゲームデータ5bの読み出し処理を制御する基本プログラムが記憶されている。
CPU11は、ゲームメディア5に記録されているゲームプログラム5aおよびゲームデータ5bの全部または一部を、メディアインタフェース23を通じてRAM13に読み込み、プレイヤによる操作部22の操作に応じてこれを実行し、ゲーム進行を制御する。より具体的には、プレイヤに操作されることによって操作部22から操作信号が入力されると、CPU11は、ゲームプログラム5aに従ってその操作信号に対応する所定のゲーム進行処理を行い、その処理結果を、ゲーム進行を示す画像(以下、「ゲーム画像」)としてディスプレイ2に表示すると共に、ゲーム進行を示す音声信号(以下、「ゲーム音声」)をスピーカ20やイヤホン端子21に出力する。
前記ゲーム画像の描画は、CPU11の指示により、描画処理プロセッサ15が行う。即ち、CPU11は、操作部22から入力される操作信号に基づき、ディスプレイ2に表示すべきゲーム画像の内容を決定し、その内容に対して必要な描画データを描画データ生成プロセッサ12に生成させる。そして、その描画データを描画処理プロセッサ15に転送して描画処理を行わせる。描画処理プロセッサ15は、描画データに基づいて1/60秒毎にゲーム画像を生成し、生成したゲーム画像をVRAM16に書き込む。ディスプレイ2は、半透過型カラー液晶ディスプレイとバックライトLED(Light Emitting Diode)とを有し、VRAM16に書き込まれたゲーム画像を表示する。
また、CPU11は、ゲームの進行に応じて、スピーカ20から出力すべき効果音やBGM等の音声を決定し、その音声を発音するための音声データをRAM13から読み出して音声処理プロセッサ18に入力する。即ち、CPU11は、ゲームの進行に伴って発音イベントが発生すると、その発音イベントに応じた音声データ(ゲームメディア5からロードされた音声データ)をRAM13から読み出して音声処理プロセッサ18に入力する。音声処理プロセッサ18は、DSP(Digital Signal Processor)で構成されており、CPU11によって入力された音声データに対して所定の効果(例えば、リバーブ、コーラスなど)を付与したのちアナログ信号に変換して、アンプ19に出力する。アンプ19は、音声処理プロセッサ18から入力された音声信号を増幅したのち、スピーカ20およびイヤホン端子21に出力する。
無線LANモジュール24は、通信規格IEEE802.11b(使用周波数帯2.4GHz、通信速度11Mbps)に準拠した無線LANによって他のゲーム機1とデータ通信を行い、ネットワークを構成するための通信モジュールである。
[ゲームシステムの説明]
図2(a),(b)は、ゲーム機1がゲームプログラム5aを実行することによって、ディスプレイ2に表示されるゲーム画面40を示す模式図であり、このうち図2(a)は、敵キャラクタが地上にいる場合のゲーム画面40、図2(b)は、敵キャラクタが空中で飛行している場合のゲーム画面40をそれぞれ示している。本ゲーム機1により実現されるゲームでは、所定の広がりを有する一または複数の仮想空間(エリア)が設定されており、このエリアの一部分が、地上(空中を含む)または水中を表現する仮想の三次元ゲーム空間41として構築され、ゲーム画面40に表示される。そして、これらのゲーム空間41には、プレイヤキャラクタC1、モンスター(ボスモンスターおよび雑魚モンスター等)である敵キャラクタC2、および味方キャラクタC3が登場する。本ゲームで登場する味方キャラクタC3は、図2(a),(b)に示すように、2体(味方キャラクタC3−1,C3−2)である。
前記キャラクタのうちプレイヤキャラクタC1は、プレイヤが操作部22を操作することにより、その動作を直接的に制御することのできるキャラクタである。一方、敵キャラクタC2および味方キャラクタC3−1,C3−2は、いわゆるノンプレイヤキャラクタであり、プレイヤはその動作を直接的には制御することができず、ゲーム機1のCPU11によって動作が制御されるキャラクタである。このうち味方キャラクタC3は、プレイヤキャラクタC1につき従って行動するキャラクタである。プレイヤキャラクタC1は、この味方キャラクタC3を2体つき従えることができるが、1体のみでもよいし、3体以上であってもよい。
ノンプレイヤキャラクタのうち敵キャラクタC2は、プレイヤキャラクタC1によって討伐される対象であり、さまざまな種類のモンスターが含まれる。このうち、戦闘能力が相対的に高いモンスターが「ボスモンスター」であり、戦闘能力が相対的に低いモンスターが「雑魚モンスター」である。
そして、本ゲームは、プレイヤの操作によってプレイヤキャラクタC1をゲーム空間41内で行動させ、味方キャラクタC3と協力して各エリア内の敵キャラクタC2と戦闘を行い、当該敵キャラクタC2を討伐するアクションゲームになっている。
また、具体的には図示しないが、ゲーム画面40には、仮想的なカメラで撮像された仮想のゲーム空間41が描画される。この仮想的なカメラは、基本的にはプレイヤキャラクタC1の背後(手前)に配置されており、このカメラで撮像された各キャラクタC1〜C3およびゲーム空間41の映像が描画される。ただし、カメラの位置は、プレイヤによる操作部22の操作によって、プレイヤキャラクタC1を中心とする所定の円周上の任意の位置に変更することも可能であり、位置が変更された場合には、変更された位置でカメラによって撮像された映像が描画される。
なお、図2(a),(b)に示す地上のゲーム空間41は、プレイヤキャラクタC1および味方キャラクタC3が、地面に平行な二次元的な範囲内での動作(即ち、前後方向および左右方向の動作)が許容される空間(二次元動作許容ゲーム空間)として設定されている。なお、本ゲームにおけるゲーム空間41は、二次元動作許容ゲーム空間だけでなく、三次元的な範囲内での動作(即ち、前後方向、左右方向、および上下方向の動作)が許容される空間(三次元動作許容ゲーム空間)も含まれる。具体的には、例えば、水中、空中、宇宙空間等のゲーム空間を挙げることができる。従って、以下の説明ではゲーム空間として地上の場合を例示しているが、これに代えてゲーム空間を、水中、空中または宇宙空間として設定してもよい。
ところで、図1に示すように、ゲーム機1の制御部8は、当該ゲーム機1が備えるCPU11、描画データ生成プロセッサ12、RAM13、ROM14、描画処理プロセッサ15、および音声処理プロセッサ18により構成されている。そして、この制御部8は、ゲーム機1がゲームプログラム5aを実行して前記のようなゲームを実現するにあたって、所定の機能を発揮する。この所定の機能について、ゲーム機1が備える制御部8の機能的な構成を示すブロック図である図3を参照し、具体的に説明する。
図3に示すように、制御部8は、ゲーム空間生成手段8a、プレイヤキャラクタ制御手段8b、味方キャラクタ制御手段8c、および敵キャラクタ制御手段8dを備えている。このうちゲーム空間生成手段8aは、各キャラクタC1〜C3−2が行動するゲーム空間41を生成する。プレイヤキャラクタ制御手段8bは、プレイヤによる操作部22の操作に応じて、ゲーム空間41内で行動するプレイヤキャラクタC1の動作を制御する。
また、味方キャラクタ制御手段8cは、適宜プレイヤキャラクタC1および/または敵キャラクタC2の位置や動作等に関連させて、ゲーム空間41内で行動する味方キャラクタC3の動作を制御する。敵キャラクタ制御手段8dは、ゲームプログラム5aから読み出したデータに基づき、かつ、適宜プレイヤキャラクタC1および/または味方キャラクタC3の位置や動作等に関連させて、ゲーム空間41内で行動する敵キャラクタC2の動作を制御する。
ここで、味方キャラクタ制御手段8cにより制御される味方キャラクタC3の動作についてさらに詳述する。図4(a)は、プレイヤキャラクタC1および敵キャラクタC2に関連付けて設定された味方キャラクタC3の位置および状態を説明する模式図であり、図4(b)は、図4(a)に示す味方キャラクタC3による敵キャラクタC2のサーチ範囲と、この味方キャラクタC3が位置しているエリア全体との関係を示す模式図である。
本ゲームにおいては、2体の味方キャラクタC3は、プレイヤキャラクタC1および敵キャラクタC2の位置関係に基づき、味方キャラクタC3について予め用意された複数の状態から選択した一の状態をとるように味方キャラクタ制御手段8cにより制御される。具体的には、図4(a)に示すように、味方キャラクタC3−1,C3−2は、「追従状態」、「警戒状態」および「戦闘状態」の3つの状態のうち、常に何れか1つの状態となるように味方キャラクタ制御手段8cによって制御されており、これら味方キャラクタC3が何れの状態に設定されるかについては、味方キャラクタ制御手段8cによる敵キャラクタC2のサーチの結果によって決定される。また、味方キャラクタC3は、各状態において予め設定されている行動(モーション)を実行するように、味方キャラクタ制御手段8cにより制御される。この行動は、敵キャラクタC2に対する直接的な行動と間接的な行動とに分類され、前者の例として「攻撃」等が挙げられ、後者の例として「踊り」等が挙げられ、両者ともに実行可能な例として「威嚇」等が挙げられる。
味方キャラクタ制御手段8cによる敵キャラクタC2のサーチは、味方キャラクタC3を基準に予め設定されているサーチ範囲またはエリア全体に敵キャラクタC2が侵入しているか否かを判定する制御である。例えば、図4(b)に示すように、当該味方キャラクタC3を中心として、例えばゲーム空間41内で半径15mとなる円形のサーチ範囲A1が設定されており、味方キャラクタ制御手段8cは、このサーチ範囲A1およびエリア全体A0をサーチし、敵キャラクタC2の種類と侵入してきた領域の種類(サーチ範囲A1またはエリア全体A0)に応じて、味方キャラクタC3の取るべき状態を選択するよう制御する。
なお、サーチ範囲A1の半径は特に限定されず、ゲーム空間41の詳細設定、エリア全体A0の大きさ、味方キャラクタC3の大きさ、敵キャラクタC2の大きさ等の諸条件に応じて適切な値を設定することができる。
次に、各状態の概要について説明する。まず、「追従状態」は、味方キャラクタ制御手段8cによるサーチで敵キャラクタC2がサーチ範囲A1に侵入していないか、エリア全体A0に存在していないと判定されている状態であって、味方キャラクタC3は、味方キャラクタ制御手段8cにより、プレイヤキャラクタC1の後方につき従う位置となるように制御されている状態である。具体的には、例えば、図4(a)に示すように、他の状態と比較して、味方キャラクタC3−1,C3−2をプレイヤキャラクタC1に最も近接させている状態にある。この状態では、味方キャラクタ制御手段8cは、図4(b)に示すサーチ範囲A1またはエリア全体A0のいずれにおいても、敵キャラクタC2の侵入があったと判定していないので、味方キャラクタC3に、前述した各行動を実行させることなく、プレイヤキャラクタC1の周辺に随伴させる制御を行う。なお、エリア全体A0に敵キャラクタC2として「雑魚モンスター」が存在すると判定された場合、当該「雑魚モンスター」がサーチ範囲A1に侵入していると判定されない限り、味方キャラクタ制御手段8cは、味方キャラクタC3を次に説明する「警戒状態」に設定せず、「追従状態」に設定する。
「警戒状態」は、味方キャラクタ制御手段8cによるサーチでエリア全体A0に「ボスモンスター」である敵キャラクタC2が存在するものの、サーチ領域A1には進入していないと判定されている状態であって、味方キャラクタC3は、味方キャラクタ制御手段8cにより、プレイヤキャラクタC1の位置を基準とする領域に位置するように制御されている状態である。具体的には、例えば、図4(a)に示すように、味方キャラクタC3−1,C3−2を、プレイヤキャラクタC1から見て前方に位置させている状態にある。この状態は、味方キャラクタ制御手段8cが、エリア全体A0内に敵キャラクタC2が存在していると判定した場合に、必ず味方キャラクタC3に対して設定される状態ではなく、特に、敵キャラクタC2が「ボスモンスター」であって、かつ、サーチ範囲A1に侵入していないときに、味方キャラクタC3に対して設定される状態である。
具体的には、味方キャラクタ制御手段8cは、まず、エリア全体A0でサーチ範囲A1外に敵キャラクタC2が存在しているか否かを判定し、存在していると判定した場合には、さらに、敵キャラクタC2が「ボスモンスター」であるか「雑魚モンスター」であるか、についてさらに判定し、敵キャラクタC2を「ボスモンスター」であると判定したときには、味方キャラクタC3に「警戒状態」を設定する制御を行う。また、味方キャラクタ制御手段8cは、エリア全体A0でサーチ範囲A1外に存在する敵キャラクタC2が「雑魚モンスター」であると判定したときには、味方キャラクタC3に「警戒状態」を設定せず「追従状態」を維持する制御を行う。なお、「警戒状態」においては、味方キャラクタ制御手段8cは、味方キャラクタC3に、前述した「威嚇」、「踊り」等の行動を実行させる制御を行う。
「戦闘状態」は、味方キャラクタ制御手段8cによるサーチで「ボスモンスター」、「雑魚モンスター」を問わずに敵キャラクタC2がサーチ範囲A1内に侵入している状態であって、味方キャラクタC3は、味方キャラクタ制御手段8cにより、敵キャラクタC2の位置を基準とする領域に位置するよう制御されている状態である。具体的には、例えば、図4(a)に示すように、味方キャラクタC3を、プレイヤキャラクタC1の周囲ではなく敵キャラクタC2の周囲に移動させている状態にある。この状態において、味方キャラクタ制御手段8cは、味方キャラクタC3に、敵キャラクタC2に対して直接的な行動、例えば「攻撃」、「威嚇」等の行動を実行させる制御を行う。このように、「戦闘状態」は、サーチ範囲A1内に侵入された敵キャラクタC2が「ボスモンスター」であっても「雑魚モンスター」であっても、味方キャラクタ制御手段8cにより味方キャラクタC3に対して設定される。
ここで、味方キャラクタC3には、所定のパラメータが設定されており、味方キャラクタ制御手段8cは、このパラメータを利用して、味方キャラクタC3の移動目標位置を設定する制御を行う。本実施の形態では、所定のパラメータの一例として性格条件が用いられる。この性格条件としては、例えば、「勇敢」、「こざかしい」、「臆病」等の各種の「性格」が設定されており、プレイヤは、プレイヤキャラクタC1につき従わせる2体の味方キャラクタC3−1,C3−2として同じ性格の味方キャラクタC3または異なる性格の味方キャラクタC3を任意に選択することができる。選択された味方キャラクタC3は、味方キャラクタ制御手段8cの制御によって、プレイヤにより操作されるプレイヤキャラクタC1とともにゲーム空間上で行動する。さらに、各味方キャラクタC3−1またはC3−2は、味方キャラクタ制御手段8cの制御によって、前記各状態において性格条件に応じた独自の行動を実行したり、プレイヤキャラクタC1または敵キャラクタC2の周囲において独自の位置を取ったりするように制御される。この点については、味方キャラクタC3の位置制御とともに詳述する。
[味方キャラクタの位置制御・追従状態]
上述の通り、味方キャラクタ制御手段8cは、基本的に、2体の味方キャラクタC3−1,C3−2をプレイヤキャラクタC1につき従わせるように、当該味方キャラクタC3−1,C3−2の移動を制御するが、これら味方キャラクタC3−1またはC3−2が「戦闘状態」に移行したときには、味方キャラクタC3−1,C3−2をプレイヤキャラクタC1の周囲から敵キャラクタC2の周囲に移動させるよう制御する。この制御においては、プレイヤキャラクタC1の移動、敵キャラクタC2の出現または移動に応じて、味方キャラクタC3−1,C3−2が移動すべき位置(移動目標位置)を設定し、当該移動目標位置に向かって味方キャラクタC3−1,C3−2を移動させることになる。
そこで、味方キャラクタC3−1,C3−2の位置制御について、当該味方キャラクタC3−1,C3−2の状態別に、具体的に説明する。まず、「追従状態」における位置制御について、図5(a),(b)を参照して説明する。図5(a)は、「追従状態」における味方キャラクタC3−1,C3−2の移動目標位置を示す模式図であり、図5(b)は、プレイヤキャラクタC1が移動したときに味方キャラクタC3−1,C3−2が移動目標位置に向かって移動する状態を示す模式図である。なお、以下の説明では、必要に応じて、2体の味方キャラクタC3−1,C3−2のうち、一方を第一味方キャラクタC3−1と称し、他方を第二味方キャラクタC3−2と称する。
図5(a)に示すように、プレイヤキャラクタC1は、操作部22の操作によってゲーム空間41において進行方向Pに向かって進んでいく。ここで、プレイヤキャラクタC1の進行方向P側を前方、その反対側を後方としたときには、「追従状態」では、味方キャラクタ制御手段8cは、2体の味方キャラクタC3−1,C3−2を、プレイヤキャラクタC1の後方の所定位置に移動させるよう位置制御する。
具体的には、図5(a)に示すように、味方キャラクタ制御手段8cは、プレイヤキャラクタC1の周囲に、当該プレイヤキャラクタC1を中心として図中一点鎖線で示す追従円42を設定している。そして、この追従円42の円周上であってプレイヤキャラクタC1の後方であり、さらに進行方向Pを基準として線対称となる位置である、追従位置42a,42b(図中星印で示す)に、味方キャラクタC3−1,C3−2をそれぞれ移動させる。つまり、この追従位置42a,42bは、味方キャラクタC3−1,C3−2の位置制御における移動目標位置であり、味方キャラクタ制御手段8cは、「追従状態」であれば、この移動目標位置(追従位置42a,42b)に向かって、2体の味方キャラクタC3−1,C3−2を移動させるよう位置制御を行う。
追従位置42a,42bは、進行方向Pすなわち前方を0°とすれば、後方180°に対して同一の角度を成す位置となっていればよく、具体的な角度は特に限定されない。本実施の形態では、進行方向Pの右側後方である追従位置42aが110°の位置となっており、左側後方である追従位置42bが250°の位置となっている。この場合、後方180°に対してそれぞれ±70°を成していることになるので、プレイヤキャラクタC1に対して後方の左右対称となる位置に、味方キャラクタC3−1,C3−2がそれぞれつき従うことになる。また、追従円42の半径も特に限定されず、味方キャラクタC3−1,C3−2がプレイヤキャラクタC1に近過ぎたり離れすぎたりしない値であればよい。本実施の形態では、ゲーム空間41内で2mとなる値に設定されている。
また、味方キャラクタC3−1,C3−2のいずれが追従位置42aまたは42bに位置してもよい。図5(a)に示す例では、右側後方の追従位置42aに第一味方キャラクタC3−1が位置し、左側後方の追従位置42bに第二味方キャラクタC3−2が位置しているが、逆であってもよい。プレイヤキャラクタC1が進行方向Pを維持したままでゲーム空間41を移動すれば、味方キャラクタ制御手段8cは、味方キャラクタC3−1,C3−2を追従位置42a,42bに維持させた状態で、プレイヤキャラクタC1に随伴して移動させる。
ここで、図5(b)に示すように、プレイヤキャラクタC1が進行方向Pを転換するか、プレイヤキャラクタC1が移動すれば、これに伴って、味方キャラクタC3−1,C3−2に対する追従位置42a,42bの相対的な位置も変化する。そこで、味方キャラクタ制御手段8cは、味方キャラクタC3−1,C3−2を追従位置42a,42bに移動させるよう位置制御を行う。このとき、各味方キャラクタC3−1,C3−2は、追従位置42aまたは42bのいずれに移動してもよいが、味方キャラクタ制御手段8cは、移動距離が最も長くなる移動経路を除いた上で、味方キャラクタC3−1,C3−2をそれぞれ追従位置42aまたは42bに移動させる制御を行う。
具体的には、図5(b)に示すように、プレイヤキャラクタC1が、図中破線の楕円で示す位置pC1から太破線矢印で示す方向に移動して方向転換したとする。このとき、第一味方キャラクタC3−1は、経路M11により追従位置42aに移動可能であるとともに、経路M12により追従位置42bに移動可能である。また、第二味方キャラクタC3−2は、経路M21により追従位置42aに移動可能であるとともに、経路M22により追従位置42bに移動可能である。
ここで、4つの移動経路である経路M11〜M22のうち、経路M11の移動距離が最も長くなる。そこで、味方キャラクタ制御手段8cは、味方キャラクタC3−1,C3−2の移動経路の候補から経路M11を除外する。これによって、第一味方キャラクタC3−1の移動経路は経路M12のみとなるため、第一味方キャラクタC3−1は追従位置42bに移動する。一方、第二味方キャラクタC3−2は、経路M21およびM22のいずれかを選択できるものの、最長の経路M11が除外されることで第一味方キャラクタC3−1が追従位置42bに移動することが決定されるので、必然的に、第二味方キャラクタC3−2は追従位置42aに移動することになる。
味方キャラクタ制御手段8cによる前記「追従状態」における位置制御を、図6を参照して具体的に説明する。図6は、「追従状態」における味方キャラクタC3−1,C3−2の位置制御の一例を示すフローチャートである。
まず、プレイヤキャラクタC1の方向転換によって追従位置42a,42bが変化すれば、味方キャラクタ制御手段8cは、プレイヤキャラクタC1および敵キャラクタC2の情報を取得して(ステップS101)、当該情報から味方キャラクタC3−1,C3−2の移動目標位置である2つの追従位置42a,42bを算出する(ステップS102)。なお、取得される情報は、プレイヤキャラクタC1および敵キャラクタC2の現在位置座標、プレイヤキャラクタC1の進行方向Pの向き等が挙げられるが、必要に応じて、さらに他の情報が含まれてもよい。
次に、算出した追従位置42a,42bから、各味方キャラクタC3−1,C3−2それぞれについて、これら追従位置42aまたは42bへの移動経路(合計4つ)を算出する(ステップS103)。図5(b)に示す例では、経路M11,M12,M21およびM22の4つの移動経路を算出する。
次に、味方キャラクタ制御手段8cは、算出した4つの移動経路の候補のうち、最も長くなるものを選択する(ステップS104)。図5(b)に示す例では、経路M11が最も長いので、この経路M11を選択する。そして、味方キャラクタ制御手段8cは、選択された最長の移動経路が第一味方キャラクタC3−1の移動経路であるか否かを判定する(ステップS105)。
最長の移動経路が第一味方キャラクタC3−1のものであれば(ステップS105でYES)、味方キャラクタ制御手段8cは、当該第一味方キャラクタC3−1において他方の移動経路を選択し、移動目標位置を2つの追従位置42a,42bの一方に設定する(ステップS106)。次に、味方キャラクタ制御手段8cは、第二味方キャラクタC3−2の移動目標位置を2つの追従位置42a,42bの他方に設定し(ステップS107)、第一味方キャラクタC3−1および第二味方キャラクタC3−2を、移動目標位置として設定された追従位置42a,42bのそれぞれに移動させ(ステップS108)、一連の制御を終了する。図5(b)に示す例では、経路M11は第一味方キャラクタC3−1の移動経路であるので(ステップS105でYES)、味方キャラクタ制御手段8cは経路M12を選択し、第一味方キャラクタC3−1の移動目標位置として追従位置42bを設定(ステップS106)した後に、第二味方キャラクタC3−2の移動目標位置として追従位置42aを設定し(ステップS107)、その後、第一味方キャラクタC3−1および第二味方キャラクタC3−2を追従位置42bおよび追従位置42aへそれぞれ移動させる(ステップS108)。
一方、最長の移動経路が第二味方キャラクタC3−2のものであれば(ステップS105でNO)、味方キャラクタ制御手段8cは、当該第二味方キャラクタC3−2において他方の移動経路を選択し、移動目標位置を2つの追従位置42a,42bの一方に設定する(ステップS109)。次に、味方キャラクタ制御手段8cは、第一味方キャラクタC3−1の移動目標位置を2つの追従位置42a,42bの他方に設定し(ステップS110)、第一味方キャラクタC3−1および第二味方キャラクタC3−2を、移動目標位置として設定された追従位置42a,42bのそれぞれに移動させ(ステップS111)、一連の制御を終了する。
プレイヤキャラクタC1は、プレイヤによる操作部22の操作で常に移動したり方向転換したりするキャラクタであるため、味方キャラクタ制御手段8cは、フレーム毎にプレイヤキャラクタC1の方向転換の有無を判断し、あるフレームで方向転換があった場合には、その後のフレームにて、上述した味方キャラクタC3−1,C3−2の移動の制御を実行する。それゆえ、味方キャラクタ制御手段8cが前記の位置制御を行うことで、2体の味方キャラクタC3−1,C3−2の移動が全体的に遅くなることを十分に抑制し、プレイヤキャラクタC1に対して2体の味方キャラクタC3−1,C3−2を有効につき従わせることができる。
また、前記位置制御では、プレイヤキャラクタC1の移動または方向転換によって、左右後方につき従う味方キャラクタC3−1,C3−2が頻繁に入れ替わることもあり得る。これによって、ゲーム画面40上で常に画像の動きが生じることになるため、ゲーム画面40に敵キャラクタC2が確認できない状態であっても、表示画面が単調になるおそれを低減し、娯楽性を高めることができる。
なお、前記位置制御においては、味方キャラクタC3−1,C3−2の移動目標位置は、プレイヤキャラクタC1の位置を基準として決定される。ここで、プレイヤキャラクタC1の位置はフレーム毎で変わるため、味方キャラクタC3−1,C3−2から追従位置42a,42bまでの各距離の長短関係もフレーム毎に変わってしまうおそれがある。例えば、味方キャラクタC3−1,C3−2から見て、1フレーム前までは最も長い経路が、次のフレームではそうではなくなる場合もある。この場合、上述した図6のステップS104では、現時点のフレームを基準として、当該フレームで最も長い経路を選択するように制御すればよい。
また、追従位置42a,42bは、プレイヤキャラクタC1につき従う味方キャラクタC3−1,C3−2の定位置として設定することができる。したがって、味方キャラクタC3が「警戒状態」または「戦闘状態」に設定されておらず、ゲーム空間41の各エリアを移動しているときだけでなく、次に説明する「警戒状態」および「戦闘状態」に設定されているときも、味方キャラクタ制御手段8cは、所定の条件を満たせば、味方キャラクタC3−1,C3−2を追従位置42a,42bに復帰させるよう制御する。
例えば、味方キャラクタC3が敵キャラクタC2との戦闘で死亡したとき、若しくは、戦闘を取り止めて撤退したとき、後述する壁当たり対応のように、味方キャラクタC3を移動目標位置に移動させることができないとき、または、ゲーム空間41内でプレイヤキャラクタC1が別のエリアへ移動したとき等には、味方キャラクタ制御手段8cは、味方キャラクタC3−1,C3−2を追従位置42a,42bに移動させればよい。
[味方キャラクタの位置制御・警戒状態]
次に、「警戒状態」における位置制御について、図7(a),(b)を参照して説明する。図7(a)は、「警戒状態」における味方キャラクタC3−1,C3−2の移動目標位置を示す模式図であり、図7(b)は、敵キャラクタC2が移動したときに味方キャラクタC3−1,C3−2が移動目標位置に向かって移動する状態を示す模式図である。
前述した通り、「警戒状態」では、味方キャラクタ制御手段8cによるサーチでエリア全体A0に「ボスモンスター」である敵キャラクタC2が存在するものの、サーチ領域A1には進入していないと判定されている状態にある。このとき、図7(a)に示すように、味方キャラクタ制御手段8cは、プレイヤキャラクタC1と敵キャラクタC2とを通る直線であるキャラクタ対向線Fを設定するとともに、プレイヤキャラクタC1の周囲に、当該プレイヤキャラクタC1を中心として図中一点鎖線で示す警戒円43を設定している。そして、この警戒円43の領域内であって、プレイヤキャラクタC1の前方でキャラクタ対向線Fを基準として線対称となる位置である、警戒領域43a,43b(図中斜線の略扇形の領域で示す)に、味方キャラクタC3−1,C3−2をそれぞれ移動させる。
つまり、この警戒領域43a,43bは、味方キャラクタC3−1,C3−2の位置制御における移動目標位置が設定される領域であり、味方キャラクタ制御手段8cは、「警戒状態」であれば、この移動目標位置(警戒領域43a,43b内の位置)に向かって、2体の味方キャラクタC3−1,C3−2を移動させるよう位置制御を行う。ここで、警戒領域43a,43bは、「追従状態」における追従位置42a,42bとは異なり、警戒円43の円周上で特定の一点の位置に設定されておらず、警戒円43内の一部の面または警戒円43の円周上の弧に相当する領域として設定されている。言い換えれば、「警戒状態」における味方キャラクタC3−1,C3−2の取り得る位置は、警戒円43内または円周上で特定の一点の位置に固定されておらず、複数の位置を含む所定の範囲内で広がりをもって設定されている。
警戒領域43a,43bは、キャラクタ対向線Fを基準として、同一の角度範囲を成す略扇形、あるいは、警戒円43の円周上の弧として設定されていればよく、具体的な角度範囲は特に限定されない。本実施の形態では、キャラクタ対向線Fを基準として±45〜70°の範囲となるように警戒領域43a,43bが設定されている。なお、キャラクタ対向線FをプレイヤキャラクタC1の前方に設定するので、前述した追従位置42a,42bと同様に、前方(キャラクタ対向線F)を0°とすれば、図7(a)に示すように、警戒領域43aの角度範囲は45〜70°であり、警戒領域43bの角度範囲は290〜315°である。そして、各警戒領域43a,43bの範囲内で移動位置目標となる地点は原則として任意に選択され、この選択は、プレイヤキャラクタC1が移動したときなど、所定のタイミングで逐次実行される。
「警戒状態」は「追従状態」とは異なり、味方キャラクタ制御手段8cは、味方キャラクタC3−1,C3−2に、敵キャラクタC2に対して「威嚇」や「踊り」等の特有の行動を実行させる(図4(a)参照)。また、敵キャラクタC2も停止しているわけではなく、敵キャラクタ制御手段8dによって移動したり威嚇したりする等の制御が行われる。そして、プレイヤキャラクタC1は、敵キャラクタC2の移動や動作に合わせて警戒態勢を取りつつ移動するため、「追従状態」と比較して方向転換の頻度が高くなる傾向にある。それゆえ、味方キャラクタC3−1,C3−2の移動目標位置を特定の一点に決定しておくと、味方キャラクタC3−1,C3−2を特定の一点の移動目標位置に適切に移動させることができないおそれがある。
また、プレイヤキャラクタC1の後方に位置する「追従状態」と比較して、「警戒状態」では、味方キャラクタC3−1,C3−2の位置はプレイヤキャラクタC1の前方に移動する。また、「警戒状態」では、味方キャラクタ制御手段8cは、味方キャラクタC3−1,C3−2に「威嚇」等の行動を実行させるよう制御するため、味方キャラクタC3−1,C3−2が、プレイヤキャラクタC1の前方の特定の一定の位置に固定されると、味方キャラクタC3−1,C3−2の移動や行動が不自然に見える可能性もある。
逆に、図7(a)で説明したように、警戒領域43a,43bが一定の広がりを持つ角度範囲に設定されていれば、プレイヤキャラクタC1および敵キャラクタC2のそれぞれの移動に合わせて、味方キャラクタC3−1,C3−2を、プレイヤキャラクタC1を守るような位置で常にアクティブに移動させるように位置制御できるので、ゲーム性を高めることが可能となる。
警戒領域43a,43bに位置する味方キャラクタC3は、追従位置42a,42bと同様に、第一味方キャラクタC3−1または第二味方キャラクタC3−2のいずれかに特定されない。図7(a)に示す例では、右側前方の警戒領域43aに第一味方キャラクタC3−1が位置し、左側前方の警戒領域43bに第二味方キャラクタC3−2が位置しているが、逆であってもよい。
また、味方キャラクタC3−1,C3−2の位置制御のタイミングは特に限定されないが、少なくとも、味方キャラクタ制御手段8cは、毎フレーム位置制御を行えばよく、さらに、プレイヤキャラクタC1が移動または方向転換したり、敵キャラクタC2が移動したりすれば、味方キャラクタ制御手段8cは、位置制御を再度実行すればよい。例えば、プレイヤキャラクタC1が敵キャラクタC2に向かって進んだり、逆に敵キャラクタC2との間合いを取るために退いたりするときには、味方キャラクタ制御手段8cは、味方キャラクタC3−1,C3−2の位置制御を行う。
あるいは、図7(b)に示すように、味方キャラクタC3−1,C3−2が「警戒状態」を維持したままで敵キャラクタC2のみが移動した場合にも、味方キャラクタ制御手段8cは、味方キャラクタC3−1,C3−2の位置制御を行う。図7(b)に示す例では、プレイヤキャラクタC1の正面となる、図中破線の楕円で示す位置pC2から太破線矢印で示す方向に敵キャラクタC2が移動したとする。味方キャラクタ制御手段8cは、これに合わせてキャラクタ対向線Fおよび警戒円43を再度設定し、警戒領域43a,43bに味方キャラクタC3−1,C3−2を移動させる制御を行う。
さらに、プレイヤキャラクタC1が移動しなくても、味方キャラクタC3−1,C3−2はプレイヤキャラクタC1の前方で警戒領域43a,43bを維持した状態にあるが、定期的に位置制御を再度実行してもよい。これによって、プレイヤキャラクタC1の前方で味方キャラクタC3−1,C3−2を常にアクティブに移動させることができる。なお、定期的な位置制御を実行するタイミングは特に限定されない。
ところで、警戒円43の半径は特に限定されないが、前述した追従円42とは異なり、一定の値に設定されておらず、味方キャラクタC3−1,C3−2の性格条件に合わせて、異なる値となるように設定されている。この点について図8を参照して具体的に説明する。図8は、味方キャラクタC3に設定されているパラメータである性格条件に合わせて設定されている、半径の異なる複数の警戒円43の一例を示す模式図である。
例えば、味方キャラクタC3−1,C3−2に対して、前述の通り、「勇敢」、「こざかしい」、および「臆病」の3種類の性格が設定されているとする。このとき、図8に示すように、「勇敢」な味方キャラクタC3では、警戒円43の半径がゲーム空間41内で8mに設定され、「こざかしい」味方キャラクタC3では、警戒円43の半径が6mに設定され、「臆病」な味方キャラクタC3では、警戒円43の半径が4mに設定されている。
「警戒状態」は、警戒の対象である敵キャラクタC2が攻撃力の高い「ボスモンスター」であるため、「ボスモンスター」の攻撃に、プレイヤキャラクタC1および味方キャラクタC3−1,C3−2の全員が巻き込まれないように、互いの距離を開けておく必要がある。したがって、最も警戒円43の半径が小さい場合でも、「追従状態」の追従円42よりも大きな半径が設定される。ここで、「臆病」な味方キャラクタC3においては、当該味方キャラクタC3が、プレイヤキャラクタC1から離れ、敵キャラクタC2に近づくことを怖がっていることを表現するため、警戒円43の半径が最も小さくなるように設定されている。一方、「勇敢」な味方キャラクタC3においては、当該味方キャラクタC3の戦闘意欲が旺盛であることを表現するため、警戒円43の半径が最も大きくなるように設定されている。「こざかしい」味方キャラクタC3における警戒円43の半径は、これらの中間に設定されている。
それゆえ、「警戒状態」にある味方キャラクタC3−1,C3−2のいずれも、図7(a),(b)に示すように、プレイやキャラクタC1から同じ距離に位置するとは限らず、性格条件に応じて、一方の味方キャラクタC3がより敵キャラクタC2に近づく位置に移動し、他方の味方キャラクタC3はプレイヤキャラクタC1に近い位置に移動する。このように、味方キャラクタC3のそれぞれを性格条件に基づいた移動目標位置に移動させることにより、当該味方キャラクタC3に与えられた性格条件を表現することができる。
なお、本ゲームにおいては、味方キャラクタC3に設定可能な性格条件の種類を多くしたり、警戒円43の半径の種類を増やしたりしておくことで、「警戒状態」における2体の味方キャラクタC3の挙動が単調になるおそれを抑制し、ゲーム性をより一層高めることができる。例えば、味方キャラクタC3の性格が、「勇敢」、「こざかしい」および「臆病」の3種類だけでなく、4種類以上である場合、あるいは、同じ性格でも任意の条件に応じて警戒円43の半径が異なるように制御される場合等に、同じプレイヤがプレイ毎に2体の味方キャラクタC3を任意に選択し直したり、異なるプレイヤ同士で2体の味方キャラクタC3を任意に選択したりしても、2体の味方キャラクタC3の組合せが同じ挙動を示す可能性を低くすることができる。
また、本ゲームにおいては、味方キャラクタC3の位置制御に用いられるパラメータが性格特性であるが、本発明はこれに限定されず、他のパラメータを用いることができる。具体的なパラメータとしては、例えば、味方キャラクタC3の攻撃力、防御力、体力の最大値、職業(役割)、性別等の設定値または条件、あるいは、ゲームの進行によって変化する体力、スタミナ等の変化値等が挙げられるが、特に限定されない。
また、本ゲームにおいては、プレイヤは、ゲーム画面40上にて2体の味方キャラクタC3を適宜選択することができるが、2体の味方キャラクタC3のうち、いずれが第一味方キャラクタC3−1で、いずれが第二味方キャラクタC3−2であるかについても、前記パラメータとして用いることができる。例えば、ディスプレイ2において味方キャラクタC3を選択するゲーム画面40が表示され、プレイヤが操作部22を操作することで、メインとなる味方キャラクタC3(すなわち第一味方キャラクタC3−1)と、サブとなる味方キャラクタC3(すなわち第二味方キャラクタC3−2)とを選択するように構成されていれば、このメインまたはサブという味方キャラクタC3の設定も前記パラメータに含まれるため、味方キャラクタC3の位置制御に用いることができる。あるいは、ゲーム画面40上で、プレイヤが意図的にメインまたはサブを選択するのではなく、複数の味方キャラクタC3の候補のうち、最初に選択されたものがメインである第一味方キャラクタC3−1として設定され、次に選択されたものがサブである第二味方キャラクタC3−2として設定され、このメインまたはサブという設定が前記パラメータとして用いられてもよい。
さらに、本ゲームにおいては、警戒領域は、警戒円43の円周上の弧または警戒円43内の略扇形の領域として設定されているが、本発明はこれに限定されず、他のさまざまな形状の領域に設定することができる。例えば、矩形、楕円形、五角形以上の多角形、星形等といった図形の辺、あるいは、これら図形(円も含む)の形状を有する面の領域が挙げられ、さらには三次元的な領域であってもよい。
また、本ゲームにおいては、キャラクタ対向線Fを基準として警戒領域43a,43bが左右対称に設定されているが、本発明はこれに限定されず、警戒領域は、プレイヤキャラクタC1と敵キャラクタC2とを通る直線を基準として左右に分割されていればよく、左右の警戒領域は線対称に配置されなくてもよい。なお、キャラクタ対向線Fは、プレイヤキャラクタC1と敵キャラクタC2とを通る直線であればよいが、本実施の形態では、プレイヤキャラクタC1の基準点(原点座標)と、敵キャラクタC2の基準点(原点座標)を通る線として設定されている。さらに、左右の警戒領域は、それぞれ異なる形状に設定されてもよい。例えば、左右一方の警戒領域が弧状であって他方が直線状であってもよいし、一方の警戒領域が面状であって他方が線状であってもよいし、一方の警戒領域が扇形であって他方が矩形であってもよい。
ここで、味方キャラクタ制御手段8cは、2体の味方キャラクタC3−1,C3−2のうち、いずれか一方の移動目標位置を、他方の移動目標位置よりも優先的に選択するように制御する。本実施の形態では、第一味方キャラクタC3−1の移動目標位置が第二味方キャラクタC3−2の移動目標位置に優先するように設定されている。そして、位置制御が再度実行されるときには、味方キャラクタ制御手段8cは、第一味方キャラクタC3−1の移動目標位置(警戒領域43aまたは43bの一方)を優先的に選択し、次に第二味方キャラクタC3−2の移動目標位置(警戒領域43aまたは43bの他方)を選択した上で、各味方キャラクタC3−1,C3−2をそれぞれの警戒領域43aまたは43bへ移動させるよう制御を行う。
このとき、各味方キャラクタC3において異なる性格条件が設定されていれば、警戒円43の半径も各味方キャラクタC3それぞれで異なる。例えば、図8に示すように、味方キャラクタ制御手段8cは、「臆病」な味方キャラクタC3の移動目標位置を、半径4mの警戒円43内となる位置に設定し、「勇敢」な味方キャラクタC3の移動目標位置を8mの警戒円43内となる位置に設定し、「こざかしい」味方キャラクタC3の移動目標位置を6mの警戒円43内となる位置に設定することになる。ここで、「勇敢」な味方キャラクタC3の移動目標位置は、「臆病」な味方キャラクタC3の移動目標位置となる半径4mの警戒円43内を含んでもよいし、半径4mの警戒円43内を除いた領域であってもよい。「勇敢」な味方キャラクタC3の移動目標位置となり得る領域の半径をRiとすれば、0m<Ri≦8mであってもよいし、4m<Ri≦8mであってもよい。「こざかしい」味方キャラクタC3の移動目標位置も同様である。
それゆえ、例えば、第一味方キャラクタC3−1の性格条件が「勇敢」で第二味方キャラクタC3−2の性格条件が「臆病」であったとすれば、味方キャラクタ制御手段8cは、「勇敢」な第一味方キャラクタC3−1を、「臆病」な第二味方キャラクタC3−2に設定されている半径4mの警戒円43における警戒領域43aまたは43bに移動させてもよいし、移動させないようにしてもよい。いずれにせよ、味方キャラクタ制御手段8cは、「勇敢」な味方キャラクタC3を、常に、半径8mの警戒円43における警戒領域43aまたは43bのいずれか近い方に移動させることになる。
そして、味方キャラクタ制御手段8cは、「臆病」な第二味方キャラクタC3−2を、前方左右の警戒領域43a,43bのうち、キャラクタ対向線Fを基準として、第一味方キャラクタC3−1が移動した側とは反対側に移動させればよい。例えば、味方キャラクタ制御手段8cによって、第一味方キャラクタC3−1が、半径8mの警戒円43の円周上で左側の警戒領域43bに移動すれば、第二味方キャラクタC3−2は、半径4mの警戒円43の円周上で右側の警戒領域43aに移動するように制御される。これによって、2体の味方キャラクタC3−1,C3−2が同じ左側または右側に移動するように制御されることがなく、2体の味方キャラクタC3−1,C3−2の間で十分な距離を保持することができるので、敵キャラクタC2、特に「ボスモンスター」の攻撃により味方キャラクタC3−1,C3−2の両者が同時に巻き込まれることを防止することができる。
味方キャラクタ制御手段8cによる前記「警戒状態」における位置制御を、図9を参照して具体的に説明する。図9は、「警戒状態」における味方キャラクタC3−1,C3−2の位置制御の一例を示すフローチャートである。
まず、味方キャラクタ制御手段8cは、「ボスモンスター」である敵キャラクタC2がエリア全体A0でサーチ範囲A1外に存在するか否かを判定する(ステップS201)。存在していなければ(ステップS201でNO)、味方キャラクタC3−1,C3−2の状態を「追従状態」に維持する(ステップS202)が、存在していれば(ステップS201でYES)、味方キャラクタC3の状態を「追従状態」から「警戒状態」へ移行する(ステップS203)。
次に、味方キャラクタ制御手段8cは、敵キャラクタC2および味方キャラクタC3−1,C3−2の情報を取得し(ステップS204)、取得した情報のうち、味方キャラクタC3−1,C3−2の性格特性に応じて、プレイヤキャラクタC1の位置を中心として所定半径の警戒円43を設定する(ステップS205)。なお、取得される情報は、敵キャラクタC2の種類、味方キャラクタC3−1,C3−2の性格特性、敵キャラクタC2および味方キャラクタC3−1,C3−2の現在位置座標等が挙げられるが、必要に応じて、さらに他の情報が含まれてもよい。また、味方キャラクタC3−1,C3−2の性格特性が同じであれば、当該性格特性に基づく半径の警戒円43を1つのみ設定し、性格特性が異なっていれば、それぞれの性格特性に基づく半径の警戒円43を2つ設定する。
次に、味方キャラクタ制御手段8cは、警戒円43の例えば円周上でプレイヤキャラクタC1の左右前方となる領域に、2つの警戒領域43a,43bを設定する(ステップS206)。なお、味方キャラクタC3−1,C3−2の性格特性が同じであって警戒円43が1つのみ設定されている場合であっても、性格特性が異なっており警戒円43が2つ設定されている場合であっても、警戒領域43a,43bは、プレイヤキャラクタC1の左右前方となる位置にそれぞれ設定される。
次に、味方キャラクタ制御手段8cは、第一味方キャラクタC3−1の移動目標位置の設定を第二味方キャラクタC3−2の移動目標位置の設定に優先させ、第一味方キャラクタC3−1の移動目標位置を、左右前方の警戒領域43a,43bのうち一方、例えば近い方に設定する(ステップS207)。その後、味方キャラクタ制御手段8cは、第二味方キャラクタC3−2の移動目標位置を、第一味方キャラクタC3−1の移動目標位置とは、キャラクタ対向線Fを基準として反対側となる警戒領域43aまたは43bに設定する(ステップS208)。なお、警戒円43が2つ設定されている場合には、警戒領域43a,43bは2箇所ずつとなるが、味方キャラクタ制御手段8cは、2体の味方キャラクタC3−1,C3−2の移動目標位置を左右の一方(例えば右側)のみに設定することはなく、第二味方キャラクタC3−2の移動目標位置は、常に、第一味方キャラクタC3−1の移動目標位置とは反対側に設定される。
その後、味方キャラクタ制御手段8cは、第一味方キャラクタC3−1および第二味方キャラクタC3−2を、移動目標位置として設定された左右の警戒領域43a,43bのそれぞれに移動させ(ステップS209)、一連の制御を終了する。
前記位置制御においても、前記「追従状態」の位置制御と同様に、2体の味方キャラクタC3−1,C3−2の移動が全体的に遅くなることを十分に抑制することができるとともに、プレイヤキャラクタC1の前方で味方キャラクタC3−1,C3−2を常にアクティブに移動させることも可能となる。
なお、同一エリア内に複数の敵キャラクタC2がいる場合には、味方キャラクタ制御手段8cによる「警戒状態」への移行の判定は、「ボスモンスター」に限られる。また、同一エリア内に敵キャラクタC2として複数の「ボスモンスター」がいる場合には、味方キャラクタ制御手段8cによる「警戒状態」への移行の判定は、プレイヤキャラクタC1に近い方の「ボスモンスター」を優先する。すなわち、味方キャラクタ制御手段8cは、プレイヤキャラクタC1に近い方の「ボスモンスター」とプレイヤキャラクタC1とを通る直線(キャラクタ対向線F)を設定し、味方キャラクタC3の移動目標位置を決定する。さらに、後述する「戦闘状態」と「警戒状態」とが重なった場合には、味方キャラクタ制御手段8cは「戦闘状態」への移行を優先する。
[味方キャラクタの位置制御・戦闘状態]
次に、「戦闘状態」における位置制御について、図10、図11(a),(b)および図12(a),(b)を参照して説明する。図10は、「戦闘状態」における味方キャラクタC3の移動目標位置を示す模式図である。また、図11(a),(b)は、「戦闘状態」における2体の味方キャラクタC3−1,C3−2の移動目標位置の例をそれぞれ示す模式図である。また、図12(a),(b)は、「戦闘状態」において敵キャラクタC2が移動したときに味方キャラクタC3−1,C3−2が移動目標位置に向かって移動する状態を示す模式図である。
前述した「警戒状態」では、味方キャラクタ制御手段8cは、プレイヤキャラクタC1と敵キャラクタC2とを通る直線であるキャラクタ対向線Fを設定した上で、当該プレイヤキャラクタC1を中心として警戒円43を設定し、この警戒円43の円周上または警戒円43内に移動目標位置である警戒領域43a,43bを設定していたが、「戦闘状態」では、図10に示すように、敵キャラクタC2を中心とする戦闘円44を設定し、この戦闘円44の円周上または戦闘円44内に移動目標位置である戦闘領域440を設定している。この戦闘領域440も、警戒領域43a,43bと同様に、味方キャラクタC3−1,C3−2の位置制御における移動目標位置が設定される領域である。それゆえ、味方キャラクタ制御手段8cは、「戦闘状態」であれば、この移動目標位置(戦闘領域440内の位置)に向かって2体の味方キャラクタC3−1,C3−2を移動させるように位置制御を行う。
図10に示す戦闘円44内の領域では、プレイヤキャラクタC1に対面する領域(敵キャラクタC2から見て前方)を除いて複数の戦闘領域440が設定されている。これは、敵キャラクタC2に対する攻撃の主役をプレイヤキャラクタC1とし、味方キャラクタC3を攻撃の脇役とするためである。したがって、味方キャラクタ制御手段8cは、味方キャラクタC3を、プレイヤキャラクタC1の周囲から敵キャラクタC2の周囲に移動させるよう位置制御を行う。
戦闘円44の半径は特に限定されないが、本実施の形態では、敵キャラクタC2に設定されている壁当たり円(図示せず)の半径の1.5倍に設定されている。壁当たり円は、敵キャラクタC2が壁等の障害物オブジェクトに接触しているか否かを判定するために設定されており、敵キャラクタC2の種類によってその半径は異なっている。それゆえ、戦闘円44の半径を壁当たり円の半径を基準として設定することで、味方キャラクタC3は、敵キャラクタC2の種類が異なっても略一定の間合いを取ることができる。なお、戦闘円44が壁当たり円の何倍であるかは特に限定されず、本ゲームの各種設定に応じて適切な倍率を設定することができる。
戦闘領域440としては、キャラクタ対向線Fを基準として線対称となるように、戦闘円44の例えば円周上で敵キャラクタC2を挟むように右方戦闘領域440aと左方戦闘領域440bとが設定されている(図10では白抜きの両端矢印で示す)。また、右方戦闘領域440aおよび左方戦闘領域440bのいずれも、プレイヤキャラクタC1から見て近い位置、中間位置および遠くなる位置で3つの戦闘領域440に分割されている(図10では黒の両端矢印および斜線の略扇形の領域で示す)。プレイヤキャラクタC1に最も近い領域を、近接戦闘領域441a,441bと称し、中間位置の領域を、中間戦闘領域442a,442bと称し、最も遠い領域を、遠隔戦闘領域443a,443bと称する。
また、プレイヤキャラクタC1から見て、向かって右側に位置する領域が上述した右方戦闘領域440aであり、この右方戦闘領域440aが、近接戦闘領域441a,中間戦闘領域442aおよび遠隔戦闘領域443aにそれぞれ分割されている。同様に、プレイヤキャラクタC1から見て、向かって左側に位置する領域が上述した左方戦闘領域440bであり、この左方戦闘領域440bが、近接戦闘領域441b,中間戦闘領域442bおよび遠隔戦闘領域443bにそれぞれ分割されている。
戦闘円44において設定される戦闘領域440の広がり、すなわち、戦闘円44が略扇形であっても円周上の弧であっても、その角度範囲については特に限定されない。本実施の形態では、図10に示すように、近接戦闘領域441a,441bが最も狭い角度範囲で、遠隔戦闘領域443a,443bが最も広い角度範囲で、中間戦闘領域442a,442bがその中間の角度範囲となっている。つまり、プレイヤキャラクタC1に近い戦闘領域440の角度範囲が相対的に小さく設定され、プレイヤキャラクタC1から離れるにしたがって戦闘領域440の角度範囲が大きく設定されている。
なお、各戦闘領域440の具体的な角度範囲は特に限定されない。例えば、近接戦闘領域441a,441bをそれぞれ30°、中間戦闘領域442a,442bをそれぞれ40°、遠隔戦闘領域443a,443bをそれぞれ50°に設定する例を挙げることができる。また、戦闘領域440は、図10に示すような左右それぞれ3分割の構成に限定されず、右方戦闘領域440aおよび左方戦闘領域440bが4分割以上されてもよいし、2分割であってもよいし、各戦闘領域440の角度範囲もさまざまな範囲に設定することができる。
戦闘領域440は、「警戒状態」における警戒領域43a,43bと同様に、戦闘円44の円周上の特定の一点の位置に設定されておらず、戦闘円44内の略扇形または円周上の弧に相当する領域として設定されている。このように戦闘領域440が一定の広がりを持つ角度範囲に設定されていれば、味方キャラクタ制御手段8cは、味方キャラクタC3を、敵キャラクタC2に対して遊撃的に攻撃するように位置制御できるので、味方キャラクタC3の動作を自然な動作に見せることが可能となり、ゲーム性を高めることが可能となる。
複数の戦闘領域440に味方キャラクタC3を移動させる制御は、「警戒状態」における警戒円43の半径の調整と同様に、味方キャラクタC3の性格条件に基づいて行われる。例えば、味方キャラクタC3に対して、前述の通り、「勇敢」、「こざかしい」、および「臆病」の3種類の性格が設定されているとすれば、味方キャラクタ制御手段8cは、図10に示すように、「臆病」な味方キャラクタC3を近接戦闘領域441a,441bに移動させ、「勇敢」な味方キャラクタC3を中間戦闘領域442a,442bに移動させ、「こざかしい」味方キャラクタC3は遠隔戦闘領域443a,443bに移動させる。
ここで、味方キャラクタC3は、前述したように第一味方キャラクタC3−1および第二味方キャラクタC3−2の2体が存在するので、それぞれの味方キャラクタC3に設定される性格条件が同じであれば、同じ戦闘領域440に移動する可能性があるので、「警戒状態」と同様に一方の味方キャラクタC3を優先して左右の戦闘領域440a,440bのいずれか一方に移動させ、その後に他方の味方キャラクタC3を他方の領域へ移動させる。これに対して、設定される性格条件が異なっていれば、このような一方の移動を優先させる必要はなく、性格条件に合わせて現在位置から最短で移動可能な戦闘領域440に味方キャラクタC3を移動させればよい。
具体的には、2体の味方キャラクタC3−1,C3−2の性格条件として、いずれも「臆病」が設定されていれば、味方キャラクタ制御手段8cは、各味方キャラクタC3−1,C3−2を、近接戦闘領域441a,441bのいずれかに移動させることになる。そこで、味方キャラクタ制御手段8cは、第一味方キャラクタC3−1の移動目標位置を優先して設定するように位置制御を行い、図11(a)に示すように、例えば、第一味方キャラクタC3−1の移動目標位置を右方の近接戦闘領域441aに先に設定し、その後、第二味方キャラクタC3−2の移動目標位置を左方の近接戦闘領域441bに設定する。この例では、「戦闘状態」に対応する位置制御を開始する直前において、第一味方キャラクタC3−1の位置から見て近接戦闘領域441aが近接戦闘領域441bよりも近かったために、味方キャラクタ制御手段8cは、第一味方キャラクタC3−1の移動目標位置を近接戦闘領域441aに設定している。したがって、味方キャラクタC3の移動目標位置としては、原則として、より近い戦闘領域440が選択される。
なお、移動目標位置の設定が優先される味方キャラクタC3は、必ずしも第一味方キャラクタC3−1に固定されていなくてもよい。例えば、2体の味方キャラクタC3−1,C3−2のうち、移動目標位置に最も近い方について先に移動目標位置を設定し、他方の移動目標位置を後から設定する位置制御が行われてもよい。また、味方キャラクタC3の性格等のパラメータを用いて優先順位を決定してもよい。図11(a)に示す例であれば、「戦闘状態」に対応する位置制御を開始する直前において、第二味方キャラクタC3−2の位置が、左方の近接戦闘領域441bに近く、第一味方キャラクタC3−1の位置が、近接戦闘領域441a,441bのいずれからも、第二味方キャラクタC3−2と左方の近接戦闘領域441bとの間の距離に比較して遠ければ、味方キャラクタ制御手段8cは、第二味方キャラクタC3−2の移動目標位置を先に近接戦闘領域441bに設定し、その後、第一味方キャラクタC3−1の移動目標位置を近接戦闘領域441bに設定するよう位置制御を行うことになる。
一方、2体の味方キャラクタC3−1,C3−2の性格条件として、異なる特性が設定されていれば、各性格条件に対応した戦闘領域440を移動目標位置として設定すればよい。例えば、第一味方キャラクタC3−1に対して「こざかしい」が設定され、第二味方キャラクタC3−2に対して「臆病」が設定されていれば、図11(b)に示すように、第一味方キャラクタC3−1の移動目標位置が左方の遠隔戦闘領域443bに設定されるとともに、第二味方キャラクタC3−2の移動目標位置も左方の近接戦闘領域441bに設定される。この例では、「戦闘状態」に対応する位置制御を開始する直前において、各味方キャラクタC3−1,C3−2から見て左方が右方よりも近かったことになる。
さらに、味方キャラクタC3−1,C3−2が「戦闘状態」を維持したままで敵キャラクタC2のみが移動した場合には、「警戒状態」と同様に、味方キャラクタ制御手段8cは、味方キャラクタC3−1,C3−2の位置制御を再度実行する。例えば、図12(a)における向かって左側に示すように、図11(b)に示すキャラクタの配置から敵キャラクタC2のみが太破線矢印で示す方向に移動したとする。なお、敵キャラクタC2の移動前の位置は、図中破線の楕円で示す位置pC2である。また、図12(a),(b)においては、説明の便宜上、説明に関わる戦闘領域440にのみ符号を付している。
もし、移動後の敵キャラクタC2の周囲で元の戦闘領域440の配置が維持されれば、図12(b)における向かって右側に示すように、近接戦闘領域441bがプレイヤキャラクタC1と敵キャラクタC2との間に位置することになり、また、遠隔戦闘領域443bが敵キャラクタC2の側方に位置することになる。しかしながら、実際には、戦闘領域440の配置は味方キャラクタ制御手段8cにより再度設定される。
すなわち、味方キャラクタ制御手段8cは、敵キャラクタC2の移動に合わせてキャラクタ対向線Fおよび戦闘円44を再度設定し、図12(b)に示すように、敵キャラクタC2からプレイヤキャラクタの方を見て右前方(プレイヤキャラクタC1から見て左側手前)に近接戦闘領域441bが位置し、右後方(プレイヤキャラクタC1から見て左側奥)に遠隔戦闘領域443bが位置する。そして、味方キャラクタ制御手段8cは、第一味方キャラクタC3−1を遠隔戦闘領域443bに移動目標位置に設定し、第二味方キャラクタC3−2を近接戦闘領域441bに移動目標位置に設定して、それぞれを移動させることになる。
なお、図12(a),(b)に示す例では、味方キャラクタ制御手段8cは、第一味方キャラクタC3−1も第二味方キャラクタC3−2も左方の戦闘領域440に移動させているが、これは、再設定後の左右の戦闘領域440のうち左方の戦闘領域440が味方キャラクタC3−1,C3−2から近いためであり、右方の戦闘領域440が近ければ、味方キャラクタ制御手段8cは、味方キャラクタC3−1,C3−2を右方に移動させる。このように、味方キャラクタC3の移動目標位置としては、原則として、現在位置から、より近い位置が選択されるので、味方キャラクタ制御手段8cは、味方キャラクタC3−1,C3−2を、設定されている性格条件に対応する左右の戦闘領域440のうち移動経路が最短となる方に移動させるよう制御すればよい。
このように、「警戒状態」および「戦闘状態」のいずれにおいても、味方キャラクタ制御手段8cは、プレイヤキャラクタC1の位置と敵キャラクタC2の位置と味方キャラクタC3の性格条件とに基づいて、複数の味方キャラクタC3のそれぞれの移動目標位置を設定し、当該移動目標位置へ向かって味方キャラクタC3を移動させる制御を行っているが、「警戒状態」においては移動目標位置がプレイヤキャラクタC1の前方に設定されているのに対して、「戦闘状態」においては、移動目標位置が敵キャラクタC2の周囲に設定されている点で異なっている。
なお、本ゲームにおいては、戦闘領域440は、戦闘円44内または円周上の領域として設定されているが、本発明はこれに限定されず、「警戒状態」における警戒領域と同様に、他のさまざまな形状の領域に設定することができる。また、本ゲームにおいては、キャラクタ対向線Fを基準として戦闘領域440が左右対称に設定されているが、本発明はこれに限定されず、戦闘領域440は、プレイヤキャラクタC1と敵キャラクタC2とを通る直線を基準として左右に分割されていればよく、左右の戦闘領域440は線対称に配置されなくてもよい。さらに、左右の戦闘領域440は、それぞれ異なる形状に設定されてもよい。
味方キャラクタ制御手段8cによる前記「戦闘状態」における位置制御を、図13を参照して具体的に説明する。図13は、「戦闘状態」における味方キャラクタC3−1,C3−2の位置制御の一例を示すフローチャートである。
まず、味方キャラクタ制御手段8cは、敵キャラクタC2がサーチ範囲A1内に侵入したか否かを判定する(ステップS301)。侵入していなければ(ステップS301でNO)、味方キャラクタC3−1,C3−2の状態を「追従状態」または「警戒状態」に維持する(ステップS302)が、存在していれば(ステップS301でYES)、味方キャラクタC3の状態を「追従状態」または「警戒状態」から「戦闘状態」へ移行する(ステップS303)。
次に、味方キャラクタ制御手段8cは、敵キャラクタC2および味方キャラクタC3−1,C3−2の情報を取得し(ステップS304)、取得した情報に基づいて敵キャラクタC2の周囲に戦闘領域440を設定する(ステップS305)。この戦闘領域440は、前述したとおり、敵キャラクタC2の周囲に設定された戦闘円44の円周上に設定される複数の弧または戦闘円44内に設定される複数の略扇形の領域であって、各戦闘領域440には、味方キャラクタC3の性格特性が関連付けられている。なお、取得される情報は、敵キャラクタC2の種類、味方キャラクタC3−1,C3−2の性格特性、敵キャラクタC2および味方キャラクタC3−1,C3−2の現在位置座標等が挙げられるが、必要に応じて、さらに他の情報が含まれてもよい。
次に、味方キャラクタ制御手段8cは、2体の味方キャラクタC3−1,C3−2の性格条件が同じであるか否かを判定する(ステップS306)。性格条件が同じ(前述の例では、いずれも「臆病」)であれば(ステップS306でYES)、第一味方キャラクタC3−1の移動目標位置の設定を第二味方キャラクタC3−2の移動目標位置の設定に優先させ、第一味方キャラクタC3−1の移動目標位置を、キャラクタ対向線Fを基準として線対称に設定される左右の戦闘領域440(前述の例では、近接戦闘領域441a,441b)の一方、例えばいずれか近い方(前述の例では、近接戦闘領域441a)に設定する(ステップS307)。その後、味方キャラクタ制御手段8cは、第二味方キャラクタC3−2の移動目標位置を他方(前述の例では、近接戦闘領域441b)に設定する(ステップS308)。その後、味方キャラクタ制御手段8cは、第一味方キャラクタC3−1および第二味方キャラクタC3−2を、移動目標位置として設定された左右の戦闘領域440にそれぞれ移動させ(ステップS309)、一連の制御を終了する。
一方、2体の味方キャラクタC3−1,C3−2の性格条件が異なっていれば(ステップS306でNO)、味方キャラクタ制御手段8cは、各味方キャラクタC3−1,C3−2の移動目標位置を、それぞれの性格条件に対応する戦闘領域440のうち現在位置に近接する方に設定する(ステップS310)。前述の例では、「こざかしい」第一味方キャラクタC3−1の移動目標位置を遠隔戦闘領域443bに設定し、「臆病」な第二味方キャラクタC3−2の移動目標位置を近接戦闘領域441bに設定する。その後、味方キャラクタ制御手段8cは、第一味方キャラクタC3−1および第二味方キャラクタC3−2を、移動目標位置として設定された各戦闘領域440にそれぞれ移動させ(ステップS310)、一連の制御を終了する。
なお、本ゲームでは、敵キャラクタC2としては、地上を移動するものだけでなく、空中を飛行するものも含まれる(図2(b)参照)。つまり、敵キャラクタ制御手段8dは、
二次元移動する敵キャラクタC2と三次元移動をする敵キャラクタC2とを制御するよう構成されている。それゆえ、味方キャラクタ制御手段8cは、味方キャラクタC3を、二次元移動する敵キャラクタC2にも三次元移動する敵キャラクタC2に対しても「戦闘状態」を設定させることができる。そして、三次元移動する敵キャラクタC2に対して「戦闘状態」の位置制御を行う場合には、平面視したときの敵キャラクタC2の位置を基準として戦闘領域を設定すればよい。ただし、飛行する敵キャラクタC2に攻撃を加えるためには、当該敵キャラクタC2が地上付近に存在することが必要である。そのため、味方キャラクタ制御手段8cは、飛行する敵キャラクタC2の高度が所定の高さ未満であるときのみに、味方キャラクタC3を「戦闘状態」に移行させるよう制御すればよい。
ここで、前述したように「戦闘状態」で敵キャラクタC2の周囲に設定される戦闘円44は、壁当たり円の半径よりも大きな半径となっている。したがって、戦闘円44の例えば円周上に戦闘領域440が設定される場合には、敵キャラクタC2がさまざまな障害物オブジェクトに接触していなくても、戦闘領域440が障害物オブジェクトに接触したり障害物オブジェクトの位置に重なったりする可能性がある。そこで、本ゲームでは、味方キャラクタ制御手段8cは、味方キャラクタC3を戦闘領域440に移動させる制御において、壁当たり対応と称する制御を行う。この壁当たり対応について、図14(a),(b)を参照して具体的に説明する。図14(a),(b)は、敵キャラクタC2が壁等のオブジェクトに近接したときの味方キャラクタC3の制御の例を示す模式図である。
具体的には、例えば、味方キャラクタ制御手段8cが、味方キャラクタC3−1,C3−2のうち、第二味方キャラクタC3−2を、所定の戦闘領域440内に設定される移動目標位置(図中では符号を付さず)に移動させる位置制御を行うときに、図14(a)に示すように、当該移動目標位置が、例えば障害物オブジェクトである壁51の位置に重なっているとする。この場合、第二味方キャラクタC3−2を移動目標位置に移動させることができないので、味方キャラクタ制御手段8cは、味方キャラクタC3(前記の例では第二味方キャラクタC3−2)を移動できないと判定し、第二味方キャラクタC3−2の位置制御のフローを中断して、当該位置制御を再度実行する。
あるいは、味方キャラクタ制御手段8cが、第二味方キャラクタC3−2を、所定の戦闘領域440内に設定される移動目標位置(図中では符号を付さず)に移動させる位置制御を行うときに、図14(b)に示すように、敵キャラクタ制御手段8dの制御によって、敵キャラクタC2が、例えば障害物オブジェクトである壁52に近接した位置に存在しているとする。このとき、味方キャラクタ制御手段8cが、第二味方キャラクタC3−2を所定の戦闘領域440(図中では符号を付さず)に移動させることができたとしても、第二味方キャラクタC3−2と敵キャラクタC2との間に壁52が介在しているとする。
ここで、味方キャラクタ制御手段8cは、味方キャラクタC3を、攻撃の種類に応じてさまざまな位置や方向に移動させる制御を行うことができる。このような攻撃移動を図中MAの矢印で示すと、図14(b)に示す状態では、味方キャラクタ制御手段8cは、第一味方キャラクタC3−1に敵キャラクタC2への攻撃移動MAを実行させることができるが、第二味方キャラクタC3−2については、壁52に阻まれて敵キャラクタC2に攻撃移動MAを実行させることができない。この場合、味方キャラクタ制御手段8cは、味方キャラクタC3(前記の例では第二味方キャラクタC3−2)を移動させることができないと判定し、当該味方キャラクタC3の位置制御を再度実行する。このときの位置制御としては、「追従状態」における追従位置42a,42bに味方キャラクタC3を復帰させる制御を採用することができる。
なお、味方キャラクタ制御手段8cは、味方キャラクタC3を移動できない、または、攻撃できないと判定するときには、移動できない状態または攻撃できない状態が一定時間継続することを基準としている。この一定時間の具体的な長さは特に限定されないが、本ゲームでは、移動できない時間を2秒、攻撃できない時間を5秒に設定している。
また、前記壁当たり対応の例は「戦闘状態」の位置制御に適用される場合であるが、もちろん「警戒状態」の位置制御にも同様に適用される。例えば、プレイヤキャラクタC1の移動により、当該プレイヤキャラクタC1の前方が壁等の障害物オブジェクトに重なれば、味方キャラクタ制御手段8cは、予め設定されている待機動作を味方キャラクタC3に一定時間実行させ、その後、再び警戒領域43a,43bへの移動を目指すように位置制御することができる。
さらに、味方キャラクタ制御手段8cは、味方キャラクタC3に、戦闘領域440内の移動目標位置から敵キャラクタC2に対して攻撃を実行させた後には、当該味方キャラクタC3を元の移動目標位置に戻すように制御する。また、味方キャラクタ制御手段8cは、味方キャラクタC3を移動目標位置に戻した後に、敵キャラクタC2の情報(現時位置座標等)を取得して、戦闘領域440内で新たな移動目標位置を決定し、当該移動目標位置に味方キャラクタC3を移動させる。すなわち、味方キャラクタ制御手段8cは、味方キャラクタC3に攻撃をさせた後には、再度の位置制御を実行するよう構成されている。また、味方キャラクタ制御手段8cは、味方キャラクタC3に攻撃を行わせた後に、元の移動目標位置に戻す前に位置制御を実行してもよい。このとき、他の味方キャラクタC3の移動目標位置と重ならないように移動目標位置が設定される。
ここで、本ゲームにおいては、味方キャラクタC3を独自に攻撃させる制御を行うときに、味方キャラクタC3に標的傾向が設定されている。具体的には、味方キャラクタC3に設定されている性格条件等のパラメータに応じて、当該味方キャラクタC3に攻撃の対象(標的)となる敵キャラクタC2の種類に傾向(すなわち標的傾向)が設定されている。そして、味方キャラクタ制御手段8cは、標的傾向に基づいて、味方キャラクタC3に敵キャラクタC2を攻撃させるように制御する。これにより、味方キャラクタC3を「戦闘状態」に移行させたときに一律に敵キャラクタC2を攻撃させるよう制御しないため、プレイヤから見て味方キャラクタの攻撃パターンが単調に見える可能性が低下し、ゲーム性を高めることができる。
本ゲームにおける標的傾向は、味方キャラクタC3に設定されている性格条件等のパラメータに応じて、「ボスモンスター」または「雑魚モンスター」のいずれを優先して標的として抽選するか、という設定となっている。例えば、「雑魚モンスター」を標的とする確率および「ボスモンスター」を標的とする確率に基づいて、次の表1に示す5段階の標的傾向を設定することができる。
なお、前記表1の例において、「雑魚モンスター一筋」に設定されている味方キャラクタC3のサーチ範囲A1内に、「ボスモンスター」である敵キャラクタC2が侵入したことを味方キャラクタ制御手段8cが判定すれば、当該味方キャラクタ制御手段8cは、「ボスモンスター」である敵キャラクタC2に対して所定の戦闘領域440に移動して攻撃を行うよう制御すればよい。「ボスモンスター一筋」の味方キャラクタC3のサーチ範囲A1内に「雑魚モンスター」である敵キャラクタC2が侵入したと判定された場合も同様である。
また、味方キャラクタC3は、味方キャラクタ制御手段8cにより制御されるため、ゲーム空間41内では、プレイヤキャラクタC1から独立して自由に行動することができる。しかしながら、味方キャラクタ制御手段8cは、味方キャラクタC3を、できる限りプレイヤキャラクタC1と行動を共にさせ、かつ、敵キャラクタC2に対しては共闘させるように制御する。それゆえ、味方キャラクタ制御手段8cは、味方キャラクタC3にどのような標的傾向が設定されていても、原則として、プレイヤキャラクタC1が攻撃している敵キャラクタC2を共に攻撃するように制御される。
さらに、味方キャラクタC3が攻撃態勢を開始するきっかけは、味方キャラクタ制御手段8cによりサーチ範囲A1内に敵キャラクタC2が侵入したと判定された時点であるが、このとき、味方キャラクタ制御手段8cは、味方キャラクタC3に常に攻撃態勢を開始させるのではなく、原則として、プレイヤキャラクタC1が攻撃態勢を開始したことに合わせて、味方キャラクタC3も攻撃態勢を開始するように制御される。これは、前記の通り、味方キャラクタC3がプレイヤキャラクタC1につき従って共に敵キャラクタC2と戦うキャラクタとして設定されていることによる。
例えば、プレイヤキャラクタC1が攻撃態勢に無い場合には、味方キャラクタ制御手段8cは、原則として味方キャラクタC3の攻撃態勢を解除させる(図4(a)における向かって右側参照)。一方、プレイヤキャラクタC1が攻撃態勢にあれば、味方キャラクタ制御手段8cは、これに合わせて味方キャラクタC3に攻撃態勢を開始させる。ただし、プレイヤキャラクタC1が攻撃態勢に無い場合でも、味方キャラクタC3に攻撃態勢を開始させる場合もある。例えば、味方キャラクタC3が敵キャラクタC2に攻撃されたとき、プレイヤキャラクタC1が敵キャラクタC2に攻撃されたとき等には、プレイヤキャラクタC1が攻撃態勢に無くても、味方キャラクタ制御手段8cは、味方キャラクタC3に独自に攻撃態勢を開始させる。
また、「警戒状態」または「戦闘状態」において、味方キャラクタ制御手段8cが、プレイヤキャラクタC1の攻撃態勢の解除が一定時間に達したと判定すれば、味方キャラクタ制御手段8cは、味方キャラクタC3に攻撃態勢を解除させてもよい。また、「戦闘状態」において、味方キャラクタ制御手段8cが、味方キャラクタC3のサーチ範囲A1からプレイヤキャラクタC1が一定時間外れたと判定すれば、味方キャラクタC3に攻撃態勢を解除させてもよい。なお、前記一定時間は、味方キャラクタC3に設定されている性格条件に応じて異なる値に設定される。例えば、「臆病」な味方キャラクタC3の場合には短く(例えば4秒)、「勇敢」な味方キャラクタC3の場合には長く(例えば20秒)、「こざかしい」味方キャラクタC3の場合にはその中間くらい(例えば10秒)に設定すればよい。
このように、「戦闘状態」において、味方キャラクタ制御手段8cにより、味方キャラクタC3の攻撃態勢をさまざまに制御することで、ゲーム空間41内で、味方キャラクタC3がプレイヤキャラクタC1につき従って行動するような演出を表現することができる。
なお、本実施の形態では、味方キャラクタC3が2体である場合について例示したが、本発明はこれに限定されず、味方キャラクタC3が3体以上であってもよいことはいうまでもない。また、本実施の形態では、プレイヤキャラクタC1および味方キャラクタC3は、地上を移動する場合についてのみ例示したが、本発明はこれに限定されず、水中を移動する場合や空中を移動する場合であってもよい。さらに、本実施の形態では、プレイヤキャラクタおよび敵キャラクタの位置関係に基づいて選択される複数の状態が、「追従状態」、「警戒状態」および「戦闘状態」の3つであるが、もちろんこれに限定されず、他の状態を含んでもよい。
また、本発明では、味方キャラクタ制御手段8cは、「戦闘状態」において、敵キャラクタC2の位置を基準とする第一の領域を設定し、この第一の領域を、味方キャラクタに設定されているパラメータに関連付けて複数の第二の領域に分割して、これら複数の第二の領域のいずれかを移動目標位置として設定するよう構成されていればよい。本実施の形態では、第一の領域が戦闘領域440全体であり、近接戦闘領域441a,441b、中間戦闘領域442,442b、および遠隔戦闘領域443a,443bが第二の領域であるが、これらのように、キャラクタ対向線Fを基準に左右に分割されて第一の領域および第二の領域が設定されなくてもよい。また、第一の領域が面として設定されていれば、当該第一の領域は、敵キャラクタC2とプレイヤキャラクタC1とを通る直線(本実施の形態ではキャラクタ対向線F)の少なくとも一部を包含するように設定されればよい。
同様に、本発明では、味方キャラクタ制御手段8cは、「警戒状態」において、プレイヤキャラクタC1の位置を基準とし、かつ、味方キャラクタC3に設定されているパラメータに関連付けられた、異なる大きさを有する第三の領域を設定し、この第三の領域を、移動目標位置として設定するよう構成されていればよい。本実施の形態では、第三の領域が追従位置42a,42bであるが、これらのように、キャラクタ対向線Fを基準に左右に分割されて第三の領域が設定されなくてもよい。また、第三の領域が面として設定されていれば、当該第三の領域は、敵キャラクタC2とプレイヤキャラクタC1とを通る直線(本実施の形態ではキャラクタ対向線F)の少なくとも一部を包含するように設定されればよい。
また、本発明においては、味方キャラクタ制御手段8cは、味方キャラクタC3が非戦闘状態に設定されている場合には、プレイヤキャラクタC1および敵キャラクタC2の位置関係に基づいて、プレイヤキャラクタC1から見て進行方向Pの斜め後ろとなる位置に複数の移動目標位置を設定し、この移動目標位置へ向かって味方キャラクタC3を移動させる制御を行う構成である。この制御は、「追従状態」における位置制御であり、味方キャラクタ制御手段8cは、「追従状態」、「警戒状態」および「戦闘状態」の全ての位置制御を行うように構成されていると好ましいが、いずれか1つまたは2つの制御のみを行うよう構成されてもよい。また、味方キャラクタ制御手段8cは、「追従状態」における位置制御で、追従位置42a,42bを決定するために設定される追従円42を、「警戒状態」における警戒円43と同様に、味方キャラクタC3に設定されているパラメータに基づいて、半径を異ならせるように制御することもできる。
さらに、「追従状態」における位置制御では、味方キャラクタC3の移動目標位置は、前述したように、追従円42の円周上の特定の一点である追従位置42a,42b(図5(a),(b)参照)に設定されるが、本発明はこれに限定されず、「警戒状態」における警戒領域43a,43bまたは「戦闘状態」における戦闘領域440のように、味方キャラクタ制御手段8cは、追従位置42a,42bを弧や面等の領域内に設定するよう制御することもできる。
また、本実施の形態では、一人のプレイヤがオフラインゲームを行う場合について例示したが、本発明はこれに限定されず、複数のプレイヤが独自のプレイヤキャラクタを同一の仮想ゲーム空間内に登場させ、これらを共同させて行動させるオンラインゲームに適用してもよい。また、本実施の形態では、ゲーム装置が携帯ゲーム機である場合について例示したが、本発明はこれに限定されず、据え置き型のゲーム装置、携帯電話機、パーソナルコンピュータ等のコンピュータ装置においても適用することができる。