(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-12
(45)【発行日】2023-07-21
(54)【発明の名称】情報処理装置、ゲーム処理方法及びゲーム処理プログラム
(51)【国際特許分類】
A63F 13/56 20140101AFI20230713BHJP
【FI】
A63F13/56
(21)【出願番号】P 2019037272
(22)【出願日】2019-03-01
【審査請求日】2022-01-13
(73)【特許権者】
【識別番号】595000427
【氏名又は名称】株式会社コーエーテクモゲームス
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】隆藤 唯信
【審査官】前地 純一郎
(56)【参考文献】
【文献】特開2011-125419(JP,A)
【文献】特開2007-147217(JP,A)
【文献】特開2010-287191(JP,A)
【文献】特開2017-221553(JP,A)
【文献】特開2017-164313(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
(57)【特許請求の範囲】
【請求項1】
プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御する第1の動作制御部と、
自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御する第2の動作制御部と、
前記複数のノンプレイヤーキャラクタの探索レベルを設定する設定部と、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する決定部と、を有
し、
前記追従先ノンプレイヤーキャラクタのいずれかは、特定のノンプレイヤーキャラクタであり、
前記特定のノンプレイヤーキャラクタの探索レベルを、探索の優先順位が最も高い値に設定し、
前記設定部は、
前記複数のノンプレイヤーキャラクタのうちの少なくともいずれかが所定時間動作していないとき、動作していないノンプレイヤーキャラクタのうちから、新しい特定のノンプレイヤーキャラクタを設定し、新しい前記特定のノンプレイヤーキャラクタの探索レベルを、優先順位が最も高い値に設定する、情報処理装置。
【請求項2】
プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御する第1の動作制御部と、
自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御する第2の動作制御部と、
前記複数のノンプレイヤーキャラクタの探索レベルを設定する設定部と、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する決定部と、を有し、
前記追従先ノンプレイヤーキャラクタのいずれかは、特定のノンプレイヤーキャラクタであり、
前記特定のノンプレイヤーキャラクタの探索レベルを、探索の優先順位が最も高い値に設定し、
前記第2の動作制御部は、
前記特定のノンプレイヤーキャラクタが目的地へ移動するルート検索を実行し、前記ルート検索の結果に基づき、前記追従先ノンプレイヤーキャラクタが決定されたすべてのノンプレイヤーキャラクタを移動させる、情報処理装置。
【請求項3】
プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御する第1の動作制御部と、
自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御する第2の動作制御部と、
前記複数のノンプレイヤーキャラクタの探索レベルを設定する設定部と、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する決定部と、を有し、
前記決定部は、
前記いずれかのノンプレイヤーキャラクタの探索レベルを、前記追従先ノンプレイヤーキャラクタの探索レベルの次に探索の優先順位が高い値に設定する、情報処理装置。
【請求項4】
前記決定部は、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲にプレイヤーキャラクタを検出したとき、前記いずれかのノンプレイヤーキャラクタから前記特定のノンプレイヤーキャラクタまでの距離と前記いずれかのノンプレイヤーキャラクタから前記プレイヤーキャラクタまでの距離とを比較して、比較した結果に基づき、前記プレイヤーキャラクタ又は前記特定のノンプレイヤーキャラクタを前記追従先ノンプレイヤーキャラクタに決定する、
請求項
1又は2に記載の情報処理装置。
【請求項5】
プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御し、
自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御し、
前記複数のノンプレイヤーキャラクタの探索レベルを設定し、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する
処理をコンピュータが実行し、
前記追従先ノンプレイヤーキャラクタのいずれかは、特定のノンプレイヤーキャラクタであり、
前記特定のノンプレイヤーキャラクタの探索レベルを、探索の優先順位が最も高い値に設定し、
前記探索レベルを設定する処理は、前記複数のノンプレイヤーキャラクタのうちの少なくともいずれかが所定時間動作していないとき、動作していないノンプレイヤーキャラクタのうちから、新しい特定のノンプレイヤーキャラクタを設定し、新しい前記特定のノンプレイヤーキャラクタの探索レベルを、優先順位が最も高い値に設定する、ゲーム処理方法。
【請求項6】
プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御し、
自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御し、
前記複数のノンプレイヤーキャラクタの探索レベルを設定し、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する処理をコンピュータが実行し、
前記追従先ノンプレイヤーキャラクタのいずれかは、特定のノンプレイヤーキャラクタであり、
前記特定のノンプレイヤーキャラクタの探索レベルを、探索の優先順位が最も高い値に設定し、
前記複数のノンプレイヤーキャラクタのゲーム空間における動作を制御する処理は、前記特定のノンプレイヤーキャラクタが目的地へ移動するルート検索を実行し、前記ルート検索の結果に基づき、前記追従先ノンプレイヤーキャラクタが決定されたすべてのノンプレイヤーキャラクタを移動させる、ゲーム処理方法。
【請求項7】
プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御し、
自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御し、
前記複数のノンプレイヤーキャラクタの探索レベルを設定し、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する処理をコンピュータが実行し、
前記追従先ノンプレイヤーキャラクタを決定する処理は、前記いずれかのノンプレイヤーキャラクタの探索レベルを、前記追従先ノンプレイヤーキャラクタの探索レベルの次に探索の優先順位が高い値に設定する、ゲーム処理方法。
【請求項8】
プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御し、
自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御し、
前記複数のノンプレイヤーキャラクタの探索レベルを設定し、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する
処理をコンピュータに実行させ、
前記追従先ノンプレイヤーキャラクタのいずれかは、特定のノンプレイヤーキャラクタであり、
前記特定のノンプレイヤーキャラクタの探索レベルを、探索の優先順位が最も高い値に設定し、
前記探索レベルを設定する処理は、前記複数のノンプレイヤーキャラクタのうちの少なくともいずれかが所定時間動作していないとき、動作していないノンプレイヤーキャラクタのうちから、新しい特定のノンプレイヤーキャラクタを設定し、新しい前記特定のノンプレイヤーキャラクタの探索レベルを、優先順位が最も高い値に設定する、ゲーム処理プログラム。
【請求項9】
プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御し、
自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御し、
前記複数のノンプレイヤーキャラクタの探索レベルを設定し、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する処理をコンピュータに実行させ、
前記追従先ノンプレイヤーキャラクタのいずれかは、特定のノンプレイヤーキャラクタであり、
前記特定のノンプレイヤーキャラクタの探索レベルを、探索の優先順位が最も高い値に設定し、
前記複数のノンプレイヤーキャラクタのゲーム空間における動作を制御する処理は、前記特定のノンプレイヤーキャラクタが目的地へ移動するルート検索を実行し、前記ルート検索の結果に基づき、前記追従先ノンプレイヤーキャラクタが決定されたすべてのノンプレイヤーキャラクタを移動させる、ゲーム処理プログラム。
【請求項10】
プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御し、
自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御し、
前記複数のノンプレイヤーキャラクタの探索レベルを設定し、
前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する処理をコンピュータに実行させ、
前記追従先ノンプレイヤーキャラクタを決定する処理は、前記いずれかのノンプレイヤーキャラクタの探索レベルを、前記追従先ノンプレイヤーキャラクタの探索レベルの次に探索の優先順位が高い値に設定する、ゲーム処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、ゲーム処理方法及びゲーム処理プログラムに関する。
【背景技術】
【0002】
プレイヤーにより操作されるプレイヤーキャラクタと、自動で操作される多数のノンプレイヤーキャラクタとがバトル等するゲームがある。かかるゲームでは、各ノンプレイヤーキャラクタが障害物等を考慮して自己の移動ルートを検索する(以下、「ルート検索」という。)と、処理負荷が高くなり、処理コストが膨大になる。
【0003】
特許文献1は、複数のノンプレイヤーキャラクタの行動範囲に他のノンプレイヤーキャラクタまたはプレイヤーキャラクタである出現キャラクタがいる等の所定の条件を満たすとき、複数のノンプレイヤーキャラクタの行動範囲を、例えば1のゲームステージから1のゲームステージ内の所定領域に縮小する。これにより、出現キャラクタの周囲を所定領域として複数のノンプレイヤーキャラクタに出現キャラクタを守る行動を行わせたり、ゲームステージ内の予め定められた固定領域を所定領域として複数のノンプレイヤーキャラクタに出現キャラクタを攻撃する行動を行わせたりすることができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
複数のノンプレイヤーキャラクタを「群れ」として、群れの行動をリーダーのノンプレイヤーキャラクタに追従させる手法が考えられる。これによれば、リーダーのノンプレイヤーキャラクタ以外のノンプレイヤーキャラクタはルート検索を行わないため、ルート検索の処理負荷が軽減され、処理コストを下げることができる。
【0006】
しかし、この手法では、リーダーに追従する群れに含まれるノンプレイヤーキャラクタを、リーダーのノンプレイヤーキャラクタ毎に設定し、予め登録する必要がある。このため、その登録処理が煩雑であり、かつ、リーダーのノンプレイヤーキャラクタに追従するノンプレイヤーキャラクタをリアルタイムに動的に変えることはできない。
【0007】
そこで、本開示は、特定のキャラクタに追従させるノンプレイヤーキャラクタを動的に制御する。
【課題を解決するための手段】
【0008】
本開示の一の態様によれば、プレイヤーにより又は自動で操作されるプレイヤーキャラクタのゲーム空間における動作を制御する第1の動作制御部と、自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御する第2の動作制御部と、前記複数のノンプレイヤーキャラクタの探索レベルを設定する設定部と、前記複数のノンプレイヤーキャラクタのそれぞれの周囲を探索し、いずれかのノンプレイヤーキャラクタの周囲に前記複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した前記他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従する追従先ノンプレイヤーキャラクタを決定する決定部と、を有する、情報処理装置が提供される。
【発明の効果】
【0009】
一の側面によれば、特定のキャラクタに追従させるノンプレイヤーキャラクタを動的に制御できる。
【図面の簡単な説明】
【0010】
【
図1】従来のルート検索処理を説明するための図である。
【
図2】一実施形態に係る情報処理装置の機能構成の一例を示す図である。
【
図3】一実施形態に係るキャラクタテーブルの一例を示す図である。
【
図4】一実施形態に係る探索レベルテーブルの一例を示す図である。
【
図5】一実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【
図6】一実施形態に係る探索処理の一例を示すフローチャートである。
【
図7】一実施形態に係る探索処理を説明するための図である。
【
図8】一実施形態に係る探索処理を説明するための図である。
【
図9】一実施形態の変形例に係る探索処理の一例を示すフローチャートである。
【
図10】一実施形態に変形例に係る探索処理を説明するための図である。
【
図11】一実施形態に変形例に係る探索処理を説明するための図である。
【
図12】一実施形態及び変形例に係る探索処理の前処理の一例を示すフローチャートである。
【
図13】一実施形態及び変形例に係る探索処理の前処理を説明するための図である。
【発明を実施するための形態】
【0011】
以下、一実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く場合がある。
【0012】
以下の説明に際し、キャラクタは、プレイヤーにより操作される「プレイヤーキャラクタ」と、自動で操作される「ノンプレイヤーキャラクタ」とを含む。プレイヤーキャラクタは、通信ゲームの通信相手のプレイヤーが操作するキャラクタであってもよい。また、プレイヤーキャラクタは、プレイヤーが操作をしないノンプレイヤーキャラクタを含んでもよい。
【0013】
以下の一実施形態では、リーダーのノンプレイヤーキャラクタとその他のノンプレイヤーキャラクタとを含む複数のノンプレイヤーキャラクタが表示された状態において、特定のキャラクタに追従させるノンプレイヤーキャラクタを固定させずに動的に制御する。特定のキャラクタは、1以上のリーダーのノンプレイヤーキャラクタ及び1以上のプレイヤーキャラクタの少なくともいずれかである。例えば、特定のキャラクタは、敵ボス(リーダー)のノンプレイヤーキャラクタであってもよいし、プレイヤー又は通信相手が操作するボスキャラクタであってもよい。
【0014】
なお、本明細書では、ゲーム画面においてキャラクタが動作する仮想空間(ゲーム空間)に置かれたオブジェクトを動かない物体として動的なキャラクタと区別して説明する。ただし、実空間において静的なオブジェクトであっても、仮想空間において動的なオブジェクトであれば、特定のキャラクタ又は特定のキャラクタに追従させるノンプレイヤーキャラクタに含めてもよい。
<従来の探索処理の一例>
従来の探索処理の一例について
図1を参照して説明する。
図1は、従来の探索処理を説明するための図である。
図1は、バトルゲームを表示する一画面である。
図1では、仮想空間にて、プレイヤーキャラクタ(PC)101、ノンプレイヤーキャラクタ(NPC)102~110、オブジェクトOj1、Oj2が表示されている。ノンプレイヤーキャラクタ102~110は、プレイヤーキャラクタ101の敵キャラクタであり、ノンプレイヤーキャラクタ102が敵ボスのキャラクタである。以下では、ノンプレイヤーキャラクタ102を、「リーダーのノンプレイヤーキャラクタ」ともいう。「リーダーのノンプレイヤーキャラクタ」は、特定のノンプレイヤーキャラクタの一例である。また、ノンプレイヤーキャラクタ103~110は、特定のノンプレイヤーキャラクタ以外の複数のノンプレイヤーキャラクタであり、ノンプレイヤーキャラクタ102を敵ボスとしてプレイヤーキャラクタ101と戦う敵サブのキャラクタである。
【0015】
複数のノンプレイヤーキャラクタ102~110のそれぞれが、プレイヤーキャラクタ101を攻撃するために、ルート検索処理を行い、ルートN2~N10を得る演算処理を行うと、処理負荷が高くなり、処理コストが膨大になる。
【0016】
これに対して、リーダーのノンプレイヤーキャラクタ102が、複数のノンプレイヤーキャラクタ103~110を「群れ」として、群れの行動をリーダーのノンプレイヤーキャラクタ102に追従させる手法が考えられる。これによれば、リーダーのノンプレイヤーキャラクタ102以外のノンプレイヤーキャラクタ103~110はルート検索を行わないため、ルート検索の処理負荷が軽減され、処理コストを下げることができる。
【0017】
しかしながら、この手法では、リーダーに追従する群れに含まれるノンプレイヤーキャラクタを、リーダーのノンプレイヤーキャラクタ毎に設定し、予め登録する必要がある。このため、その登録処理が煩雑であり、かつ、リーダーのノンプレイヤーキャラクタに追従するノンプレイヤーキャラクタをリアルタイムに動的に変えることはできない。したがって、追従するノンプレイヤーキャラクタの動作が不自然になる場合がある。
【0018】
そこで、本実施形態に係る探索処理では、特定のキャラクタに追従させるノンプレイヤーキャラクタを動的に制御する方法を提案する。具体的には、本実施形態に係る探索処理では、特定のキャラクタの一例としてリーダーのノンプレイヤーキャラクタ102を挙げ、所定の条件下において、リーダーのノンプレイヤーキャラクタ102に複数のノンプレイヤーキャラクタ103~110の少なくともいずれかが追従する。これにより、リーダーのノンプレイヤーキャラクタ102に追従するノンプレイヤーキャラクタを動的に変えることができる。また、リーダーのノンプレイヤーキャラクタ102以外のノンプレイヤーキャラクタはルート検索を行わないため、ルート検索の処理負荷が軽減され、処理コストを下げることができる。以下、本実施形態に係る探索処理を実行する情報処理装置について説明し、その後、探索処理について説明する。
【0019】
[情報処理装置の機能構成]
以下では、一実施形態に係る情報処理装置10の機能構成の一例について、
図2を参照しながら説明する。
図2は、一実施形態に係る情報処理装置10の機能構成の一例を示す図である。
【0020】
本実施形態に係る情報処理装置10は、プレイヤーがゲームをプレイする機器であればいずれの電子機器でもよく、スマートフォン、携帯ゲーム機、パーソナルコンピュータ、タブレット端末、家庭用ゲーム装置、業務用ゲーム装置等であってもよい。本実施形態に係る情報処理装置10は、HMD(Head Mounted Display)等のウエアラブルデバイスであってもよい。
【0021】
情報処理装置10は、記憶部11、入力部12、動作制御部13、設定部14、決定部15、グラフィック処理部16、サウンド処理部17、表示部18及び音出力部19を有する。
【0022】
記憶部11は、キャラクタテーブル121及び探索レベルテーブル122を記憶する。キャラクタテーブル121は、キャラクタに関する情報を記憶するテーブルである。
図3は、一実施形態に係るキャラクタテーブル121の一例を示す図である。キャラクタテーブル121は、キャラクタID,キャラクタ名及び種類の各項目を対応付けて記憶する。キャラクタ名は記憶しなくてもよい。キャラクタテーブル121に記憶されたキャラクタの情報により、各キャラクタが、特定のキャラクタであるかを判定できる。
【0023】
探索レベルテーブル122は、各キャラクタが有する探索レベルを記憶する。
図4は、一実施形態に係る探索レベルテーブル122の一例を示す図である。探索レベルテーブル122は、キャラクタID及び探索レベルの各項目を対応付けて記憶する。探索レベルは、キャラクタの探索の優先度、つまり、追従されるキャラクタとして優先される度合いを示す。本実施形態では、探索レベルが低い程、追従される優先度が高いキャラクタであることを示す。例えば、探索の優先度が最も高い探索レベルは「1」であり、本実施形態では、探索レベル「1」が付されるキャラクタは、特定のキャラクタのみである。つまり、探索レベル「1」が付されるキャラクタは、リーダーのノンプレイヤーキャラクタ及びプレイヤーキャラクタの少なくともいずれかである。よって、探索レベルテーブル122には、リーダーのノンプレイヤーキャラクタ及びプレイヤーキャラクタの少なくともいずれかの探索レベルに「1」が予め設定される。
【0024】
なお、リーダーのノンプレイヤーキャラクタは複数であってもよい。また、プレイヤーキャラクタは、味方のプレイヤーキャラクタを含む複数であってもよい。
【0025】
探索レベルテーブル122は、探索レベル「1」のキャラクタに追従するキャラクタの探索レベルに「2」を記憶する。また、探索レベル「2」のキャラクタに追従するキャラクタの探索レベルに「3」を記憶する。このようにして、探索レベルに基づき、各ノンプレイヤーキャラクタが追従すべきキャラクタを動的に設定可能である。
【0026】
図2に戻り、入力部12は、プレイヤーのコントローラ(
図5参照)操作により入力情報を受け付ける。情報処理装置10にタッチパネルが搭載されている場合、入力部12は、タッチパネルを使用してプレイヤーの操作により入力情報を受け付けてもよい。
【0027】
動作制御部13は、第1の動作制御部13a及び第2の動作制御部13bを有する。第1の動作制御部13aは、プレイヤーにより操作されるプレイヤーキャラクタのゲーム空間における動作を制御する。第2の動作制御部13bは、自動で操作される複数のノンプレイヤーキャラクタのゲーム空間における動作を制御する。
【0028】
設定部14は、複数のノンプレイヤーキャラクタの探索レベルを設定し、探索レベルテーブル122に記憶する。
【0029】
決定部15は、複数のノンプレイヤーキャラクタのそれぞれの周囲を探索する。決定部15は、いずれかのノンプレイヤーキャラクタの周囲に複数のノンプレイヤーキャラクタの他の少なくともいずれかを検出したとき、検出した他の少なくともいずれかのノンプレイヤーキャラクタの探索レベルに基づき、検出した他の少なくともいずれかのノンプレイヤーキャラクタのうちから、前記いずれかのノンプレイヤーキャラクタが追従するノンプレイヤーキャラクタ(以下「追従先ノンプレイヤーキャラクタ」ともいう。)を決定する。
【0030】
グラフィック処理部16は、動作制御部13から描画命令が出力されると、表示部18に所定の画像を表示するためのビデオ信号を出力する。これにより、表示部18は、キャラクタと背景のステージ(オブジェクト)とを仮想空間に表示する。グラフィック処理部16から出力されるビデオ信号に含まれる画像の一フレーム時間は、例えば30分の1秒である。よって、グラフィック処理部16は、フレーム単位(すなわち、30分の1秒単位)で1枚の画像の描画を実行する。
【0031】
サウンド処理部17は、グラフィック処理部16からサウンド出力の指示命令が出力されると、音出力部19に所定の音を出力するためのサウンド信号を出力する。これにより、ゲームの状況に応じたサウンドが出力される。
【0032】
[情報処理装置のハードウェア構成]
次に、一実施形態に係る情報処理装置10のハードウェア構成の一例について、
図5を参照しながら説明する。
図5は、一実施形態に係る情報処理装置10のハードウェア構成の一例を示す図である。
【0033】
情報処理装置10は、CPU21、ROM22、RAM23、HDD24、グラフィックカード25、外部I/F(インターフェース)26、通信I/F27、入力I/F28、ディスプレイ29及びスピーカ30を有する。各部は、バスで相互に接続されている。
【0034】
ROM22は、電源を切っても内部データを保持することができる不揮発性の半導体メモリである。ROM22には、プログラム及びデータが格納されている。RAM23は、プログラムやデータを一時保持する揮発性の半導体メモリである。
【0035】
HDD24は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムには、情報処理装置10の全体を制御する基本ソフトウェア及びゲーム処理プログラム等のアプリケーションソフトウェアがある。HDD24には、各種のデータベースが格納されてもよい。本実施形態では、HDD24に探索処理を実行するためのプログラムや基本ゲームプログラムが格納される。また、HDD24にキャラクタテーブル121及び探索レベルテーブル122の各情報が格納される。
【0036】
CPU21は、HDD24からプログラムやデータをRAM23上に読み出し、探索処理や基本ゲーム処理を実行することで、情報処理装置10の全体の制御や情報処理装置10に搭載された機能を実現する。
【0037】
具体的には、
図2に示す動作制御部13、設定部14及び決定部15の機能は、情報処理装置10にインストールされた探索処理を実行するためのプログラムがCPU21に実行させる処理により実現される。
【0038】
外部I/F26は、情報処理装置10を記録媒体26a等の外部装置に接続するインターフェースである。これにより、情報処理装置10は、外部I/F26を介して記録媒体26aの読み取り及び書き込みを行うことができる。記録媒体26aの一例としては、CD(Compact Disk)、DVD(Digital Versatile Disk)が挙げられる。記録媒体26aは、SDメモリーカード(SD Memory card)又はUSBメモリ(Universal Serial Bus memory)等であってもよい。
【0039】
例えば、情報処理装置10には、探索処理及びゲームを実行するためのゲーム処理プログラムが格納された記録媒体26aを装着することが可能である。これらのプログラムは、外部I/F26により読み出されて、RAM23に読み込まれる。
【0040】
CPU21は、RAM23にロードされた上記プログラムを処理し、グラフィックカード25にゲームの進行に応じた画像の出力を指示する。グラフィックカード25は、指示に従い画面に表示するゲームの場面に応じた画像処理を行い、ディスプレイ29にキャラクタの画像及びステージの画像を描画させる。これにより、グラフィック処理部16及び表示部18の機能が実行される。なお、グラフィックカード25は、フレーム単位で1枚の画像の描画を実行し、一秒間に30回~60回のフレームの画像が描画される。
【0041】
また、CPU21は、RAM23に読み込まれた上記プログラムを処理し、ゲームの進行に応じてスピーカ30から所定の音を出力させる。これにより、サウンド処理部17及び音出力部19の機能が実行される。
【0042】
ディスプレイ29はタッチパネル式としても良い。これにより、コントローラ1を用いずに入力操作を行うことができる。この場合、タッチパネルにより検出されたタッチ位置の入力情報は、RAM23に格納され、CPU21はRAM23に格納された入力情報をもとに各種の演算処理を実行する。
【0043】
通信I/F27は、情報処理装置10をネットワークに接続するインターフェースである。また、通信I/F27は、アンテナを有する通信ユニットを介して、他のゲーム機器と通信を行う機能を有していてもよい。
【0044】
入力I/F28は、コントローラ1に接続するインターフェースである。コントローラ1は、操作ボタン2及び方向キー3を有する。プレイヤーは、操作ボタン2を操作することでキャラクタに所定の動作を行わせることができる。また、プレイヤーは、方向キー3を操作することでキャラクタを所定の方向に移動させることができる。入力I/F28は、プレイヤーがコントローラ1を用いて行った入力操作に基づく入力情報をRAM23に格納させる。入力部12の機能は、入力I/F28により実行される。
【0045】
CPU21は、RAM23に格納された入力情報に基づきキャラクタの動作等の各種の演算処理を実行する。また、入力I/F28は、CPU21からの指示に従いRAM23に記憶されているゲームの進行状況を示すデータをメモリーカード28aに保存させ、メモリーカード28aに保存されている中断時のゲームのデータを読み出してRAM23に転送する処理を行う。
【0046】
[探索処理]
次に、
図6~
図8を参照して、一実施形態に係る探索処理の一例について説明する。
図6は、一実施形態に係る探索処理の一例を示すフローチャートである。
図7及び
図8は、一実施形態に係る探索処理を説明するための図である。なお、
図6の探索処理は、毎フレームに1回実行されてもよいし、数フレームに1回等所定回数毎に実行されてもよい。
【0047】
本処理が開始されると、入力部12は、プレイヤーキャラクタに対するプレイヤーの操作を受け付け、第1の動作制御部13aは、プレイヤーキャラクタの動作を制御する(ステップS10)。次に、第2の動作制御部13bは、リーダーのノンプレイヤーキャラクタのルート検索を行う(ステップS12)。次に、決定部15は、各ノンプレイヤーキャラクタ(NPC)の周囲を探索する(ステップS14)。
【0048】
例えば、
図7に示すように、仮想空間にプレイヤーキャラクタ(PC)101、ノンプレイヤーキャラクタ(NPC)102~113、オブジェクトOj1、Oj2が表示されている場合について説明する。オブジェクトOj1、Oj2は静的に配置された建物である。
【0049】
ステップS14において、第2の動作制御部13bが各ノンプレイヤーキャラクタ102~113の周囲を探索した結果、
図8に示すように、ノンプレイヤーキャラクタ103を中心とした所定範囲R2内に、リーダーのノンプレイヤーキャラクタ102が存在する。ノンプレイヤーキャラクタ104を中心とした所定範囲R3内に、ノンプレイヤーキャラクタ103及びノンプレイヤーキャラクタ105が存在する。
【0050】
ノンプレイヤーキャラクタ105を中心とした所定範囲R4内に、ノンプレイヤーキャラクタ104及びノンプレイヤーキャラクタ106が存在する。ノンプレイヤーキャラクタ106を中心とした所定範囲R5内に、ノンプレイヤーキャラクタ105及びノンプレイヤーキャラクタ107が存在する。ノンプレイヤーキャラクタ107を中心とした所定範囲R6内に、ノンプレイヤーキャラクタ106が存在する。なお、所定範囲R2~R6は、予め定められた範囲であり、本実施形態では同一範囲であるが、これに限られず、異なる範囲であってもよい。
【0051】
図6に戻り、次に、決定部15は、少なくともいずれかのノンプレイヤーキャラクタの所定範囲内に他のノンプレイヤーキャラクタが存在するかを判定する(ステップS16)。決定部15は、少なくともいずれかのノンプレイヤーキャラクタの所定範囲内に他のノンプレイヤーキャラクタが存在すると判定した場合、判定された他のノンプレイヤーキャラクタの少なくともいずれかがリーダーのノンプレイヤーキャラクタかを判定する(ステップS18)。
【0052】
図8に示す例の場合、所定範囲内に他のノンプレイヤーキャラクタが存在する各ノンプレイヤーキャラクタ103~107のうち各所定範囲内にリーダーのノンプレイヤーキャラクタ102が存在するかが判定される。
【0053】
図6に戻り、決定部15は、ステップS18において、判定された他のノンプレイヤーキャラクタの少なくともいずれかがリーダーのノンプレイヤーキャラクタであると判定すると、周囲を検索したノンプレイヤーキャラクタは、リーダーのノンプレイヤーキャラクタに追従すると決定する(ステップS20)。次に、設定部14は、リーダーのノンプレイヤーキャラクタに追従するノンプレイヤーキャラクタの探索レベルに、リーダーのノンプレイヤーキャラクタの探索レベル「1」に1を加算した値である「2」を設定し(ステップS21)、ステップS28に進む。設定された探索レベルは、探索レベルテーブル122に記憶される。
図8の例では、周囲を検索したノンプレイヤーキャラクタ103は、リーダーのノンプレイヤーキャラクタ102に追従すると決定され、その探索レベルに「2」が設定される。このとき、ノンプレイヤーキャラクタ102は、ノンプレイヤーキャラクタ103の追従先ノンプレイヤーキャラクタ(すなわち、追従されるノンプレイヤーキャラクタ)であり、ノンプレイヤーキャラクタ103は、追従するノンプレイヤーキャラクタである。
【0054】
図6に戻り、次に、決定部15は、所定範囲内に他のノンプレイヤーキャラクタが存在するすべてのノンプレイヤーキャラクタの探索処理を終了したかを判定する(ステップS28)。決定部15は、所定範囲内に他のノンプレイヤーキャラクタが存在するすべてのノンプレイヤーキャラクタの探索を終了していないと判定すると、ステップS18に戻る。
【0055】
決定部15は、ステップS18において、判定された他のノンプレイヤーキャラクタにリーダーのノンプレイヤーキャラクタが存在しないと判定すると、判定された他のノンプレイヤーキャラクタに、探索レベルが既に設定されている他のノンプレイヤーキャラクタがあるかを判定する(ステップS22)。探索レベルが既に設定されている他のノンプレイヤーキャラクタがあると判定されると、決定部15は、探索レベルが最も低い他のノンプレイヤーキャラクタに追従すると決定する(ステップS24)。なお、ステップS22において、探索レベルを設定済みの他のノンプレイヤーキャラクタがないと判定されると、ステップS28に進む。
【0056】
図8の例では、ノンプレイヤーキャラクタ104を中心とした所定範囲R3内に、他のノンプレイヤーキャラクタ103、105が存在し、他のノンプレイヤーキャラクタ105の探索レベルは、この時点で設定されていない。この場合、決定部15は、探索レベルが既に設定されている他のノンプレイヤーキャラクタ103があると判定し、探索レベル設定済みのノンプレイヤーキャラクタ103に追従すると決定する。
【0057】
図6に戻り、次に、設定部14は、追従するノンプレイヤーキャラクタの探索レベルに、追従先ノンプレイヤーキャラクタの探索レベルに1を加算した値を設定し(ステップS26)、ステップS28に進む。設定された探索レベルは、探索レベルテーブル122に記憶される。
図8の例では、ノンプレイヤーキャラクタ104の探索レベルに「3」が設定される。
【0058】
ステップS28においてすべての探索を終了したと判定されるまで、以上に説明したステップS18~S28の処理が繰り返される。これにより、ノンプレイヤーキャラクタ105の追従先がノンプレイヤーキャラクタ104に決定され、その探索レベルに「4」が設定される。ノンプレイヤーキャラクタ106の追従先がノンプレイヤーキャラクタ105に決定され、その探索レベルに「5」が設定される。ノンプレイヤーキャラクタ107の追従先がノンプレイヤーキャラクタ106に決定され、その探索レベルに「6」が設定される。
【0059】
ステップS28にてすべての他のノンプレイヤーキャラクタについての追従先探索を終了したと判定されると、第2の動作制御部13bは、ノンプレイヤーキャラクタの群れの動作を制御し(ステップS30)、本処理を終了する。
図8の例では、ノンプレイヤーキャラクタ103~107が繋がって群れをなし、リーダーのノンプレイヤーキャラクタ102の動作に追従させることができる。これにより、リーダーのノンプレイヤーキャラクタ102のルート検索結果に応じて、ノンプレイヤーキャラクタ102~107がルートNに従い移動する。
【0060】
なお、
図8の例では、ノンプレイヤーキャラクタ108~113のそれぞれを中心とした所定範囲内に他のノンプレイヤーキャラクタは存在しない。よって、ノンプレイヤーキャラクタ108~113は上記群れに含まれず、移動しない。
【0061】
なお、各ノンプレイヤーキャラクタが探索する所定範囲は、固定の範囲でもよいし、可変の範囲でもよい。例えば、ステップS14において、決定部15は、所定範囲を他のノンプレイヤーキャラクタが少なくとも一つ探索できるまで広げていってもよいし、所定範囲を固定の範囲に設定し、固定の範囲まで探索したら探索を止めてもよい。
【0062】
ステップS24において、設定部14は、同時に複数のノンプレイヤーキャラクタの探索レベルを設定することがあり得る。この場合、探索レベルが同一のノンプレイヤーキャラクタが複数存在することになる。同一の探索レベルの場合、いずれかのノンプレイヤーキャラクタを追従先ノンプレイヤーキャラクタに決定すればよい。
【0063】
以上に説明したように、一実施形態に係る探索処理によれば、リーダーのノンプレイヤーキャラクタ以外のノンプレイヤーキャラクタはルート検索機能を有さず、処理障害物について考慮してルートを検索する必要がない。これにより、ルート検索の処理負荷が軽減され、処理コストを下げることができる。また、一実施形態に係る探索処理によれば、探索レベルを用いて、リーダーのノンプレイヤーキャラクタ及びその他のノンプレイヤーキャラクタに追従させるノンプレイヤーキャラクタを、そのときのノンプレイヤーキャラクタ同士の位置関係に応じて動的に制御することができる。これにより、追従させるノンプレイヤーキャラクタの群れをより自然に動作させることができる。
【0064】
なお、ステップS18において、リーダーのノンプレイヤーキャラクタが存在するかの判定に替えて、リーダーのノンプレイヤーキャラクタ及びプレイヤーキャラクタの少なくともいずれかが存在するかを判定してもよい。
【0065】
[変形例1]
次に、
図9~
図11を参照して、一実施形態の変形例に係る探索処理の一例について説明する。
図9は、一実施形態の変形例に係る探索処理の一例を示すフローチャートである。
図10及び
図11は、一実施形態に変形例に係る探索処理を説明するための図である。
図9の変形例に係る探索処理では、
図6の探索処理と同一の処理については、同一のステップ番号を付すことにより説明を省略又は簡略化する。
【0066】
本処理が開始されると、ステップS10~S14の処理が実行される。次に、決定部15は、周囲の他のノンプレイヤーキャラクタの中にリーダーのノンプレイヤーキャラクタ又はプレイヤーキャラクタが存在するかを判定する(ステップS34)。
【0067】
決定部15は、周囲の他のノンプレイヤーキャラクタの中にリーダーのノンプレイヤーキャラクタ又はプレイヤーキャラクタが存在すると判定すると、リーダーのノンプレイヤーキャラクタとプレイヤーキャラクタとのいずれもが存在するかを判定する(ステップS36)。
【0068】
ステップS36において、決定部15は、リーダーのノンプレイヤーキャラクタが存在し、プレイヤーキャラクタが存在しないと判定すると、ステップS20に進み、周囲を検索したノンプレイヤーキャラクタの追従先をリーダーのノンプレイヤーキャラクタに決定する(ステップS20)。次に、設定部14は、リーダーのノンプレイヤーキャラクタに追従するノンプレイヤーキャラクタの探索レベルに、リーダーのノンプレイヤーキャラクタの探索レベル「1」に1を加算した値である「2」を設定し(ステップS21)、ステップS28に進む。
【0069】
ステップS36において、決定部15は、プレイヤーキャラクタが存在し、リーダーのノンプレイヤーキャラクタが存在しないと判定すると、決定部15は周囲を検索したノンプレイヤーキャラクタの追従先をプレイヤーキャラクタに決定する(ステップS40)。次に、設定部14は、追従するノンプレイヤーキャラクタの探索レベルに、プレイヤーキャラクタにの探索レベル「1」に1を加算した値である「2」を設定し(ステップS42)、ステップS28に進む。
【0070】
さらに、ステップS36において、決定部15は、リーダーのノンプレイヤーキャラクタとプレイヤーキャラクタとのいずれも存在すると判定すると、リーダーのノンプレイヤーキャラクタとプレイヤーキャラクタとのいずれに近いかを判定する(ステップS38)。決定部15は、リーダーのノンプレイヤーキャラクタに近いと判定した場合、ステップS20及びS21の処理を実行し、S28に進む。決定部15は、ステップS38において、プレイヤーキャラクタに近いと判定した場合、ステップS40及びS42の処理を実行し、S28に進む。
【0071】
図11の例では、ノンプレイヤーキャラクタ106の所定範囲内にプレイヤーキャラクタ101が存在する。また、プレイヤーキャラクタ101は、リーダーのノンプレイヤーキャラクタ102よりも近いため、ノンプレイヤーキャラクタ106は、プレイヤーキャラクタ101に追従すると決定される。
【0072】
また、ノンプレイヤーキャラクタ106の探索レベルは、プレイヤーキャラクタ101の探索レベル「1」に1を加算した値である「2」に設定される。この結果、ノンプレイヤーキャラクタ106は、群れ200から外れ、プレイヤーキャラクタ101に追従して移動する。
【0073】
図9に戻り、ステップS34において、決定部15は、周囲の他のノンプレイヤーキャラクタの中にリーダーのノンプレイヤーキャラクタ及びプレイヤーキャラクタのいずれも存在しないと判定すると、少なくともいずれかのノンプレイヤーキャラクタの所定範囲内に他のノンプレイヤーキャラクタが存在するかを判定する(ステップS16)。決定部15は、他のノンプレイヤーキャラクタが存在しないと判定すると、本処理を終了する。
【0074】
決定部15は、少なくともいずれかのノンプレイヤーキャラクタの所定範囲内に他のノンプレイヤーキャラクタが存在すると判定すると、ステップS22~S26の処理を行う。これにより、追従先のノンプレイヤーキャラクタの決定と、探索レベルの設定とが行われる。
【0075】
ステップS28においてすべての探索を終了したと判定されるまで、以上に説明したステップS34~S42、S16、S20~S28の処理が繰り返される。ステップS28にてすべての他のノンプレイヤーキャラクタについての追従先探索を終了したと判定されると、第2の動作制御部13bは、ノンプレイヤーキャラクタの群れの動作を制御し(ステップS30)、第1の動作制御部13aは、プレイヤーキャラクタの群れの動作を制御し、本処理を終了する。
【0076】
これにより、
図10に一例を示すように、リーダーのノンプレイヤーキャラクタ102に追従する他のノンプレイヤーキャラクタ103~110の群れ200と、プレイヤーキャラクタ101に追従する他のノンプレイヤーキャラクタ106の群れが形成される。
【0077】
以上に説明したように、変形例に係る探索処理では、ノンプレイヤーキャラクタがプレイヤーキャラクタを探索すると、プレイヤーキャラクタとリーダーのノンプレイヤーキャラクタとの何れか近いキャラクタに追従する。すなわち、複数の特定のキャラクタとの距離によって、ノンプレイヤーキャラクタが追従する対象を変更できる。ただし、距離に拠らず、特定のキャラクタに追従するようにしてもよい。
【0078】
[その他の変形例]
一実施形態及び変形例に係る探索処理の前処理を行ってもよい。一実施形態及び変形例に係る探索処理の前処理について、
図12及び
図13を参照しながら説明する。
図12は、一実施形態及び変形例に係る探索処理の前処理の一例を示すフローチャートである。
図13は、一実施形態及び変形例に係る探索処理の前処理を説明するための図である。
【0079】
なお、本処理は、所定時間の探索において近くに、探索レベル済みのノンプレイヤーキャラクタ又は探索レベル済みのプレイヤーキャラクタを追従先として見つけられなかった場合に開始される。また、本処理は、一実施形態及び変形例に係る探索処理の前に行うことを想定しているが、一実施形態及び変形例に係る探索処理の後に行ってもよい。
【0080】
本処理が開始されると、決定部15は、予め定められた所定時間以上動いていないノンプレイヤーキャラクタがあるかを判定する(ステップS50)。決定部15は、所定時間以上動いていないノンプレイヤーキャラクタがないと判定すると、本処理を終了する。一方、決定部15は、所定時間以上動いていないノンプレイヤーキャラクタがあると判定すると、所定時間以上動いていないノンプレイヤーキャラクタのいずれかをリーダーのノンプレイヤーキャラクタに決定し(ステップS52)、本処理を終了する。新リーダーのノンプレイヤーキャラクタには探索レベル「1」が与えられ、ルート検索機能が付与される。
【0081】
図13は、所定時間以上動いていないノンプレイヤーキャラクタ112~114のうちのノンプレイヤーキャラクタ112が新リーダーのノンプレイヤーキャラクタに決定された例を示す。これにより、その後に実行される一実施形態及び変形例に係る探索処理(
図6、
図9)において、ノンプレイヤーキャラクタ113、114が新リーダーのノンプレイヤーキャラクタ112に追従するように処理される。これにより、リーダーのノンプレイヤーキャラクタ102に追従してルートNを移動する群れ200とともに、新リーダーのノンプレイヤーキャラクタ112に追従してルートMを移動する群れ210を形成することができる。
【0082】
以上に説明した前処理によれば、一定時間孤立したノンプレイヤーキャラクタの集団がある場合、孤立した集団の少なくともいずれかのノンプレイヤーキャラクタに新リーダーとして探索レベル「1」を与える。これに替えて、孤立した集団の少なくともいずれかのノンプレイヤーキャラクタを探索レベル「2」のノンプレイヤーキャラクタにしてもよい。これにより、探索レベル「3」のノンプレイヤーキャラクタは、必要に応じてリーダー又は設定された探索レベル「2」のノンプレイヤーキャラクタに追従することができる。なお、新リーダーのノンプレイヤーキャラクタが、最初からリーダーのノンプレイヤーキャラクタに遭遇したら、新リーダーのノンプレイヤーキャラクタを通常のノンプレイヤーキャラクタに戻すようにしてもよい。
【符号の説明】
【0083】
10:情報処理装置
11:記憶部
12:入力部
13:動作制御部
13a:第1の動作制御部
13b:第2の動作制御部
14:設定部
15:決定部
16:グラフィック処理部
17:サウンド処理部
18:表示部
19:音出力部
121:キャラクタテーブル
122:探索レベルテーブル