(57)【要約】【課題】仮想空間でノンプレイヤキャラクタを自然に行動させる新たな仕組みを提供する。【解決手段】仮想空間にノンプレイヤキャラクタを表示させ、ノンプレイヤキャラクタの行動を制御する情報処理装置であって、行動の発生条件に基づき、仮想空間に発生させることが可能な行動を選択する行動選択部と、選択した行動を実行させることが可能な少なくとも一つのノンプレイヤキャラクタを選択する候補選択部と、選択した行動に、選択したノンプレイヤキャラクタを割り当て、選択した行動を実行させる行動実行部と、を有する情報処理装置が提供される。【選択図】図６
2020137819.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間にノンプレイヤキャラクタを表示させ、前記ノンプレイヤキャラクタの行動を制御する情報処理装置であって、
前記行動の発生条件に基づき、前記仮想空間に発生させることが可能な前記行動を選択する行動選択部と、
選択した前記行動を実行させることが可能な少なくとも一つの前記ノンプレイヤキャラクタを選択する候補選択部と、
選択した前記行動に、選択した前記ノンプレイヤキャラクタを割り当て、選択した前記行動を実行させる行動実行部と、
を有する情報処理装置。
【請求項２】
前記行動と、前記行動を発生させることが可能となる前記行動の発生条件とが対応付けられた行動テーブルを記憶する記憶部、を更に有し、
前記行動選択部は、前記行動テーブルに基づき、前記仮想空間に発生させることが可能な前記行動を選択すること
を特徴とする請求項１記載の情報処理装置。
【請求項３】
前記行動の発生条件は、前記行動を発生させる前記仮想空間の座標、前記行動を前記仮想空間に発生させるインターバル時間、及び前記行動を同時に割り当て可能な上限キャラクタ数の少なくとも一つが設定されていること
を特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記行動の発生条件は、更に、前記行動の発生に必要な必要キャラクタ数が設定されており、
前記行動実行部は、前記候補選択部が選択した前記ノンプレイヤキャラクタの数が前記行動の発生に必要な必要キャラクタ数に達していれば、選択した前記行動に、選択した前記ノンプレイヤキャラクタを割り当て、選択した前記行動を実行させること
を特徴とする請求項３記載の情報処理装置。
【請求項５】
前記候補選択部は、他の前記行動に割り当てられていない前記ノンプレイヤキャラクタを、選択した前記行動を実行させることが可能な前記ノンプレイヤキャラクタとして選択すること
を特徴とする請求項１乃至４何れか一項記載の情報処理装置。
【請求項６】
仮想空間にノンプレイヤキャラクタを表示させ、前記ノンプレイヤキャラクタの行動を制御する情報処理装置が、
前記行動の発生条件に基づき、前記仮想空間に発生させることが可能な前記行動を選択する行動選択ステップと、
選択した前記行動を実行させることが可能な少なくとも一つの前記ノンプレイヤキャラクタを選択する候補選択ステップと、
選択した前記行動に、選択した前記ノンプレイヤキャラクタを割り当て、選択した前記行動を実行させる行動実行ステップと、
を実行する情報処理方法。
【請求項７】
仮想空間にノンプレイヤキャラクタを表示させ、前記ノンプレイヤキャラクタの行動を制御する情報処理装置を、
前記行動の発生条件に基づき、前記仮想空間に発生させることが可能な前記行動を選択する行動選択部、
選択した前記行動を実行させることが可能な少なくとも一つの前記ノンプレイヤキャラクタを選択する候補選択部、
選択した前記行動に、選択した前記ノンプレイヤキャラクタを割り当て、選択した前記行動を実行させる行動実行部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来から、ノンプレイヤキャラクタ（以下、ＮＰＣと呼ぶ）がゲーム内において、街中で商売する、寝ている、走っている、会話している、掃除しているなど、自由に行動するゲームが知られている。
【０００３】
例えば仮想空間に表示された複数のＮＰＣを動作させるビデオゲームにおいて、複数のＮＰＣに個別の行動を時系列に設定するビデオゲーム装置が知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３２５９８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来は、ＮＰＣごとに行動を設定したり、行動のパターンを作成してランダムにＮＰＣを行動させたり、する方法が、ゲーム内においてＮＰＣを自由に行動させる方法の主流であった。
【０００６】
しかしながら、行動のパターンを作成してランダムにＮＰＣを行動させる方法は、ＮＰＣが同じ行動を連続で行ったり、近くにいるＮＰＣが同じ行動を行ったり、不自然になる場合があるという問題があった。なお、ＮＰＣごとに行動を設定する方法は、設定しなければならない情報の量が多くなるという問題があった。
【０００７】
本開示は、仮想空間でノンプレイヤキャラクタを自然に行動させる新たな仕組みを提供することを課題とする。
【課題を解決するための手段】
【０００８】
本開示の一の態様によれば、仮想空間にノンプレイヤキャラクタを表示させ、前記ノンプレイヤキャラクタの行動を制御する情報処理装置であって、前記行動の発生条件に基づき、前記仮想空間に発生させることが可能な前記行動を選択する行動選択部と、選択した前記行動を実行させることが可能な少なくとも一つの前記ノンプレイヤキャラクタを選択する候補選択部と、選択した前記行動に、選択した前記ノンプレイヤキャラクタを割り当て、選択した前記行動を実行させる行動実行部と、を有する情報処理装置が提供される。
【発明の効果】
【０００９】
一の側面によれば、仮想空間でノンプレイヤキャラクタを自然に行動させる新たな仕組みを提供できる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係るゲームシステムの一例を示す図である。
【図２】一実施形態に係るクライアントのハードウェア構成の一例を示す図である。
【図３】一実施形態に係るサーバのハードウェア構成の一例を示す図である。
【図４】一実施形態に係るクライアントの機能構成の一例を示す図である。
【図５】一実施形態に係るサーバの機能構成の一例を示す図である。
【図６】行動テーブルについて説明する一例の図である。
【図７】ＮＰＣテーブルについて説明する一例の図である。
【図８】使用登録テーブルについて説明する一例の図である。
【図９】一実施形態に係るゲームシステムのＮＰＣの行動に関する処理の一例のフローチャートである。
【図１０】ステップＳ１６の行動更新処理の一例のフローチャートである。
【図１１】ステップＳ２０の行動発生可能チェック処理の一例のフローチャートである。
【図１２】ステップＳ２４の行動実行候補のＮＰＣ選択処理の一例のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本開示を実施するための形態について図面を参照して説明する。なお、本実施形態ではゲーム内において表示されるＮＰＣ（ノンプレイヤキャラクタ）の例について説明するが、ゲームのＮＰＣに限定するものではなく、ゲーム以外の仮想空間において表示されるＮＰＣであってもよい。
【００１２】
［ゲームシステム］
まず、一実施形態に係るゲームシステム１０について、図１を参照して説明する。一実施形態に係るゲームシステム１０は、クライアント２０とサーバ３０とがネットワーク４０を介して通信可能に接続された構成である。
【００１３】
クライアント２０はプレイヤがゲームをプレイする情報処理装置の一例である。情報処理装置はスマートフォンなどの携帯電話機、携帯ゲーム機、パーソナルコンピュータ、タブレット端末、家庭用ゲーム装置、業務用ゲーム装置等である。クライアント２０はプレイヤからの操作をタッチパネル、コントローラ、マウス、キーボード等で受け付け、プレイヤにゲームをプレイさせる。なお、クライアント２０の個数は３つに限定されるものではなく、３つ以外であってもよい。
【００１４】
サーバ３０はクライアント２０との間でデータを送受信することで、ゲームに必要な機能をクライアント２０に提供する情報処理装置の一例である。サーバ３０はクラウドコンピュータにより実現してもよい。なお、図１に示したサーバ３０の個数は、１つに限定されるものではなく、２つ以上で分散処理してもよい。
【００１５】
例えばサーバ３０はクライアント２０へのゲームプログラム（アプリケーション）などのダウンロード処理やプレイヤのログイン処理、プレイヤ情報やゲームスコアの管理などに利用される。
【００１６】
図２は、クライアント２０のハードウェア構成の一例を示す図である。クライアント２０は、ＣＰＵ（Central Processing Unit）１２１、記憶装置１２２、通信装置１２３、入力装置１２４及び表示装置１２５を有する。ＣＰＵ１２１は、クライアント２０を制御する。記憶装置１２２は、例えばＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などのメモリ、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などのストレージである。
【００１７】
通信装置１２３は、通信を制御するネットワーク回路などの通信デバイスである。入力装置１２４は、タッチパッド、コントローラ、マウス、キーボード、カメラ、マイクなどの入力デバイスである。また、表示装置１２５はディスプレイ、スピーカなどの出力デバイスである。タッチパネルはタッチパッドとディスプレイとを組み合わせることで実現される。
【００１８】
図３は、サーバ３０のハードウェア構成の一例を示す図である。サーバ３０は、ＣＰＵ１３１、記憶装置１３２及び通信装置１３３を有する。ＣＰＵ１３１は、サーバ３０を制御する。記憶装置１３２は、例えばＲＯＭやＲＡＭなどのメモリ、ＨＤＤやＳＳＤなどのストレージである。通信装置１３３は、通信を制御するネットワークカードなどの通信デバイスである。
【００１９】
図４はクライアント２０の機能構成の一例を示す図である。クライアント２０は、記憶部２１、制御部２２、操作部２３、表示部２４及び端末側通信部２５を有する。記憶部２１は、ゲームプログラム３１などのプログラム、そのプログラムが利用するデータ、後述する行動テーブル３２、ＮＰＣテーブル３３、及び使用登録テーブル３４などを記憶している。なお、記憶部２１は、記憶装置１２２により実現されてもよいし、ネットワーク４０を介して接続された記憶装置により実現されてもよい。
【００２０】
図４に戻り、制御部２２はクライアント２０の全体の制御を行う。制御部２２はＣＰＵ１２１がゲームプログラム３１に記載された処理を実行することにより実現される。制御部２２は、ＮＰＣ制御部３５、及びゲーム制御部３６を有する。ＮＰＣ制御部３５はＮＰＣに関する制御を行う。ゲーム制御部３６はプレイヤキャラクタに関する制御とプレイヤがプレイするゲーム全般に関する制御を行う。ＮＰＣ制御部３５は、行動選択部４１、候補選択部４２、及び行動実行部４３を有する。
【００２１】
行動選択部４１は、後述する行動テーブル３２に基づき、ゲーム内に発生させることが可能なＮＰＣの行動（以下、単に行動と呼ぶ）を選択する。候補選択部４２は、行動選択部４１により選択された行動に割り当てる候補のＮＰＣを選択する。また、行動実行部４３は行動選択部４１が選択した行動に、候補選択部４２が選択した候補のＮＰＣを割り当て、選択した行動を実行させる。
【００２２】
操作部２３は入力装置１２４に対するプレイヤの各種操作を受け付ける。表示部２４は表示装置１２５にゲーム画像を表示する。なお、操作部２３はＣＰＵ１２１が入力装置１２４を制御することで実現される。また、表示部２４は、ＣＰＵ１２１が表示装置１２５を制御することで実現される。
【００２３】
ここで入力装置１２４に対するプレイヤの各種操作とは、ＣＰＵ１２１に処理を実行させるため、プレイヤが操作部２３を操る操作をいう。操作部２３はゲームをプレイするプレイヤから各種操作を受け付ける。制御部２２はプレイヤから受け付けた各種操作に基づき、ゲームを進行させる。表示部２４は制御部２２が生成したゲーム画像を表示する。端末側通信部２５は、サーバ３０と通信する。端末側通信部２５はＣＰＵ１２１がゲームプログラム３１を実行し、ゲームプログラム３１に従って通信装置１２３を制御することで実現される。
【００２４】
図５は、サーバ３０の機能構成の一例を示す図である。図５のサーバ３０は、記憶部５１、サーバ制御部５２及びサーバ側通信部５３を有する。記憶部５１は、ゲームプログラム６１、サーバプログラム６２などのプログラム、そのプログラムが利用するデータ、後述する行動テーブル６３、及びＮＰＣテーブル６４などを記憶している。記憶部５１は記憶装置１３２により実現されてもよいし、ネットワーク４０を介して接続された記憶装置により実現されてもよい。
【００２５】
図５に戻り、サーバ制御部５２は、サーバ３０の全体の制御を行う。サーバ制御部５２は、ＣＰＵ１３１がサーバプログラム６２に記載された処理を実行することにより実現される。
【００２６】
例えば、サーバ制御部５２は記憶部５１に記憶されているゲームプログラム６１、そのゲームプログラム６１が利用するデータや後述する行動テーブル６３、及びＮＰＣテーブル６４をクライアント２０へダウンロードさせるダウンロード処理を行う。
【００２７】
また、サーバ側通信部５３はクライアント２０と通信する。サーバ側通信部５３は、ＣＰＵ１３１がサーバプログラム６２を実行し、サーバプログラム６２に従って通信装置１３３を制御することで実現される。
【００２８】
クライアント２０の行動テーブル３２及びサーバ３０の行動テーブル６３は、ゲーム内でＮＰＣに実行させる行動が設定されている。また、クライアント２０のＮＰＣテーブル３３及びサーバ３０のＮＰＣテーブル６４は、ゲーム内で行動を実行させるＮＰＣが設定されている。クライアント２０の使用登録テーブル３４は、行動が割り当てられたＮＰＣ（行動によって使用中のＮＰＣ）が登録されている。ここでは、クライアント２０の行動テーブル３２、ＮＰＣテーブル３３、及び使用登録テーブル３４を一例として説明する。
【００２９】
図６は行動テーブル３２について説明する一例の図である。本実施形態のゲームシステム１０では、ゲーム内でＮＰＣに実行させる行動を選択するため、図６の行動テーブル３２を利用する。
【００３０】
図６の行動テーブル３２は項目として、行動ＩＤ、行動名、属性、エリア、インターバル時間、同時利用可能ユニット数、必須ユニット数、座標、及び使用可能ユニット種別を有する。行動ＩＤは、ＮＰＣの行動を一意に識別するための識別情報の一例である。行動名は、ＮＰＣの行動の名称である。
【００３１】
属性は、ＮＰＣの行動の種別（出現、中継、又は撤退）を示している。属性「出現」はゲーム内のエリアに未配置のＮＰＣがエリアに出現する行動を示している。属性「中継」はゲーム内のエリアに配置済みのＮＰＣが実行する行動を示している。属性「撤退」はエリアに配置済みのＮＰＣがエリアから消滅する行動を示している。
【００３２】
エリアは、行動を発生させるゲーム内のエリアを示している。インターバル時間は、行動の発生頻度を制御する情報である。インターバル時間を長く設定された行動は発生が抑制される。また、インターバル時間を短く設定された行動は発生が促進される。
【００３３】
また、同時利用可能ユニット数は、行動を同時に割り当てることができるＮＰＣ数（ユニット数）を表している。必須ユニット数は、行動を実行するために必要なユニット数を表している。座標は、行動の目標として設定されるゲーム内のエリアの座標を表している。例えば属性「出現」の座標はＮＰＣの出現座標となる。属性「中継」の座標はＮＰＣが行動を実行する実行座標となる。属性「撤退」の座標はＮＰＣの消滅座標となる。
【００３４】
また、使用可能ユニット種別は、行動を割り当てることができるＮＰＣの種別（ユニット種別）を表している。例えば使用可能ユニット種別「兵士」は、種別が兵士のＮＰＣに行動を割り当てることができることを示す。なお、使用可能ユニット種別には、複数のＮＰＣの種別を設定することもできる。例えば使用可能ユニット種別「兵士、市民」は、行動を割り当てることができるＮＰＣの種別が兵士及び市民であることを示している。
【００３５】
図７はＮＰＣテーブル３３について説明する一例の図である。本実施形態のゲームシステム１０はゲーム内で発生させる行動に割り当てるＮＰＣを選択するため、図７のＮＰＣテーブル３３を利用する。
【００３６】
図７のＮＰＣテーブル３３は項目として、ユニットＩＤ、ユニット種別、エリア、現在座標、及び使用行動ＩＤを有する。ユニットＩＤは、ＮＰＣを一意に識別するための識別情報の一例である。ユニット種別は、兵士、憲兵、市民などのＮＰＣの種別を表している。エリアは、そのＮＰＣが行動を実行できるゲーム内のエリアを示している。
【００３７】
現在座標は、そのＮＰＣが存在するゲーム内のエリアの座標を表している。使用行動ＩＤは、そのＮＰＣに割り当てられている行動の行動ＩＤを示している。使用行動ＩＤが設定されているＮＰＣは、行動によって使用中のＮＰＣである。また、使用行動ＩＤが設定されていないＮＰＣは、行動によって使用されていないＮＰＣである。
【００３８】
さらに、現在座標が設定されていないＮＰＣは、ゲーム内のエリアに出現していない未配置のＮＰＣを示している。なお、現在座標が設定されておらず、且つ、使用行動ＩＤが設定されている図７のユニットＩＤ「ｕ００１」のレコードは、行動ＩＤ「ｉ００１」の行動によりゲーム内のエリアにＮＰＣが出現する前の状態を示している。
【００３９】
図８は使用登録テーブル３４について説明する一例の図である。本実施形態のゲームシステム１０はゲーム内で発生させるＮＰＣの行動に、その行動を実行させるＮＰＣを割り当てるため、図８の使用登録テーブル３４を利用する。図８の使用登録テーブル３４は項目として、行動ＩＤ、ユニットＩＤ、目標座標、属性、及びパスを有する。
【００４０】
行動ＩＤは、ＮＰＣの行動を一意に識別するための識別情報の一例である。ユニットＩＤは、行動ＩＤで識別される行動に割り当てられたＮＰＣを一意に識別するための識別情報の一例である。目標座標は、行動ＩＤで識別される行動の目標として設定されるゲーム内のエリアの座標を表している。属性は、行動ＩＤで識別される行動の種別を示している。
【００４１】
パスは、目標までのパス検索の結果がパス情報として設定されている。ＮＰＣはパスに設定されたパス情報に従って目標までゲーム内のエリアを移動する。目標まで移動したＮＰＣの目標座標は行動が終了したことを示すためにクリアされる。図８の使用登録テーブル３４は、行動が終了したレコードのユニットＩＤ、目標座標、属性、及びパスがクリアされることで、終了した行動に割り当てられていたＮＰＣを開放する。また、図７のＮＰＣテーブル３３はレコードの使用行動ＩＤがクリアされることで、終了した行動に割り当てられていたＮＰＣを開放する。
【００４２】
[ゲーム動作]
次に、クライアント２０でプレイヤによりプレイされるゲームのＮＰＣの行動に関する処理について図９〜図１２を参照しながら説明する。図９は、一実施形態に係るゲームシステム１０のＮＰＣの行動に関する処理の一例のフローチャートである。ゲームシステム１０では、図９のフローチャートの処理により、プレイヤキャラクタが移動するゲーム内のエリアにおいてＮＰＣを行動させることで、賑やかさを演出する。
【００４３】
クライアント２０のＮＰＣ制御部３５はプレイヤキャラクタが存在するゲーム内のエリアのＮＰＣ（以下、ユニットと呼ぶ）のヒートマップを作成する（Ｓ１０）。ユニットのヒートマップは、ゲーム内のエリアにおいてユニットが多い場所や少ない場所を調べるために利用される。
【００４４】
クライアント２０のＮＰＣ制御部３５はユニットを割り当てている行動を監視し、図８の使用登録テーブル３４の更新を行う（Ｓ１２）。例えばＮＰＣ制御部３５は、ユニットが障害物で目標に移動できなくなっているなど、上手くいっていない行動があれば、新しい目標を設定するなどの処理を行う。また、ＮＰＣ制御部３５は、ユニットが目標に移動済みであるなど、完了している行動があれば、目標をクリアするなどの処理を行う。
【００４５】
クライアント２０のＮＰＣ制御部３５は、実行中の行動、実行されていない行動、行動により使用中のユニット、行動により使用されていないユニットを区別するため、図８の使用登録テーブル３４のチェックを行う（Ｓ１４）。例えばＮＰＣ制御部３５は、終了した行動に割り当てられていたユニットを開放することで、その行動が実行されていない行動と判定されると共に、その行動に割り当てられていたユニットが、行動により使用されていないユニットと判定されるようにする。
【００４６】
クライアント２０のＮＰＣ制御部３５は、図６の行動テーブル３２に基づき、ゲーム内に発生させることが可能な行動を選択して、ユニットを割り当て、行動をユニットに実行させる行動更新処理を行う（Ｓ１６）。図９のフローチャートの処理を繰り返し行うことにより、図６の行動テーブル３２に設定された行動を実行するユニットをゲーム内のエリアに表示して、賑やかさを演出できる。
【００４７】
ステップＳ１６の行動更新処理は、図１０のフローチャートの手順で実行される。図１０はステップＳ１６の行動更新処理の一例のフローチャートである。ＮＰＣ制御部３５の行動選択部４１は、図６の行動テーブル３２に基づき、後述のようにゲーム内に発生させることが可能な行動を選択する行動発生可能チェック処理を行う（Ｓ２０）。
【００４８】
ステップＳ２０の行動発生可能チェック処理によりゲーム内に発生させることが可能な行動が選択されると（Ｓ２２においてＹＥＳ）、ＮＰＣ制御部３５の候補選択部４２は後述の行動実行候補のＮＰＣ選択処理を行う（Ｓ２４）。ステップＳ２４の行動実行候補のＮＰＣ選択処理では、ステップＳ２０で選択された行動に割り当てる候補のユニットを選択する。なお、ステップＳ２０の行動発生可能チェック処理によりゲーム内に発生させることが可能な行動が選択されなければ（Ｓ２２においてＮＯ）、ＮＰＣ制御部３５の候補選択部４２はステップＳ２４の処理をスキップする。
【００４９】
また、ＮＰＣ制御部３５の行動実行部４３はステップＳ２０で行動選択部４１が選択した行動に、ステップＳ２４で候補選択部４２が選択した候補のユニットを割り当てるように図７のＮＰＣテーブル３３及び図８の使用登録テーブル３４を更新する。そして、行動実行部４３は図８の使用登録テーブル３４に基づき、ユニットが割り当てられている行動を実行する行動実行処理を行う（Ｓ２６）。
【００５０】
図１０のフローチャートの処理を行うことにより、ゲーム内に発生させることが可能となった行動を選択して、その行動にユニットを割り当て、ユニットに行動を実行させることができる。
【００５１】
ステップＳ２０の行動発生可能チェック処理は、図１１のフローチャートの手順で実行される。図１１はステップＳ２０の行動発生可能チェック処理の一例のフローチャートである。行動選択部４１は、図６の行動テーブル３２から１レコード読み出す（Ｓ３０）。
【００５２】
読み出したレコードの同時利用ユニット数以上のユニットが、そのレコードの行動に割り当てられていなければ（Ｓ３２においてＮＯ）、行動選択部４１は読み出したレコードのインターバル時間を参照し、インターバル時間中であるか判定する（Ｓ３４）。
【００５３】
行動選択部４１はインターバル時間中の行動を発生させないように制御する。行動選択部４１はインターバル時間中でなければ（Ｓ３４においてＮＯ）、ステップＳ３０で読み出したレコードに対応する行動を、発生可能な行動と判定する（Ｓ３６）。
【００５４】
行動選択部４１はステップＳ３０で全てのレコードを読み出していれば（Ｓ３８においてＹＥＳ）、図１１のフローチャートの処理を終了する。行動選択部４１はステップＳ３０で読み出していないレコードが残っていれば（Ｓ３８においてＮＯ）、ステップＳ３０に戻り、処理を続ける。
【００５５】
なお、読み出したレコードの同時利用ユニット数以上のユニットが、そのレコードの行動に割り当てられていれば（Ｓ３２においてＹＥＳ）、行動選択部４１はステップＳ３０に戻り、処理を続ける。インターバル時間中である場合も（Ｓ３４においてＹＥＳ）、行動選択部４１はステップＳ３０に戻り、処理を続ける。
【００５６】
図１１のフローチャートの処理を行うことにより、ゲーム内に発生させることが可能な行動を、同時利用可能ユニット数及びインターバル時間を考慮して選択できる。同時利用可能ユニット数が考慮されることで、同じ行動を行うユニットが不自然に多く表示されることを防ぐことができる。また、インターバル時間が考慮されることで、同じ行動を連続で行うユニットが表示されることを防ぐことができる。
【００５７】
ステップＳ２４の行動実行候補のＮＰＣ選択処理は、例えば図１２のフローチャートの手順で実行される。図１２は、ステップＳ２４の行動実行候補のＮＰＣ選択処理の一例のフローチャートである。候補選択部４２は、図７のＮＰＣテーブル３３から１レコード読み出す（Ｓ４０）。
【００５８】
候補選択部４２は、読み出したレコードのユニットが、行動実行候補として利用可能であるか否かを判定する（Ｓ４２）。例えば候補選択部４２は、読み出したレコードの使用行動ＩＤに行動ＩＤが設定されていなければ、他の行動により使用されていないユニットであるため、行動実行候補として利用可能であると判定する。読み出したレコードの使用行動ＩＤに行動ＩＤが設定されていれば、他の行動により使用中のユニットであるため、候補選択部４２は行動実行候補として利用可能でないと判定する。
【００５９】
さらに、例えば候補選択部４２は、他の行動により使用中のユニットであるか否かの判定に加えて、読み出したレコードのユニット種別がステップＳ３０で読み出したレコードの利用可能ユニット種別に含まれているか否かによる判定を行うようにしてもよい。この場合は、他の行動により使用されていないユニットであり、且つ、読み出したレコードのユニット種別がステップＳ３０で読み出したレコードの利用可能ユニット種別に含まれていれば、行動実行候補として利用可能であると判定する。
【００６０】
行動実行候補として利用可能でなければ（Ｓ４２においてＮＯ）、候補選択部４２はステップＳ４０に戻り、処理を続ける。行動実行候補として利用可能であれば（Ｓ４２においてＹＥＳ）、候補選択部４２はステップＳ４０で読み出したレコードのユニットを行動実行候補として選択する（Ｓ４４）。
【００６１】
以上、本実施形態によれば、ＮＰＣが不自然に行動しないように設定された行動テーブル３２を利用し、発生させる行動が選択された後で、その行動に割り当てるＮＰＣを選択するため、ＮＰＣを自然に行動させる新たな仕組みを提供できる。
【００６２】
開示した一実施形態のゲームシステム１０、クライアント２０及びサーバ３０は例示であって制限的なものではないと考えられるべきである。上記の実施形態は添付の請求の範囲及びその主旨を逸脱することなく、様々な形態で変形及び改良が可能である。また、上記した複数の実施形態に記載された事項は、矛盾しない範囲で他の構成も取り得ることができ、また、矛盾しない範囲で組み合わせることができる。
【符号の説明】
【００６３】
１０    ゲームシステム
２０    クライアント
２１    記憶部
２２    制御部
２３    操作部
２４    表示部
２５    端末側通信部
３０    サーバ
３１    ゲームプログラム
３２    行動テーブル
３３    ＮＰＣテーブル
３４    使用登録テーブル
３５    ＮＰＣ制御部
３６    ゲーム制御部
４０    ネットワーク
４１    行動選択部
４２    候補選択部
４３    行動実行部
５１    記憶部
５２    サーバ制御部
５３    サーバ側通信部
６１    ゲームプログラム
６２    サーバプログラム
６３    行動テーブル
６４    ＮＰＣテーブル
【図１】
2020137819.tif 000003
【図２】
2020137819.tif 000004
【図３】
2020137819.tif 000005
【図４】
2020137819.tif 000006
【図５】
2020137819.tif 000007
【図６】
2020137819.tif 000008
【図７】
2020137819.tif 000009
【図８】
2020137819.tif 000010
【図９】
2020137819.tif 000011
【図１０】
2020137819.tif 000012
【図１１】
2020137819.tif 000013
【図１２】
2020137819.tif 000014