説明

ゲームプログラム、記憶媒体およびコンピュータ装置

【課題】複数のサブキャラクタの行動を独自制御しつつ、1つの群れとして行動するサブキャラクタの生態をリアルに表現できるゲームプログラムおよびこのプログラムを記憶した記憶媒体、このプログラムを実行するコンピュータ装置を提供する。
【解決手段】複数のノンプレイヤキャラクタの行動範囲に他のノンプレイヤキャラクタまたはプレイヤキャラクタである出現キャラクタがいる等の所定の条件を満たすとき、複数のノンプレイヤキャラクタの行動範囲を、例えば1のゲームステージから1のゲームステージ内の所定領域に縮小する。出現キャラクタの周囲を所定領域として複数のノンプレイヤキャラクタに出現キャラクタを守る行動を行わせたり、ゲームステージ内の予め定められた固定領域を所定領域として複数のノンプレイヤキャラクタに出現キャラクタを攻撃する行動を行わせたりする。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、プレイヤキャラクタと戦う敵キャラクタが1つのゲームステージに複数登場するアクションゲーム等のゲームを実行するプログラム、記憶媒体およびコンピュータ装置に関する。
【背景技術】
【0002】
現在多くの人に親しまれているゲームとしてハンティングアクションゲームがある。
ハンティングアクションゲームでは、遊戯者が操作するプレイヤキャラクタがハンターとなり、敵キャラクタであるモンスター(メインモンスター)を討伐することによりミッション(クエスト)を達成していき、ゲームを進行させる。メインモンスター(大型モンスター)は攻撃力と体力の高い(強い)モンスターであり、各クエストに1頭(または2頭)出現する。一方、サブモンスター(小型モンスター)は攻撃力と体力の低い(弱い)モンスターであり、クエストが行われる各ゲームステージに多数出現する。これらのサブモンスターには、外見や特性がよく似たボスにあたるメインモンスターが存在する(非特許文献1)。
【0003】
このように、このゲームでは、メインモンスターがサブモンスターよりも強いという力関係を設定している。例えば、サブモンスターが存在するゲームステージにメインモンスターが出現すると、サブモンスターに他のステージへ逃げ出す行動をさせ、敵対関係を表現している。また、例えばメインモンスターの呼びかけに応じてサブモンスターを同じゲームステージに出現させ、主従関係を表現している。
【0004】
【非特許文献1】「モンスターハンターポータブル2nd公式ガイドブック」株式会社エンターブレイン、2007年7月18日、p.88−98
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上述のようなサブモンスターとメインモンスターとの関係は、複数のサブモンスター1頭1頭の行動によって表現されており、サブモンスター全体として統一されていなかった。そのため、各サブモンスターがバラバラの行動をとったり、行動を行うタイミングがずれ過ぎたりして、1つの群れとして行動するサブモンスターの生態をリアルに表現できていなかった。
【0006】
この発明は、複数のサブキャラクタの行動を独自制御しつつ、1つの群れとして行動するサブキャラクタの生態をリアルに表現できるゲームプログラムおよびこのプログラムを記憶した記憶媒体、このプログラムを実行するコンピュータ装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1の発明は、コンピュータを、プレイヤキャラクタおよびノンプレイヤキャラクタが行動するゲーム空間を生成するゲーム空間制御手段、前記ゲーム空間内に、遊戯者によって操作されるプレイヤキャラクタを生成し、遊戯者の操作に応じて、該プレイヤキャラクタの前記ゲーム空間内における行動を制御するプレイヤキャラクタ制御手段、前記ゲーム空間内に複数のノンプレイヤキャラクタを生成し、該ノンプレイヤキャラクタの前記ゲーム空間内における行動を制御するノンプレイヤキャラクタ制御手段、として機能させるゲームプログラムであって、前記ノンプレイヤキャラクタ制御手段は、所定の条件を満たすとき、前記複数のノンプレイヤキャラクタの前記ゲーム空間内における行動範囲を縮小することを特徴とする。
【0008】
請求項2の発明は、請求項1に記載の発明において、前記所定の条件は、前記複数のノンプレイヤキャラクタの前記行動範囲に、他のノンプレイヤキャラクタである出現キャラクタがいることを含むことを特徴とする。
【0009】
請求項3の発明は、請求項1に記載の発明において、前記所定の条件は、前記複数のノンプレイヤキャラクタの前記行動範囲に、プレイヤキャラクタである出現キャラクタがいることを特徴とする。
【0010】
請求項4の発明は、請求項1乃至請求項3のいずれかに記載の発明において、前記ゲーム空間制御手段は、前記ゲーム空間内に1又は複数のゲームステージを生成し、前記ノンプレイヤキャラクタ制御手段は、前記複数のノンプレイヤキャラクタの前記行動範囲を1のゲームステージとし、前記所定の条件を満たすとき、前記複数のノンプレイヤキャラクタの行動範囲を前記1のゲームステージ内の所定領域とすることを特徴とする。
【0011】
請求項5の発明は、請求項2または請求項3に記載の発明において、前記ノンプレイヤキャラクタ制御手段は、前記出現キャラクタの周囲を前記所定領域とすることを特徴とする。
【0012】
請求項6の発明は、請求項5に記載の発明において、前記ノンプレイヤキャラクタ制御手段は、前記複数のノンプレイヤキャラクタに前記所定領域内で前記出現キャラクタを守る行動を行わせることを特徴とする。
【0013】
請求項7の発明は、請求項4に記載の発明において、前記ノンプレイヤキャラクタ制御手段は、前記ゲームステージ内の予め定められた固定領域を前記所定領域とすることを特徴とすることを特徴とする。
【0014】
請求項8の発明は、請求項7に記載の発明において、前記ノンプレイヤキャラクタ制御手段は、前記複数のノンプレイヤキャラクタに前記所定領域内で前記出現キャラクタを攻撃する行動を行わせることを特徴とする。
【0015】
請求項9の発明は、請求項8に記載の発明において、前記ノンプレイヤキャラクタ制御手段は、前記出現キャラクタが前記所定領域内にいる場合、前記複数のノンプレイヤキャラクタに前記出現キャラクタを攻撃する行動を行わせ、前記出現キャラクタが前記所定領域外にいる、かつ前記複数のノンプレイヤキャラクタの前記出現キャラクタに対する攻撃可能性を示すパラメータが一定値以上の場合、前記複数のノンプレイヤキャラクタに前記出現キャラクタを攻撃する行動を行わせることを特徴とする。
【0016】
請求項10の発明は、請求項9に記載の発明において、前記ノンプレイヤキャラクタ制御手段は、前記攻撃可能性を示すパラメータを、前記複数のノンプレイヤキャラクタと前記出現キャラクタとの距離が近いほど上昇させ、前記ノンプレイヤキャラクタが前記出現キャラクタから攻撃によるダメージを受けるほど上昇させることを特徴とする。
【0017】
請求項11の発明は、請求項4に記載の発明において、前記ノンプレイヤキャラクタ制御手段は、前記出現キャラクタに対して、前記複数のノンプレイヤキャラクタの味方であるか敵であるかを示す属性を設定し、前記所定領域を、前記出現キャラクタの前記属性に応じて、前記出現キャラクタの周囲または前記ゲームステージ内の予め定められた固定領域のいずれか一方に決定することを特徴とする。
【0018】
請求項12の発明は、請求項4に記載の発明において、前記ノンプレイヤキャラクタ制御手段は、前記出現キャラクタに対して、行動形態または行動能力を示すステータスを設定し、前記所定領域を、前記出現キャラクタの前記ステータスに応じて、前記出現キャラクタの周囲または前記ゲームステージ内の予め定められた固定領域のいずれか一方に決定することを特徴とする。
【0019】
請求項13の発明は、請求項4に記載の発明において、前記ノンプレイヤキャラクタ制御手段は、前記所定の条件を満たさなくなったとき、前記複数のノンプレイヤキャラクタの行動範囲を、前記1のゲームステージ内の前記所定領域から前記1のゲームステージへ復帰させることを特徴とする。
【0020】
請求項14の発明は、請求項1乃至請求項13のいずれかに記載のゲームプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【0021】
請求項15の発明は、請求項1乃至請求項13のいずれかに記載のゲームプログラムを読み込んで実行するコンピュータ装置である。
【発明の効果】
【0022】
この発明によれば、サブモンスターに縄張りを設けて行動範囲を縮小させることにより、メインモンスターとの関係においてサブモンスターの群れとしての行動を強調することができ、サブモンスターの生態をよりリアルに表現することができる。
【発明を実施するための最良の形態】
【0023】
≪ゲームシステムの説明≫
図面を参照して、本発明が適用されるゲームシステム6について説明する。
図1は、ゲームシステム6を説明するための外観図である。以下、据置型ゲーム装置を一例にして、本発明のゲームシステム6について説明する。
【0024】
図1において、ゲームシステム6は、スピーカ9aおよびディスプレイ9bを備えた家庭用テレビジョン受像機等のモニタ装置9に、接続コードを介して接続される据置型ゲーム装置(以下、単にゲーム装置と記載する)10および当該ゲーム装置10に操作情報を与えるコントローラ7によって構成される。ゲーム装置10には、交換可能な記憶媒体の一例である光ディスク4がセットされるとともに、ゲームのセーブデータ等を不揮発的に記憶する着脱自在のメモリカード5が必要に応じて装着される。ゲーム装置10には、ゲームの主電源である電源ON/OFFスイッチ、光ディスク4の着脱を行うイジェクトスイッチが設けられている。
【0025】
コントローラ7は、遊戯者によって操作され、その操作内容を示す操作信号をゲーム装置10に対して送信する装置である。ゲーム装置10は、コントローラ7から送信されてくる操作信号に応じてゲームを開始・終了させ、ゲームを進行させる等の制御を行う。コントローラ7とゲーム装置10との通信は、無線で行われる。この通信のための通信ユニットとしては、コントローラ7は通信部75(図4参照)を備え、ゲーム装置10は受信ユニット36a(図2参照)を備えている。なお、1台のゲーム装置10に対して1台〜4台のコントローラ7を無線接続することが可能である。
【0026】
なお、モニタ装置9の左右上面には、コントローラ7に対してモニタ装置9の位置を知らせるための発光部8L、Rが取り付けられている。発光部8L、Rは、それぞれ赤外線LEDを内蔵しており、ゲーム装置10の動作中は赤外線で発光する。
【0027】
次に、図2のブロック図を参照して、ゲーム装置10の機能的構成について説明する。図2において、ゲーム装置10は、各種プログラムを実行するCPU(Central Processing Unit)30を備える。CPU30は、図示しないブートROMに記憶された起動プログラムを実行し、メインメモリ33等のメモリの初期化等を行った後、光ディスク4に記憶されているゲームプログラムを実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。CPU30には、メモリコントローラ31を介して、GPU(Graphics Processing Unit)32、メインメモリ33、DSP(Digital Signal Processor)34、およびARAM(Audio RAM)35が接続される。また、メモリコントローラ31には、所定のバス42を介して、コントローラI/F(インターフェース)36、ビデオI/F37、外部メモリI/F38、オーディオI/F39、およびディスクI/F41が接続され、それぞれ受信ユニット36a、モニタ装置9、外部メモリカード5、スピーカ9a、およびディスクドライブ40が接続されている。
【0028】
GPU32は、CPU30の命令に基づいて画像処理を行うものであり、例えば、3Dグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。GPU32は、図示しない画像処理専用のメモリやメインメモリ33の一部の記憶領域を用いて三次元の仮想空間(ゲーム空間)の各コマの画像(公知の透視投影法による二次元画像)を生成し、この画像にカーソル等の画像を合成する等して生成したゲーム画像をメモリコントローラ31およびビデオI/F37を介してモニタ装置9(ディスプレイ9b)に出力する。メインメモリ33は、CPU30で使用される記憶領域であって、光ディスク4から読み出されたゲームプログラムや各種データ等(後述する各種テーブル(図6〜図10)等)を適宜記憶する。
【0029】
DSP34は、ゲームプログラム実行時にCPU30において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのARAM35が接続される。ARAM35は、DSP34が所定の処理(例えば、先読みしておいたゲームプログラムやサウンドデータの記憶)を行う際に用いられる。DSP34は、ARAM35に記憶されたサウンドデータを読み出し、メモリコントローラ31およびオーディオI/F39を介してモニタ装置9に備えるスピーカ9aに出力させる。
【0030】
メモリコントローラ31は、データ転送を統括的に制御するものであり、上述した各種I/Fが接続される。受信ユニット36aは、コントローラI/F36を介してメモリコントローラ31に接続される。上述したように受信ユニット36aは、コントローラ7からの送信データを受信し、コントローラI/F36およびメモリコントローラ31を介して当該送信データをCPU30へ出力する。ビデオI/F37には、モニタ装置9が接続される。外部メモリI/F38には、外部メモリカード5が接続され、その外部メモリカード5に設けられたバックアップメモリ等とアクセス可能となる。
【0031】
オーディオI/F39にはモニタ装置9に内蔵されるスピーカ9aが接続される。スピーカ9aは、DSP34がARAM35から読み出したサウンドデータや、ディスクドライブ40から直接出力されるサウンドデータを出力する。ディスクI/F41には、ディスクドライブ40が接続される。ディスクドライブ40は、所定の読み出し位置に配置された光ディスク4に記憶されたデータを読み出し、ゲーム装置10のバス42やオーディオI/F39に出力する。
【0032】
次に、図3を参照して、コントローラ7について説明する。
コントローラ7は、例えばプラスチック成型によって形成されたハウジング71を有している。ハウジング71は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【0033】
ハウジング71上面の中央前面側に、十字キー72cが設けられる。この十字キー72cは、十字型の4方向プッシュスイッチであり、矢印で示す4つの方向(前後左右)に対応する操作部分が十字の突出片にそれぞれ90°間隔で配置される。遊戯者によって十字キー72cのいずれかの方向の操作部が押下されると、その方向を示す操作信号が、コントローラ7からゲーム装置10に送信される。
【0034】
ハウジング71上面の十字キー72cより後側には、多数のボタンスイッチが設けられており、各ボタンがオンされると、対応する操作信号がコントローラ7からゲーム装置10へ送信される。これらのボタンスイッチのうち、最も前方(十字キー72c寄り)に設けられているものが、Aボタン72aである。
【0035】
一方、ハウジング71下面には、凹部が形成されている。ハウジング71下面の凹部は、遊戯者がハウジング71を把持したとき、この遊戯者の人差し指や中指が位置するような位置に形成される。そして、上記凹部の後面側傾斜面には、ボタンスイッチ72bが設けられる。このボタンスイッチ72bは、Bボタンとして機能する操作部である。
【0036】
なお、ハウジング71上面の十字キー72cより前面側に設けられているボタンスイッチ72hは、遠隔からゲーム装置10本体の電源をオン/オフする電源スイッチである。
【0037】
また、ハウジング71前面には、コントローラ7前方の画像を撮像するための撮像素子743(図4参照)が設けられている。撮像素子743は、撮像情報演算部74(図4参照)の一部を構成している。撮像素子743は、コントローラ7がモニタ装置9に向けて支持されているとき、モニタ装置9の上面に設けられた発光部8L、Rを撮像する。撮像情報演算部74は、撮像素子743における発光部8L、Rの撮像位置によってコントローラ7の向きを検出する。
【0038】
次に、図4のブロック図を参照して、コントローラ7の内部構成について説明する。
図4において、コントローラ7は、上述した操作部72および撮像情報演算部74の他に、その内部に通信部75、加速度センサ701およびバイブレータ704を備えている。
【0039】
撮像情報演算部74は、赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744を含んでいる。赤外線フィルタ741は、コアユニット70の前方から入射する光から赤外線のみを通過させる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ出射する。撮像素子743は、例えばCMOSセンサのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。撮像素子743で生成された画像データは、画像処理回路744で処理される。具体的には、画像処理回路744は、撮像素子743から得られた画像データを処理して高輝度部分、すなわち発光部8L、Rからの光を検出し、それらの位置座標を示す座標データを通信部75へ出力する。
【0040】
加速度センサ701は、コントローラ7の上下方向、左右方向および前後方向の3軸でそれぞれ加速度を検知する加速度センサである。加速度センサ701が検知した加速度を示すデータは、通信部75へ出力される。
【0041】
通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。
【0042】
操作部72からの操作信号(キーデータ)、加速度センサ701からの加速度信号(加速度データ)、および撮像情報演算部74からの座標データは、マイコン751に出力される。マイコン751は、入力した各データ(キーデータ、加速度データ、座標データ)を受信ユニット36aへ送信する送信データとして一時的にメモリ752に格納する。
【0043】
ここで、通信部75から受信ユニット36aへの無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。マイコン751は、受信ユニット36aへの送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、所定周波数の搬送波を用いて操作情報をその電波信号としてアンテナ754から放射する。
【0044】
バイブレータ704は、例えば振動モータ又はソレノイド等が考えられる。バイブレータ704が作動することによってコアユニット70に振動が発生するので、それを把持している遊戯者の手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。
【0045】
≪ゲームプログラムの説明≫
次にこのゲーム装置で実行されるゲームプログラムについて説明する。このゲームプログラムは、いわゆるハンティングアクションゲームであり、遊戯者が操作するプレイヤキャラクタがハンターとなり、敵キャラクタであるモンスターを討伐することによりミッション(クエスト)を達成していくゲームである。
【0046】
モンスターは、複数のゲームステージ(以下、ステージ)から形成されるフィールド(狩場)に生息している。モンスターには、ボス的な役割となるメインモンスターと、「群れ」を成して生息しているサブモンスターの2種類が存在する。群れとは、所定の領域(縄張り)内に集結し、縄張りを守る行動を行う複数(例えば3〜10頭)のサブモンスターの集合体をいう。
【0047】
メインモンスターは攻撃力と体力の高いモンスターであり、サブモンスターは攻撃力と体力の低いモンスターである。サブモンスターは、1頭1頭の攻撃力や体力は低いが、複数が群れを成して同時に攻撃を仕掛けるため、プレイヤキャラクタのクエスト達成の妨げとなる。
【0048】
メインモンスターとサブモンスターとの間には力関係が設定されている。まず、メインモンスターの中には、特定のサブモンスターのボスにあたるメインモンスター(味方メインモンスター)が存在し、サブモンスターと味方メインモンスターとの間には主従関係が設定されている。サブモンスターと味方メインモンスターは外見や特性が似ており、サブモンスターは味方メインモンスターの命令に従って行動する。
【0049】
一方、サブモンスターとそのボスにあたらないメインモンスター(敵メインモンスター)との間には敵対関係が設定されており、サブモンスターは敵メインモンスターを威嚇したり、攻撃行動を行ったりする。
【0050】
これらの力関係を強調するため、本実施形態では、同じステージにメインモンスターが存在するとき、サブモンスターの行動範囲を所定の領域(縄張り)内に縮小させ、1つの群れとしてメインモンスターとの関係に応じた行動をさせる「縄張り処理」を行う。
【0051】
ここで、縄張りとは、サブモンスターの群れが行動を行う所定の領域をいい、特許請求の範囲中の「所定領域」に対応する。また、サブモンスターと同じステージに存在するメインモンスター(味方メインモンスターや敵メインモンスター)が特許請求の範囲中の「出現キャラクタ」に対応する。さらに、本実施形態では、「サブモンスターと同じステージにメインモンスターが存在すること」が特許請求の範囲中の「所定の条件」に対応する。
【0052】
以下、縄張り処理の一例を示す。同じステージに味方メインモンスターや敵メインモンスターが存在しない場合、サブモンスターは「通常の領域」(例えば1つのステージ全体)を行動範囲とし、通常の行動(図7(A))を行う。一方、同じステージに味方メインモンスターや敵メインモンスターが存在すると、サブモンスターの行動範囲が「通常の領域」から「所定領域」に縮小される。「所定領域」は、例えば、味方メインモンスターが存在するときは味方メインモンスターの周囲に設定され、敵メインモンスターが存在するときはステージ内の予め定められた固定領域に設定される。この縄張り処理により、サブモンスターが群れで行動していることを強調でき、またメインモンスターとの敵対関係や主従関係をより明確にすることができる。
【0053】
メインモンスターには、ゲームの状況に応じたモンスターの行動形態である状態(ステータス)が設けられており、「通常状態」、「戦闘状態」のいずれか一方が設定される。通常状態は、敵(プレイヤキャラクタや敵対関係にある他のメインモンスター)を発見しておらず、歩行や周囲を見渡す等の通常の行動を行う状態である。戦闘状態は、敵を発見しており(敵を一度視界に捕らえており)、噛み付く、尻尾攻撃等の戦闘行動を行う状態である。
【0054】
サブモンスターには、個体単位ではなく群れ単位で状態が設定されており、群れに「通常状態」、「警戒状態」、「攻撃状態」のいずれか1つが設定される。上述の縄張り処理が行われたとき、群れの状態を通常状態から警戒状態または攻撃状態に移行させる。そして、縄張り処理が終了すると、群れの状態を警戒状態または攻撃状態から通常状態に戻す。
【0055】
まず、主従関係にある味方メインモンスターが同じステージに存在する場合、味方メインモンスターを中心とした「所定領域」内にサブモンスターを集結させ、その領域内で味方メインモンスターの行動に応じた行動をさせる「味方縄張り処理」(図12)を行う。この処理により、ボスである味方メインモンスターの存在によって、サブモンスターが力付いている様子を表現することができる。
【0056】
具体的には、味方メインモンスターが敵と戦っているときは、群れの状態を攻撃状態に設定し、味方メインモンスターの周囲に縄張りを設け、サブモンスターに味方メインモンスターと戦闘中の敵を攻撃対象(ターゲット)として攻撃行動(図7(B)または(C))を行わせ、サブモンスターのまわりに敵がいなければサブモンスターを縄張り範囲内へ移動させる(図7(D))。なお、「まわりに敵がいる」とは、例えば、サブモンスターを中心として半径30mの範囲にプレイヤキャラクタや敵メインモンスターがいることを示す。
【0057】
一方、味方メインモンスターが「瀕死状態」になり逃げ行動をしているときは、味方メインモンスターの周囲に縄張りを設け、サブモンスターに味方メインモンスターの逃亡を助ける行動を行わせる。まず、群れの状態を通常状態に設定し、縄張り範囲内にサブモンスターがいなければサブモンスターを縄張り範囲内へ移動させ(図8(D))、警戒行動を行わせる(図8(C))。そして、縄張り範囲内に敵がいれば、サブモンスターにその敵に対して攻撃行動(図8(A))を行わせる。また、縄張り範囲内に敵がいなくても、モンスターの攻撃可能性を示すパラメータであるヘイト値が一定値以上の敵に対してサブモンスターに攻撃行動(図8(B))を行わせる。ヘイト値については図11を参照して後述する。以上の図8(A)〜(D)の行動抽選テーブルに基づく処理を「単体縄張り処理」(図14)という。
【0058】
ここで、瀕死状態とは、生命力を示すパラメータである体力値が所定値以下(例えば、MAX値の30%以下)になった状態をいう。メインモンスターが、プレイヤキャラクタ等の攻撃を受けて体力値が所定値以下になると、メインモンスターは瀕死状態となり、体力値を回復させるために巣に戻ろうとする逃げ行動を行い、他のステージに移動する。
【0059】
また、敵対関係にある敵メインモンスターが同じステージに存在する場合、サブモンスターをステージ内の固定領域である「所定領域」内に集結させ、その領域内で群れを守る行動をさせる「敵縄張り処理」(図13)を行う。この処理により、サブモンスターが敵メインモンスターを恐れ、縄張りに逃げ込む様子を表現することができる。
【0060】
具体的には、同じステージに敵メインモンスターが存在する場合、群れの状態を警戒状態に設定し、サブモンスターをステージ内の所定の縄張り範囲内へ移動させ(図9(D))、警戒行動を行わせる(図9(C))。そして、縄張り範囲内に敵がいれば、サブモンスターにその敵に対して攻撃行動(図9(A))を行わせる。また、縄張り範囲内に敵がいなくても、モンスターの攻撃可能性を示すパラメータであるヘイト値が一定値以上の敵に対してサブモンスターに攻撃行動(図9(B))を行わせる。以上の図9(A)〜(D)の行動抽選テーブルに基づく処理を「単体縄張り処理」(図14)という。
【0061】
なお、「味方縄張り処理」内での単体縄張り処理と「敵縄張り処理」内での同処理とは、行動パターンは同じであるが、群れの状態が異なる(通常状態と警戒状態である)ため、使用される行動抽選テーブルが異なり(図8と図9)、行動の種類および抽選確率が異なる。
【0062】
このようなゲームを実行するゲームプログラムを上述したゲーム装置に読み込ませることにより、図5に示すようなゲームシステムを機能的に実現することができる。ゲームシステムは、操作検出部50、ゲーム進行制御部51、描画処理部58等から構成されている。ゲーム進行制御部51は、プレイヤキャラクタ制御部52、ノンプレイヤキャラクタ制御部53、ゲーム空間制御部56を含んでいる。また、ノンプレイヤキャラクタ制御部53は、メインモンスターの行動を制御するメインモンスター制御部54およびサブモンスターの行動を制御するサブモンスター制御部55を含んでいる。さらに、ゲーム空間制御部56は、複数のステージを生成し、制御するゲームステージ制御部57を含んでいる。
【0063】
操作検出部50は、CPU30、GPU32等のデータ処理部およびコントローラ7を含み、遊戯者の各種操作を検出して、ゲーム進行制御部51に伝達する。ゲーム進行制御部51は、CPU30、GPU32等のデータ処理部を含み、仮想のゲーム空間やキャラクタを生成するとともに、遊戯者の操作や時間の経過等に応じて、上述のゲーム空間を変化させたりキャラクタを行動させたりする等の処理を行ってゲームを進行させる。
【0064】
プレイヤキャラクタ制御部52は、ゲーム空間内にプレイヤキャラクタを生成するとともに、操作検出部50から入力される操作情報に基づいてその行動を制御する。ノンプレイヤキャラクタ制御部53は、生成されたゲーム空間内で行動するメインモンスターおよびサブモンスターを含むノンプレイヤキャラクタを生成するとともに、後述する各テーブル(図6〜図10)を使用してノンプレイヤキャラクタの行動を制御する。
【0065】
メインモンスター制御部54は、予め設定されている出現条件に基づくゲーム進行制御部51の指示に従って、メインモンスターを生成するとともに、その行動を制御する。サブモンスター制御部55は、予め設定されている出現条件に基づいて、またはゲーム進行制御部51が行う抽選に基づいてランダムにサブモンスターを生成するとともに、その行動を制御する。
【0066】
ゲーム空間制御部56は、操作検出部50から入力された操作情報に基づいて選択されたフィールドのゲーム空間を生成するとともに、そのゲーム空間の天候や昼夜の変更などの環境を制御する。ゲームステージ制御部57は、ゲーム空間制御部56が生成したフィールド内に、さらに複数のステージを生成し、その環境を制御する。描画処理部58は、CPU30、GPU32等のデータ処理部を含み、ゲーム進行制御部51が生成したゲーム空間、キャラクタを二次元のスクリーンに投影したゲーム画像を生成してモニタ9bに出力する。
【0067】
以下、図6を参照してサブモンスター、メインモンスターを管理する各テーブルについて説明する。まず、図6(A)は、サブモンスターのステータステーブルを示す図である。ステージに存在するサブモンスター全てについて、このテーブルによってステータスを管理している。モンスター名、体力MAX値、体力値、ヘイト値、群れ番号が管理されている。
【0068】
モンスター名は、モンスターに付けられた名称であり、サブモンスターとそのボスにあたる味方メインモンスターには似た名称を付けている。例えば、サブモンスター「ランポス」(同図(A))に対して、味方メインモンスターは「ドスランポス」(同図(C))と名付けられている。体力値は、生命力を示すパラメータであり、MAX値および現在の値がこのテーブルで管理されている。
【0069】
ヘイト値は、モンスターの攻撃可能性を示すパラメータであり、同じステージに存在する敵(プレイヤキャラクタや敵対関係にある他のメインモンスター)ごとに設けられている。ヘイト値は例えば1フレーム(1/30秒等)ごとに更新され、このテーブルで管理されている。ヘイト値の算出方法については図11を参照して後述する。群れ番号は、そのサブモンスターがどの群れに属しているかを示す番号である。
【0070】
次に、図6(B)はサブモンスターの群れテーブルを示す図である。通常は各サブモンスターが独自に制御されているが、同じステージに敵がいる場合、このテーブルに基づいて群れ単位でサブモンスターの制御が行われる。群れごとに、状態フラグ、味方メインモンスター出現フラグ、ステージ番号が管理されている。
【0071】
状態フラグは、群れの状態が決まったときにセットされるフラグである。状態フラグが0のとき通常状態、1のとき警戒状態、2のとき攻撃状態である。同じステージに敵メインモンスターが存在するとき、群れの状態を警戒状態にする(敵縄張り処理)。また、同じステージに味方メインモンスターが存在して敵と戦っているとき、群れの状態を攻撃状態にする(味方縄張り処理)。
【0072】
味方メインモンスター出現フラグは、同じステージにその群れのボスである味方メインモンスターが出現したときにセットされるフラグである。このフラグが1(ON)のとき、上述の味方縄張り処理が行われる。ステージ番号は、その群れがどのステージに存在しているかを示す番号である。
【0073】
同図(B)の例では、まず、群れ番号1、5の群れは、それぞれステージ2、5に存在し、通常状態である。次に、群れ番号2および4の群れはステージ1に存在し、同じステージに敵メインモンスターも存在して、警戒状態になっている。このように、複数の群れが同じステージに存在することもある。また、群れ番号3の群れはステージ3に存在し、同じステージに味方メインモンスターも存在して、攻撃状態になっている。
【0074】
次に、図6(C)は、メインモンスターのステータステーブルを示す図である。このテーブルでは、同図(A)に示すサブモンスターのステータステーブルと同様に、モンスター名、体力MAX値、体力値、ヘイト値が管理されている。それに加え、メインモンスターの状態フラグが設定されており、「通常状態」の場合「1」、「戦闘状態」の場合「2」が設定される。メインモンスターはサブモンスターと異なり個体単位に状態が設定されているため、各メインモンスターのテーブルにより状態が管理されている。
【0075】
図7〜図10は、モンスターの行動を決める行動抽選テーブルを示す図である。各テーブルには、モンスターの行動種別とその抽選確率が記憶されている。モンスターの行動は、この行動抽選テーブルに基づく抽選により決定される。図7〜図9はサブモンスターの、図10はメインモンスターの行動抽選テーブルである。行動抽選テーブルはそれぞれのモンスターの状態別に設けられており、このテーブルを切り替えて抽選を行うことにより、モンスターの行動に、各状態に応じたバリエーションを与えることができる。なお、サブモンスターについては群れの状態に基づいて行動抽選テーブルが選択される。
【0076】
図7は、群れが通常状態時、攻撃状態時のサブモンスターの行動抽選テーブルを示す図である。同図(A)は、群れが通常状態で、まわりに敵がいないとき(図13のS45参照)のテーブルであり、待機行動や索敵行動等の通常の行動が所定の確率で記憶されている。このテーブルの各行動におけるポジションは、各25%で左、右、前、後から抽選により選択される。
【0077】
同図(B)、(C)は、群れが通常状態、攻撃状態で、まわりに敵がいるとき(図13のS45、図12のS26参照)のテーブルであり、両テーブルはサブモンスターと敵(プレイヤキャラクタや敵対関係にある他のメインモンスター)との距離によって使い分けられる。距離は、所定距離ごとに超近距離、近距離、中距離、遠距離、その他(超遠距離)が設けられている。
【0078】
同図(B)は、サブモンスターと敵との距離が超近距離〜近距離のときのテーブルである。尻尾攻撃や噛み付き1段等の近くの敵向けの攻撃行動が高い確率で記憶されている。同図(C)は、サブモンスターと敵との距離が上記以外の距離(中距離以上)のときのテーブルである。移動〜小ジャンプや追撃噛み付き1段等の遠くの敵向けの攻撃行動が高い確率で記憶されている。
【0079】
同図(D)は、群れが攻撃状態で、まわりに敵がいないとき(図12のS27参照)のテーブルであり、100%の確率で縄張り範囲内のランダムに決定されたポイントへ移動を行うように記憶されている。
【0080】
図8は、群れが通常状態で、単体縄張り処理(図14)を行うときのサブモンスターの行動抽選テーブルを示す図である。このテーブルは、サブモンスターについて味方縄張り処理が行われ、味方メインモンスターの周囲に縄張りを設けてサブモンスターに味方メインモンスターの逃亡を助ける行動を行わせるとき(図12のS17参照)に用いられる。サブモンスターおよび敵の位置関係等の条件により(A)〜(D)が使い分けられる。
【0081】
同図(A)は、敵が縄張り範囲内にいるとき(図14のS53参照)に用いられるテーブルである。縄張り範囲内でヘイト値の最も高い敵に対して行う攻撃行動が所定の確率で記憶されている。
【0082】
同図(B)は、敵が縄張り範囲外にいるがヘイト値が一定値以上のとき(図14のS55参照)に用いられるテーブルである。縄張り範囲外のステージ内でヘイト値が一定値以上の敵に対して行う攻撃行動が所定の確率で記憶されている。
【0083】
同図(C)は、サブモンスターが縄張り範囲内にいて敵が縄張り範囲外にいるとき(図14のS57参照)に用いられるテーブルである。威嚇や後ずさり等の警戒行動が所定の確率で記憶されている。
【0084】
同図(D)は、サブモンスターが縄張り範囲外にいるとき(図14のS58参照)に用いられるテーブルである。100%の確率で縄張り範囲内のランダムに決定されたポイントへ移動を行うように記憶されている。
【0085】
図9は、群れが警戒状態で、単体縄張り処理(図14)を行うときのサブモンスターの行動抽選テーブルを示す図である。このテーブルは、サブモンスターについて敵縄張り処理が行われ、敵メインモンスターの存在によって群れの状態が警戒状態になり、警戒行動等を行わせるとき(図13のS50参照)に用いられる。図8のテーブルと同様に、サブモンスターおよび敵の位置関係等の条件により(A)〜(D)が使い分けられるが、図8のテーブルとは行動種別および抽選確率が異なる。
【0086】
同図(A)は、敵が縄張り範囲内にいるとき(図14のS53参照)に用いられるテーブルである。縄張り範囲内でヘイト値の最も高い敵に対して行う攻撃行動が所定の確率で記憶されている。
【0087】
同図(B)は、敵が縄張り範囲外にいるがヘイト値が一定値以上のとき(図14のS55参照)に用いられるテーブルである。縄張り範囲外のステージ内でヘイト値が一定値以上の敵に対して行う攻撃行動が所定の確率で記憶されている。
【0088】
同図(C)は、サブモンスターが縄張り範囲内にいて敵が縄張り範囲外にいるとき(図14のS57参照)に用いられるテーブルである。威嚇や後ずさり等の警戒行動が所定の確率で記憶されている。
【0089】
同図(D)は、サブモンスターが縄張り範囲外にいるとき(図14のS58参照)に用いられるテーブルである。図8(D)のテーブルと同様に、100%の確率で縄張り範囲内のランダムに決定されたポイントへ移動を行うように記憶されている。
【0090】
図10は、戦闘状態時のメインモンスターの行動抽選テーブルを示す図である。このテーブルは、メインモンスターと敵(プレイヤキャラクタや敵対関係にある他のメインモンスター)との距離によって(A)〜(D)が使い分けられる。同図(A)は超近距離、同図(B)は近距離、同図(C)は中距離、同図(D)は上記以外の距離(遠距離以上)のときに用いられる。メインモンスターと敵との距離に応じてこれらのテーブルを切り替えて抽選を行うことにより、敵との距離に合った戦闘行動を行わせることができる。
【0091】
なお、以上の行動抽選テーブル(図7〜図10)に示された行動種別および抽選確率は一例に過ぎず、任意に設定することが可能である。また、行動抽選テーブルの種類、設け方も以上のパターンに限定されず、ゲームの状況ごとに自由に設定してもよい。この行動抽選テーブルの内容、設け方によって、キャラクタに個性を与え、ゲームのバリエーションを広げることができる。
【0092】
メインモンスターおよびサブモンスターには、敵に対する嫌悪感の度合いを示すパラメータである「ヘイト値」が敵ごとに設定されている(図6(A)、(C))。ヘイト値は攻撃対象を決定するパラメータであり、モンスターはヘイト値が最も高い値のプレイヤキャラクタまたは他のモンスターを攻撃対象とする。
【0093】
例えば、モンスターが敵に近づかれたり、敵から攻撃によるダメージを受けたりすると、その敵に対するヘイト値が上がる。逆に、モンスターが敵に攻撃を行うと、その敵に対するヘイト値が下がる。このように、ヘイト値を設け、モンスターや敵の行動によってその値を変動させることにより、モンスターの攻撃対象が偏るのを防ぐことができる。なお、本実施形態では、ヘイト値のMAX値を20000に設定している。
【0094】
以下、図11を参照してモンスターのヘイト値の算出方法について説明する。なお、プレイヤキャラクタに対するヘイト値と、他のモンスターに対するヘイト値とで算出式および各テーブルの値を変えている(図11(B)、(C))。
【0095】
まず、同図(A)は、モンスターの距離範囲を示す図である。モンスター1には、近傍から順に(1)〜(4)の距離範囲が設定されている。そして、敵がモンスター1のいずれの距離範囲に存在するかによってヘイト値を変動させる。具体的には、モンスター1との距離が近い敵ほどヘイト値を高く、距離が遠い敵ほどヘイト値を低くする。同図(A)の例では、プレイヤキャラクタ2はモンスター1の距離範囲(2)に存在している。
【0096】
同図(B)は、プレイヤキャラクタに対するヘイト値を算出するためのテーブルを示す図である。プレイヤキャラクタに対するヘイト値は、以下の算出式により例えば1フレームごとに更新される。
ヘイト値=前回のヘイト値+(A値+B値+C値+D値)・・・式1
【0097】
まず、前回のヘイト値とは、前フレームにこの式1により算出されたヘイト値をいう。そのモンスターが出現した直後のフレームは、前回のヘイト値を0(初期値)として計算する。前回のヘイト値に、そのフレームでのモンスターおよびプレイヤキャラクタの行動に基づく値(A値+B値+C値+D値)を加えることにより、フレーム単位でヘイト値を更新することができる。
【0098】
次に、A値は、モンスターとプレイヤキャラクタとの距離による増減値であり、プレイヤキャラクタが存在するモンスターの距離範囲によって設定されている(同図(B)(a))。距離範囲(1)(モンスターからの距離が8m未満)の場合はA値が+4、同(2)(同15m未満)の場合は同+2、同(3)(同15メートル以上)の場合は同−2、同(4)(ステージ外)の場合は同−5に設定されている。このように、プレイヤキャラクタがモンスターの近くにいるときほどA値を高く、遠くにいるときほどA値を低くすることにより、モンスターのそばにいるときほど攻撃対象になりやすくする。
【0099】
次に、B値は、モンスターがプレイヤキャラクタを攻撃することによる減少値であり、攻撃している間、毎フレーム−20に設定されている(同図(B)(b))。モンスターが攻撃行動を行っている間、その攻撃対象のプレイヤキャラクタのヘイト値を下げることにより、長時間同じ相手が攻撃対象になるのを防ぐことができる。
【0100】
次に、C値は、プレイヤキャラクタのアイテム使用による増加値である。プレイヤキャラクタがモンスターに対して角笛等のアイテムによる挑発行動を行ったとき、アイテムの効果が持続している間(例えば音が鳴り続けている間)、毎フレーム+200に設定されている(同図(B)(c))。プレイヤキャラクタは、角笛等のアイテムを使用して自分のヘイト値を急速に上げることにより、自分を攻撃対象にしてモンスターを引き付け、攻撃対象であった仲間のプレイヤキャラクタを助けることができる。
【0101】
次に、D値は、モンスターがプレイヤキャラクタから攻撃を受けたことによる増加値である。モンスターがプレイヤキャラクタの攻撃によりダメージを受けたとき、+ダメージ値×10+200に設定されている(同図(B)(d))。攻撃してきたプレイヤキャラクタのヘイト値を急速に上げることにより、戦う意志のあるプレイヤキャラクタをモンスターの攻撃対象とし、自然な戦闘を行わせることができる。なお、D値は攻撃を受けた直後のフレームにおいてのみ加算される。
【0102】
同図(C)は、他のモンスターに対するヘイト値を算出するためのテーブルを示す図である。他のモンスターに対するヘイト値は、以下の算出式により例えば1フレームごとに更新される。
ヘイト値=前回のヘイト値+(A値+B値+D値)・・・式2
【0103】
この式2では、上述のプレイヤキャラクタに対するヘイト値の算出式1と異なり、他のモンスターはアイテムを使用しないため、C値が設定されていない。さらに、式2では、A値、B値が式1よりも上がりにくく下がりやすいように設定されている(図10(C)(a)、(b))。すなわち、他のモンスターに対するヘイト値は、プレイヤキャラクタに対するヘイト値よりも上がりにくいように設定されている。これにより、他のモンスターよりもプレイヤキャラクタをモンスターの攻撃対象にしやすくすることができる。
【0104】
同図(B)(a)と同様に、A値は他のモンスターが存在する距離範囲によって設定されている(同図(C)(a))。距離範囲(1)(モンスターからの距離が8m未満)の場合はA値が+3、同(2)(同15m未満)の場合は同+1、同(3)(同15メートル以上)の場合は同−4、同(4)(ステージ外)の場合は同−5に設定されており、同図(B)(a)よりも上がりにくく下がりやすい。他のモンスターも、モンスターのそばにいるときほど攻撃対象になりやすくなるが、同じ距離範囲にいるプレイヤキャラクタよりは攻撃対象になりにくい。
【0105】
次に、B値は、モンスターが他のモンスターを攻撃している間、毎フレーム−24に設定されている(同図(C)(b))。同図(B)(b)と同様に、モンスターが攻撃行動を行っている間、その攻撃対象の他のモンスターのヘイト値を下げるが、プレイヤキャラクタよりも下がりやすく設定されている。
【0106】
次に、同図(B)(d)と同様に、D値は、モンスターが他のモンスターの攻撃によりダメージを受けたとき、+ダメージ値×10+200に設定されている(同図(C)(c))。攻撃してきた他のモンスターのヘイト値を急速に上げ、モンスター同士に戦闘を行わせることにより、モンスターの生態をリアルに表現できる。なお、D値は、式1と同様に攻撃を受けた直後のフレームにおいてのみ加算される。
【0107】
以下、図12〜図14のフローチャートを参照しながら、味方縄張り処理、敵縄張り処理、および両処理の中で行われる単体縄張り処理について説明する。図12は味方縄張り処理、図13は敵縄張り処理、図14は単体縄張り処理を説明するフローチャートであり、各処理は例えば1フレームごとに繰り返し実行される。各フローチャートの中で「敵」とは、サブモンスター(または味方メインモンスター)にとっての敵であるプレイヤキャラクタおよび敵対関係にある他のメインモンスターをいう。また、これらのフローチャートによる処理は、サブモンスターの群れごとに実行される。
【0108】
図12は、サブモンスター制御部55が行う味方縄張り処理を説明するフローチャートである。味方縄張り処理は、味方メインモンスターが同じステージに存在するとき、味方メインモンスターを中心とした所定領域内にサブモンスターを集結させ、その領域内で味方メインモンスターの行動に応じた行動をさせる処理である。
【0109】
まず、同じステージに味方メインモンスターが存在するか否かを判定し(S11)、味方メインモンスターが存在しない場合(S11でNO)、図13の敵縄張り処理を行う(S12)。味方メインモンスターが存在する場合(S11でYES)、この味方メインモンスターが戦闘状態か否かを判定する(S13)。味方メインモンスターが戦闘状態でない場合(S13でNO)、図13の敵縄張り処理を行う(S12)。
【0110】
S13において、味方メインモンスターが戦闘状態である場合(S13でYES)、味方メインモンスターが瀕死状態となり逃げ行動を行っているか否かを判定する(S14)。味方メインモンスターが逃げ行動を行っている場合(S14でYES)、群れの状態を通常状態に設定する(S15)。そして、群れの縄張りを味方メインモンスターを中心とした所定領域(例えば半径12mの円)に設定し(S16)、図14の単体縄張り処理を行う(S17)。
【0111】
S14において、味方メインモンスターが逃げ行動を行っていない場合(S14でNO)、味方メインモンスターがステージ移動を行っているか否かを判定する(S18)。味方メインモンスターは、所定時間が経過したときや、自分より強いモンスターが存在するとき等にステージ移動を行う。味方メインモンスターがステージ移動を行っている場合(S18でYES)、群れの行動範囲を通常の領域(ステージ全体)に設定し(S19)、図13の敵縄張り処理を行う(S20)。
【0112】
S18において、味方メインモンスターがステージ移動を行っていない場合(S18でNO)、群れの状態を攻撃状態に設定する(S21)。そして、群れの縄張りを味方メインモンスターを中心とした所定領域に設定し(S22)、味方メインモンスターのターゲット(味方メインモンスターのヘイト値が最も高い敵)を群れのターゲットに設定する(S23)。
【0113】
S24以降は、その群れに属する各サブモンスター(単体)について処理を行うため、サブモンスターの頭数分処理を繰り返す。まず、1匹目のサブモンスターについて処理を行うため、nに1を代入し(S24)、そのサブモンスターのまわりにターゲットがいるか否かを判定する(S25)。
【0114】
そのサブモンスターのまわりにターゲットがいない場合(S25でNO)、そのサブモンスターを縄張り範囲内へ移動させる(S27)。この移動は、図7(D)のテーブルに基づいて行われる。移動させる位置は、縄張り範囲内の座標の中からランダムに決定する。一方、そのサブモンスターのまわりにターゲットがいる場合(S25でYES)、そのサブモンスターにターゲットへの攻撃行動を行わせる(S26)。この攻撃行動は、図7(B)または(C)のテーブルに基づいて行われる。
【0115】
S26またはS27の処理後、次のサブモンスターについて処理をするため、nにn+1を代入する(S28)。そして、nがサブモンスターの頭数以下ならば(S29でNO)、S25〜S28の処理を繰り返し、nがサブモンスターの頭数よりも大きければ(S29でYES)、このフレームでの処理を終了し、リターンする。
【0116】
図13は、サブモンスター制御部55が行う敵縄張り処理を説明するフローチャートである。敵縄張り処理は、敵メインモンスターが同じステージに存在するとき、サブモンスターをステージ内の所定領域内に集結させ、その領域内で群れを守る行動をさせる処理である。
【0117】
まず、同じステージに敵メインモンスターが存在するか否かを判定し(S40)、同じステージに敵メインモンスターが存在しない場合(S40でNO)、群れの状態が通常状態か否かを判定する(S41)。群れの状態が通常状態でなければ(S41でNO)、群れの状態を通常状態に設定し(S42)、群れの行動範囲を通常の領域(ステージ全体)に設定する(S43)。
【0118】
S44〜S47は、その群れに属する各サブモンスター(単体)について処理を行うため、サブモンスターの頭数分処理を繰り返す。まず、1匹目のサブモンスターについて処理を行うため、nに1を代入し(S44)、そのサブモンスターに通常行動を行わせる(S45)。この通常行動は、そのサブモンスターのまわりに敵がいないときは図7(A)、敵がいるときは図7(B)または(C)のテーブルに基づいて行われる。
【0119】
その後、次のサブモンスターについて処理をするため、nにn+1を代入する(S46)。そして、nがサブモンスターの頭数以下ならば(S47でNO)、S45、S46の処理を繰り返し、nがサブモンスターの頭数よりも大きければ(S47でYES)、このフレームでの処理を終了し、リターンする。
【0120】
S40において、同じステージに敵メインモンスターが存在する場合(S40でYES)、群れの状態を警戒状態に設定する(S48)。そして、群れの縄張りをステージ内の所定領域に設定し(S49)、図14の単体縄張り処理を行う(S50)。
【0121】
図14は、サブモンスター制御部55が行う単体縄張り処理を説明するフローチャートである。単体縄張り処理は、群れに属する各サブモンスター(単体)に、そのサブモンスターおよび敵の位置関係やヘイト値に応じた行動をさせる処理である。この処理は、上述のように、味方縄張り処理において通常状態のままメインモンスターの逃げ行動を助けるとき、または、敵縄張り処理において群れの状態が警戒状態になったときに行われる。
【0122】
この処理は、各サブモンスター(単体)についての処理であるため、サブモンスターの頭数分処理を繰り返す。まず、1匹目のサブモンスターについて処理を行うため、nに1を代入し(S51)、縄張り範囲内に敵がいるか否かを判定する(S52)。縄張り範囲内に敵がいる場合(S52でYES)、敵が1人(頭)しかいなければ、サブモンスターにその敵への攻撃行動を行わせる。また、敵が複数人(頭)いるのであれば、そのサブモンスターのヘイト値が最も高い敵に対して攻撃行動を行わせる。この攻撃行動は、群れが通常状態(味方縄張り処理)のときは図8(A)、群れが警戒状態(敵縄張り処理)のときは図9(A)のテーブルに基づいて行われる。また、縄張り範囲は、群れが通常状態、攻撃状態のときには味方メインモンスターの周囲に、群れが警戒状態のときにはステージ内の所定領域(固定の領域)に設定される。
【0123】
S52において、縄張り範囲内に敵がいない場合(S52でNO)、縄張り範囲外のステージ内にそのサブモンスターのヘイト値が一定値(例えば8000)以上の敵がいるか否かを判定する(S54)。ステージ内にヘイト値が一定値以上の敵がいる場合(S54でYES)、一定値以上が1人(頭)しかいなければその敵に、複数人(頭)いるのであれば値が最も高い敵に対してサブモンスターに攻撃行動を行わせる(S55)。この攻撃行動は、群れが通常状態(味方縄張り処理)のときは図8(B)、群れが警戒状態(敵縄張り処理)のときは図9(B)のテーブルに基づいて行われる。S54およびS55の処理は、縄張りに逃げ込んだサブモンスターが縄張り範囲外にいる敵から遠隔攻撃(弓や銃など)によって、一方的に攻撃されることを防ぐための処理である。また、これらの処理は必須ではなく、設けなくてもよい。
【0124】
S54において、ステージ内にヘイト値が一定値以上の敵がいない場合(S54でNO)、そのサブモンスター自身が縄張り範囲内にいるか否かを判定する(S56)。そのサブモンスターが縄張り範囲内にいる場合(S56でYES)、警戒行動を行わせる(S57)。この警戒行動は、群れが通常状態(味方縄張り処理)のときは図8(C)、群れが警戒状態(敵縄張り処理)のときは図9(C)のテーブルに基づいて行われる。
【0125】
一方、そのサブモンスターが縄張り範囲内にいない場合(S56でNO)、縄張り範囲内へ移動させる(S58)。この移動は、群れが通常状態(味方縄張り処理)のときは図8(D)、群れが警戒状態(敵縄張り処理)のときは図9(D)のテーブルに基づいて行われる。移動させる位置は、縄張り範囲内の座標の中からランダムに決定する。
【0126】
なお、サブモンスターの中に、ボスである味方メインモンスターに呼ばれて出現した「呼ばれサブモンスター」を設け、この呼ばれサブモンスターは常に味方メインモンスターと行動を共にするように設定してもよい(例えば、図10のテーブルに基づく行動抽選において「仲間呼び」が当選した場合など)。この場合、図12のS20において、呼ばれサブモンスターについては敵縄張り処理をせず、味方メインモンスターと共にステージ移動を行わせる。
【0127】
本実施形態では、「サブモンスターと同じステージに味方メインモンスターや敵メインモンスターが存在すること」を条件として縄張り処理を行っているが、他の条件に基づいて縄張り処理を行ってもよい。例えば、サブモンスターの半数以上の体力値が所定値以下になったことを条件として、サブモンスターが生き残るために縄張り処理を行ってもよい。
【0128】
また、本実施形態では、味方メインモンスターおよび敵メインモンスターといった予め決められた「属性」に応じてサブモンスターの行動を制御(縄張り処理)しているが、ゲーム進行途中で変化するようなパラメータ(例えばメインモンスターのステータスである体力値、ヘイト値、状態等)に応じて、サブモンスターの行動を制御してもよい。
【0129】
例えば、味方メインモンスターの体力値が所定値以上の場合や状態が戦闘状態の場合、サブモンスターをメインモンスターの周りに集結させる。一方、味方メインモンスターの状態が瀕死状態(体力値が所定値以下)や通常状態の場合、サブモンスターをステージの固定の領域(縄張り)に集結させる。
【0130】
さらに、本実施形態では、味方メインモンスターを中心とした所定領域(例では円)を集合領域(縄張り)としたが、味方メインモンスターの周りの領域であればその形状は円に限定されず、いかなる形状でもよい。また、味方メインモンスターが必ずしも集合領域の中心である必要はなく、例えば味方メインモンスターより所定距離後方の一直線上を集合領域としてもよい。
【0131】
本実施形態では、ノンプレイヤキャラクタ(味方メインキャラクタ、敵メインキャラクタ)を出現キャラクタとして説明したが、出現キャラクタにプレイヤキャラクタを含めてもよい。この場合、プレイヤキャラクタの周りを行動範囲とするキャラクタは、サブモンスターではなく、プレイヤキャラクタの味方となるキャラクタとする。
【0132】
本実施形態では、「縄張り範囲」を1つのステージ内の所定領域としたが、複数のステージで構成されるゲーム空間全体をサブモンスターの行動範囲の「通常の領域」とし、複数のステージのうち1つのステージ全体を「縄張り範囲」としてもよい。
【0133】
また、ゲームステージは複数ではなく1つでもよく、この場合、1つのゲームステージの全部または一部を「通常の領域」とし、この領域内にメインモンスターが存在する場合に、縄張り処理を行う。この場合の「縄張り範囲」は、「通常の領域」内の所定の領域やメインモンスターの周りとする。
【0134】
本実施形態では、敵キャラクタをモンスターとして説明したが、モンスターに限らず戦闘機や人型の敵キャラクタ等であってもよい。戦闘機が敵キャラクタである場合、例えばプレイヤキャラクタである戦闘機に複数の敵の戦闘機が攻撃を行うシューティングゲームの構成としてもよい。複数の戦闘機を1つの集団として制御することにより、統制された軍隊の動きをリアルに表現できる。したがって、本発明は、プレイヤキャラクタと敵キャラクタとの戦闘を行うゲームであればジャンルを問わず好適に適用可能である。
【0135】
本実施形態では、据置型の家庭用ゲーム機器であるゲーム装置を一例として説明したが、携帯用のゲーム装置や、その他パソコンなど、他の汎用のコンピュータにゲーム制御プログラムを組み込んだものとしても実施可能である。また、業務用ゲーム機器としての実施も可能である。
【図面の簡単な説明】
【0136】
【図1】この発明が適用されるゲームシステムを説明するための外観図
【図2】図1に示したゲーム装置の機能ブロック図
【図3】図1に示したコントローラの外観構成を示す斜視図
【図4】前記コントローラの構成を示すブロック図
【図5】ゲームプログラムとゲーム装置で構成されるゲームシステムの構成を示す図
【図6】同ゲームプログラムに設定されているテーブルを説明する図
【図7】同ゲームプログラムに設定されているテーブルを説明する図
【図8】同ゲームプログラムに設定されているテーブルを説明する図
【図9】同ゲームプログラムに設定されているテーブルを説明する図
【図10】同ゲームプログラムに設定されているテーブルを説明する図
【図11】同ゲームプログラムに設定されているテーブルを説明する図
【図12】前記ゲームシステムの動作を示すフローチャート
【図13】前記ゲームシステムの動作を示すフローチャート
【図14】前記ゲームシステムの動作を示すフローチャート
【符号の説明】
【0137】
1 モンスター
2 プレイヤキャラクタ
50 操作検出部
51 ゲーム進行制御部
52 プレイヤキャラクタ制御部
53 ノンプレイヤキャラクタ制御部
54 メインモンスター制御部
55 サブモンスター制御部
56 ゲーム空間制御部
57 ゲームステージ制御部
58 描画処理部


