(57)【特許請求の範囲】
【請求項１】
コンピュータを、
ノンプレイヤキャラクタが動作する仮想のゲーム空間を生成するゲーム空間生成手段、
該ゲーム空間でのノンプレイヤキャラクタの動作を制御するキャラクタ動作制御手段、
前記ゲーム空間内で経過するゲーム内時間を管理するゲーム内時間管理手段、
ゲーム内時間に応じて設定された前記ゲーム空間でのノンプレイヤキャラクタの移動目標地点を、ゲーム内時間に関連付けて記憶する記憶部から、該移動目標地点を読み出す時間別目標地点読出手段、及び
前記移動目標地点にてノンプレイヤキャラクタが実行する動作を、該移動目標地点に関連付けて記憶する記憶部から、該動作内容を読み出す場所別動作読出手段、
として機能させ、
前記ゲーム空間には、ノンプレイヤキャラクタが自主的に移動できる所定範囲の徘徊エリアが、該ノンプレイヤキャラクタに関連付けられて、且つ、前記移動目標地点を含むように設定され、更に、該徘徊エリアの境界ライン上又はその外側に設けられた自主帰還ラインが設定されており、
前記キャラクタ動作制御手段は、
ノンプレイヤキャラクタを、現在のゲーム内時間に関連付けられた前記移動目標地点へ向かって、前記ゲーム空間内を移動するよう動作させると共に、
前記移動目標地点に到達したノンプレイヤキャラクタに、該移動目標地点に関連付けられた動作を実行させ、
更に、該ノンプレイヤキャラクタが前記自主帰還ラインの外へ出た場合には、該自主帰還ラインの外へ出てから所定時間を経た後に、該ノンプレイヤキャラクタを前記徘徊エリアへ帰還させる
ことを特徴とするゲームプログラム。
【請求項２】
前記ゲーム空間には、前記自主帰還ラインの外側に強制帰還ラインが設定されており、前記キャラクタ動作制御手段は、ノンプレイヤキャラクタが前記強制帰還ラインに達した場合には、該ノンプレイヤキャラクタを前記徘徊エリアへ強制的に帰還させることを特徴とする請求項１に記載のゲームプログラム。
【請求項３】
前記移動目標地点、及び該移動目標地点に関連付けられた動作、のうち少なくとも一方は、複数の候補が用意されており、前記時間別目標地点読出手段及び前記場所別動作読出手段のうち少なくとも一方は、前記複数の候補から前記移動目標地点又は動作を読み出すことを特徴とする請求項１又は２に記載のゲームプログラム。
【請求項４】
各移動目標地点は、複数のカテゴリーの何れかに分類されており、
前記移動目標地点に関連付けられた、ゲーム内時間及びノンプレイヤキャラクタの動作のうち少なくとも一方は、前記カテゴリー及びノンプレイヤキャラクタの種類のうち少なくとも一方に応じて設定されていることを特徴とする請求項１乃至３の何れかに記載のゲームプログラム。
【請求項５】
請求項１乃至４の何れかに記載のゲームプログラムを記録したプログラム記憶部、及び、該プログラム記憶部に記憶されたゲームプログラムを実行するコンピュータ、を備えることを特徴とするゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想のゲーム空間でのノンプレイヤキャラクタの動作を制御するゲームプログラム及びゲームシステムに関する。
【背景技術】
【０００２】
従来、アクションゲームやロールプレイングゲームなど、プレイヤの操作に応じてプレイヤキャラクタを仮想のゲーム空間内で動作させるゲームがある。この種のゲームでは、プレイヤキャラクタの他に、例えばプレイヤキャラクタと対戦する敵キャラクタ等のノンプレイヤキャラクタも登場する。ノンプレイヤキャラクタは、プレイヤが直接的にその動作を操作することのできないキャラクタであり、所定のルールに従ってゲーム空間内で行動するように設定されている。
【０００３】
ところで、近年では、現実の時間を取得し、その時間をゲームに反映させるゲームが提案されている（特許文献１参照）。例えば、ゲーム内の時間を現実の時間と一致するように設定し、その時間に応じてイベントを発生させるなど、時間の概念を進行に反映させたゲームが提案されている。また、ゲーム空間内に天候を設定したゲームも提案されている（特許文献２参照）。このゲームでは、天候に応じてゲーム空間内での敵キャラクタ（ノンプレイヤキャラクタ）の出現確率が変化するように設定されている。また、ゲーム空間に設けられた町中の人々（ノンプレイヤキャラクタ）の居場所を、ゲーム内時間に応じて切り換えるゲームも知られている。この種のゲームでは、例えば、ゲーム内時間が昼間の場合には、町人（ノンプレイヤキャラクタ）を屋外の広場に配置し、夜間の場合には屋内に配置するように切り換えている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４４６７６２６号公報
【特許文献２】特許第３７２３５６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のゲームにおける、特に、アクションゲームにおける非戦闘時などでのノンプレイヤキャラクタの行動パターンは、非常に限定的であって多様性に欠けている。より具体的に説明すると、ノンプレイヤキャラクタは、ゲーム内の時間帯（例えば、昼間又は夜間）に応じてゲーム空間内で予め設定された特定箇所に居場所が切り換えられ、そこで特定の行動を実行するのみになっている。従って、プレイヤがこのようなゲームをある程度の時間プレイすれば、どの場所へ行けばどのノンプレイヤキャラクタがいて、そこで何をしているか、ということを完全に把握してしまうことになる。
【０００６】
このように、従来のゲームでは、特に非戦闘時におけるノンプレイヤキャラクタの行動パターンがシンプルであるため、リアリティに欠け、プレイヤのゲームに対する興味を薄れさせてしまう可能性がある。また、このような問題とは別に、従来のゲームの場合、各ノンプレイヤキャラクタと、その居場所と、そこでの行動内容との関係を、ノンプレイヤキャラクタごと（又は、居場所ごと）に逐一設定する必要がある。そのため、ゲーム製作時の作業性を向上させるのが困難であるという問題もある。特に、近年では広大なオープンワールドのゲーム空間を採用したゲームが提供されつつあるが、そのようなゲーム空間の各所に上記のような設定を逐一施す作業は非常に煩瑣である。
【０００７】
そこで本発明は、ゲーム空間内でのノンプレイヤキャラクタの行動パターンを多様化してリアリティを高めることができるゲームプログラム及びゲームシステムを提供することを目的とする。また、ノンプレイヤキャラクタの行動パターンの多様化しつつゲーム製作の作業性を向上することのできるゲームプログラム及びゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るゲームプログラムは、コンピュータを、ノンプレイヤキャラクタが動作する仮想のゲーム空間を生成するゲーム空間生成手段、該ゲーム空間でのノンプレイヤキャラクタの動作を制御するキャラクタ動作制御手段、前記ゲーム空間内で経過するゲーム内時間を管理するゲーム内時間管理手段、ゲーム内時間に応じて設定された前記ゲーム空間でのノンプレイヤキャラクタの移動目標地点を、ゲーム内時間に関連付けて記憶する記憶部から、該移動目標地点を読み出す時間別目標地点読出手段、及び前記移動目標地点にてノンプレイヤキャラクタが実行する動作を、該移動目標地点に関連付けて記憶する記憶部から、該動作内容を読み出す場所別動作読出手段、として機能させ、前記キャラクタ動作制御手段は、ノンプレイヤキャラクタを、現在のゲーム内時間に関連付けられた前記移動目標地点へ向かって、前記ゲーム空間内を移動するよう動作させると共に、前記移動目標地点に到達したノンプレイヤキャラクタに、該移動目標地点に関連付けられた動作を実行させる。
【０００９】
このような構成とすることにより、ノンプレイヤキャラクタは、ゲーム内時間の経過に伴って、ゲーム内の現在時間に応じた場所へ向かってゲーム空間内を実際に移動し、移動後に、その場所に応じた行動を実行する。従って、ノンプレイヤキャラクタの行動パターンを、ゲーム内時間に応じて変化する多様なものとすることができる。
【００１０】
また、前記移動目標地点、及び該移動目標地点に関連付けられた動作、のうち少なくとも一方は、複数の候補が用意されており、前記時間別目標地点読出手段及び前記場所別動作読出手段のうち少なくとも一方は、前記複数の候補から前記移動目標地点又は動作を読み出すようにしてもよい。
【００１１】
また、各移動目標地点は、複数のカテゴリーの何れかに分類されており、前記移動目標地点に関連付けられた、ゲーム内時間及びノンプレイヤキャラクタの動作のうち少なくとも一方は、前記カテゴリー及びノンプレイヤキャラクタの種類のうち少なくとも一方に応じて設定されていてもよい。
【００１２】
このような構成とすることにより、ノンプレイヤキャラクタのゲーム内時間に応じた移動や、各移動目標地点でのノンプレイヤキャラクタの動作などの設定を、比較的容易に行なうことができる。具体的に、ゲーム内時間に応じてノンプレイヤキャラクタを移動させるための設定について、一例をあげて説明する。まず、ゲーム空間内の適宜の地点（ポイント又は領域）に、例えばその環境に応じたカテゴリーを設定する。一方、ノンプレイヤキャラクタに対しては、その種類ごとに、各カテゴリーに対応する有効時間や動作内容を設定する。以上の設定により、ゲーム内の現在時間が有効時間となっているカテゴリーを参照し、そのカテゴリーに関連付けられた移動目標地点へ向けてノンプレイヤキャラクタを移動させることができる。
【００１３】
しかも、ノンプレイヤキャラクタに関してその種類ごとに上記設定を済ませれば、ゲーム空間内の所望の箇所（移動目標地点）にカテゴリーを設定するだけで、ノンプレイヤキャラクタのゲーム内時間に応じた移動及び動作の設定が完了する。従って、ゲーム空間内の多数の箇所に移動目標地点を設定する場合であっても作業性がよく、特に、広大なオープンワールドのゲーム空間を採用するゲームの製作において作業性の向上が図れる。
【００１４】
また、前記ゲーム空間には、ノンプレイヤキャラクタが自主的に移動できる所定範囲の徘徊エリアが、該ノンプレイヤキャラクタに関連付けられて、且つ、前記移動目標地点を含むように設定されていてもよい。
【００１５】
このような構成とすることにより、ノンプレイヤキャラクタは、自身に関連付けられた徘徊エリア内で、ゲーム内時間に応じて適宜移動目標地点へ移動し、その場で所定の動作を実行する。また、仮にノンプレイヤキャラクタが徘徊エリア外へ出てしまった場合であっても、該徘徊エリア内へ帰巣させることができる。このように、上記構成によれば、ノンプレイヤキャラクタをゲーム空間内で所望の状態に分布して配置することができる。
【００１６】
（１）本発明に係るゲームプログラムは、コンピュータを、ノンプレイヤキャラクタが動作する仮想のゲーム空間を生成するゲーム空間生成手段、及び、該ゲーム空間でのノンプレイヤキャラクタの動作を制御するキャラクタ動作制御手段、として機能させ、前記ゲーム空間には、ノンプレイヤキャラクタが自主的に移動できる所定範囲の徘徊エリアと、該徘徊エリアの境界ライン上又はその外側に設けられた自主帰還ラインとが設定されており、前記キャラクタ動作制御手段は、ノンプレイヤキャラクタが前記自主帰還ラインの外へ出た場合には、該ノンプレイヤキャラクタを前記徘徊エリアへ帰還させるように制御する。
【００１７】
このような構成とすることにより、ノンプレイヤキャラクタが徘徊エリア外へ出てしまった場合に、このノンプレイヤキャラクタを適切に徘徊エリア内へ帰還させることができる。例えば、戦闘状態のノンプレイヤキャラクタは、プレイヤキャラクタを追いかけて徘徊エリア外へ出てしまうことが考えられる。この場合に、仮に戦闘状態が終了してからノンプレイヤキャラクタを徘徊エリアへ帰還させることとすると、戦闘状態の終了までにノンプレイヤキャラクタは自身の徘徊エリア外の非常に遠方へ行ってしてしまう可能性がある。しかしながら、上述したような構成とすることにより、自主帰還ラインを超えた時点でノンプレイヤキャラクタに対して帰還させるための制御をするため、ノンプレイヤキャラクタが徘徊エリア外の遠方にまで行ってしまう前に帰還させることができる。
【００１８】
（２）また、上記（１）に係るゲームプログラムにおいて、前記キャラクタ動作制御手段は、ノンプレイヤキャラクタが前記自主帰還ラインの外へ出てから、所定時間を経た後に、該ノンプレイヤキャラクタを前記徘徊エリアへ帰還させるように制御することとしてもよい。
【００１９】
このような構成とすることにより、ノンプレイヤキャラクタが帰還動作（例えば、歩行、走行、ワープなど）を開始するゲーム空間上の位置が固定的にならず、ユーザに、ノンプレイヤキャラクタの帰還開始位置を知られることがない。すなわち、自主帰還ラインを出た後のノンプレイヤキャラクタの行動によって、所定時間経過後における、ノンプレイヤキャラクタの自主帰還ラインからの距離は異なる。従って、ノンプレイヤキャラクタの帰還開始位置は、その都度で異なるため、ユーザに当該位置を知られることがない。
【００２０】
（３）また、上記（２）に係るゲームプログラムにおいて、上記所定時間は、前記ゲーム空間上の移動速度が相対的に速いノンプレイヤキャラクタほど短く設定されていてもよい。
【００２１】
このような構成とすることにより、移動速度が速いノンプレイヤキャラクタが、自主帰還ライン外の遠方へ行ってしまうのを防止することができる。
【００２２】
（４）また、上記（１）〜（３）の何れかに係るゲームプログラムにおいて、前記ゲーム空間には、前記自主帰還ラインの外側に強制帰還ラインが設定されており、前記キャラクタ動作制御手段は、ノンプレイヤキャラクタが前記強制帰還ラインに達した場合には、該ノンプレイヤキャラクタを前記徘徊エリアへ強制的に帰還させるように制御することとしてもよい。
【００２３】
このような構成とすることにより、自主帰還ラインから出たノンプレイヤキャラクタの行動可能範囲を、最大で強制帰還ラインまでに制約することができる。例えば、ユーザの操作により、プレイヤキャラクタがノンプレイヤキャラクタ（敵キャラクタなど）を担いで移動している場合には、所定時間が経過した状態であってもノンプレイヤキャラクタが帰還動作（歩行等）を行えない可能性がある。しかしながら、上述したような構成とすることにより、このような状況であっても、強制帰還ラインに達した時点で当該ノンプレイヤキャラクタを強制的に徘徊エリアへ帰還（例えば、ワープ）させることができる。
【００２４】
本発明に係るゲームシステムは、上述した何れかに記載のゲームプログラムを記録したプログラム記憶部、及び、該プログラム記憶部に記憶されたゲームプログラムを実行するコンピュータ、を備える。
【発明の効果】
【００２５】
本発明によれば、ゲーム空間内でのノンプレイヤキャラクタの行動パターンを多様化してリアリティを高めることができるゲームプログラム及びゲームシステムを提供することができる。また、ノンプレイヤキャラクタの行動パターンの多様化を実現しつつゲーム製作の作業性を向上することのできるゲームプログラム及びゲームシステムを提供することができる。
【図面の簡単な説明】
【００２６】
【図１】本実施の形態に係る仮想のゲーム空間の模式的な俯瞰図である。
【図２】ゲーム装置のハードウェア構成を示すブロック図である。
【図３】ゲーム装置の機能的な構成を示すブロック図である。
【図４】敵キャラクタのゲーム内時間に応じた動作設定を説明するためのゲーム空間の俯瞰図である。
【図５】時間別目標地点読出部及び場所別動作読出部により読み出されるデータの一例を示す図表である。
【図６】敵キャラクタの行動の制御態様を示すフローチャートである。
【図７】ゲーム空間に設定された自主帰還ライン及び強制帰還ラインを説明するための模式図である。
【図８】敵キャラクタが自主帰還ラインの内外何れに位置するかを判定する処理を示すフローチャートである。
【図９】自主帰還ラインの外へ出た敵キャラクタが徘徊エリアに帰還する際の制御内容を示すフローチャートである。
【図１０】ゲーム空間での自主帰還ライン及び強制帰還ラインの設定バリエーションを示す模式図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施の形態に係るゲームプログラム、及びゲームシステムについて、図面を参照しつつ説明する。
【００２８】
（実施の形態１）
本実施の形態では、仮想のゲーム空間内を、プレイヤが操作するプレイヤキャラクタを行動させ、ゲーム空間中に適宜配置されたノンプレイヤキャラクタである敵キャラクタと対戦しつつゲームを進行させるアクションゲームを例にして説明する。なお、アクションゲームに限らず、ゲーム空間中にノンプレイヤキャラクタを配置する必要のあるゲームであれば、本発明を適用できる。
【００２９】
［ゲーム概要］
図１は、本発明の実施の形態に係るゲームの概要を説明すべく、仮想のゲーム空間を俯瞰して示す模式図である。本ゲームのゲーム空間はオープンワールドに設計されており、プレイヤが操作するプレイヤキャラクタの移動に伴って変化するゲーム空間が、ゲーム装置の画面にシームレスに表示される。そして、図１のゲーム空間は、このオープンワールドなゲーム空間の一部を示している。但し、本発明の適用対象はオープンワールドのゲームに限定されるわけではない。例えば、ゲーム空間が複数のフィールドに分割されたゲームであって、フィールド間を移動する際に、移動先のフィールドのデータをロードし、移動前後のフィールドを切り換えて表示するようなゲームにも適用することができる。
【００３０】
図１に示すゲーム空間100では、左側に位置する街101と右側に位置する砦102とを結ぶように、左右へ延びる道103が設けられている。この道103は丘104の上に形成されており、丘104の手前側には浜辺105が設けられ、丘104より奥側には森106が設けられている。そして、プレイヤキャラクタC1は、街101、砦102、及び道103はもちろんのこと、丘104、浜辺105、及び森106の中を地形に応じて移動できるようになっている。
【００３１】
また、ゲーム空間100中の各所には、ノンプレイヤキャラクタである一又は複数の敵キャラクタC2（例：ゴブリン（goblin））が存在している。この敵キャラクタC2は、ゲーム空間100内に設定された所定エリア内で徘徊すると共に（図１中の破線矢印参照）、自身を中心とする所定範囲内にプレイヤキャラクタC1が進入すると、該プレイヤキャラクタC1へ向かって移動し、攻撃を仕掛けてくるように設定されている。
【００３２】
ところで、本実施の形態に係るゲームでは、ゲーム空間100内で経過する時間（ゲーム内時間）が設定されている。より具体的には、昼夜という大まかな時間帯の切り換えではなく、例えば１日を２４時間で区切り、１時間ごとに時間の経過（時刻の変化）を管理している。そして、時間の経過に伴って、ゲーム空間100内の環境（仮想的な太陽の位置、明るさ、気温、風向き、など）を変化し得るようになっている。詳しくは後述するが、本ゲームではこのような時間の経過に伴い、ノンプレイヤキャラクタC2の徘徊態様を含む行動パターンが変化するように設定されている。
【００３３】
［ハードウェア構成］
上述したゲームを実現するゲーム装置の構成について説明する。図２は、ゲーム装置（ゲームシステム）2のハードウェア構成を示すブロック図である。図２に示すように、ゲーム装置2は、他のゲーム装置2及びサーバ装置3との間で、インターネット又はＬＡＮなどの通信ネットワークNWを介して互いに通信可能である。このゲーム装置2は、その動作を制御するコンピュータであるＣＰＵ10を備え、このＣＰＵ10にはバス11を介してディスクドライブ12、メモリカードスロット13、プログラム記憶手段を成すＨＤＤ14及びＲＯＭ15、並びにＲＡＭ16が接続されている。
【００３４】
ディスクドライブ12には、ＤＶＤ−ＲＯＭ等のディスク型記録媒体30が装填可能であり、該ディスク型記録媒体30には、本発明の実施の形態に係るゲームプログラム30a、及び本実施の形態で説明するゲームに登場するキャラクタC1，C2やゲーム空間100を形成するのに必要なオブジェクト及びテクスチャ等のゲームデータ30bも記録されている。また、メモリカードスロット13にはカード型記録媒体31が装填でき、ゲームの途中経過等のプレイ状況を示すセーブデータを、ＣＰＵ10からの指示に応じて記録可能である。
【００３５】
ＨＤＤ14はゲーム装置2が内蔵する大容量記録媒体であって、ディスク型記録媒体30から読み込んだゲームプログラム30a及びゲームデータ30b、更にはセーブデータ等を記録する。ＲＯＭ15は、マスクＲＯＭ又はＰＲＯＭなどの半導体メモリであり、ゲーム装置2を起動する起動プログラムや、ディスク型記録媒体30が装填されたときの動作を制御するプログラムなどを記録している。ＲＡＭ16は、ＤＲＡＭ又はＳＲＡＭなどから成り、ＣＰＵ10が実行すべきゲームプログラム30aや、その実行の際に必要になるゲームデータ30bなどを、ゲームのプレイ状況に応じてディスク型記録媒体30又はＨＤＤ14から読み込んで一時的に記録する。
【００３６】
また、ＣＰＵ10には更に、バス11を介してグラフィック処理部17、オーディオ合成部20、無線通信制御部23、及びネットワークインタフェース25が接続されている。
【００３７】
このうちグラフィック処理部17は、ＣＰＵ10の指示に従ってゲーム空間100や各キャラクタC1，C2等を含むゲーム画像を描画する。また、グラフィック処理部17にはビデオ変換部18を介して外部のモニタ19が接続されており、グラフィック処理部17にて描画されたゲーム画像はビデオ変換部18において動画形式に変換され、更にモニタ19にて表示されるようになっている。
【００３８】
オーディオ合成部20は、ＣＰＵ10の指示に従ってデジタルのゲーム音声を再生及び合成する。また、オーディオ合成部20にはオーディオ変換部21を介して外部のスピーカ22が接続されている。従って、オーディオ合成部20にて再生及び合成されたゲーム音声は、オーディオ変換部21にてアナログ形式にデコードされ、更にスピーカ22から外部へ出力されるようになっている。
【００３９】
無線通信制御部23は、2.4GHz帯の無線通信モジュールを有し、ゲーム装置2に付属するコントローラ24との間で無線により接続され、データの送受信が可能となっている。ユーザは、このコントローラ24に設けられたボタン等の操作子（図示せず）を操作することにより、ゲーム装置2へ信号を入力することができ、モニタ19に表示されるプレイヤキャラクタC1の動作を制御可能になっている。また、ネットワークインタフェース25は、インターネット又はＬＡＮなどの通信ネットワークNWに対してゲーム装置2を接続するものであり、他のゲーム装置2又はサーバ装置3との間で通信可能である。そして、ゲーム装置2を、通信ネットワークNWを介して他のゲーム装置2と接続し、互いにデータを送受信することにより、同一のゲーム空間内で同期して複数のプレイヤキャラクタC1を表示させることができる。従って、複数人が共同してゲームを進行させるマルチプレイが可能になっている。
【００４０】
［ゲーム装置の機能的構成］
図３は、上述したゲーム装置2の機能的な構成を示すブロック図である。図３に示すようにゲーム装置2は、本発明のゲームプログラムを実行することで、下記の各部41〜46の機能を備える。そして、ゲーム空間生成部41、キャラクタ動作制御部42、ゲーム内時間管理部43、ゲーム進行制御部44、時間別目標地点読出部45、場所別動作読出部46等は、具体的には下記のような機能を実現できる。なお、このような各機能は、具体的には図２に示すＣＰＵ10，ＨＤＤ14，ＲＯＭ15，ＲＡＭ16，グラフィック処理部17，ビデオ変換部18，オーディオ合成部20，オーディオ変換部21，ネットワークインタフェース25等から構成されている。
【００４１】
ゲーム空間生成部41は、上述したようなゲーム空間100及びキャラクタC1，C2を、モニタ19に表示するために生成する。例えば、プレイヤキャラクタC1の移動に伴って、ゲームデータ30bに含まれるオブジェクト及びテクスチャ等のデータに基づき、三次元の仮想ゲーム空間100を生成する。また、ゲーム装置2のモニタ19にゲーム空間100を表示するために、生成したゲーム空間100を所定の仮想カメラで撮影したときの二次元画像を生成する。
【００４２】
キャラクタ動作制御部42は、ユーザによるコントローラ24の操作に応じて、又は、ゲームの進行状況に応じて、ゲーム空間100での各キャラクタC1，C2の動作を制御する。例えば、ユーザはコントローラ24を操作することにより、プレイヤキャラクタC1をゲーム空間100内で移動させたり、敵キャラクタC2に対して攻撃行動をさせたりすることができる。また、プレイヤキャラクタC1が敵キャラクタC2に対して所定距離以内に接近すると、該敵キャラクタC2をプレイヤキャラクタC1へ向かって移動させ、更に、プレイヤキャラクタC1に対して攻撃を仕掛けるように動作制御する。
【００４３】
ゲーム内時間管理部43は、ゲーム空間100内で経過（進行）する時間（時刻）を管理する。例えば、上述したように１日を２４時間で区切り、１時間ごとに時間の経過（時刻の変化）を管理している。なお、ゲーム内時間での１時間は、現実の１時間と同一の時間長さであってもよいし、異なる時間長さであってもよい。また、ゲーム内で管理される時刻を、現実の時刻に同期させるようにしてもよい。
【００４４】
ゲーム進行制御部44は、プレイヤの操作及びゲーム内時間の経過に応じて、ゲームの進行を制御する。例えば、プレイヤの操作によりプレイヤキャラクタC1が所定の動作を行なった場合に、所定のイベントを発生させて一定期間だけ所定の動画を再生する。また、ゲーム内時間の経過に伴って、ゲーム空間100内の環境を変化させる。
【００４５】
時間別目標地点読出部45は、ゲーム内時間に応じて設定されたゲーム空間100内の敵キャラクタC2の移動目標地点を、ゲーム内時間に関連付けて記憶するゲーム機2のＨＤＤ14又はＲＡＭ16から読み出し、ＣＰＵ10へ送る。また、場所別動作読出部４６は、移動目標地点にて敵キャラクタC2が実行する動作を、該移動目標地点に関連付けて記憶するゲーム機2のＨＤＤ14又はＲＡＭ16から読み出し、ＣＰＵ10へ送る。以下、これらの移動目標地点、該移動目標地点で敵キャラクタC2が実行する動作などについて、より詳しく説明する。
【００４６】
図４は、敵キャラクタC2のゲーム内時間に応じた動作設定を説明するためのゲーム空間100の俯瞰図であり、ゲーム空間100自体は図１に示したものと同じものを表示している。また、図５は、ゲームデータ30bのうち、上記時間別目標地点読出部45及び場所別動作読出部46によって読み出されるデータの一例を示す図表である。
【００４７】
図４に示すように、ゲーム空間100には、敵キャラクタC2が移動する際の目標到達地点として、複数の移動目標地点X（X11〜X17，X21〜X25）が設定されている。この移動目標地点Xは、ゲーム空間100内の１点の座標で設定してもよいし、所定面積を有する範囲で設定してもよい。また、これらの移動目標地点Xを含むように所定範囲のエリア（徘徊エリア）A1，A2が設定されている。具体的に図４に示す例では、エリアA1には、浜辺105に２つの移動目標地点X11，X12、道103を含む丘104に３つの移動目標地点X13〜X15、森106に２つの移動目標地点X16，X17が設定されている。また、エリアA2には、道103を含む丘104に３つの移動目標地点X21〜X23、森106に２つの移動目標地点X24，X25が設定されている。
【００４８】
図５（ａ）に示すように、各移動目標地点Xは複数のカテゴリーA〜Cのうちの何れかに分類されている。このカテゴリーは、ゲーム空間100の環境（地形など）に応じて区別されている。即ち、本実施の形態では、浜辺105のように障害物が比較的少ない見晴らしのよい場所に設置された移動目標地点X11，X12はカテゴリーAに分類されている。また、丘104のように、浜辺105よりは障害物（岩石や草木など）が存在する場所に設置した移動目標地点X13〜X15，X21〜X23はカテゴリーBに分類されている。更に、森106のように障害物（大木など）が比較的多い場所に設置された移動目標地点X16，X17，X24，X25はカテゴリーCに分類されている。
【００４９】
一方、図５（ｂ）に示すように、各敵キャラクタC2（ここでは２体の敵キャラクタC2-1，C2-2を例示する）には、所属するエリア（エリアA1又はA2）が設定されている。この所属エリアの設定は、各敵キャラクタC2の徘徊エリアを決定するものである。例えば、エリアA1に所属する敵キャラクタC2-1は、エリアA1に含まれる移動目標地点X11〜X17の何れかを移動先として選択し、選択した移動先へ向かって移動する。従って、この敵キャラクタC2-1はエリアA1内で徘徊する。同様に、エリアA2に所属する敵キャラクタC2-2はエリアA2内で徘徊する。
【００５０】
また、図５（ｂ）に示すように、各敵キャラクタC2には、カテゴリー毎の有効時間が設定されている。ここでいう「有効時間」とは、敵キャラクタC2の移動先として何れかの移動目標地点Xを選択する際に、選択肢に含める移動目標地点Xを決定すべく、ゲーム内時間と比較される指標である。例えば、敵キャラクタC2-1について見れば、カテゴリーAの有効時間は「20時から翌日4時まで」となっている。従って、移動先を選択する際のゲーム内時間がこの時間帯である場合は、カテゴリーAに分類された移動目標地点Xを移動先の選択候補とし、選択候補の中から１つの移動目標地点Xを決定する。
【００５１】
なお、本実施の形態では、何れの敵キャラクタC2-1，C2-2についても同一の有効時間が設定されており、カテゴリーBの有効時間は「16時から翌日6時まで」、カテゴリーCの有効時間は「24時間」に夫々設定されている。このように、本実施の形態の有効時間は、障害物が相対的に多い場所ほど長く設定し、障害物が相対的に少ない場所ほど、昼間を避けて短く設定している。
【００５２】
また、図５（ｂ）に示すように、各敵キャラクタC2には、カテゴリー毎に一又は複数の動作内容が設定されている。ここでいう「動作内容」とは、敵キャラクタC2が移動目標地点に到達したときに、該敵キャラクタC2に実行させる動作の内容を意味する。例えば、敵キャラクタC2-1について見れば、カテゴリーAの動作内容は「キョロキョロする」と設定されている。従って、敵キャラクタC2-1がカテゴリーAに属する移動目標地点Xに到達すると、そこで「キョロキョロする」という動作が実行される。
【００５３】
なお、本実施の形態では、何れの敵キャラクタC2-1，C2-2についても同一の動作内容が設定されており、カテゴリーBの動作内容は「しゃがんで待つ」及び「エサを探す」に設定され、カテゴリーCの動作内容は「寝る」及び「焚き火をする」に設定されている。このように１つのカテゴリーに対して複数の動作内容が設定されている場合は、ゲーム装置2（ゲーム進行制御部44など）は何れかの動作を選択する。選択方法としては、各動作について予め確率を設定しておき、抽選で選択するようにしてもよいし、予め決めておいた順序に従って選択してもよい。また、何れの動作についても、それを実行する時間（動作を完了するまでの所要時間）が設定されている。
【００５４】
本実施の形態では、上記のように敵キャラクタC2-1，C2-2に対し、各カテゴリーに対応する有効時間及び動作内容をそれぞれ同一に設定しているが、敵キャラクタC2-1と敵キャラクタC2-2とで異なる内容に設定してもよい。また、移動目標地点Xに到達した敵キャラクタC2が実行する動作は１つに限定されず、２つの動作を連続して実行するようにしてもよい。例えば、図５（ｂ）の敵キャラクタC2-1がカテゴリーBに属する移動目標地点Xに到達した場合、「しゃがんで待つ」という動作を所定時間だけ継続した後、続いて同じ場所で「エサを探す」という動作を所定時間だけ行うようにしてもよい。
【００５５】
また、各エリアA1，A2に所属する敵キャラクタC2は一体に限らず複数体であってもよい。この場合、同一エリアに所属する複数の敵キャラクタC2が、同時期に同一の移動目標地点に位置する可能性がある。従って、このように複数の敵キャラクタC2が一箇所に集まった場合には、各敵キャラクタC2が別々に位置する場合とは異なる、特定の動作を実行させるようにしてもよい。例えば、複数の敵キャラクタC2が一緒に踊る動作をしたり、協力してエサを探す動作をしたりするように制御してもよい。
【００５６】
［敵キャラクタの動作制御］
次に、本ゲームにおける敵キャラクタC2の行動の制御態様について、図６のフローチャートを参照して説明する。図６に示すように、ゲーム装置2のキャラクタ動作制御部４２は、敵キャラクタC2ごとに、現在位置で所定の行動を実行すべきか否かを判定する（ステップS1）。例えば、その敵キャラクタC2の近傍にプレイヤキャラクタC1が存在していれば、プレイヤキャラクタC1との対戦を現在位置で実行すべきと判定する（ステップS1：YES）。この場合、キャラクタ動作制御部42は、その行動（例：対戦）を実行させ（ステップS2）、その行動が完了（ステップS3：YES）すると、この図６の処理を終了させる。なお、例えば対戦が完了するタイミングとしては、プレイヤキャラクタC1と敵キャラクタC2との距離が所定距離以上になった場合、又は、敵キャラクタC2が所定のダメージを受けた場合（戦意を喪失した場合）などを採用することができる。
【００５７】
一方、ステップS1において、プレイヤキャラクタC1との対戦など、その場で実行しなければならない行動がない場合（ステップS1：NO）、ゲーム装置2は、徘徊するための移動目標地点Xをゲーム内の現在時間に応じて選択する（ステップS4）。例えば、敵キャラクタC2-1を例にして説明すると、ゲーム内時間が4時〜16時の間の時間帯であった場合は、カテゴリーCのみが有効である（図５（ｂ）参照）。従って、敵キャラクタC2-1が所属するエリアA1内であって、カテゴリーCに属する２つの移動目標地点X16，X17の中から移動先を選択する。
【００５８】
また、ゲーム内時間が4時〜6時の間、又は16時〜20時の間の時間帯であった場合は、カテゴリーCに加えてカテゴリーBも有効である（図５（ｂ）参照）。従ってゲーム装置2は、敵キャラクタC2-1が所属するエリアA1内であって、カテゴリーB，Cに属する５つの移動目標地点X13〜X17の中から移動先を選択する。更に、ゲーム内時間が20時〜翌日4時の間の時間帯であった場合は、全てのカテゴリーA〜Cが有効である（図５（ｂ）参照）。従って、敵キャラクタC2-1が所属するエリアA1内の全カテゴリーA〜Cに属する７つの移動目標地点X11〜X17の中から移動先を選択する。なお、複数の移動目標地点Xの中から１つを選択する場合の選択方法は、その都度抽選するようにしてもよいし、予め決めておいた順序に従って選択するようにしてもよい。
【００５９】
このようにして、１つの移動目標地点Xを選択すると（ステップS4）、続いてキャラクタ動作制御部42は、その移動目標地点Xへ向かって敵キャラクタC2を移動させる（ステップS5）。即ち、ゲーム空間100内で実際に敵キャラクタC2を移動動作（例：歩行動作）させ、移動目標地点Xへ向かわせる。従って、この敵キャラクタC2を含むゲーム空間100がゲーム装置2のモニタ19に表示されていれば、プレイヤは、この敵キャラクタC2がゲーム空間100を移動目標地点Xへ向かって移動（歩行）する態様を視認することができる。なお、この際の敵キャラクタC2の移動ルートの決定方法は、公知の探索アルゴリズム（ウェイポイントナビゲーション、Ａ＊（エー・スター）など）を採用すればよい。
【００６０】
次に、敵キャラクタC2が移動を開始すると、ゲーム進行制御部44は、選択した移動目標地点Xに到達したか否かを判定する（ステップS6）。例えば、移動目標地点Xを中心とする所定半径の円などで画定した範囲内に敵キャラクタC2が入れば、その移動目標地点Xに到達したと判定する。
【００６１】
ゲーム装置2は、敵キャラクタC2が移動目標地点Xに到達すると（ステップS6：YES）、その地点で実行すべき動作内容を選択する（ステップS7）。図５（ａ），（ｂ）を参照して、例えば敵キャラクタC2-1が移動目標地点X11に到達した場合を説明すると、そのカテゴリーAに関連付けられた動作は「キョロキョロする」の１つだけであるので、この動作を選択する。一方、敵キャラクタC2-1が移動目標地点X13に到達した場合、そのカテゴリーBに関連付けられた動作は「しゃがんで待つ」及び「エサを探す」の２つであるから、これらのうち１つを選択する。
【００６２】
このようにして動作内容を選択すると（ステップS7）、キャラクタ動作制御部42は、選択した動作を実行させる（ステップS8）。そして、その動作が完了したか否かを判定し（ステップS9）、完了していれば図６の処理を終了する。なお、ステップS2の行動（例：対戦）が完了した場合（ステップS3：YES）、及び、ステップS8の動作が完了した場合（ステップS9：YES）は、再びステップS1からの処理を実行する。従って、プレイヤキャラクタC1と対戦状態にない場合（非戦闘時）などには、ステップS1，S4〜S9の処理を繰り返すため、敵キャラクタC2は、その都度ステップS4で選択した移動目標地点Xへ向かって移動し、自身が所属するエリア内を徘徊する。
【００６３】
また、敵キャラクタC2は、対戦中にプレイヤキャラクタC1を追いかけるなどして、自身が所属するエリアの外に出てしまう可能性がある。この場合であっても、対戦終了後にステップS1，S4〜S9の処理が実行されると、所属するエリア内で選択した移動目標地点Xへ向かって移動する。従って、エリア外にいる敵キャラクタC2を、自身が所属するエリア内へと戻すことができる。
【００６４】
以上のように、本ゲームでは、徘徊する敵キャラクタC2の移動目標地点Xの選択候補が、ゲーム内時間に応じて変化する。また、敵キャラクタC2は、選択した移動目標地点Xへ向かって、実際にゲーム空間100内を移動（歩行）する。従って、特に徘徊中の敵キャラクタC2の行動パターンを多様化し、ゲームに高いリアリティを付加することができる。また、移動目標地点Xが属するカテゴリーごとに、敵キャラクタC2が実行する動作が選択可能に設定されているため、敵キャラクタC2の行動パターンの多様化、及び、より高いリアリティの付加が期待できる。
【００６５】
また、ゲーム内時間に応じた敵キャラクタC2の行動パターン（有効時間，動作内容）の設定は、図５（ａ），（ｂ）を用いて説明したように、カテゴリー及び敵キャラクタC2の種類に応じて設定している。そのため、ゲームを制作する際には、ゲーム空間100への移動目標地点Xの設定と、敵キャラクタC2に関する有効時間及び動作内容の設定とを、切り離して別々に行うことができる。従って、移動目標地点Xの増減、及び敵キャラクタC2の行動パターンの変更など、ゲーム内容を変更する際の作業性が向上する。
【００６６】
更に、各敵キャラクタC2には徘徊するエリア（エリアA1，A2）が関連付けられており、敵キャラクタC2は、そのエリア内にある複数の移動目標地点Xから選択した移動先へ移動する。従って、敵キャラクタC2を所定のエリア内で徘徊させつつも、ゲーム制作者の意図に応じて、ゲーム空間100の中での敵キャラクタC2の分布を決定することができる。
【００６７】
なお、複数種類の敵キャラクタC2を、同一エリアに所属させてもよい。例えば、上記説明で例示したゴブリン（goblin）に加えてオオカミ（wolf）を敵キャラクタC2として設定し、これらを同一のエリアA1に所属させてもよい。この場合、オオカミについても図５（ａ），（ｂ）に示したような設定を行う。この際、ゴブリンとオオカミとで区別した別個の設定としてもよいし、少なくとも一部を共用してもよい。共用する場合には、例えば、図５（ａ）に示した移動目標地点とカテゴリーとの関連付けを共用することとし、カテゴリーごとの有効時間及び動作内容の設定を、ゴブリンとオオカミとで別個に行うようにしてもよい。このように、一部を共用した場合には、ゲーム制作時の作業性がより向上する。
【００６８】
また、上記実施の形態では、ゲーム内時間に応じて移動目標地点Xの選択候補を変えるために「有効時間」を設定したが、これに限られない。例えば、カテゴリーごとにゲーム内時間に応じた確率（0％〜100%）を設定し、移動先を選択する際にこの確率に基づいて移動目標地点Xの選択候補を決定するようにしてもよい。また、図６のフローチャートに示すように、移動目標地点Xを選択（ステップS4）した後に、その場所で実行する動作を選択（ステップS7）する場合を例示したが、これに限定されない。例えば、移動目標地点Xを選択する際に、これと同時にその場所で実行する動作も選択するようにしてもよい。
【００６９】
また、ゲーム内時間に応じて徘徊動作を制御するノンプレイヤキャラクタの例として敵キャラクタC2を例示したが、これに限られない。例えば、街101の中の住人キャラクタを、ゲーム内時間に応じて徘徊させるように制御してもよい。この場合、街101全体を、この住人キャラクタの所属する徘徊エリアに設定すれば、街101内で徘徊させることができる。
【００７０】
また、ある移動目標地点への移動中（ステップS6：NO）に、ゲーム内時間が、この移動目標地点のカテゴリーの有効時間外になり、別のカテゴリーの有効時間内に変わってしまう場合がある。この場合には、実行中の移動動作を完了してから（ステップS6：YES）、又は、実行中の移動動作及び到達した移動目標地点での動作の両方を完了してから（ステップS9：YES）、ゲーム内時間に応じた次の移動目標地点（及び動作内容）の選択を行うようにすればよい。あるいは、これに替えて、上記のようにゲーム内時間が現在向かっている移動目標地点のカテゴリーの有効時間外になった時点で、再度、移動目標地点（及び動作内容）の選択を行い、選択した移動目標地点への移動に動作を切り換えるようにしてもよい。
【００７１】
なお、以上の説明から分かるように、本発明は、移動目標地点及びその場で実行する動作内容のうち、少なくとも一方が２つ（２種類）以上あれば、上述したような作用効果を十分に発揮することができる。
【００７２】
（実施の形態２）
ところで、上述したように敵キャラクタ（ノンプレイヤキャラクタ）C2は、対戦中にプレイヤキャラクタC1を追跡するなどして、自身が所属する徘徊エリアの外に出てしまう可能性がある。これに対して実施の形態１では、対戦終了後にステップS1，S4〜S9の処理を実行することにより、徘徊エリア内へ帰還させることができる。しかしながらこの場合、敵キャラクタC2は、対戦が終了するまでの間に徘徊エリア外の遠方にまで行ってしまう可能性がある。
【００７３】
また、ある敵キャラクタC2がプレイヤキャラクタC1を追跡した結果、自身の徘徊エリアを出て、他の敵キャラクタC2の徘徊エリアに進入してしまう可能性がある。この場合、ゲーム装置2のキャラクタ動作制御部42は、プレイヤキャラクタC1の位置を含む徘徊エリアに所属する敵キャラクタC2に加え、他の徘徊エリアから出て追跡してきた敵キャラクタC2をも、制御対象としなければならず、特にＣＰＵ10やＲＡＭ16の負荷が大きくなる可能性がある。
【００７４】
そこで、本実施の形態２に係るゲームプログラム及びゲームシステムでは、ゲーム空間100内に敵キャラクタC2ごとに自主帰還ラインを設定し、敵キャラクタC2がこの自主帰還ラインの外へ出た場合には、敵キャラクタC2は徘徊エリアへ帰還するよう制御される。また、自主帰還ラインの外側には別途の強制帰還ラインも設定し、敵キャラクタC2が強制帰還ラインL2に達した場合には、敵キャラクタC2を強制的に徘徊エリアAへ帰還させることとしている。以下、このような実施の形態２についてより具体的に説明する。
【００７５】
なお、本実施の形態２に係るゲームゲームシステムは、図２に示したのと同様のハードウェア構成を備えるゲーム装置2によって実現することができる。また、このゲーム装置2は、所定のゲームプログラムを実行することでゲーム空間生成部及びキャラクタ動作制御部として機能し、以下に説明する制御を実行可能になっている。
【００７６】
図７は、ゲーム空間100に設定された自主帰還ライン及び強制帰還ラインを説明するための模式図である。この図７に示すように、ゲーム空間100には、敵キャラクタC2等のノンプレイヤキャラクタごとに所定範囲の徘徊エリアA（実線で表示）が設定されている。また、この徘徊エリアAの境界線（外縁）と一致するようにして自主帰還ラインL1（破線で表示）が設定されている。更に、この自主帰還ラインL1の外側には強制帰還ラインL2（二点鎖線で表示）が設定されている。
【００７７】
これらの徘徊エリアA，自主帰還ラインL1，及び強制帰還ラインL2をゲーム空間100内のどの範囲に設定するかは、敵キャラクタC2の種類等に関連付けて予めゲームデータ30bなどに記録されている。そして、ゲームの進行によりゲーム空間100に敵キャラクタC2を配置させるときに、その敵キャラクタC2に対応する徘徊エリアA，自主帰還ラインL1，及び強制帰還ラインL2が、ゲーム空間100内の定められた範囲に設けられる。なお、図７では、徘徊エリアAの境界線と自主帰還ラインL1とを判別しやすいように、徘徊エリアAの境界線の若干外方に自主帰還ラインL1を表示している。
【００７８】
このようなゲーム空間100において、敵キャラクタC2が徘徊エリアAへ帰還する動作について説明する。図８は、敵キャラクタC2が自主帰還ラインL1の内外何れに位置するかを判定する処理を示すフローチャートである。図８に示すように、ゲーム装置2は、ゲーム空間100に既に配置されてキャラクタ動作制御部42の制御対象となっている敵キャラクタC2について、その位置情報を取得する（ステップS20）。そして、この位置情報に基づき、敵キャラクタC2が自主帰還ラインL1の外に位置するか否かを判定する（ステップS21）。
【００７９】
ここで、敵キャラクタC2が自主帰還ラインL1内に存在する間は（ステップS21：NO）、現時点での行動を継続する（ステップS22）。例えば、敵キャラクタC2が実施の形態１で説明した図６に示す徘徊動作を行っている場合には、継続して徘徊エリアA内を徘徊させる。一方、敵キャラクタC2が自主帰還ラインL1外に存在すると判定した場合は（ステップS21：YES）、以下に説明する帰還判定処理（ステップS23）を実行する。
【００８０】
なお、現行動を継続して実行する間、図８の処理は所定のタイミングで定期的（例えば、１秒毎）に行われる。また、帰還判定処理を実行している間においても、図８のステップS20，S21の処理、即ち、敵キャラクタC2の最新の位置情報を取得し、これに基づいて自主帰還ラインL1の内外いずれに位置しているかを判定する処理（位置判定処理）は、並行して定期的に行われる。そして、帰還判定処理は、敵キャラクタC2が自主帰還ラインL1外に位置する場合に限って行われ、途中で敵キャラクタC2が自主帰還ラインL1内に戻った場合は、帰還判定処理はその時点で終了される。また、説明の便宜上、ここでは制御対象の敵キャラクタC2が１体だけ存在するものとするが、複数の敵キャラクタC2が制御対象として存在する場合は、各敵キャラクタC2について上記の位置判定処理と下記の帰還判定処理とを実行すればよい。
【００８１】
図９は、自主帰還ラインL1の外へ出た敵キャラクタC2を徘徊エリアAに帰還させる際の制御内容を示すフローチャートである。図９に示す帰還判定処理では、敵キャラクタC2が自主帰還ラインL1の外へ出た時点からの経過時間の計測を開始する（ステップS30）。そして、所定時間を経過したか否かを判定する（ステップS31）。その結果、所定時間が経過したと判定した場合（ステップS31：YES）、即ち、敵キャラクタC2が自主帰還ラインL1の外側に位置する状態が所定時間継続した場合は、敵キャラクタC2が移動可能な状態であるか否かを判定する（ステップS32）。
【００８２】
ここで、自主帰還ラインL1の外にいる状態で所定時間が経過した場合であっても、敵キャラクタC2が帰還行動を実行できない状況があり得る。例えば、ユーザの操作によりプレイヤキャラクタC1が敵キャラクタC2を担ぐなどして拘束している場合、あるいは、自主帰還ラインL1の外で、敵キャラクタC2が罠にかかって移動できない場合、などである。従って、ステップS32の判定を行い、移動不能な状態（ステップS32：NO）であればこの判定処理を繰り返す。
【００８３】
一方、移動可能な状態であったか、あるいは、移動不能な状態から解放されて移動可能な状態になると（ステップS32：YES）、敵キャラクタC2を自身が所属する徘徊エリアAへ帰還させる（ステップS33）。ここで敵キャラクタC2を帰還させる態様としては、実際に敵キャラクタC2に対してゲーム空間100内で歩行動作又は走行動作を行わせ、徘徊エリアAまで移動させればよい。あるいは、ステップS33の実行直後に、敵キャラクタC2のその場での表示を消去し、その直後に徘徊エリアAに配置するようにワープさせてもよい。このような処理の結果、実際に的キャラクタC2が自主帰還ラインL1の内側へ戻ったか否かを判断する（ステップS34）。そして、戻っていなければステップS33の帰還処理を継続し、戻っていれば本帰還判定処理を終了させる。
【００８４】
また、以上のステップS30〜S33の処理の途中で、敵キャラクタC2が自主帰還ラインL1の外側の強制帰還ラインL2にまで到達してしまった場合は、その直後に、強制的な帰還処理を割り込んで実行する。即ち、敵キャラクタC2が移動可能な状態であるか否かにかかわらず、強制的に徘徊エリアAへ帰還させる。この際の帰還態様としては、例えば、上述したようなワープによるものを採用することができる。なお、図９の処理は、敵キャラクタC2が自主帰還ラインL1の内側に戻った時点で終了することとしているが、徘徊エリアA内の所定の位置まで戻るように制御してもよい。強制的な帰還処理においても同様に、徘徊エリアA内の所定の位置まで戻るように制御してもよい。
【００８５】
以上に説明したような構成とすることにより、対戦状態であるか否かにかかわらず、自主帰還ラインL1から外に出た敵キャラクタC2は、所定時間を経過した後に徘徊エリアAへ帰還させることができる。従って、状況に応じて独自に行動する敵キャラクタC2であっても、ゲーム空間100内に所望の分布で配置させることができる。また、敵キャラクタC2の行動範囲を規制できるため、キャラクタ動作制御部42の制御対象となる敵キャラクタC2数が過剰に増加するのを防止でき、ＣＰＵ10やＲＡＭ16等のハードウェアにかかる負荷の増大を抑制することができる。更に、自主帰還ラインL1を出て所定時間を経過した後に帰還させるため、自主帰還ラインL1の設定位置をユーザに知られるのを回避できる。
【００８６】
なお、上記位置判定処理を実行するタイミングは、「１秒ごと」などの期間で設定する他、適宜の手段で設定することができる。例えば、所定数のフレームをモニタ19（図２参照）に表示するたびに位置判定処理を実行することとしてもよい。あるいは、敵キャラクタC2が「再思考」を実行する際に、あわせて位置判定処理を実行することとしてもよい。ここで、「再思考」とは、敵キャラクタC2自身，その仲間，プレイヤキャラクタC1の配置，周辺地形など、種々の条件に基づいて、敵キャラクタC2のこれからの動作内容を決定する処理をいう。このような再思考は、例えば、敵キャラクタC2が攻撃行動を終了したとき、移動して目的地点に到達したとき、あるいは、ダメージから復帰したとき（転倒後に起きあがったとき、など）、などのタイミングで実行される。
【００８７】
また、本実施の形態では、図９のステップS31で判定する「所定時間の経過」を、図８のステップS20にて敵キャラクタC2の位置情報を取得するタイミングを計るのと同じ手段を用いて計ることとしている。例えば、１０秒間などの期間の経過、所定数のフレームの表示、あるいは、所定回数の再思考の実行、などをもって「所定時間の経過」と判定することができる。但し、この「所定時間の経過」を、位置情報の取得タイミングを計るのと異なる手段で計ることとしてもよく、要は、敵キャラクタC2が自主帰還ラインL1の外に出た後の経過時間を、直接的又は間接的に計ることのできる手段であればよい。
【００８８】
また、この「所定時間」は、敵キャラクタC2の特徴に応じて個別に設定することができる。例えば、敵キャラクタC2のうちゲーム空間100内を移動する速度（歩行速度など）が速いものほど、「所定時間」を短く設定する。これにより、移動速度の速い敵キャラクタC2が、自主帰還ラインL1外の遠方へ行ってしまう前に、徘徊エリアAへ帰還させることができる。従って、敵キャラクタC2が強制帰還ラインL2に到達してしまい、上述したようにその場から突如として消えてしまうような事態が発生するのを抑制することができる。
【００８９】
また、図９の例では、敵キャラクタC2が移動不能な場合、移動可能になるのを待って帰還動作を実行させているが、移動不能な状態から移動可能な状態への移行を早めるように制御してもよい。例えば、敵キャラクタC2が移動不能な状態になった場合には、敵キャラクタC2を暴れさせるなどして、拘束状態から早期に解放されるように動作設定してもよい。なお、敵キャラクタC2がプレイヤキャラクタC1や罠などで移動が拘束されることがないゲーム設定になっている場合は、上記ステップS32の処理は省略することができる。
【００９０】
ところで、本実施の形態に係る敵キャラクタC2には、「通常状態（非戦闘状態）」，「警戒状態」，「戦闘状態」などの互いに異なる状態を、種々の状況に応じて択一的に選択及び設定することができる。例えば、「通常状態」とは、プレイヤキャラクタC1等を発見しようと徘徊エリアA内をウロウロと徘徊する状態である。「警戒状態」とは、プレイヤキャラクタC1を発見し、これに近づいてプレイヤキャラクタC1から所定距離内に位置しようとする状態である。そして「戦闘状態」とは、プレイヤキャラクタC1から所定距離内に位置し、プレイヤキャラクタC1に対して攻撃をしようとする状態あるいは攻撃している状態である。
【００９１】
このような敵キャラクタC2の状態が設定されている場合には、帰還動作の際には、これらのうち敵キャラクタC2の帰還動作時の制御が容易となる状態を採用すればよい。そして、帰還動作を完了して徘徊エリアA内に到達した際には、敵キャラクタC2を「通常状態」とするのが好ましい。即ち、徘徊エリアAへ帰還した直後の敵キャラクタC2は、プレイヤキャラクタC1から遠く離れていることが予測される。従って、このような場合は「通常状態」とすることで、現状に適した違和感のない状態とすることができる。
【００９２】
なお、自主帰還ラインL1及び強制帰還ラインL2の設定の仕方は、図７に示すものに限られない。図１０は、ゲーム空間100での自主帰還ラインL1及び強制帰還ラインL2の設定バリエーションを示す模式図である。
【００９３】
図１０（ａ）では、徘徊エリアAを取り囲むように、その外側に環状の自主帰還ラインL1が設定されている。このように、徘徊エリアAの境界線から離れて外側に自主帰還ラインL1を設定してもよい。また、図１０（ｂ）に示すように、自主帰還ラインL1及び強制帰還ラインL2を、徘徊エリアAを部分的に周回するように設定してもよい。例えば、徘徊エリアAの境界線の一部が海、壁、崖などに面して設定され、敵キャラクタC2がそこから徘徊エリアA外へ移動できない部分がある場合は、その他の部分にのみ対応させて自主帰還ラインL1及び強制帰還ラインL2を設定すればよい。また、上述した各構成を組み合わせることで、自主帰還ラインL1の一部を徘徊エリアAの境界線に重ねて設定し、他の部分は徘徊エリアAの境界線より外側に設定してもよいし、更にそのような自主帰還ラインL1を部分的に省略してもよい。
【００９４】
なお、本実施の形態２においても、ノンプレイヤキャラクタの例として敵キャラクタC2を示したが、これに限られない。例えば、街101（図１参照）を徘徊エリアAに設定し、その中の住人キャラクタを、街101内に帰還させる際の制御に適用してもよい。また、ゲーム空間100には複数の敵キャラクタC2が登場し得るが、自主帰還ラインL1の外側に出た敵キャラクタC2が複数存在する場合に、必ずしも、これら自主帰還ラインL1外の敵キャラクタC2の全てを徘徊エリアA内へ戻すように制御せずともよい。例えば、敵キャラクタC2の属性として、自主帰還ラインL1の外側に出た場合に徘徊エリアA内へ帰還するものと、徘徊エリアA内に帰還せずに執拗にプレイヤキャラクタC1を追いかけることのできるものとを、区別して設定しておくこともできる。あるいは、このような属性を個々の敵キャラクタC2に対して予め設定しておくのではなく、ゲームの進行中の適宜のタイミングで、何れの属性に支配されるかが例えばランダムに設定されるように構成することもできる。
【産業上の利用可能性】
【００９５】
本発明は、仮想のゲーム空間でのノンプレイヤキャラクタの動作を制御するゲームプログラム及びゲームシステムに適用することができる。
【符号の説明】
【００９６】
2        ゲーム装置（ゲームシステム）
30a      ゲームプログラム
30b      ゲームデータ
41      ゲーム空間生成部
42      キャラクタ動作制御部
43      ゲーム内時間管理部
44      ゲーム進行制御部
45      時間別目標地点読出部
46      場所別動作読出部
100    ゲーム空間
C1      プレイヤキャラクタ
C2      敵キャラクタ（ノンプレイヤキャラクタ）
【図１】
0005584670.tif 000002
【図２】
0005584670.tif 000003
【図３】
0005584670.tif 000004
【図４】
0005584670.tif 000005
【図５】
0005584670.tif 000006
【図６】
0005584670.tif 000007
【図７】
0005584670.tif 000008
【図８】
0005584670.tif 000009
【図９】
0005584670.tif 000010
【図１０】
0005584670.tif 000011