(57)【要約】【課題】特定のキャラクタに追従させるノンプレイヤーキャラクタを動的に制御する。【解決手段】プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御する第１の動作制御部と、自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御する第２の動作制御部と、前記複数のノンプレイヤーキャラクタの探索レベルを設定する設定部と、前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する決定部と、を有する、情報処理装置が提供される。【選択図】図８
2020137914.tif 000002
【特許請求の範囲】
【請求項１】
プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御する第１の動作制御部と、
自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御する第２の動作制御部と、
前記複数のノンプレイヤーキャラクタの探索レベルを設定する設定部と、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する決定部と、
を有する、情報処理装置。
【請求項２】
前記追従先ノンプレイヤーキャラクタのいずれかは、特定のノンプレイヤーキャラクタであり、
前記特定のノンプレイヤーキャラクタの探索レベルを、探索の優先順位が最も高い値に設定する、
請求項１に記載の情報処理装置。
【請求項３】
前記決定部は、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲にプレイヤーキャラクタを検出したとき、前記いずれかのノンプレイヤーキャラクタから前記特定のノンプレイヤーキャラクタまでの距離と前記いずれかのノンプレイヤーキャラクタから前記プレイヤーキャラクタまでの距離とを比較して、比較した結果に基づき、前記プレイヤーキャラクタ又は前記特定のノンプレイヤーキャラクタを前記追従先ノンプレイヤーキャラクタに決定する、
請求項２に記載の情報処理装置。
【請求項４】
前記設定部は、
前記複数のノンプレイヤーキャラクタのうちの少なくともいずれかが所定時間動作していないとき、動作していないノンプレイヤーキャラクタのうちから、新しい特定のノンプレイヤーキャラクタを設定し、新しい前記特定のノンプレイヤーキャラクタの探索レベルを、優先順位が最も高い値に設定する、
請求項２又は３に記載の情報処理装置。
【請求項５】
前記第２の動作制御部は、
前記特定のノンプレイヤーキャラクタが目的地へ移動するルート検索を実行し、前記ルート検索の結果に基づき、前記追従先ノンプレイヤーキャラクタが決定されたすべてのノンプレイヤーキャラクタを移動させる、
請求項２〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記決定部は、
前記いずれかのノンプレイヤーキャラクタの探索レベルを、前記追従先ノンプレイヤーキャラクタの探索レベルの次に探索の優先順位が高い値に設定する、
請求項１〜５のいずれか一項に記載の情報処理装置。
【請求項７】
プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御し、
自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御し、
前記複数のノンプレイヤーキャラクタの探索レベルを設定し、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する、
処理をコンピュータが実行するゲーム処理方法。
【請求項８】
プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御し、
自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御し、
前記複数のノンプレイヤーキャラクタの探索レベルを設定し、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する、
処理をコンピュータに実行させるゲーム処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、ゲーム処理方法及びゲーム処理プログラムに関する。
【背景技術】
【０００２】
プレイヤーにより操作されるプレイヤーキャラクタと、自動で操作される多数のノンプレイヤーキャラクタとがバトル等するゲームがある。かかるゲームでは、各ノンプレイヤーキャラクタが障害物等を考慮して自己の移動ルートを検索する（以下、「ルート検索」という。）と、処理負荷が高くなり、処理コストが膨大になる。
【０００３】
特許文献１は、複数のノンプレイヤーキャラクタの行動範囲に他のノンプレイヤーキャラクタまたはプレイヤーキャラクタである出現キャラクタがいる等の所定の条件を満たすとき、複数のノンプレイヤーキャラクタの行動範囲を、例えば１のゲームステージから１のゲームステージ内の所定領域に縮小する。これにより、出現キャラクタの周囲を所定領域として複数のノンプレイヤーキャラクタに出現キャラクタを守る行動を行わせたり、ゲームステージ内の予め定められた固定領域を所定領域として複数のノンプレイヤーキャラクタに出現キャラクタを攻撃する行動を行わせたりすることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１２４８７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数のノンプレイヤーキャラクタを「群れ」として、群れの行動をリーダーのノンプレイヤーキャラクタに追従させる手法が考えられる。これによれば、リーダーのノンプレイヤーキャラクタ以外のノンプレイヤーキャラクタはルート検索を行わないため、ルート検索の処理負荷が軽減され、処理コストを下げることができる。
【０００６】
しかし、この手法では、リーダーに追従する群れに含まれるノンプレイヤーキャラクタを、リーダーのノンプレイヤーキャラクタ毎に設定し、予め登録する必要がある。このため、その登録処理が煩雑であり、かつ、リーダーのノンプレイヤーキャラクタに追従するノンプレイヤーキャラクタをリアルタイムに動的に変えることはできない。
【０００７】
そこで、本開示は、特定のキャラクタに追従させるノンプレイヤーキャラクタを動的に制御する。
【課題を解決するための手段】
【０００８】
本開示の一の態様によれば、プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御する第１の動作制御部と、自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御する第２の動作制御部と、前記複数のノンプレイヤーキャラクタの探索レベルを設定する設定部と、前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する決定部と、を有する、情報処理装置が提供される。
【発明の効果】
【０００９】
一の側面によれば、特定のキャラクタに追従させるノンプレイヤーキャラクタを動的に制御できる。
【図面の簡単な説明】
【００１０】
【図１】従来のルート検索処理を説明するための図である。
【図２】一実施形態に係る情報処理装置の機能構成の一例を示す図である。
【図３】一実施形態に係るキャラクタテーブルの一例を示す図である。
【図４】一実施形態に係る探索レベルテーブルの一例を示す図である。
【図５】一実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【図６】一実施形態に係る探索処理の一例を示すフローチャートである。
【図７】一実施形態に係る探索処理を説明するための図である。
【図８】一実施形態に係る探索処理を説明するための図である。
【図９】一実施形態の変形例に係る探索処理の一例を示すフローチャートである。
【図１０】一実施形態に変形例に係る探索処理を説明するための図である。
【図１１】一実施形態に変形例に係る探索処理を説明するための図である。
【図１２】一実施形態及び変形例に係る探索処理の前処理の一例を示すフローチャートである。
【図１３】一実施形態及び変形例に係る探索処理の前処理を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、一実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く場合がある。
【００１２】
以下の説明に際し、キャラクタは、プレイヤーにより操作される「プレイヤーキャラクタ」と、自動で操作される「ノンプレイヤーキャラクタ」とを含む。プレイヤーキャラクタは、通信ゲームの通信相手のプレイヤーが操作するキャラクタであってもよい。また、プレイヤーキャラクタは、プレイヤーが操作をしないノンプレイヤーキャラクタを含んでもよい。
【００１３】
以下の一実施形態では、リーダーのノンプレイヤーキャラクタとその他のノンプレイヤーキャラクタとを含む複数のノンプレイヤーキャラクタが表示された状態において、特定のキャラクタに追従させるノンプレイヤーキャラクタを固定させずに動的に制御する。特定のキャラクタは、１以上のリーダーのノンプレイヤーキャラクタ及び１以上のプレイヤーキャラクタの少なくともいずれかである。例えば、特定のキャラクタは、敵ボス（リーダー）のノンプレイヤーキャラクタであってもよいし、プレイヤー又は通信相手が操作するボスキャラクタであってもよい。
【００１４】
なお、本明細書では、ゲーム画面においてキャラクタが動作する仮想空間（ゲーム空間）に置かれたオブジェクトを動かない物体として動的なキャラクタと区別して説明する。ただし、実空間において静的なオブジェクトであっても、仮想空間において動的なオブジェクトであれば、特定のキャラクタ又は特定のキャラクタに追従させるノンプレイヤーキャラクタに含めてもよい。
＜従来の探索処理の一例＞
従来の探索処理の一例について図１を参照して説明する。図１は、従来の探索処理を説明するための図である。図１は、バトルゲームを表示する一画面である。図１では、仮想空間にて、プレイヤーキャラクタ（ＰＣ）１０１、ノンプレイヤーキャラクタ（ＮＰＣ）１０２〜１１０、オブジェクトＯｊ１、Ｏｊ２が表示されている。ノンプレイヤーキャラクタ１０２〜１１０は、プレイヤーキャラクタ１０１の敵キャラクタであり、ノンプレイヤーキャラクタ１０２が敵ボスのキャラクタである。以下では、ノンプレイヤーキャラクタ１０２を、「リーダーのノンプレイヤーキャラクタ」ともいう。「リーダーのノンプレイヤーキャラクタ」は、特定のノンプレイヤーキャラクタの一例である。また、ノンプレイヤーキャラクタ１０３〜１１０は、特定のノンプレイヤーキャラクタ以外の複数のノンプレイヤーキャラクタであり、ノンプレイヤーキャラクタ１０２を敵ボスとしてプレイヤーキャラクタ１０１と戦う敵サブのキャラクタである。
【００１５】
複数のノンプレイヤーキャラクタ１０２〜１１０のそれぞれが、プレイヤーキャラクタ１０１を攻撃するために、ルート検索処理を行い、ルートＮ２〜Ｎ１０を得る演算処理を行うと、処理負荷が高くなり、処理コストが膨大になる。
【００１６】
これに対して、リーダーのノンプレイヤーキャラクタ１０２が、複数のノンプレイヤーキャラクタ１０３〜１１０を「群れ」として、群れの行動をリーダーのノンプレイヤーキャラクタ１０２に追従させる手法が考えられる。これによれば、リーダーのノンプレイヤーキャラクタ１０２以外のノンプレイヤーキャラクタ１０３〜１１０はルート検索を行わないため、ルート検索の処理負荷が軽減され、処理コストを下げることができる。
【００１７】
しかしながら、この手法では、リーダーに追従する群れに含まれるノンプレイヤーキャラクタを、リーダーのノンプレイヤーキャラクタ毎に設定し、予め登録する必要がある。このため、その登録処理が煩雑であり、かつ、リーダーのノンプレイヤーキャラクタに追従するノンプレイヤーキャラクタをリアルタイムに動的に変えることはできない。したがって、追従するノンプレイヤーキャラクタの動作が不自然になる場合がある。
【００１８】
そこで、本実施形態に係る探索処理では、特定のキャラクタに追従させるノンプレイヤーキャラクタを動的に制御する方法を提案する。具体的には、本実施形態に係る探索処理では、特定のキャラクタの一例としてリーダーのノンプレイヤーキャラクタ１０２を挙げ、所定の条件下において、リーダーのノンプレイヤーキャラクタ１０２に複数のノンプレイヤーキャラクタ１０３〜１１０の少なくともいずれかが追従する。これにより、リーダーのノンプレイヤーキャラクタ１０２に追従するノンプレイヤーキャラクタを動的に変えることができる。また、リーダーのノンプレイヤーキャラクタ１０２以外のノンプレイヤーキャラクタはルート検索を行わないため、ルート検索の処理負荷が軽減され、処理コストを下げることができる。以下、本実施形態に係る探索処理を実行する情報処理装置について説明し、その後、探索処理について説明する。
【００１９】
［情報処理装置の機能構成］
以下では、一実施形態に係る情報処理装置１０の機能構成の一例について、図２を参照しながら説明する。図２は、一実施形態に係る情報処理装置１０の機能構成の一例を示す図である。
【００２０】
本実施形態に係る情報処理装置１０は、プレイヤーがゲームをプレイする機器であればいずれの電子機器でもよく、スマートフォン、携帯ゲーム機、パーソナルコンピュータ、タブレット端末、家庭用ゲーム装置、業務用ゲーム装置等であってもよい。本実施形態に係る情報処理装置１０は、ＨＭＤ（Head Mounted Display）等のウエアラブルデバイスであってもよい。
【００２１】
情報処理装置１０は、記憶部１１、入力部１２、動作制御部１３、設定部１４、決定部１５、グラフィック処理部１６、サウンド処理部１７、表示部１８及び音出力部１９を有する。
【００２２】
記憶部１１は、キャラクタテーブル１２１及び探索レベルテーブル１２２を記憶する。キャラクタテーブル１２１は、キャラクタに関する情報を記憶するテーブルである。図３は、一実施形態に係るキャラクタテーブル１２１の一例を示す図である。キャラクタテーブル１２１は、キャラクタＩＤ，キャラクタ名及び種類の各項目を対応付けて記憶する。キャラクタ名は記憶しなくてもよい。キャラクタテーブル１２１に記憶されたキャラクタの情報により、各キャラクタが、特定のキャラクタであるかを判定できる。
【００２３】
探索レベルテーブル１２２は、各キャラクタが有する探索レベルを記憶する。図４は、一実施形態に係る探索レベルテーブル１２２の一例を示す図である。探索レベルテーブル１２２は、キャラクタＩＤ及び探索レベルの各項目を対応付けて記憶する。探索レベルは、キャラクタの探索の優先度、つまり、追従されるキャラクタとして優先される度合いを示す。本実施形態では、探索レベルが低い程、追従される優先度が高いキャラクタであることを示す。例えば、探索の優先度が最も高い探索レベルは「１」であり、本実施形態では、探索レベル「１」が付されるキャラクタは、特定のキャラクタのみである。つまり、探索レベル「１」が付されるキャラクタは、リーダーのノンプレイヤーキャラクタ及びプレイヤーキャラクタの少なくともいずれかである。よって、探索レベルテーブル１２２には、リーダーのノンプレイヤーキャラクタ及びプレイヤーキャラクタの少なくともいずれかの探索レベルに「１」が予め設定される。
【００２４】
なお、リーダーのノンプレイヤーキャラクタは複数であってもよい。また、プレイヤーキャラクタは、味方のプレイヤーキャラクタを含む複数であってもよい。
【００２５】
探索レベルテーブル１２２は、探索レベル「１」のキャラクタに追従するキャラクタの探索レベルに「２」を記憶する。また、探索レベル「２」のキャラクタに追従するキャラクタの探索レベルに「３」を記憶する。このようにして、探索レベルに基づき、各ノンプレイヤーキャラクタが追従すべきキャラクタを動的に設定可能である。
【００２６】
図２に戻り、入力部１２は、プレイヤーのコントローラ（図５参照）操作により入力情報を受け付ける。情報処理装置１０にタッチパネルが搭載されている場合、入力部１２は、タッチパネルを使用してプレイヤーの操作により入力情報を受け付けてもよい。
【００２７】
動作制御部１３は、第１の動作制御部１３ａ及び第２の動作制御部１３ｂを有する。第１の動作制御部１３ａは、プレイヤーにより操作されるプレイヤーキャラクタのゲーム空間における動作を制御する。第２の動作制御部１３ｂは、自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御する。
【００２８】
設定部１４は、複数のノンプレイヤーキャラクタの探索レベルを設定し、探索レベルテーブル１２２に記憶する。
【００２９】
決定部１５は、複数のノンプレイヤーキャラクタのそれぞれの周囲を探索する。決定部１５は、いずれかのノンプレイヤーキャラクタの周囲に複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従するノンプレイヤーキャラクタ（以下「追従先ノンプレイヤーキャラクタ」ともいう。）を決定する。
【００３０】
グラフィック処理部１６は、動作制御部１３から描画命令が出力されると、表示部１８に所定の画像を表示するためのビデオ信号を出力する。これにより、表示部１８は、キャラクタと背景のステージ（オブジェクト）とを仮想空間に表示する。グラフィック処理部１６から出力されるビデオ信号に含まれる画像の一フレーム時間は、例えば３０分の１秒である。よって、グラフィック処理部１６は、フレーム単位（すなわち、３０分の１秒単位）で１枚の画像の描画を実行する。
【００３１】
サウンド処理部１７は、グラフィック処理部１６からサウンド出力の指示命令が出力されると、音出力部１９に所定の音を出力するためのサウンド信号を出力する。これにより、ゲームの状況に応じたサウンドが出力される。
【００３２】
［情報処理装置のハードウェア構成］
次に、一実施形態に係る情報処理装置１０のハードウェア構成の一例について、図５を参照しながら説明する。図５は、一実施形態に係る情報処理装置１０のハードウェア構成の一例を示す図である。
【００３３】
情報処理装置１０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ＨＤＤ２４、グラフィックカード２５、外部Ｉ／Ｆ（インターフェース）２６、通信Ｉ／Ｆ２７、入力Ｉ／Ｆ２８、ディスプレイ２９及びスピーカ３０を有する。各部は、バスで相互に接続されている。
【００３４】
ＲＯＭ２２は、電源を切っても内部データを保持することができる不揮発性の半導体メモリである。ＲＯＭ２２には、プログラム及びデータが格納されている。ＲＡＭ２３は、プログラムやデータを一時保持する揮発性の半導体メモリである。
【００３５】
ＨＤＤ２４は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムには、情報処理装置１０の全体を制御する基本ソフトウェア及びゲーム処理プログラム等のアプリケーションソフトウェアがある。ＨＤＤ２４には、各種のデータベースが格納されてもよい。本実施形態では、ＨＤＤ２４に探索処理を実行するためのプログラムや基本ゲームプログラムが格納される。また、ＨＤＤ２４にキャラクタテーブル１２１及び探索レベルテーブル１２２の各情報が格納される。
【００３６】
ＣＰＵ２１は、ＨＤＤ２４からプログラムやデータをＲＡＭ２３上に読み出し、探索処理や基本ゲーム処理を実行することで、情報処理装置１０の全体の制御や情報処理装置１０に搭載された機能を実現する。
【００３７】
具体的には、図２に示す動作制御部１３、設定部１４及び決定部１５の機能は、情報処理装置１０にインストールされた探索処理を実行するためのプログラムがＣＰＵ２１に実行させる処理により実現される。
【００３８】
外部Ｉ／Ｆ２６は、情報処理装置１０を記録媒体２６ａ等の外部装置に接続するインターフェースである。これにより、情報処理装置１０は、外部Ｉ／Ｆ２６を介して記録媒体２６ａの読み取り及び書き込みを行うことができる。記録媒体２６ａの一例としては、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）が挙げられる。記録媒体２６ａは、ＳＤメモリーカード（SD Memory card）又はＵＳＢメモリ（Universal Serial Bus memory）等であってもよい。
【００３９】
例えば、情報処理装置１０には、探索処理及びゲームを実行するためのゲーム処理プログラムが格納された記録媒体２６ａを装着することが可能である。これらのプログラムは、外部Ｉ／Ｆ２６により読み出されて、ＲＡＭ２３に読み込まれる。
【００４０】
ＣＰＵ２１は、ＲＡＭ２３にロードされた上記プログラムを処理し、グラフィックカード２５にゲームの進行に応じた画像の出力を指示する。グラフィックカード２５は、指示に従い画面に表示するゲームの場面に応じた画像処理を行い、ディスプレイ２９にキャラクタの画像及びステージの画像を描画させる。これにより、グラフィック処理部１６及び表示部１８の機能が実行される。なお、グラフィックカード２５は、フレーム単位で１枚の画像の描画を実行し、一秒間に３０回〜６０回のフレームの画像が描画される。
【００４１】
また、ＣＰＵ２１は、ＲＡＭ２３に読み込まれた上記プログラムを処理し、ゲームの進行に応じてスピーカ３０から所定の音を出力させる。これにより、サウンド処理部１７及び音出力部１９の機能が実行される。
【００４２】
ディスプレイ２９はタッチパネル式としても良い。これにより、コントローラ１を用いずに入力操作を行うことができる。この場合、タッチパネルにより検出されたタッチ位置の入力情報は、ＲＡＭ２３に格納され、ＣＰＵ２１はＲＡＭ２３に格納された入力情報をもとに各種の演算処理を実行する。
【００４３】
通信Ｉ／Ｆ２７は、情報処理装置１０をネットワークに接続するインターフェースである。また、通信Ｉ／Ｆ２７は、アンテナを有する通信ユニットを介して、他のゲーム機器と通信を行う機能を有していてもよい。
【００４４】
入力Ｉ／Ｆ２８は、コントローラ１に接続するインターフェースである。コントローラ１は、操作ボタン２及び方向キー３を有する。プレイヤーは、操作ボタン２を操作することでキャラクタに所定の動作を行わせることができる。また、プレイヤーは、方向キー３を操作することでキャラクタを所定の方向に移動させることができる。入力Ｉ／Ｆ２８は、プレイヤーがコントローラ１を用いて行った入力操作に基づく入力情報をＲＡＭ２３に格納させる。入力部１２の機能は、入力Ｉ／Ｆ２８により実行される。
【００４５】
ＣＰＵ２１は、ＲＡＭ２３に格納された入力情報に基づきキャラクタの動作等の各種の演算処理を実行する。また、入力Ｉ／Ｆ２８は、ＣＰＵ２１からの指示に従いＲＡＭ２３に記憶されているゲームの進行状況を示すデータをメモリーカード２８ａに保存させ、メモリーカード２８ａに保存されている中断時のゲームのデータを読み出してＲＡＭ２３に転送する処理を行う。
【００４６】
［探索処理］
次に、図６〜図８を参照して、一実施形態に係る探索処理の一例について説明する。図６は、一実施形態に係る探索処理の一例を示すフローチャートである。図７及び図８は、一実施形態に係る探索処理を説明するための図である。なお、図６の探索処理は、毎フレームに１回実行されてもよいし、数フレームに１回等所定回数毎に実行されてもよい。
【００４７】
本処理が開始されると、入力部１２は、プレイヤーキャラクタに対するプレイヤーの操作を受け付け、第１の動作制御部１３ａは、プレイヤーキャラクタの動作を制御する（ステップＳ１０）。次に、第２の動作制御部１３ｂは、リーダーのノンプレイヤーキャラクタのルート検索を行う（ステップＳ１２）。次に、決定部１５は、各ノンプレイヤーキャラクタ（ＮＰＣ）の周囲を探索する（ステップＳ１４）。
【００４８】
例えば、図７に示すように、仮想空間にプレイヤーキャラクタ（ＰＣ）１０１、ノンプレイヤーキャラクタ（ＮＰＣ）１０２〜１１３、オブジェクトＯｊ１、Ｏｊ２が表示されている場合について説明する。オブジェクトＯｊ１、Ｏｊ２は静的に配置された建物である。
【００４９】
ステップＳ１４において、第２の動作制御部１３ｂが各ノンプレイヤーキャラクタ１０２〜１１３の周囲を探索した結果、図８に示すように、ノンプレイヤーキャラクタ１０３を中心とした所定範囲Ｒ２内に、リーダーのノンプレイヤーキャラクタ１０２が存在する。ノンプレイヤーキャラクタ１０４を中心とした所定範囲Ｒ３内に、ノンプレイヤーキャラクタ１０３及びノンプレイヤーキャラクタ１０５が存在する。
【００５０】
ノンプレイヤーキャラクタ１０５を中心とした所定範囲Ｒ４内に、ノンプレイヤーキャラクタ１０４及びノンプレイヤーキャラクタ１０６が存在する。ノンプレイヤーキャラクタ１０６を中心とした所定範囲Ｒ５内に、ノンプレイヤーキャラクタ１０５及びノンプレイヤーキャラクタ１０７が存在する。ノンプレイヤーキャラクタ１０７を中心とした所定範囲Ｒ６内に、ノンプレイヤーキャラクタ１０６が存在する。なお、所定範囲Ｒ２〜Ｒ６は、予め定められた範囲であり、本実施形態では同一範囲であるが、これに限られず、異なる範囲であってもよい。
【００５１】
図６に戻り、次に、決定部１５は、少なくともいずれかのノンプレイヤーキャラクタの所定範囲内に他のノンプレイヤーキャラクタが存在するかを判定する（ステップＳ１６）。決定部１５は、少なくともいずれかのノンプレイヤーキャラクタの所定範囲内に他のノンプレイヤーキャラクタが存在すると判定した場合、判定された他のノンプレイヤーキャラクタの少なくともいずれかがリーダーのノンプレイヤーキャラクタかを判定する（ステップＳ１８）。
【００５２】
図８に示す例の場合、所定範囲内に他のノンプレイヤーキャラクタが存在する各ノンプレイヤーキャラクタ１０３〜１０７のうち各所定範囲内にリーダーのノンプレイヤーキャラクタ１０２が存在するかが判定される。
【００５３】
図６に戻り、決定部１５は、ステップＳ１８において、判定された他のノンプレイヤーキャラクタの少なくともいずれかがリーダーのノンプレイヤーキャラクタであると判定すると、周囲を検索したノンプレイヤーキャラクタは、リーダーのノンプレイヤーキャラクタに追従すると決定する（ステップＳ２０）。次に、設定部１４は、リーダーのノンプレイヤーキャラクタに追従するノンプレイヤーキャラクタの探索レベルに、リーダーのノンプレイヤーキャラクタの探索レベル「１」に１を加算した値である「２」を設定し（ステップＳ２１）、ステップＳ２８に進む。設定された探索レベルは、探索レベルテーブル１２２に記憶される。図８の例では、周囲を検索したノンプレイヤーキャラクタ１０３は、リーダーのノンプレイヤーキャラクタ１０２に追従すると決定され、その探索レベルに「２」が設定される。このとき、ノンプレイヤーキャラクタ１０２は、ノンプレイヤーキャラクタ１０３の追従先ノンプレイヤーキャラクタ（すなわち、追従されるノンプレイヤーキャラクタ）であり、ノンプレイヤーキャラクタ１０３は、追従するノンプレイヤーキャラクタである。
【００５４】
図６に戻り、次に、決定部１５は、所定範囲内に他のノンプレイヤーキャラクタが存在するすべてのノンプレイヤーキャラクタの探索処理を終了したかを判定する（ステップＳ２８）。決定部１５は、所定範囲内に他のノンプレイヤーキャラクタが存在するすべてのノンプレイヤーキャラクタの探索を終了していないと判定すると、ステップＳ１８に戻る。
【００５５】
決定部１５は、ステップＳ１８において、判定された他のノンプレイヤーキャラクタにリーダーのノンプレイヤーキャラクタが存在しないと判定すると、判定された他のノンプレイヤーキャラクタに、探索レベルが既に設定されている他のノンプレイヤーキャラクタがあるかを判定する（ステップＳ２２）。探索レベルが既に設定されている他のノンプレイヤーキャラクタがあると判定されると、決定部１５は、探索レベルが最も低い他のノンプレイヤーキャラクタに追従すると決定する（ステップＳ２４）。なお、ステップＳ２２において、探索レベルを設定済みの他のノンプレイヤーキャラクタがないと判定されると、ステップＳ２８に進む。
【００５６】
図８の例では、ノンプレイヤーキャラクタ１０４を中心とした所定範囲Ｒ３内に、他のノンプレイヤーキャラクタ１０３、１０５が存在し、他のノンプレイヤーキャラクタ１０５の探索レベルは、この時点で設定されていない。この場合、決定部１５は、探索レベルが既に設定されている他のノンプレイヤーキャラクタ１０３があると判定し、探索レベル設定済みのノンプレイヤーキャラクタ１０３に追従すると決定する。
【００５７】
図６に戻り、次に、設定部１４は、追従するノンプレイヤーキャラクタの探索レベルに、追従先ノンプレイヤーキャラクタの探索レベルに１を加算した値を設定し（ステップＳ２６）、ステップＳ２８に進む。設定された探索レベルは、探索レベルテーブル１２２に記憶される。図８の例では、ノンプレイヤーキャラクタ１０４の探索レベルに「３」が設定される。
【００５８】
ステップＳ２８においてすべての探索を終了したと判定されるまで、以上に説明したステップＳ１８〜Ｓ２８の処理が繰り返される。これにより、ノンプレイヤーキャラクタ１０５の追従先がノンプレイヤーキャラクタ１０４に決定され、その探索レベルに「４」が設定される。ノンプレイヤーキャラクタ１０６の追従先がノンプレイヤーキャラクタ１０５に決定され、その探索レベルに「５」が設定される。ノンプレイヤーキャラクタ１０７の追従先がノンプレイヤーキャラクタ１０６に決定され、その探索レベルに「６」が設定される。
【００５９】
ステップＳ２８にてすべての他のノンプレイヤーキャラクタについての追従先探索を終了したと判定されると、第２の動作制御部１３ｂは、ノンプレイヤーキャラクタの群れの動作を制御し（ステップＳ３０）、本処理を終了する。図８の例では、ノンプレイヤーキャラクタ１０３〜１０７が繋がって群れをなし、リーダーのノンプレイヤーキャラクタ１０２の動作に追従させることができる。これにより、リーダーのノンプレイヤーキャラクタ１０２のルート検索結果に応じて、ノンプレイヤーキャラクタ１０２〜１０７がルートＮに従い移動する。
【００６０】
なお、図８の例では、ノンプレイヤーキャラクタ１０８〜１１３のそれぞれを中心とした所定範囲内に他のノンプレイヤーキャラクタは存在しない。よって、ノンプレイヤーキャラクタ１０８〜１１３は上記群れに含まれず、移動しない。
【００６１】
なお、各ノンプレイヤーキャラクタが探索する所定範囲は、固定の範囲でもよいし、可変の範囲でもよい。例えば、ステップＳ１４において、決定部１５は、所定範囲を他のノンプレイヤーキャラクタが少なくとも一つ探索できるまで広げていってもよいし、所定範囲を固定の範囲に設定し、固定の範囲まで探索したら探索を止めてもよい。
【００６２】
ステップＳ２４において、設定部１４は、同時に複数のノンプレイヤーキャラクタの探索レベルを設定することがあり得る。この場合、探索レベルが同一のノンプレイヤーキャラクタが複数存在することになる。同一の探索レベルの場合、いずれかのノンプレイヤーキャラクタを追従先ノンプレイヤーキャラクタに決定すればよい。
【００６３】
以上に説明したように、一実施形態に係る探索処理によれば、リーダーのノンプレイヤーキャラクタ以外のノンプレイヤーキャラクタはルート検索機能を有さず、処理障害物について考慮してルートを検索する必要がない。これにより、ルート検索の処理負荷が軽減され、処理コストを下げることができる。また、一実施形態に係る探索処理によれば、探索レベルを用いて、リーダーのノンプレイヤーキャラクタ及びその他のノンプレイヤーキャラクタに追従させるノンプレイヤーキャラクタを、そのときのノンプレイヤーキャラクタ同士の位置関係に応じて動的に制御することができる。これにより、追従させるノンプレイヤーキャラクタの群れをより自然に動作させることができる。
【００６４】
なお、ステップＳ１８において、リーダーのノンプレイヤーキャラクタが存在するかの判定に替えて、リーダーのノンプレイヤーキャラクタ及びプレイヤーキャラクタの少なくともいずれかが存在するかを判定してもよい。
【００６５】
［変形例１］
次に、図９〜図１１を参照して、一実施形態の変形例に係る探索処理の一例について説明する。図９は、一実施形態の変形例に係る探索処理の一例を示すフローチャートである。図１０及び図１１は、一実施形態に変形例に係る探索処理を説明するための図である。図９の変形例に係る探索処理では、図６の探索処理と同一の処理については、同一のステップ番号を付すことにより説明を省略又は簡略化する。
【００６６】
本処理が開始されると、ステップＳ１０〜Ｓ１４の処理が実行される。次に、決定部１５は、周囲の他のノンプレイヤーキャラクタの中にリーダーのノンプレイヤーキャラクタ又はプレイヤーキャラクタが存在するかを判定する（ステップＳ３４）。
【００６７】
決定部１５は、周囲の他のノンプレイヤーキャラクタの中にリーダーのノンプレイヤーキャラクタ又はプレイヤーキャラクタが存在すると判定すると、リーダーのノンプレイヤーキャラクタとプレイヤーキャラクタとのいずれもが存在するかを判定する（ステップＳ３６）。
【００６８】
ステップＳ３６において、決定部１５は、リーダーのノンプレイヤーキャラクタが存在し、プレイヤーキャラクタが存在しないと判定すると、ステップＳ２０に進み、周囲を検索したノンプレイヤーキャラクタの追従先をリーダーのノンプレイヤーキャラクタに決定する（ステップＳ２０）。次に、設定部１４は、リーダーのノンプレイヤーキャラクタに追従するノンプレイヤーキャラクタの探索レベルに、リーダーのノンプレイヤーキャラクタの探索レベル「１」に１を加算した値である「２」を設定し（ステップＳ２１）、ステップＳ２８に進む。
【００６９】
ステップＳ３６において、決定部１５は、プレイヤーキャラクタが存在し、リーダーのノンプレイヤーキャラクタが存在しないと判定すると、決定部１５は周囲を検索したノンプレイヤーキャラクタの追従先をプレイヤーキャラクタに決定する（ステップＳ４０）。次に、設定部１４は、追従するノンプレイヤーキャラクタの探索レベルに、プレイヤーキャラクタにの探索レベル「１」に１を加算した値である「２」を設定し（ステップＳ４２）、ステップＳ２８に進む。
【００７０】
さらに、ステップＳ３６において、決定部１５は、リーダーのノンプレイヤーキャラクタとプレイヤーキャラクタとのいずれも存在すると判定すると、リーダーのノンプレイヤーキャラクタとプレイヤーキャラクタとのいずれに近いかを判定する（ステップＳ３８）。決定部１５は、リーダーのノンプレイヤーキャラクタに近いと判定した場合、ステップＳ２０及びＳ２１の処理を実行し、Ｓ２８に進む。決定部１５は、ステップＳ３８において、プレイヤーキャラクタに近いと判定した場合、ステップＳ４０及びＳ４２の処理を実行し、Ｓ２８に進む。
【００７１】
図１１の例では、ノンプレイヤーキャラクタ１０６の所定範囲内にプレイヤーキャラクタ１０１が存在する。また、プレイヤーキャラクタ１０１は、リーダーのノンプレイヤーキャラクタ１０２よりも近いため、ノンプレイヤーキャラクタ１０６は、プレイヤーキャラクタ１０１に追従すると決定される。
【００７２】
また、ノンプレイヤーキャラクタ１０６の探索レベルは、プレイヤーキャラクタ１０１の探索レベル「１」に１を加算した値である「２」に設定される。この結果、ノンプレイヤーキャラクタ１０６は、群れ２００から外れ、プレイヤーキャラクタ１０１に追従して移動する。
【００７３】
図９に戻り、ステップＳ３４において、決定部１５は、周囲の他のノンプレイヤーキャラクタの中にリーダーのノンプレイヤーキャラクタ及びプレイヤーキャラクタのいずれも存在しないと判定すると、少なくともいずれかのノンプレイヤーキャラクタの所定範囲内に他のノンプレイヤーキャラクタが存在するかを判定する（ステップＳ１６）。決定部１５は、他のノンプレイヤーキャラクタが存在しないと判定すると、本処理を終了する。
【００７４】
決定部１５は、少なくともいずれかのノンプレイヤーキャラクタの所定範囲内に他のノンプレイヤーキャラクタが存在すると判定すると、ステップＳ２２〜Ｓ２６の処理を行う。これにより、追従先のノンプレイヤーキャラクタの決定と、探索レベルの設定とが行われる。
【００７５】
ステップＳ２８においてすべての探索を終了したと判定されるまで、以上に説明したステップＳ３４〜Ｓ４２、Ｓ１６、Ｓ２０〜Ｓ２８の処理が繰り返される。ステップＳ２８にてすべての他のノンプレイヤーキャラクタについての追従先探索を終了したと判定されると、第２の動作制御部１３ｂは、ノンプレイヤーキャラクタの群れの動作を制御し（ステップＳ３０）、第１の動作制御部１３ａは、プレイヤーキャラクタの群れの動作を制御し、本処理を終了する。
【００７６】
これにより、図１０に一例を示すように、リーダーのノンプレイヤーキャラクタ１０２に追従する他のノンプレイヤーキャラクタ１０３〜１１０の群れ２００と、プレイヤーキャラクタ１０１に追従する他のノンプレイヤーキャラクタ１０６の群れが形成される。
【００７７】
以上に説明したように、変形例に係る探索処理では、ノンプレイヤーキャラクタがプレイヤーキャラクタを探索すると、プレイヤーキャラクタとリーダーのノンプレイヤーキャラクタとの何れか近いキャラクタに追従する。すなわち、複数の特定のキャラクタとの距離によって、ノンプレイヤーキャラクタが追従する対象を変更できる。ただし、距離に拠らず、特定のキャラクタに追従するようにしてもよい。
【００７８】
［その他の変形例］
一実施形態及び変形例に係る探索処理の前処理を行ってもよい。一実施形態及び変形例に係る探索処理の前処理について、図１２及び図１３を参照しながら説明する。図１２は、一実施形態及び変形例に係る探索処理の前処理の一例を示すフローチャートである。図１３は、一実施形態及び変形例に係る探索処理の前処理を説明するための図である。
【００７９】
なお、本処理は、所定時間の探索において近くに、探索レベル済みのノンプレイヤーキャラクタ又は探索レベル済みのプレイヤーキャラクタを追従先として見つけられなかった場合に開始される。また、本処理は、一実施形態及び変形例に係る探索処理の前に行うことを想定しているが、一実施形態及び変形例に係る探索処理の後に行ってもよい。
【００８０】
本処理が開始されると、決定部１５は、予め定められた所定時間以上動いていないノンプレイヤーキャラクタがあるかを判定する（ステップＳ５０）。決定部１５は、所定時間以上動いていないノンプレイヤーキャラクタがないと判定すると、本処理を終了する。一方、決定部１５は、所定時間以上動いていないノンプレイヤーキャラクタがあると判定すると、所定時間以上動いていないノンプレイヤーキャラクタのいずれかをリーダーのノンプレイヤーキャラクタに決定し（ステップＳ５２）、本処理を終了する。新リーダーのノンプレイヤーキャラクタには探索レベル「１」が与えられ、ルート検索機能が付与される。
【００８１】
図１３は、所定時間以上動いていないノンプレイヤーキャラクタ１１２〜１１４のうちのノンプレイヤーキャラクタ１１２が新リーダーのノンプレイヤーキャラクタに決定された例を示す。これにより、その後に実行される一実施形態及び変形例に係る探索処理（図６、図９）において、ノンプレイヤーキャラクタ１１３、１１４が新リーダーのノンプレイヤーキャラクタ１１２に追従するように処理される。これにより、リーダーのノンプレイヤーキャラクタ１０２に追従してルートＮを移動する群れ２００とともに、新リーダーのノンプレイヤーキャラクタ１１２に追従してルートＭを移動する群れ２１０を形成することができる。
【００８２】
以上に説明した前処理によれば、一定時間孤立したノンプレイヤーキャラクタの集団がある場合、孤立した集団の少なくともいずれかのノンプレイヤーキャラクタに新リーダーとして探索レベル「１」を与える。これに替えて、孤立した集団の少なくともいずれかのノンプレイヤーキャラクタを探索レベル「２」のノンプレイヤーキャラクタにしてもよい。これにより、探索レベル「３」のノンプレイヤーキャラクタは、必要に応じてリーダー又は設定された探索レベル「２」のノンプレイヤーキャラクタに追従することができる。なお、新リーダーのノンプレイヤーキャラクタが、最初からリーダーのノンプレイヤーキャラクタに遭遇したら、新リーダーのノンプレイヤーキャラクタを通常のノンプレイヤーキャラクタに戻すようにしてもよい。
【符号の説明】
【００８３】
１０：情報処理装置
１１：記憶部
１２：入力部
１３：動作制御部
１３ａ：第１の動作制御部
１３ｂ：第２の動作制御部
１４：設定部
１５：決定部
１６：グラフィック処理部
１７：サウンド処理部
１８：表示部
１９：音出力部
１２１：キャラクタテーブル
１２２：探索レベルテーブル
【図１】
2020137914.tif 000003
【図２】
2020137914.tif 000004
【図３】
2020137914.tif 000005
【図４】
2020137914.tif 000006
【図５】
2020137914.tif 000007
【図６】
2020137914.tif 000008
【図７】
2020137914.tif 000009
【図８】
2020137914.tif 000010
【図９】
2020137914.tif 000011
【図１０】
2020137914.tif 000012
【図１１】
2020137914.tif 000013
【図１２】
2020137914.tif 000014
【図１３】
2020137914.tif 000015