(57)【要約】【課題】ゲームに登場させるゲーム媒体に設定するパラメータの最適値を容易に取得可能なプログラム、情報処理装置及び制御方法を提供することを目的とする。【解決手段】本発明の一態様に係るプログラムは、情報処理装置に、ゲーム内に登場させるゲーム媒体にパラメータを設定する設定処理を行う設定ステップと、パラメータが設定されたゲーム媒体と当該ゲームをプレイしているユーザにより設定されたゲーム媒体の情報を含むユーザデータとを用いて所定の対戦ゲームパートに係るシミュレーション処理を実行するシミュレーション実行ステップとを実行させ、シミュレーション処理の実行に基づき取得される評価情報と目標評価情報との差を最小化する最適化問題として、設定処理によりパラメータを変化（調整）させつつシミュレーション処理を繰り返し実行することによりパラメータの最適解を求める。【選択図】図８
2020028709.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に、
ゲーム内に登場させるゲーム媒体にパラメータを設定する設定処理を行う設定ステップと、
前記パラメータが設定された前記ゲーム媒体と前記ゲームをプレイしているユーザにより設定されたゲーム媒体の情報を含むユーザデータとを用いて所定の対戦ゲームパートに係るシミュレーション処理を実行するシミュレーション実行ステップと
を実行させ、
前記シミュレーション処理の実行に基づき取得される評価情報と目標評価情報との差を最小化する最適化問題として、前記設定処理により前記パラメータを変化させつつ前記シミュレーション処理を繰り返し実行することにより前記パラメータの最適解を求めるプログラム。
【請求項２】
ゲーム内に登場させるゲーム媒体にパラメータを設定する設定処理を行う設定処理部と、
前記パラメータが設定された前記ゲーム媒体と前記ゲームをプレイしているユーザにより設定されたゲーム媒体の情報を含むユーザデータとを用いて所定の対戦ゲームパートに係るシミュレーション処理を実行するシミュレーション実行部と
を備え、
前記シミュレーション処理の実行に基づき取得される評価情報と目標評価情報との差を最小化する最適化問題として、前記設定処理により前記パラメータを変化させつつ前記シミュレーション処理を繰り返し実行することにより前記パラメータの最適解を求める情報処理装置。
【請求項３】
情報処理装置により実行される制御方法であって、
ゲーム内に登場させるゲーム媒体にパラメータを設定する設定処理を行う設定ステップと、
前記パラメータが設定された前記ゲーム媒体と前記ゲームをプレイしているユーザにより設定されたゲーム媒体の情報を含むユーザデータとを用いて所定の対戦ゲームパートに係るシミュレーション処理を実行するシミュレーション実行ステップと
を備え、
前記シミュレーション処理の実行に基づき取得される評価情報と目標評価情報との差を最小化する最適化問題として、前記設定処理により前記パラメータを変化させつつ前記シミュレーション処理を繰り返し実行することにより前記パラメータの最適解を求める制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置及び制御方法に関する。
【背景技術】
【０００２】
味方キャラクタと敵キャラクタとを対戦させるゲームシステムが知られている（特許文献１）。特許文献１に記載されたゲームシステムでは、ユーザが、複数の味方キャラクタを選択することにより複数のキャラクタを含むデッキを編成し、編成されたデッキを用いて敵キャラクタや他のユーザのデッキと対戦する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１９５６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、キャラクタ同士を対戦させるゲームにおいては、ゲームバランスを考慮してゲームに登場するキャラクタの強さを適切に調整することが重要である。一般的に、キャラクタの強さは、キャラクタに設定される攻撃力等のパラメータを調整することにより決定される。しかしながら、例えばロールプレイングゲーム等の非常に多くのキャラクタが登場するゲームの場合には、ゲームデザイナーが１つ１つのキャラクタに設定されるパラメータを手動で調整することは困難である。また、オンラインゲームのように、次々に新しいキャラクタを実装するゲームの場合には、既存の多くのキャラクタの強さを考慮して新しいキャラクタに設定されるパラメータを調整する必要がある。
【０００５】
本発明は、上述のような事情に基づいてなされたものであり、ゲームに登場させるゲーム媒体に設定するパラメータの最適値を容易に取得可能なプログラム、情報処理装置及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するためになされた本発明の一態様に係るプログラムは、情報処理装置に、ゲーム内に登場させるゲーム媒体にパラメータを設定する設定処理を行う設定ステップと、前記パラメータが設定された前記ゲーム媒体と前記ゲームをプレイしているユーザにより設定されたゲーム媒体の情報を含むユーザデータとを用いて所定の対戦ゲームパートに係るシミュレーション処理を実行するシミュレーション実行ステップとを実行させ、前記シミュレーション処理の実行に基づき取得される評価情報と目標評価情報との差を最小化する最適化問題として、前記設定処理により前記パラメータを変化させつつ前記シミュレーション処理を繰り返し実行することにより前記パラメータの最適解を求める。
【０００７】
上記課題を解決するためになされた本発明の一態様に係る情報処理装置は、ゲーム内に登場させるゲーム媒体にパラメータを設定する設定処理を行う設定処理部と、前記パラメータが設定された前記ゲーム媒体と前記ゲームをプレイしているユーザにより設定されたゲーム媒体の情報を含むユーザデータとを用いて所定の対戦ゲームパートに係るシミュレーション処理を実行するシミュレーション実行部とを備え、前記シミュレーション処理の実行に基づき取得される評価情報と目標評価情報との差を最小化する最適化問題として、前記設定処理により前記パラメータを変化させつつ前記シミュレーション処理を繰り返し実行することにより前記パラメータの最適解を求める。
【０００８】
上記課題を解決するためになされた本発明の一態様に係る制御方法は、情報処理装置により実行される制御方法であって、ゲーム内に登場させるゲーム媒体にパラメータを設定する設定処理を行う設定ステップと、前記パラメータが設定された前記ゲーム媒体と前記ゲームをプレイしているユーザにより設定されたゲーム媒体の情報を含むユーザデータとを用いて所定の対戦ゲームパートに係るシミュレーション処理を実行するシミュレーション実行ステップとを備え、前記シミュレーション処理の実行に基づき取得される評価情報と目標評価情報との差を最小化する最適化問題として、前記設定処理により前記パラメータを変化させつつ前記シミュレーション処理を繰り返し実行することにより前記パラメータの最適解を求める。
【発明の効果】
【０００９】
本発明の一態様に係るプログラム、情報処理装置又は制御方法は、ゲームに登場させるゲーム媒体に設定するパラメータの最適値を容易に取得できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る情報処理装置（サーバ装置）を含むシステムの全体構成を概略的に示す図である。
【図２】図１のシステムのサーバ装置の機能的構成を示す図である。
【図３】図１のシステムのゲームデータベースに記憶されるユーザの所有するキャラクタのデータの一例を示す図である。
【図４】図３のデータの続きを示す図である。
【図５】図１のシステムのゲームデータベースに記憶されるユーザの所有する装備のデータの一例を示す図である。
【図６】図１のシステムのゲームデータベースに記憶される各ユーザのデッキ設定データの一例を示す図である。
【図７】対戦ゲームパートの一例を示すフローチャートである。
【図８】図２のサーバ装置における最適化処理の一例を示すフローチャートである。
【図９】シミュレーション処理を実行する度に調整されるパラメータの値を記憶したデータの一例を示す図である。
【図１０】サーバ装置と同様の機能を有する情報処理装置を使用したシステムを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図を参照しつつ詳説する。
【００１２】
［システムの概要］
システム１は、図１に示すように、サーバ装置１０と、サーバ装置１０と通信可能に接続されるゲームデータベース３０と、サーバ装置１０と通信可能に接続される開発用端末５０とを含んで構成されている。システム１は、図示しないゲームシステムで実行されるゲームへ新たに登場させるゲーム媒体を設計するためのシステムであり、新規のゲーム媒体に設定するパラメータの最適値を求めることができる。
【００１３】
ここで、ゲーム媒体とは、パラメータを設定可能なゲームオブジェクトを示し、例えば、味方キャラクタ、敵キャラクタ、複数のキャラクタを含むデッキ、武器や防具等のキャラクタ用の装備品、回復用等のアイテム、建物や障害物等の物体、ゲーム空間内に定められる危険地帯等の仮想領域、等のゲーム内に登場する任意のゲーム媒体を含む。また、パラメータとは、ゲーム媒体の性能の大小を規定するためのステータスを示し、例えば、ゲーム媒体がキャラクタの場合は、攻撃力、防御力、スキル威力、スキル発動率等を含み、ゲーム媒体がデッキの場合は、デッキに含まれるキャラクタの組み合わせ等を含み、ゲーム媒体が装備品の場合は、攻撃力、防御力、耐久値等を含み、ゲーム媒体がアイテムの場合は、回復力等を含み、ゲーム媒体が建物や障害物等の物体の場合は、耐久値等を含み、ゲーム媒体が危険地帯等の仮想領域の場合は、時間経過とともに付与されるダメージ等を含む。すなわち、パラメータとは、対戦ゲームにおいて参照されるステータスやゲームの進行に係る難易度を決定する際に定められるステータス等を含む。
【００１４】
対象となるゲームシステムで実行されるゲームは、例えば、装備品を装備したキャラクタ同士を対戦させる所定の対戦ゲームパートを含むゲームであり、このゲームに登場するゲーム媒体（キャラクタ、デッキ及びキャラクタの装備品）にはそれぞれの性能を示すパラメータが設定される。なお、対戦ゲームパートは、複数のキャラクタを含むデッキとゲームに登場する敵キャラクタとを対戦させるものであってもよいし、複数のデッキ同士を対戦させるものであってもよい。
【００１５】
まず、システム１は、ゲーム内に登場させる新規のゲーム媒体に初期パラメータを設定する。新規のゲーム媒体に対する初期パラメータの設定は、後述する開発用端末５０で作成されるマスターデータに基づき行われる。
【００１６】
次に、システム１は、初期パラメータを設定した新規のゲーム媒体と既存のゲーム媒体とを用いて対戦ゲームパートに係るシミュレーション処理を実行する。既存のゲーム媒体の情報は、後述するゲームデータベース３０に記憶されるユーザデータから取得される。ここで、対戦ゲームパートに係るシミュレーション処理とは、模擬的かつ自動的に当該対戦ゲームパートを１又は複数回実行する処理を示し、例えば、対戦ゲームパートにおいてユーザの操作が要求される場合には所定のアルゴリズムにより生成される代替操作情報を用いることによって対戦ゲームパートが実行される。
【００１７】
次に、システム１は、シミュレーション処理の実行に基づき評価情報を取得する。ここで、評価情報とは、パラメータを設定した新規のゲーム媒体の評価に関する情報を示し、例えば、新規のゲーム媒体を特定の既存ゲーム媒体と複数回対戦させて得られる対戦勝率、新規のゲーム媒体が新規のデッキである場合に当該デッキを既存ゲーム媒体により構成される複数のデッキのそれぞれと対戦させて得られる対戦結果、新規のゲーム媒体を複数の既存ゲーム媒体のそれぞれと対戦させて得られる各既存ゲーム媒体から受けるダメージの分散等を含む。
【００１８】
そして、システム１は、評価情報を目的関数とし、新規のゲーム媒体に設定されたパラメータを変数とした最適化問題を解くことより当該パラメータの最適解を求める。すなわち、システム１は、評価情報と予め設定された目標評価情報との差を最小化する最適化問題として、パラメータを調整しつつ設定処理及びシミュレーション処理を交互に繰り返し実行することにより当該パラメータの最適解を求める。
【００１９】
［システムの構成］
サーバ装置１０は、ゲーム媒体に設定するパラメータの最適解を導出する情報処理装置であり、ネットワークＮを介してゲームデータベース３０及び開発用端末５０と接続されている。サーバ装置１０は、図１に示すように、各種演算を実行する制御部１１と、各種プログラムやデータを記憶する記憶部１２と、他の装置とデータの送受信を行う通信部１３とを有している。
【００２０】
ゲームデータベース３０は、図示しないゲームシステムにより実行されるゲームに係るデータを格納する記憶装置であり、当該ゲームをプレイしているユーザの所有する既存のゲーム媒体の情報及び当該ユーザにより設定されるゲーム媒体の情報を含むユーザデータを記憶する。ここで、ユーザにより設定されるゲーム媒体の情報とは、ユーザの所有するゲーム媒体の内、ユーザがゲーム内での役割を設定したゲーム媒体の情報を示し、例えば、キャラクタに設定された装備品の情報、デッキに設定された複数のキャラクタの情報等を含む。ゲームデータベース３０には、ゲームシステムのデータベースからユーザデータを含む必要なデータがコピーされる。また、サーバ装置１０は、最適化処理を実行する際に、このゲームデータベース３０に記憶されているユーザデータを取得する。
【００２１】
開発用端末５０は、開発者であるゲームデザイナーがゲーム媒体を設計するための情報処理装置である。開発用端末５０は、サーバ装置１０において最適化処理が実行される際に、ゲームデザイナーが設計した新規のゲーム媒体の情報と最適化処理に用いられる目標評価情報を含むマスターデータをサーバ装置１０へ送信する。マスターデータには、上述のように、新規のゲーム媒体に初期パラメータを設定するためのデータが含まれる。
〔サーバ装置の機能構成〕
サーバ装置１０は、図２に示すように、ゲームデータベース３０から取得したユーザデータを記憶するユーザデータ記憶部１１０と、開発用端末５０から取得したマスターデータを記憶するマスターデータ記憶部１２０と、新規のゲーム媒体にパラメータを設定する設定処理を行う設定処理部１３０と、新規のゲーム媒体と既存のゲーム媒体とを用いて対戦ゲームパートに係るシミュレーション処理を実行するシミュレーション実行部１４０と、新規のゲーム媒体に設定するパラメータを調整するパラメータ調整部１５０とを備えている。これらの各機能は、記憶部１２に記憶されるプログラムに基づき動作する制御部１１によって実現される。サーバ装置１０は、新規のゲーム媒体に設定するパラメータを調整しつつ、設定処理及びシミュレーション処理を交互に繰り返し実行する最適化処理を行うように構成されている。
【００２２】
ユーザデータ記憶部１１０は、ゲームデータベース３０から取得したユーザデータを記憶部１２に記憶する。ユーザデータには、新規のゲーム媒体の実装対象となるゲームをプレイしているユーザの所有する既存のゲーム媒体の情報及び当該ユーザにより設定される既存のゲーム媒体の情報が含まれる。
【００２３】
マスターデータ記憶部１２０は、開発用端末５０から取得したマスターデータを記憶部１２に記憶する。マスターデータには、新規のゲーム媒体の情報と新規のゲーム媒体に初期パラメータを設定するためのデータと最適化処理に用いられる目標評価情報とが含まれる。
【００２４】
設定処理部１３０は、新規のゲーム媒体にパラメータを設定する設定処理を行う。設定処理部１３０は、最適化処理の実行中に設定処理を複数回実行する。具体的には、設定処理部１３０は、最初の設定処理時に、マスターデータに基づいて新規のゲーム媒体に初期パラメータを設定し、２回目以降の設定処理時に、新規のゲーム媒体に設定されたパラメータを調整されたパラメータに置き換えるように設定処理を行う。
【００２５】
シミュレーション実行部１４０は、設定処理によりパラメータを設定された新規のゲーム媒体とユーザデータにより特定される既存のゲーム媒体とを用いて対戦ゲームパートに係るシミュレーション処理を実行する。シミュレーション処理では、上述のように、対戦ゲームパートが模擬的かつ自動的に１又は複数回実行される。また、シミュレーション実行部１４０は、最適化処理の実行中にシミュレーション処理を複数回実行する。具体的には、シミュレーション実行部１４０は、設定処理部１３０で新規のゲーム媒体にパラメータが設定されるごとにシミュレーション処理を実行する。
【００２６】
パラメータ調整部１５０は、新規のゲーム媒体に設定するパラメータの調整を行う。具体的には、パラメータ調整部１５０は、シミュレーション実行部１４０でシミュレーション処理が実行されるごとにシミュレーション処理の実行結果から目的関数として評価情報を取得し、この評価情報とゲームデザイナーが予め定める目標評価情報との差を最小化する最適化問題の変数として、新規のゲーム媒体に再設定するパラメータ（調整されたパラメータ）を決定する。パラメータの調整に利用するアルゴリズムとしては、公知のアルゴリズムを用いることができるが、シミュレーション処理自体がブラックボックス関数である場合は、勾配法によるアルゴリズムは利用できない。したがって、例えば、ランダムサーチ、グリッドサーチ、遺伝的アルゴリズムによる最適化、ベイズ最適化等のアルゴリズムが最適化するパラメータに応じて選択できる。また、パラメータの調整において、パラメータの探索範囲を限定する等の制約条件を課すことができる。なお、ゲームデザイナーが予め定める目標評価情報を満たすパラメータの最適解が複数存在する可能性があるが、そのうちのどのパラメータが導き出されてもよい。ただし、複数の最適解が存在する場合、なるべく全てのパラメータがパラメータの探索範囲（制約条件）の中央に寄る最適解が選択されると好ましい。また、目標評価情報を満たすパラメータの最適解が得られない場合には、その旨を通知して最適化処理を終了してもよい。
【００２７】
最適化処理においては、シミュレーション処理の実行回数を減らし、短時間でパラメータの最適解を得るために、様々な工夫を加えることができる。例えば、実験計画法等を用いて、前回の探索結果を元に、徐々に探索空間を狭めていくことができる。また例えば、新規のゲーム媒体が、特定の既存のゲーム媒体より強く、他の特定の既存のゲーム媒体より弱いという挟み撃ち問題とすることにより、探索空間を狭めてもよい。また例えば、新規のゲーム媒体に設定するパラメータを線形のパラメータのみとすることにより、局所解を気にせずに探索空間を狭めることができるようにしてもよい。なお、パラメータは、探索を行う前に正規化（０から１の範囲へ変換）されてもよい。
〔ゲームデータベース〕
ここで、ゲームデータベース３０に記憶されるユーザデータに含まれるユーザの所有する既存のゲーム媒体の情報の一例として、ユーザの所有するキャラクタのデータ及び装備品のデータを示す。キャラクタには、図３に示すように、キャラクタを識別するためのキャラクタＩＤやキャラクタの名前を示すキャラクタ名に加えて、ＨＰ（ヒット・ポイント）、ＭＰ（マジック・ポイント）、攻撃力、防御力、魔法による攻撃力を示す魔攻力、対戦における行動順を決定するための敏捷、及びクリティカル攻撃の発生率に影響を与える器用がパラメータとして関連付けられている。これらのパラメータは、新規のキャラクタを追加する際の調整対象となる。また、キャラクタは、装備品を装備することができ、キャラクタには、キャラクタに装着される装備品の装備ＩＤが更に関連付けられている。
【００２８】
またキャラクタには、図４に示すように、対戦中にキャラクタが発動可能な３つのスキル（スキル１、スキル２及びスキル３）、対戦中に所定の条件を満たす場合に発動可能となる必殺技、及び当該キャラクタが他のキャラクタのアシストキャラクタとして設定された場合に対戦開始時に発動可能となるアシストスキルがパラメータとして更に関連付けられている。これらのパラメータも、新規のキャラクタを追加する際の調整対象となる。例えば、スキルが、当該スキルの威力（攻撃力や回復力）、発動率及び持続時間（毒や睡眠等の状態異常の継続時間）の少なくともいずれかにより性能が定まるものであるとすると、キャラクタに設定されるスキルを調整対象とする場合には、威力、発動率及び持続時間の少なくともいずれかの最適解が求められる。なお、キャラクタには、これら以外のパラメータが関連付けられていてもよい。
【００２９】
装備品には、図５に示すように、装備品を識別するための装備ＩＤや装備品の名前を示す装備名に加えて、攻撃力、防御力、魔攻力、装備品が発動可能な効果を示す特性がパラメータとして関連付けられている。これらのパラメータは、新規の装備品を追加する際の調整対象となる。装備品は、キャラクタに装着されると、設定されたパラメータが当該キャラクタの対応するパラメータに加算又は追加されるように構成されている。なお、装備品には、これら以外のパラメータが関連付けられていてもよい。
【００３０】
また、ゲームデータベース３０に記憶されるユーザデータに含まれるユーザにより設定されるゲーム媒体の情報の一例として、各ユーザのデッキ設定データを示す。ユーザには、図６に示すように、ユーザを識別するためのユーザＩＤやユーザにより設定されたデッキを識別するためのデッキＩＤに加えて、パーティーキャラクタとして設定された６つのキャラクタ（１〜６）、アシストキャラクタとして設定された６つのキャラクタ（１〜６）が関連付けられている。つまり、デッキには、これらのキャラクタの組み合わせがパラメータとして関連付けられている。したがって、これらのパラメータは、新規のデッキを追加する際の調整対象となる。なお、アシストキャラクタは、１つのパーティーキャラクタに対して１つずつ対応付け可能であり、設定されたパラメータが当該パーティーキャラクタの対応するパラメータに加算又は追加されるとともに、アシストスキルが発動可能となるように構成されている。また、ユーザには、自動的に対戦を進行させる場合のキャラクタの行動方針を指定する作戦、自動的に対戦を進行させる場合の必殺技の使用方針を指定する必殺技パターンが更に関連付けられている。
【００３１】
［対戦ゲームパート］
対象となるゲームシステムで実行されるゲームの対戦ゲームパートについて説明する。図７は、対戦ゲームパートの一例を示すフローチャートである。この対戦ゲームパートは、２つのデッキ同士を対戦させるものであり、各デッキに設定されたパーティーキャラクタ（６つのキャラクタ）同士を対戦させる。なお、この対戦ゲームパートは、シミュレーション実行部１４０におけるシミュレーション処理で１又は複数回実行される対戦ゲームパートと実質的に同じである。
【００３２】
対戦が開始されると、デッキに設定された６つのアシストキャラクタのいずれか１つが選択され、選択されたアシストキャラクタのアシストスキルが発動する（Ｓ１００）。アシストスキルは各デッキに対応して発動する。以後、対戦はターン制で進行し、全てのキャラクタは、設定された敏捷で決定される行動順に従って行動する。行動順の到来したキャラクタの行動が攻撃である場合（Ｓ１０２Ｙｅｓ）、キャラクタは、設定された攻撃力で対戦相手のキャラクタを攻撃する（Ｓ１０４）。攻撃を受けたキャラクタのＨＰは、攻撃するキャラクタの攻撃力及び攻撃を受けたキャラクタの防御力に基づく計算により算出されるダメージ量だけ減少する。行動順の到来したキャラクタの行動がスキル使用である場合（Ｓ１０６Ｙｅｓ）、キャラクタは、設定されたスキルを発動する（Ｓ１０８）。例えば、発動するスキルが攻撃魔法である場合は、キャラクタは、設定された魔攻力及び設定されたスキル威力に応じて対戦相手のキャラクタを攻撃する。対戦中に必殺技の発動条件を満たし、かつキャラクタの行動として必殺技の使用が指定された場合（Ｓ１１０Ｙｅｓ）、キャラクタは、設定された必殺技を発動する（Ｓ１１２）。そして、対戦に参加するキャラクタのいずれかのＨＰが０となった場合（Ｓ１１４Ｙｅｓ）、当該キャラクタを対戦から除外する。また、いずれかのデッキに設定された全てのキャラクタが対戦から除外された場合、すなわちいずれかのデッキのキャラクタが全滅した場合（Ｓ１１６Ｙｅｓ）、対戦スコアの集計等の終了処理を実行し（Ｓ１１８）、対戦ゲームパートを終了する。
【００３３】
［サーバ装置の動作］
次に、サーバ装置１０の動作フローについて説明する。図８は、サーバ装置１０における最適化処理の一例を示すフローチャートである。
【００３４】
サーバ装置１０は、ゲームデータベース３０からユーザデータを取得して記憶部１２に記憶する（Ｓ２００）。このユーザデータには、新規のゲーム媒体の実装対象となるゲームをプレイしているユーザの所有する既存のゲーム媒体の情報及び当該ユーザにより設定される既存のゲーム媒体の情報が含まれる。
【００３５】
次に、サーバ装置１０は、開発用端末５０からマスターデータを取得して記憶部１２に記憶する（Ｓ２０２）。このマスターデータには、新規のゲーム媒体の情報、このゲーム媒体に初期パラメータを設定するための情報、及び目標評価情報が含まれる。
【００３６】
マスターデータを取得すると、サーバ装置１０は、マスターデータに基づいて新規のゲーム媒体に初期パラメータを設定する（Ｓ２０４）。例えば、新規のゲーム媒体がキャラクタであり、キャラクタに設定されるパラメータがスキルである場合、サーバ装置１０は、ゲームデザイナーにより予め定められる所定の威力、発動率及び持続時間を有するスキルをキャラクタに設定する。
【００３７】
次に、サーバ装置１０は、初期パラメータを設定された新規のゲーム媒体とユーザデータにより特定される既存のゲーム媒体とを用いて対戦ゲームパートに係るシミュレーション処理を実行する（Ｓ２０６）。例えば、サーバ装置１０は、上述の新規のキャラクタと既存のキャラクタとを含むデッキと、既存のキャラクタのみを含む特定のデッキとを複数回対戦させるシミュレーション処理を実行する。
【００３８】
シミュレーション処理の実行が完了すると、サーバ装置１０は、シミュレーション処理の実行結果から目的関数として評価情報を取得し、この評価情報とマスターデータに含まれる目標評価情報との差を算出し、この差に基づき最適化が完了したか否かを判定する（Ｓ２０８）。サーバ装置１０は、パラメータの最適化が完了したと判定する場合に（Ｓ２０８ＹＥＳ）、最適化処理を終了する。この判定は、上記差が最小となり、パラメータの最適解が得られた場合に肯定されるが、最適化処理を開始してから所定の時間が経過する場合、又は最適化処理を開始してから所定回数以上のシミュレーション処理が実行される場合に肯定されてもよい。例えば、サーバ装置１０は、上述のデッキ同士を複数回対戦させるシミュレーション処理の実行結果から、新規のキャラクタ含むデッキ側の対戦勝率を評価情報として取得し、この対戦勝率とゲームデザイナーにより設定される目標対戦勝率（目標評価情報）との差を算出し、この差が最小となっているか否かを判定する。
【００３９】
サーバ装置１０は、パラメータの最適化が完了していないと判定する場合に（Ｓ２０８ＮＯ）、評価情報と目標評価情報との差が小さくなるように、新規のゲーム媒体に設定するパラメータの調整を行う（Ｓ２１０）。例えば、サーバ装置１０は、新規のキャラクタ含むデッキ側の対戦勝率が目標対戦勝率より低い場合は、新規のキャラクタ含むデッキ側の対戦勝率が上昇するように、新規のゲーム媒体の性能を向上させる方向にスキルの威力、発動率及び持続時間を調整し、新規のキャラクタ含むデッキ側の対戦勝率が目標対戦勝率より高い場合は、新規のキャラクタ含むデッキ側の対戦勝率が下降するように、新規のゲーム媒体の性能を低下させる方向にスキルの威力、発動率及び持続時間を調整する。
【００４０】
新規のゲーム媒体に設定するパラメータが調整されると、Ｓ２０４へ戻り、サーバ装置１０は、新規のゲーム媒体に設定されたパラメータを調整されたパラメータに置き換えるようにパラメータを設定する。以後、サーバ装置１０は、パラメータの最適化が完了するまでこれらの処理を繰り返す。
【００４１】
［その他の実施形態］
本発明は、上記実施形態に限定されない。
【００４２】
例えば、最適化処理（図８）における任意の段階で得られる、調整されたパラメータの値を利用することができる。
【００４３】
具体的には、サーバ装置１０が、パラメータの最適化が完了していないと判定する場合（Ｓ２０８ＮＯ）であっても、当該パラメータの値、すなわち、シミュレーション処理を実行（Ｓ２０６）する前に設定されたパラメータの値（Ｓ２０４）を記憶してもよい。この場合、サーバ装置１０が、パラメータの最適化が完了したと判定する（Ｓ２０８ＹＥＳ）まで、最適化処理（Ｓ２０４〜Ｓ２０６）を繰り返す都度、当該パラメータの値を記憶してもよいし、所定の条件を満たすパラメータの値のみを記憶してもよい。これらのパラメータの値は、例えば、開発用端末５０またはサーバ装置１０の記憶部１２に記憶することができる。
【００４４】
図９は、シミュレーション処理を実行（Ｓ２０６）する度に調整されるパラメータの値を記憶したデータの一例を示す図である。図９は、「パラメータ名」が「パラメータ１」〜「パラメータ４」である、４つのパラメータが最適化の対象となっており、１０回の最適化処理（Ｓ２０４〜Ｓ２０６）を繰り返した例を示している。図９における「評価情報の差分」は、上記のシミュレーション処理の実行結果から得られる評価情報と、マスターデータに含まれる目標評価情報との差分である。この例は、１０回目の最適化処理（Ｓ２０４〜Ｓ２０６）により、サーバ装置１０がパラメータの最適化が完了したと判定した場合（Ｓ２０８ＹＥＳ）だけでなく、１０回の最適化処理（Ｓ２０４〜Ｓ２０６）を繰り返しても、最後までサーバ装置１０がパラメータの最適化が完了していないと判定した場合（Ｓ２０８ＮＯ）も含まれる。
【００４５】
図９に示すように、パラメータ１〜パラメータ４の初期値は、１回目の最適化処理（Ｓ２０４〜Ｓ２０６）により調整され、「初期値」から「１回目」の値に更新される。以降、同様に、Ｎ（Ｎ＝２〜１０）回目の最適化処理（Ｓ２０４〜Ｓ２０６）により、パラメータ１〜パラメータ４の値は、「Ｎ−１回目」の値から「Ｎ回目」の値に更新される。
【００４６】
ゲームデザイナーは、記憶されたパラメータの値（図９）の中から、任意のパラメータの値を選択することができる。例えば、ゲーム媒体に設定されるべきパラメータの値として、「８回目」の値を選択し、実際に当該ゲーム媒体にこのパラメータの値を設定することができる。
【００４７】
また、例えば、調整された任意のパラメータの値を初期値として用い、さらに、この初期値の近傍に限定して最適化処理（Ｓ２０４〜Ｓ２０６）を繰り返すことにより、この初期値の近傍においてパラメータの値の最適化を実行することもできる。
【００４８】
さらに、例えば、選択されたパラメータの値をサンプルデータとして入力した機械学習を行い、選択されたパラメータの値が示す法則やバランスなど、ゲームデザイナー自身が認識していなかった情報を抽出することもできる。抽出された情報は、パラメータの値を設定するためのアルゴリズム等を構築する際に利用することもできる。
【００４９】
また、選択されたパラメータの値に対して、遺伝的アルゴリズムなどの進化的最適化手法を適用することもできる。この場合、例えば、選択されたパラメータの値に近似する一群のパラメータの値の組の集合を最初の世代（シード、または初期値）とし、交叉・突然変異などの操作によって次の世代（解）を求める処理を繰り返すことで、最適解を探索することができる。
【００５０】
このように、最適化処理（Ｓ２０４〜Ｓ２０６）により調整されたパラメータの値の中から選択されたパラメータの値を利用して、最終的にゲーム媒体に設定されるパラメータの値を得ることにより、最適化処理（Ｓ２０４〜Ｓ２０６）の繰り返しのみでは抽出できないようなパラメータの値をゲーム媒体に設定することが可能となる。例えば、パラメータの値の設定に、目標評価情報（目的関数）とは異なる観点におけるゲームデザイナーの評価などを反映させることができる。このため、パラメータの値を、様々な評価の観点に基づき、厳密に設定することも可能となる。また、ゲームデザイナーに対し、ゲーム媒体に設定されるべきパラメータに関する新たな知見を提供することができる。さらに、最適化処理（Ｓ２０４〜Ｓ２０６）だけでは、パラメータの値が収束せず、上記のシミュレーション処理の実行結果から得られる評価情報と、マスターデータに含まれる目標評価情報との差分が充分に小さくならない場合がある。このような場合に、最適化処理（Ｓ２０４〜Ｓ２０６）により調整されたパラメータの値の中から選択されたパラメータの値を適切に利用することにより、当該差分をよりゼロに近づけることができる。これにより、パラメータの値をより厳密に設定することが可能となる。
【００５１】
また、調整対象となるパラメータ及び目標評価情報は、上記実施形態で例示したものに限定されない。
【００５２】
例えば、新規のゲーム媒体としてキャラクタを選択し、当該キャラクタと既存のキャラクタとを含むデッキを構成する場合、当該デッキに含まれるキャラクタの組み合わせを調整対象のパラメータとし、当該キャラクタを含むデッキが既存のキャラクタのみを含むデッキと比較して最も強いデッキであることを目標評価情報として、パラメータを調整してもよい。この場合のシミュレーション処理は、これらデッキ同士を対戦させるものであってもよいし、これらデッキと所定の敵キャラクタ（ボスキャラクタ）とを対戦させるものであってもよい。また、パラメータの調整に利用するアルゴリズムとしては、例えば、上記の遺伝的アルゴリズム等の進化的最適化方法を用いることができる。また、効率的に探索するために、遺伝的アルゴリズムのシード（初期値）として既存の最強パーティ（ユーザデータ）を利用するとよい。
【００５３】
また例えば、新規のゲーム媒体としてゲームイベントに登場させる敵キャラクタ（ボスキャラクタ）を選択する場合、当該敵キャラクタに設定されるスキルの威力、発動率及び持続時間を調整対象のパラメータとし、当該敵キャラクタを既存のキャラクタのみを含む複数のデッキのそれぞれと対戦させて得られる各デッキから受けるダメージの分散を目標評価情報として、パラメータを調整してもよい。ダメージの最大値の範囲を制限する制約条件を課すとよい。この場合のシミュレーション処理は、当該敵キャラクタと上位ユーザ群の設定したデッキとを対戦させるものであると、ゲームイベントのゲームバランスを適正化する上で好ましい。また、パラメータと当該ダメージの分散との関係は線形的ではないので、パラメータの調整に利用するアルゴリズムとしては、例えば、効率的に大域的最適解を発見できるベイズ最適化によるパラメータ探索方法を用いると好ましい。
【００５４】
また、最適化する対象としては、上述した各種のパラメータ（例えばキャラクタに係るパラメータ）といった数値に限られない。例えば、ゲームシーンを踏まえ、キャラクタのセリフ（パラメータの他の一例）を設定することも可能である。この場合、既存のキャラクタのスクリプトやユーザのコメント等を教師情報として用い、既知の自然言語処理手法を介し、本発明を用いて最適化できる。この場合、目標評価情報は、ゲームシナリオ上で辿れないシナリオが存在しないように設定されてもよい。例えば、キャラクタのセリフ等に応じてゲームシナリオ上の分岐で辿るルートが異なるようなゲーム仕様である場合、ストーリーに不整合が生じたり所望のエンディングに到達できなかったりする等の不都合（バグ）が生じうる。目標評価情報は、このような不都合が生じる可能性を実質的に無くすように設定されてもよい。
【００５５】
上記実施形態では、システム１が、サーバ装置１０と、ゲームデータベース３０と、開発用端末５０とを含んで構成されるものについて説明したが、システム１の構成はこれに限定されない。例えば、システム１に含まれる構成を全て含む単一の情報処理装置が採用されてもよい。また、システム１に含まれる構成をサーバ装置と開発用端末に適宜、割り当てることもできる。
【００５６】
図１０は、サーバ装置１０と同様の機能を有する情報処理装置２０を使用したシステムを示す図である。
【００５７】
図１０の例では、情報処理装置２０は、ゲーム媒体に設定するパラメータの最適解を導出する装置であり、ネットワークＮを介することなく、直接的に開発用端末５０と接続されている。また、情報処理装置２０は、開発用端末５０およびネットワークＮを介してゲームデータベース３０と接続されている。情報処理装置２０は、図１０に示すように、各種演算を実行する制御部２１と、各種プログラムやデータを記憶する記憶部２２と、他の装置とデータの送受信を行う通信部２３とを有している。制御部２１、記憶部２２および通信部２３は、それぞれサーバ装置１０の制御部１１、記憶部１２および通信部１３と同様の機能を有する。
【００５８】
また、情報処理装置２０は、機能的な構成として、サーバ装置１０のユーザデータ記憶部１１０、マスターデータ記憶部１２０、設定処理部１３０、シミュレーション実行部１４０およびパラメータ調整部１５０と同様の構成（不図示）を備える。
【符号の説明】
【００５９】
１  システム
１０  サーバ装置
１１  制御部
１２  記憶部
１３  通信部
２０  情報処理装置
２１  制御部
２２  記憶部
２３  通信部
３０  ゲームデータベース
５０  開発用端末
１１０  ユーザデータ記憶部
１２０  マスターデータ記憶部
１３０  設定処理部
１４０  シミュレーション実行部
１５０  パラメータ調整部
【図１】
2020028709.tif 000003
【図２】
2020028709.tif 000004
【図３】
2020028709.tif 000005
【図４】
2020028709.tif 000006
【図５】
2020028709.tif 000007
【図６】
2020028709.tif 000008
【図７】
2020028709.tif 000009
【図８】
2020028709.tif 000010
【図９】
2020028709.tif 000011
【図１０】
2020028709.tif 000012