【特許請求の範囲】
【請求項1】
コンピュータを、
プレイヤキャラクタおよびノンプレイヤキャラクタが行動するゲーム空間を生成するゲーム空間制御手段、
前記ゲーム空間内に、遊戯者によって操作されるプレイヤキャラクタを生成し、遊戯者の操作に応じて、該プレイヤキャラクタの前記ゲーム空間内における行動を制御するプレイヤキャラクタ制御手段、
前記ゲーム空間内に複数のノンプレイヤキャラクタを生成し、該ノンプレイヤキャラクタの前記ゲーム空間内における行動を制御するノンプレイヤキャラクタ制御手段、
として機能させるゲームプログラムであって、
前記ノンプレイヤキャラクタ制御手段は、
所定の条件を満たすとき、前記複数のノンプレイヤキャラクタの前記ゲーム空間内における行動範囲を縮小することを特徴とするゲームプログラム。
【請求項2】
前記所定の条件は、前記複数のノンプレイヤキャラクタの前記行動範囲に、他のノンプレイヤキャラクタである出現キャラクタがいることを含むことを特徴とする請求項1に記載のゲームプログラム。
【請求項3】
前記所定の条件は、前記複数のノンプレイヤキャラクタの前記行動範囲に、プレイヤキャラクタである出現キャラクタがいることを含むことを特徴とする請求項1に記載のゲームプログラム。
【請求項4】
前記ゲーム空間制御手段は、前記ゲーム空間内に1又は複数のゲームステージを生成し、
前記ノンプレイヤキャラクタ制御手段は、前記複数のノンプレイヤキャラクタの前記行動範囲を1のゲームステージとし、前記所定の条件を満たすとき、前記複数のノンプレイヤキャラクタの行動範囲を前記1のゲームステージ内の所定領域とする請求項1乃至請求項3のいずれかに記載のゲームプログラム。
【請求項5】
前記ノンプレイヤキャラクタ制御手段は、前記出現キャラクタの周囲を前記所定領域とすることを特徴とする請求項2または請求項3に記載のゲームプログラム。
【請求項6】
前記ノンプレイヤキャラクタ制御手段は、前記複数のノンプレイヤキャラクタに前記所定領域内で前記出現キャラクタを守る行動を行わせることを特徴とする請求項5に記載のゲームプログラム。
【請求項7】
前記ノンプレイヤキャラクタ制御手段は、前記ゲームステージ内の予め定められた固定領域を前記所定領域とすることを特徴とする請求項4に記載のゲームプログラム。
【請求項8】
前記ノンプレイヤキャラクタ制御手段は、前記複数のノンプレイヤキャラクタに前記所定領域内で前記出現キャラクタを攻撃する行動を行わせることを特徴とする請求項7に記載のゲームプログラム。
【請求項9】
前記ノンプレイヤキャラクタ制御手段は、前記出現キャラクタが前記所定領域内にいる場合、前記複数のノンプレイヤキャラクタに前記出現キャラクタを攻撃する行動を行わせ、
前記出現キャラクタが前記所定領域外にいる、かつ前記複数のノンプレイヤキャラクタの前記出現キャラクタに対する攻撃可能性を示すパラメータが一定値以上の場合、前記複数のノンプレイヤキャラクタに前記出現キャラクタを攻撃する行動を行わせることを特徴とする請求項8に記載のゲームプログラム。
【請求項10】
前記ノンプレイヤキャラクタ制御手段は、前記攻撃可能性を示すパラメータを、前記複数のノンプレイヤキャラクタと前記出現キャラクタとの距離が近いほど上昇させ、前記ノンプレイヤキャラクタが前記出現キャラクタから攻撃によるダメージを受けるほど上昇させることを特徴とする請求項9に記載のゲームプログラム。
【請求項11】
前記ノンプレイヤキャラクタ制御手段は、
前記出現キャラクタに対して、前記複数のノンプレイヤキャラクタの味方であるか敵であるかを示す属性を設定し、
前記所定領域を、前記出現キャラクタの前記属性に応じて、前記出現キャラクタの周囲または前記ゲームステージ内の予め定められた固定領域のいずれか一方に決定することを特徴とする請求項4に記載のゲームプログラム。
【請求項12】
前記ノンプレイヤキャラクタ制御手段は、
前記出現キャラクタに対して、行動形態または行動能力を示すステータスを設定し、
前記所定領域を、前記出現キャラクタの前記ステータスに応じて、前記出現キャラクタの周囲または前記ゲームステージ内の予め定められた固定領域のいずれか一方に決定することを特徴とする請求項4に記載のゲームプログラム。
【請求項13】
前記ノンプレイヤキャラクタ制御手段は、前記所定の条件を満たさなくなったとき、前記複数のノンプレイヤキャラクタの行動範囲を、前記1のゲームステージ内の前記所定領域から前記1のゲームステージへ復帰させる請求項4に記載のゲームプログラム。
【請求項14】
請求項1乃至請求項13のいずれかに記載のゲームプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項15】
請求項1乃至請求項13のいずれかに記載のゲームプログラムを読み込んで実行するコンピュータ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図11】
image rotate


【公開番号】特開2010−124874(P2010−124874A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−299483(P2008−299483)
【出願日】平成20年11月25日(2008.11.25)
【新規性喪失の例外の表示】特許法第30条第3項適用申請有り 〔博覧会名〕 東京ゲームショウ2008 〔主催者名〕 社団法人コンピュータエンターテインメント協会 〔開催日〕 平成20年10月9日から10月12日「4日間」
【出願人】(000129149)株式会社カプコン (192)
【Fターム(参考)】