(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-28
(45)【発行日】2023-03-08
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
A63F 13/55 20140101AFI20230301BHJP
【FI】
A63F13/55
(21)【出願番号】P 2019035702
(22)【出願日】2019-02-28
【審査請求日】2021-11-11
(73)【特許権者】
【識別番号】595000427
【氏名又は名称】株式会社コーエーテクモゲームス
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】石井 脩平
(72)【発明者】
【氏名】塩水流 幹洋
【審査官】鈴木 智之
(56)【参考文献】
【文献】特開2004-321598(JP,A)
【文献】特開2011-136128(JP,A)
【文献】特開2010-088674(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24
A63F 13/00-13/98
(57)【特許請求の範囲】
【請求項1】
仮想空間にノンプレイヤキャラクタを表示させ、前記ノンプレイヤキャラクタの行動を制御する情報処理装置であって、
前記行動と、前記行動を前記仮想空間に発生させるインターバル時間及び/又は前記行動を同時に割り当て可能な同時利用可能キャラクタ数が設定されている前記行動の発生条件とが対応付けられた行動テーブルを記憶する記憶部と、
前記行動テーブルに記憶された前記行動の発生条件に基づき、
前記インターバル時間中でなく、及び/又は前記同時利用可能キャラクタ数以上の前記ノンプレイヤキャラクタが割り当てられていない前記行動を選択する行動選択部と、
選択した前記行動を実行させることが可能な少なくとも一つの前記ノンプレイヤキャラクタを選択する候補選択部と、
選択した前記行動に、選択した前記ノンプレイヤキャラクタを割り当て、選択した前記行動を実行させる行動実行部と、
を有する情報処理装置。
【請求項2】
前記候補選択部は、選択した前記行動を実行させることが可能な少なくとも一つの前記ノンプレイヤキャラクタを前記仮想空間に配置済みの前記ノンプレイヤキャラクタ及び前記仮想空間に未配置の前記ノンプレイヤキャラクタから選択すること
を特徴とする請求項1記載の情報処理装置。
【請求項3】
前記行動の発生条件は、更に、前記行動の発生に必要な必要キャラクタ数が設定されており、
前記行動実行部は、前記候補選択部が選択した前記ノンプレイヤキャラクタの数が前記行動の発生に必要な必要キャラクタ数に達していれば、選択した前記行動に、選択した前記ノンプレイヤキャラクタを割り当て、選択した前記行動を実行させること
を特徴とする請求項
1又は2記載の情報処理装置。
【請求項4】
前記候補選択部は、他の前記行動に割り当てられていない前記ノンプレイヤキャラクタを、選択した前記行動を実行させることが可能な前記ノンプレイヤキャラクタとして選択すること
を特徴とする請求項1乃至
3何れか一項記載の情報処理装置。
【請求項5】
前記行動は、前記仮想空間に未配置の前記ノンプレイヤキャラクタの出現する行動、又は前記仮想空間に配置済みの前記ノンプレイヤキャラクタが前記仮想空間から消滅する行動であること
を特徴とする請求項1乃至4の何れか一項に記載の情報処理装置。
【請求項6】
仮想空間にノンプレイヤキャラクタを表示させ、前記ノンプレイヤキャラクタの行動を制御する情報処理装置が、
前記行動と、前記行動を前記仮想空間に発生させるインターバル時間及び/又は前記行動を同時に割り当て可能な同時利用可能キャラクタ数が設定されている前記行動の発生条件とが対応付けられた行動テーブルを記憶する記憶ステップと、
前記行動テーブルに記憶された前記行動の発生条件に基づき、
前記インターバル時間中でなく、及び/又は前記同時利用可能キャラクタ数以上の前記ノンプレイヤキャラクタが割り当てられていない前記行動を選択する行動選択ステップと、
選択した前記行動を実行させることが可能な少なくとも一つの前記ノンプレイヤキャラクタを選択する候補選択ステップと、
選択した前記行動に、選択した前記ノンプレイヤキャラクタを割り当て、選択した前記行動を実行させる行動実行ステップと、
を実行する情報処理方法。
【請求項7】
仮想空間にノンプレイヤキャラクタを表示させ、前記ノンプレイヤキャラクタの行動を制御する情報処理装置を、
前記行動と、前記行動を前記仮想空間に発生させるインターバル時間及び/又は前記行動を同時に割り当て可能な同時利用可能キャラクタ数が設定されている前記行動の発生条件とが対応付けられた行動テーブルを記憶する記憶部、
前記行動テーブルに記憶された前記行動の発生条件に基づき、
前記インターバル時間中でなく、及び/又は前記同時利用可能キャラクタ数以上の前記ノンプレイヤキャラクタが割り当てられていない前記行動を選択する行動選択部、
選択した前記行動を実行させることが可能な少なくとも一つの前記ノンプレイヤキャラクタを選択する候補選択部、
選択した前記行動に、選択した前記ノンプレイヤキャラクタを割り当て、選択した前記行動を実行させる行動実行部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来から、ノンプレイヤキャラクタ(以下、NPCと呼ぶ)がゲーム内において、街中で商売する、寝ている、走っている、会話している、掃除しているなど、自由に行動するゲームが知られている。
【0003】
例えば仮想空間に表示された複数のNPCを動作させるビデオゲームにおいて、複数のNPCに個別の行動を時系列に設定するビデオゲーム装置が知られている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来は、NPCごとに行動を設定したり、行動のパターンを作成してランダムにNPCを行動させたり、する方法が、ゲーム内においてNPCを自由に行動させる方法の主流であった。
【0006】
しかしながら、行動のパターンを作成してランダムにNPCを行動させる方法は、NPCが同じ行動を連続で行ったり、近くにいるNPCが同じ行動を行ったり、不自然になる場合があるという問題があった。なお、NPCごとに行動を設定する方法は、設定しなければならない情報の量が多くなるという問題があった。
【0007】
本開示は、仮想空間でノンプレイヤキャラクタを自然に行動させる新たな仕組みを提供することを課題とする。
【課題を解決するための手段】
【0008】
本開示の一の態様によれば、仮想空間にノンプレイヤキャラクタを表示させ、前記ノンプレイヤキャラクタの行動を制御する情報処理装置であって、前記行動と、前記行動を前記仮想空間に発生させるインターバル時間及び/又は前記行動を同時に割り当て可能な同時利用可能キャラクタ数が設定されている前記行動の発生条件とが対応付けられた行動テーブルを記憶する記憶部と、前記行動テーブルに記憶された前記行動の発生条件に基づき、前記インターバル時間中でなく、及び/又は前記同時利用可能キャラクタ数以上の前記ノンプレイヤキャラクタが割り当てられていない前記行動を選択する行動選択部と、選択した前記行動を実行させることが可能な少なくとも一つの前記ノンプレイヤキャラクタを選択する候補選択部と、選択した前記行動に、選択した前記ノンプレイヤキャラクタを割り当て、選択した前記行動を実行させる行動実行部と、を有する情報処理装置が提供される。
【発明の効果】
【0009】
一の側面によれば、仮想空間でノンプレイヤキャラクタを自然に行動させる新たな仕組みを提供できる。
【図面の簡単な説明】
【0010】
【
図1】一実施形態に係るゲームシステムの一例を示す図である。
【
図2】一実施形態に係るクライアントのハードウェア構成の一例を示す図である。
【
図3】一実施形態に係るサーバのハードウェア構成の一例を示す図である。
【
図4】一実施形態に係るクライアントの機能構成の一例を示す図である。
【
図5】一実施形態に係るサーバの機能構成の一例を示す図である。
【
図6】行動テーブルについて説明する一例の図である。
【
図7】NPCテーブルについて説明する一例の図である。
【
図8】使用登録テーブルについて説明する一例の図である。
【
図9】一実施形態に係るゲームシステムのNPCの行動に関する処理の一例のフローチャートである。
【
図10】ステップS16の行動更新処理の一例のフローチャートである。
【
図11】ステップS20の行動発生可能チェック処理の一例のフローチャートである。
【
図12】ステップS24の行動実行候補のNPC選択処理の一例のフローチャートである。
【発明を実施するための形態】
【0011】
以下、本開示を実施するための形態について図面を参照して説明する。なお、本実施形態ではゲーム内において表示されるNPC(ノンプレイヤキャラクタ)の例について説明するが、ゲームのNPCに限定するものではなく、ゲーム以外の仮想空間において表示されるNPCであってもよい。
【0012】
[ゲームシステム]
まず、一実施形態に係るゲームシステム10について、
図1を参照して説明する。一実施形態に係るゲームシステム10は、クライアント20とサーバ30とがネットワーク40を介して通信可能に接続された構成である。
【0013】
クライアント20はプレイヤがゲームをプレイする情報処理装置の一例である。情報処理装置はスマートフォンなどの携帯電話機、携帯ゲーム機、パーソナルコンピュータ、タブレット端末、家庭用ゲーム装置、業務用ゲーム装置等である。クライアント20はプレイヤからの操作をタッチパネル、コントローラ、マウス、キーボード等で受け付け、プレイヤにゲームをプレイさせる。なお、クライアント20の個数は3つに限定されるものではなく、3つ以外であってもよい。
【0014】
サーバ30はクライアント20との間でデータを送受信することで、ゲームに必要な機能をクライアント20に提供する情報処理装置の一例である。サーバ30はクラウドコンピュータにより実現してもよい。なお、
図1に示したサーバ30の個数は、1つに限定されるものではなく、2つ以上で分散処理してもよい。
【0015】
例えばサーバ30はクライアント20へのゲームプログラム(アプリケーション)などのダウンロード処理やプレイヤのログイン処理、プレイヤ情報やゲームスコアの管理などに利用される。
【0016】
図2は、クライアント20のハードウェア構成の一例を示す図である。クライアント20は、CPU(Central Processing Unit)121、記憶装置122、通信装置123、入力装置124及び表示装置125を有する。CPU121は、クライアント20を制御する。記憶装置122は、例えばROM(Read Only Memory)やRAM(Random Access Memory)などのメモリ、HDD(Hard Disk Drive)やSSD(Solid State Drive)などのストレージである。
【0017】
通信装置123は、通信を制御するネットワーク回路などの通信デバイスである。入力装置124は、タッチパッド、コントローラ、マウス、キーボード、カメラ、マイクなどの入力デバイスである。また、表示装置125はディスプレイ、スピーカなどの出力デバイスである。タッチパネルはタッチパッドとディスプレイとを組み合わせることで実現される。
【0018】
図3は、サーバ30のハードウェア構成の一例を示す図である。サーバ30は、CPU131、記憶装置132及び通信装置133を有する。CPU131は、サーバ30を制御する。記憶装置132は、例えばROMやRAMなどのメモリ、HDDやSSDなどのストレージである。通信装置133は、通信を制御するネットワークカードなどの通信デバイスである。
【0019】
図4はクライアント20の機能構成の一例を示す図である。クライアント20は、記憶部21、制御部22、操作部23、表示部24及び端末側通信部25を有する。記憶部21は、ゲームプログラム31などのプログラム、そのプログラムが利用するデータ、後述する行動テーブル32、NPCテーブル33、及び使用登録テーブル34などを記憶している。なお、記憶部21は、記憶装置122により実現されてもよいし、ネットワーク40を介して接続された記憶装置により実現されてもよい。
【0020】
図4に戻り、制御部22はクライアント20の全体の制御を行う。制御部22はCPU121がゲームプログラム31に記載された処理を実行することにより実現される。制御部22は、NPC制御部35、及びゲーム制御部36を有する。NPC制御部35はNPCに関する制御を行う。ゲーム制御部36はプレイヤキャラクタに関する制御とプレイヤがプレイするゲーム全般に関する制御を行う。NPC制御部35は、行動選択部41、候補選択部42、及び行動実行部43を有する。
【0021】
行動選択部41は、後述する行動テーブル32に基づき、ゲーム内に発生させることが可能なNPCの行動(以下、単に行動と呼ぶ)を選択する。候補選択部42は、行動選択部41により選択された行動に割り当てる候補のNPCを選択する。また、行動実行部43は行動選択部41が選択した行動に、候補選択部42が選択した候補のNPCを割り当て、選択した行動を実行させる。
【0022】
操作部23は入力装置124に対するプレイヤの各種操作を受け付ける。表示部24は表示装置125にゲーム画像を表示する。なお、操作部23はCPU121が入力装置124を制御することで実現される。また、表示部24は、CPU121が表示装置125を制御することで実現される。
【0023】
ここで入力装置124に対するプレイヤの各種操作とは、CPU121に処理を実行させるため、プレイヤが操作部23を操る操作をいう。操作部23はゲームをプレイするプレイヤから各種操作を受け付ける。制御部22はプレイヤから受け付けた各種操作に基づき、ゲームを進行させる。表示部24は制御部22が生成したゲーム画像を表示する。端末側通信部25は、サーバ30と通信する。端末側通信部25はCPU121がゲームプログラム31を実行し、ゲームプログラム31に従って通信装置123を制御することで実現される。
【0024】
図5は、サーバ30の機能構成の一例を示す図である。
図5のサーバ30は、記憶部51、サーバ制御部52及びサーバ側通信部53を有する。記憶部51は、ゲームプログラム61、サーバプログラム62などのプログラム、そのプログラムが利用するデータ、後述する行動テーブル63、及びNPCテーブル64などを記憶している。記憶部51は記憶装置132により実現されてもよいし、ネットワーク40を介して接続された記憶装置により実現されてもよい。
【0025】
図5に戻り、サーバ制御部52は、サーバ30の全体の制御を行う。サーバ制御部52は、CPU131がサーバプログラム62に記載された処理を実行することにより実現される。
【0026】
例えば、サーバ制御部52は記憶部51に記憶されているゲームプログラム61、そのゲームプログラム61が利用するデータや後述する行動テーブル63、及びNPCテーブル64をクライアント20へダウンロードさせるダウンロード処理を行う。
【0027】
また、サーバ側通信部53はクライアント20と通信する。サーバ側通信部53は、CPU131がサーバプログラム62を実行し、サーバプログラム62に従って通信装置133を制御することで実現される。
【0028】
クライアント20の行動テーブル32及びサーバ30の行動テーブル63は、ゲーム内でNPCに実行させる行動が設定されている。また、クライアント20のNPCテーブル33及びサーバ30のNPCテーブル64は、ゲーム内で行動を実行させるNPCが設定されている。クライアント20の使用登録テーブル34は、行動が割り当てられたNPC(行動によって使用中のNPC)が登録されている。ここでは、クライアント20の行動テーブル32、NPCテーブル33、及び使用登録テーブル34を一例として説明する。
【0029】
図6は行動テーブル32について説明する一例の図である。本実施形態のゲームシステム10では、ゲーム内でNPCに実行させる行動を選択するため、
図6の行動テーブル32を利用する。
【0030】
図6の行動テーブル32は項目として、行動ID、行動名、属性、エリア、インターバル時間、同時利用可能ユニット数、必須ユニット数、座標、及び使用可能ユニット種別を有する。行動IDは、NPCの行動を一意に識別するための識別情報の一例である。行動名は、NPCの行動の名称である。
【0031】
属性は、NPCの行動の種別(出現、中継、又は撤退)を示している。属性「出現」はゲーム内のエリアに未配置のNPCがエリアに出現する行動を示している。属性「中継」はゲーム内のエリアに配置済みのNPCが実行する行動を示している。属性「撤退」はエリアに配置済みのNPCがエリアから消滅する行動を示している。
【0032】
エリアは、行動を発生させるゲーム内のエリアを示している。インターバル時間は、行動の発生頻度を制御する情報である。インターバル時間を長く設定された行動は発生が抑制される。また、インターバル時間を短く設定された行動は発生が促進される。
【0033】
また、同時利用可能ユニット数は、行動を同時に割り当てることができるNPC数(ユニット数)を表している。必須ユニット数は、行動を実行するために必要なユニット数を表している。座標は、行動の目標として設定されるゲーム内のエリアの座標を表している。例えば属性「出現」の座標はNPCの出現座標となる。属性「中継」の座標はNPCが行動を実行する実行座標となる。属性「撤退」の座標はNPCの消滅座標となる。
【0034】
また、使用可能ユニット種別は、行動を割り当てることができるNPCの種別(ユニット種別)を表している。例えば使用可能ユニット種別「兵士」は、種別が兵士のNPCに行動を割り当てることができることを示す。なお、使用可能ユニット種別には、複数のNPCの種別を設定することもできる。例えば使用可能ユニット種別「兵士、市民」は、行動を割り当てることができるNPCの種別が兵士及び市民であることを示している。
【0035】
図7はNPCテーブル33について説明する一例の図である。本実施形態のゲームシステム10はゲーム内で発生させる行動に割り当てるNPCを選択するため、
図7のNPCテーブル33を利用する。
【0036】
図7のNPCテーブル33は項目として、ユニットID、ユニット種別、エリア、現在座標、及び使用行動IDを有する。ユニットIDは、NPCを一意に識別するための識別情報の一例である。ユニット種別は、兵士、憲兵、市民などのNPCの種別を表している。エリアは、そのNPCが行動を実行できるゲーム内のエリアを示している。
【0037】
現在座標は、そのNPCが存在するゲーム内のエリアの座標を表している。使用行動IDは、そのNPCに割り当てられている行動の行動IDを示している。使用行動IDが設定されているNPCは、行動によって使用中のNPCである。また、使用行動IDが設定されていないNPCは、行動によって使用されていないNPCである。
【0038】
さらに、現在座標が設定されていないNPCは、ゲーム内のエリアに出現していない未配置のNPCを示している。なお、現在座標が設定されておらず、且つ、使用行動IDが設定されている
図7のユニットID「u001」のレコードは、行動ID「i001」の行動によりゲーム内のエリアにNPCが出現する前の状態を示している。
【0039】
図8は使用登録テーブル34について説明する一例の図である。本実施形態のゲームシステム10はゲーム内で発生させるNPCの行動に、その行動を実行させるNPCを割り当てるため、
図8の使用登録テーブル34を利用する。
図8の使用登録テーブル34は項目として、行動ID、ユニットID、目標座標、属性、及びパスを有する。
【0040】
行動IDは、NPCの行動を一意に識別するための識別情報の一例である。ユニットIDは、行動IDで識別される行動に割り当てられたNPCを一意に識別するための識別情報の一例である。目標座標は、行動IDで識別される行動の目標として設定されるゲーム内のエリアの座標を表している。属性は、行動IDで識別される行動の種別を示している。
【0041】
パスは、目標までのパス検索の結果がパス情報として設定されている。NPCはパスに設定されたパス情報に従って目標までゲーム内のエリアを移動する。目標まで移動したNPCの目標座標は行動が終了したことを示すためにクリアされる。
図8の使用登録テーブル34は、行動が終了したレコードのユニットID、目標座標、属性、及びパスがクリアされることで、終了した行動に割り当てられていたNPCを開放する。また、
図7のNPCテーブル33はレコードの使用行動IDがクリアされることで、終了した行動に割り当てられていたNPCを開放する。
【0042】
[ゲーム動作]
次に、クライアント20でプレイヤによりプレイされるゲームのNPCの行動に関する処理について
図9~
図12を参照しながら説明する。
図9は、一実施形態に係るゲームシステム10のNPCの行動に関する処理の一例のフローチャートである。ゲームシステム10では、
図9のフローチャートの処理により、プレイヤキャラクタが移動するゲーム内のエリアにおいてNPCを行動させることで、賑やかさを演出する。
【0043】
クライアント20のNPC制御部35はプレイヤキャラクタが存在するゲーム内のエリアのNPC(以下、ユニットと呼ぶ)のヒートマップを作成する(S10)。ユニットのヒートマップは、ゲーム内のエリアにおいてユニットが多い場所や少ない場所を調べるために利用される。
【0044】
クライアント20のNPC制御部35はユニットを割り当てている行動を監視し、
図8の使用登録テーブル34の更新を行う(S12)。例えばNPC制御部35は、ユニットが障害物で目標に移動できなくなっているなど、上手くいっていない行動があれば、新しい目標を設定するなどの処理を行う。また、NPC制御部35は、ユニットが目標に移動済みであるなど、完了している行動があれば、目標をクリアするなどの処理を行う。
【0045】
クライアント20のNPC制御部35は、実行中の行動、実行されていない行動、行動により使用中のユニット、行動により使用されていないユニットを区別するため、
図8の使用登録テーブル34のチェックを行う(S14)。例えばNPC制御部35は、終了した行動に割り当てられていたユニットを開放することで、その行動が実行されていない行動と判定されると共に、その行動に割り当てられていたユニットが、行動により使用されていないユニットと判定されるようにする。
【0046】
クライアント20のNPC制御部35は、
図6の行動テーブル32に基づき、ゲーム内に発生させることが可能な行動を選択して、ユニットを割り当て、行動をユニットに実行させる行動更新処理を行う(S16)。
図9のフローチャートの処理を繰り返し行うことにより、
図6の行動テーブル32に設定された行動を実行するユニットをゲーム内のエリアに表示して、賑やかさを演出できる。
【0047】
ステップS16の行動更新処理は、
図10のフローチャートの手順で実行される。
図10はステップS16の行動更新処理の一例のフローチャートである。NPC制御部35の行動選択部41は、
図6の行動テーブル32に基づき、後述のようにゲーム内に発生させることが可能な行動を選択する行動発生可能チェック処理を行う(S20)。
【0048】
ステップS20の行動発生可能チェック処理によりゲーム内に発生させることが可能な行動が選択されると(S22においてYES)、NPC制御部35の候補選択部42は後述の行動実行候補のNPC選択処理を行う(S24)。ステップS24の行動実行候補のNPC選択処理では、ステップS20で選択された行動に割り当てる候補のユニットを選択する。なお、ステップS20の行動発生可能チェック処理によりゲーム内に発生させることが可能な行動が選択されなければ(S22においてNO)、NPC制御部35の候補選択部42はステップS24の処理をスキップする。
【0049】
また、NPC制御部35の行動実行部43はステップS20で行動選択部41が選択した行動に、ステップS24で候補選択部42が選択した候補のユニットを割り当てるように
図7のNPCテーブル33及び
図8の使用登録テーブル34を更新する。そして、行動実行部43は
図8の使用登録テーブル34に基づき、ユニットが割り当てられている行動を実行する行動実行処理を行う(S26)。
【0050】
図10のフローチャートの処理を行うことにより、ゲーム内に発生させることが可能となった行動を選択して、その行動にユニットを割り当て、ユニットに行動を実行させることができる。
【0051】
ステップS20の行動発生可能チェック処理は、
図11のフローチャートの手順で実行される。
図11はステップS20の行動発生可能チェック処理の一例のフローチャートである。行動選択部41は、
図6の行動テーブル32から1レコード読み出す(S30)。
【0052】
読み出したレコードの同時利用ユニット数以上のユニットが、そのレコードの行動に割り当てられていなければ(S32においてNO)、行動選択部41は読み出したレコードのインターバル時間を参照し、インターバル時間中であるか判定する(S34)。
【0053】
行動選択部41はインターバル時間中の行動を発生させないように制御する。行動選択部41はインターバル時間中でなければ(S34においてNO)、ステップS30で読み出したレコードに対応する行動を、発生可能な行動と判定する(S36)。
【0054】
行動選択部41はステップS30で全てのレコードを読み出していれば(S38においてYES)、
図11のフローチャートの処理を終了する。行動選択部41はステップS30で読み出していないレコードが残っていれば(S38においてNO)、ステップS30に戻り、処理を続ける。
【0055】
なお、読み出したレコードの同時利用ユニット数以上のユニットが、そのレコードの行動に割り当てられていれば(S32においてYES)、行動選択部41はステップS30に戻り、処理を続ける。インターバル時間中である場合も(S34においてYES)、行動選択部41はステップS30に戻り、処理を続ける。
【0056】
図11のフローチャートの処理を行うことにより、ゲーム内に発生させることが可能な行動を、同時利用可能ユニット数及びインターバル時間を考慮して選択できる。同時利用可能ユニット数が考慮されることで、同じ行動を行うユニットが不自然に多く表示されることを防ぐことができる。また、インターバル時間が考慮されることで、同じ行動を連続で行うユニットが表示されることを防ぐことができる。
【0057】
ステップS24の行動実行候補のNPC選択処理は、例えば
図12のフローチャートの手順で実行される。
図12は、ステップS24の行動実行候補のNPC選択処理の一例のフローチャートである。候補選択部42は、
図7のNPCテーブル33から1レコード読み出す(S40)。
【0058】
候補選択部42は、読み出したレコードのユニットが、行動実行候補として利用可能であるか否かを判定する(S42)。例えば候補選択部42は、読み出したレコードの使用行動IDに行動IDが設定されていなければ、他の行動により使用されていないユニットであるため、行動実行候補として利用可能であると判定する。読み出したレコードの使用行動IDに行動IDが設定されていれば、他の行動により使用中のユニットであるため、候補選択部42は行動実行候補として利用可能でないと判定する。
【0059】
さらに、例えば候補選択部42は、他の行動により使用中のユニットであるか否かの判定に加えて、読み出したレコードのユニット種別がステップS30で読み出したレコードの利用可能ユニット種別に含まれているか否かによる判定を行うようにしてもよい。この場合は、他の行動により使用されていないユニットであり、且つ、読み出したレコードのユニット種別がステップS30で読み出したレコードの利用可能ユニット種別に含まれていれば、行動実行候補として利用可能であると判定する。
【0060】
行動実行候補として利用可能でなければ(S42においてNO)、候補選択部42はステップS40に戻り、処理を続ける。行動実行候補として利用可能であれば(S42においてYES)、候補選択部42はステップS40で読み出したレコードのユニットを行動実行候補として選択する(S44)。
【0061】
以上、本実施形態によれば、NPCが不自然に行動しないように設定された行動テーブル32を利用し、発生させる行動が選択された後で、その行動に割り当てるNPCを選択するため、NPCを自然に行動させる新たな仕組みを提供できる。
【0062】
開示した一実施形態のゲームシステム10、クライアント20及びサーバ30は例示であって制限的なものではないと考えられるべきである。上記の実施形態は添付の請求の範囲及びその主旨を逸脱することなく、様々な形態で変形及び改良が可能である。また、上記した複数の実施形態に記載された事項は、矛盾しない範囲で他の構成も取り得ることができ、また、矛盾しない範囲で組み合わせることができる。
【符号の説明】
【0063】
10 ゲームシステム
20 クライアント
21 記憶部
22 制御部
23 操作部
24 表示部
25 端末側通信部
30 サーバ
31 ゲームプログラム
32 行動テーブル
33 NPCテーブル
34 使用登録テーブル
35 NPC制御部
36 ゲーム制御部
40 ネットワーク
41 行動選択部
42 候補選択部
43 行動実行部
51 記憶部
52 サーバ制御部
53 サーバ側通信部
61 ゲームプログラム
62 サーバプログラム
63 行動テーブル
64 NPCテーブル