(57)【要約】【課題】ゲーム要素がビデオゲームのイベント達成条件に与える影響を評価するためのビデオゲーム評価装置を提供すること。【解決手段】イベントの達成条件に影響を及ぼすゲーム要素を表す遺伝子を直列的に並べたものを個体の染色体として定義し、染色体定義の各遺伝子に対してゲーム要素を割り振った染色体を所定個数生成し、所定個数の染色体について２つで１組とした各ペアにおいて交叉処理を実行して新たな染色体を生成し、染色体に割り振られたゲーム要素を用いてイベント実行手段に基づいてイベントを実行させてイベントの達成条件についての所定の適応度を演算し、適応度を利用した所定の選択基準に基づいて、交叉処理によって生成された複数の染色体から所定数の染色体を選択する淘汰処理を実行し、交叉処理、適応度演算処理及び淘汰処理を、所定の収束条件を満たすまで繰り返すようにした。【選択図】図１
2019146883.tif 000002
【特許請求の範囲】
【請求項１】
ビデオゲーム内でのイベントに対する複数のゲーム要素の影響を評価する処理をコンピュータに実現させるためのビデオゲーム評価プログラムであって、
前記コンピュータに、
前記イベントの達成条件に影響を及ぼすゲーム要素の項目について、項目毎に所定数の遺伝子数を設定し、各項目の遺伝子を直列的に並べたものを当該イベントに用いられる個体の染色体定義として設定する染色体定義設定機能と、
前記染色体定義の各遺伝子に対して各遺伝子が属する前記項目に対応したゲーム要素を割り振った染色体を所定数生成する初期染色体設定機能と、
所定の規則に基づいて所定数の染色体について２つで１組のペアを設定し、各ペアにおいて遺伝的アルゴリズムにおける交叉処理を実行して遺伝子が組み換えられた新たな染色体を所定数生成する交叉処理機能と、
前記染色体に割り振られたゲーム要素を用いて個体を生成し、個体毎にイベント実行手段に基づいてイベントを実行させ、実行結果についてイベントの達成条件についての所定の適応度を染色体毎に演算する適応度演算機能と、
前記適応度を利用した所定の選択基準に基づいて、前記交叉処理機能によって生成された複数の染色体から所定数の染色体を選択する淘汰処理機能と、
前記淘汰処理機能による選択後に、予め設定した収束条件を満たすか否かを判定する収束判定機能と、
前記交叉処理機能による新たな染色体の生成、前記適応度演算機能による各染色体の適応度の演算、前記淘汰処理機能による染色体の選択、及び、前記収束判定機能による収束条件の判定を、前記収束条件を満たすまで繰り返す世代交代処理機能と、
前記世代交代処理機能において収束した際の所定数の染色体を出力する収束時個体出力機能と
を実現させるビデオゲーム評価プログラム。
【請求項２】
前記交叉処理機能は、同一項目毎に交叉処理を実行するようにした
請求項１記載のビデオゲーム評価プログラム。
【請求項３】
前記交叉処理機能は、遺伝子内容に重複が許されない項目については、交叉処理後の項目内に内容の重複した遺伝子が生じないように交叉処理を実行するようにした
請求項１又は２記載のビデオゲーム評価プログラム。
【請求項４】
前記適応度演算機能は、前記交叉処理機能によって生成された複数の染色体のうち、イベント達成条件を満たさなかった染色体については、イベント達成条件満了から遠かった染色体に比較してイベント達成条件満了に近かった染色体の適応度が高くなるパラメータに基づいて０〜１の範囲のうち０〜閾値の間に対してマッピングし、イベント達成条件を満たした染色体については、イベント達成条件を満たした染色体の中でより優位にイベントを達成した染色体の適応度が高くなるパラメータに基づいて０〜１の範囲のうち閾値〜１の間に対してマッピングするようにし、得られたマッピング結果における位置を各染色体の適応度とするものとし、
前記淘汰処理機能は、前記マッピング結果から得られる各染色体の適応度に基づいてルーレット選択によって所定数の染色体を選択するようにした
請求項１から請求項３の何れかに記載のビデオゲーム評価プログラム。
【請求項５】
前記適応度演算機能は、イベント達成条件を満たさなかった染色体をマッピングする際のパラメータと、イベント達成条件を満たした染色体をマッピングする際のパラメータとでは、異なるパラメータを採用するものとし、それぞれの閾値を境界として定められる２つの領域に対して異なるパラメータに基づいてそれぞれマッピングを行うようにした
請求項４記載のビデオゲーム評価プログラム。
【請求項６】
ビデオゲーム内でのイベントに対する複数のゲーム要素の影響を評価するためのビデオゲーム評価装置であって、
前記イベントの達成条件に影響を及ぼすゲーム要素の項目について、項目毎に所定数の遺伝子数を設定し、各項目の遺伝子を直列的に並べたものを当該イベントに用いられる個体の染色体定義として設定する染色体定義設定部と、
前記染色体定義の各遺伝子に対して各遺伝子が属する前記項目に対応したゲーム要素を割り振った染色体を所定数生成する初期染色体設定部と、
所定の規則に基づいて所定数の染色体について２つで１組のペアを設定し、各ペアにおいて遺伝的アルゴリズムにおける交叉処理を実行して遺伝子が組み換えられた新たな染色体を所定数生成する交叉処理部と、
前記染色体に割り振られたゲーム要素を用いてイベント実行手段に基づいてイベントを実行させ、実行結果についてイベントの達成条件についての所定の適応度を染色体毎に演算する適応度演算部と、
前記適応度を利用した所定の選択基準に基づいて、前記交叉処理機能によって生成された複数の染色体から所定数の染色体を選択する淘汰処理部と、
前記淘汰処理機能による選択後に、予め設定した収束条件を満たすか否かを判定する収束判定部と、
前記交叉処理部による新たな染色体の生成、前記適応度演算部による各染色体の適応度の演算、前記淘汰処理部による染色体の選択、及び、前記収束判定部による収束条件の判定を、前記収束条件を満たすまで繰り返す世代交代処理部と、
前記世代交代処理部において収束した際の所定数の染色体を出力する収束時染色体出力部と
を備えるビデオゲーム評価装置。
【請求項７】
ビデオゲーム内でのイベントに対する複数のゲーム要素の影響を評価するためのビデオゲーム評価方法であって、
前記イベントの達成条件に影響を及ぼすゲーム要素の項目について、項目毎に所定数の遺伝子数を設定し、各項目の遺伝子を直列的に並べたものを当該イベントに用いられる個体の染色体定義として設定する染色体定義設定手順と、
前記染色体定義の各遺伝子に対して各遺伝子が属する前記項目に対応したゲーム要素を割り振った染色体を所定数生成する初期染色体設定手順と、
所定の規則に基づいて所定数の染色体について２つで１組のペアを設定し、各ペアにおいて遺伝的アルゴリズムにおける交叉処理を実行して遺伝子が組み換えられた新たな染色体を所定数生成する手順と、
前記染色体に割り振られたゲーム要素を用いてイベント実行手段に基づいてイベントを実行させ、実行結果についてイベントの達成条件についての所定の適応度を染色体毎に演算する適応度演算手順と、
前記適応度を利用した所定の選択基準に基づいて、前記交叉処理機能によって生成された複数の染色体から所定数の染色体を選択する淘汰処理手順と、
前記淘汰処理機能による選択後に、予め設定した収束条件を満たすか否かを判定する収束判定手順と、
前記交叉処理手順による新たな染色体の生成、前記適応度演算手順による各染色体の適応度の演算、前記淘汰処理手順による染色体の選択、及び、前記収束判定手順による収束条件の判定を、前記収束条件を満たすまで繰り返す世代交代処理手順と、
前記世代交代処理手順において収束した際の所定数の染色体を出力する収束時個体出力手順と
を含むビデオゲーム評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態の少なくとも１つは、ゲーム要素がビデオゲームのイベント達成条件に与える影響を評価するための技術に関する。
【背景技術】
【０００２】
従来、ビデオゲームの開発の際には、様々なゲーム要素を導入してユーザの趣向を引き付ける工夫を行っている。通信ネットワークを介してサーバにアクセスして行うオンラインゲーム等においては、ビデオゲームの内容を追加的にアップデートすることでユーザを飽きさせない工夫を行っている。これらのビデオゲームにおいてゲーム要素を新たに導入する場合、既存のビデオゲームにおけるゲームバランスを大きく損なうことにならないかについて開発者は品質保証作業を行う必要がある。
【０００３】
ビデオゲームのゲームバランス調整に関するものとして、例えば、特許文献１が挙げられる。この特許文献１は、外部要因に伴いゲーム要素を自動的に変動させることで、戦略性を考慮したゲームバランスを容易にとることを可能としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１６００５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１においては、利用者数の変動といった外部要因に伴い、予め定義されたゲームバランスに基づいて、敵キャラクタ数といったゲーム要素を自動的に変動させることを可能にしているが、この特許文献１は、ゲームに対してゲーム要素を実装した後の環境の調整の場合に適用される技術であり、ゲーム要素自体の性質やパラメータがゲームバランスにどのように影響するかを検証する実装前のゲームバランスの調整を行うことはできない。
【０００６】
オンラインゲーム等においては、ビデオゲームの内容を追加的にアップデートするため、初期から存在するゲーム要素に加えてアップデートの都度ゲーム要素が増えていくため、それらすべてのゲーム要素との関連を含め、ゲーム開発者が全てのパターンを実装前に検証することが困難になってきているという問題があった。そのため、開発者の意図しないゲーム要素の使用が行われてゲームバランスが大きく損なわれる状況が生じ得るという問題があった。
【０００７】
本発明の少なくとも１つの実施形態の目的は、ゲーム要素がビデオゲームのイベント達成条件に与える影響を評価するためのビデオゲーム評価プログラム、ビデオゲーム評価方法及びビデオゲーム評価装置を提供することである。
【課題を解決するための手段】
【０００８】
非限定的な観点によると、本発明の一実施形態に係るビデオゲーム評価プログラムは、ビデオゲーム内でのイベントに対する複数のゲーム要素の影響を評価する処理をコンピュータに実現させるためのビデオゲーム評価プログラムであって、前記コンピュータに、前記イベントの達成条件に影響を及ぼすゲーム要素の項目について、項目毎に所定数の遺伝子数を設定し、各項目の遺伝子を直列的に並べたものを当該イベントに用いられる個体の染色体定義として設定する染色体定義設定機能と、前記染色体定義の各遺伝子に対して各遺伝子が属する前記項目に対応したゲーム要素を割り振った染色体を所定数生成する初期染色体設定機能と、所定の規則に基づいて所定数の染色体について２つで１組のペアを設定し、各ペアにおいて遺伝的アルゴリズムにおける交叉処理を実行して遺伝子が組み換えられた新たな染色体を所定数生成する交叉処理機能と、前記染色体に割り振られたゲーム要素を用いて個体を生成し、個体毎にイベント実行手段に基づいてイベントを実行させ、実行結果についてイベントの達成条件についての所定の適応度を染色体毎に演算する適応度演算機能と、前記適応度を利用した所定の選択基準に基づいて、前記交叉処理機能によって生成された複数の染色体から所定数の染色体を選択する淘汰処理機能と、前記淘汰処理機能による選択後に、予め設定した収束条件を満たすか否かを判定する収束判定機能と、前記交叉処理機能による新たな染色体の生成、前記適応度演算機能による各染色体の適応度の演算、前記淘汰処理機能による染色体の選択、及び、前記収束判定機能による収束条件の判定を、前記収束条件を満たすまで繰り返す世代交代処理機能と、前記世代交代処理機能において収束した際の所定数の染色体を出力する収束時個体出力機能とを実現させることを特徴とする。
【０００９】
非限定的な観点によると、本発明の一実施形態に係るビデオゲーム評価装置は、ビデオゲーム内でのイベントに対する複数のゲーム要素の影響を評価するためのビデオゲーム評価装置であって、前記イベントの達成条件に影響を及ぼすゲーム要素の項目について、項目毎に所定数の遺伝子数を設定し、各項目の遺伝子を直列的に並べたものを当該イベントに用いられる個体の染色体定義として設定する染色体定義設定部と、前記染色体定義の各遺伝子に対して各遺伝子が属する前記項目に対応したゲーム要素を割り振った染色体を所定数生成する初期染色体設定部と、所定の規則に基づいて所定数の染色体について２つで１組のペアを設定し、各ペアにおいて遺伝的アルゴリズムにおける交叉処理を実行して遺伝子が組み換えられた新たな染色体を所定数生成する交叉処理部と、前記染色体に割り振られたゲーム要素を用いてイベント実行手段に基づいてイベントを実行させ、実行結果についてイベントの達成条件についての所定の適応度を染色体毎に演算する適応度演算部と、前記適応度を利用した所定の選択基準に基づいて、前記交叉処理機能によって生成された複数の染色体から所定数の染色体を選択する淘汰処理部と、前記淘汰処理機能による選択後に、予め設定した収束条件を満たすか否かを判定する収束判定部と、前記交叉処理部による新たな染色体の生成、前記適応度演算部による各染色体の適応度の演算、前記淘汰処理部による染色体の選択、及び、前記収束判定部による収束条件の判定を、前記収束条件を満たすまで繰り返す世代交代処理部と、前記世代交代処理部において収束した際の所定数の染色体を出力する収束時染色体出力部とを備えることを特徴とする。
【００１０】
非限定的な観点によると、本発明の一実施形態に係るビデオゲーム評価方法は、ビデオゲーム内でのイベントに対する複数のゲーム要素の影響を評価するためのビデオゲーム評価方法であって、前記イベントの達成条件に影響を及ぼすゲーム要素の項目について、項目毎に所定数の遺伝子数を設定し、各項目の遺伝子を直列的に並べたものを当該イベントに用いられる個体の染色体定義として設定する染色体定義設定手順と、前記染色体定義の各遺伝子に対して各遺伝子が属する前記項目に対応したゲーム要素を割り振った染色体を所定数生成する初期染色体設定手順と、所定の規則に基づいて所定数の染色体について２つで１組のペアを設定し、各ペアにおいて遺伝的アルゴリズムにおける交叉処理を実行して遺伝子が組み換えられた新たな染色体を所定数生成する手順と、前記染色体に割り振られたゲーム要素を用いてイベント実行手段に基づいてイベントを実行させ、実行結果についてイベントの達成条件についての所定の適応度を染色体毎に演算する適応度演算手順と、前記適応度を利用した所定の選択基準に基づいて、前記交叉処理機能によって生成された複数の染色体から所定数の染色体を選択する淘汰処理手順と、前記淘汰処理機能による選択後に、予め設定した収束条件を満たすか否かを判定する収束判定手順と、前記交叉処理手順による新たな染色体の生成、前記適応度演算手順による各染色体の適応度の演算、前記淘汰処理手順による染色体の選択、及び、前記収束判定手順による収束条件の判定を、前記収束条件を満たすまで繰り返す世代交代処理手順と、前記世代交代処理手順において収束した際の所定数の染色体を出力する収束時個体出力手順とを含むことを特徴とする。
【発明の効果】
【００１１】
本願の各実施形態により１または２以上の不足が解決される。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態の少なくとも一つに対応するビデオゲーム評価装置の構成の例を示すブロック図である。
【図２】本発明の実施形態の少なくとも一つに対応するビデオゲーム評価装置とイベント実行手段との関係性を表した説明図である。
【図３】本発明の実施形態の少なくとも一つに対応するビデオゲーム評価処理の例を示すフローチャートである。
【図４】複数の項目を直列的に接続して定義した染色体に基づいてゲーム要素を遺伝子に割り振った状態の染色体の一例を表した説明図である。
【図５】交叉処理の一例を表した説明図である。
【図６】イベント実行前の処理の一例を表した説明図である。
【図７】適応度に関するマッピングの一例を表した説明図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態の例について図面を参照して説明する。なお、以下で説明する各実施形態の例における各種構成要素は、矛盾等が生じない範囲で適宜組み合わせ可能である。また、ある実施形態の例として説明した内容については、他の実施形態においてその説明を省略している場合がある。また、各実施形態の特徴部分に関係しない動作や処理については、その内容を省略している場合がある。さらに、以下で説明する各種フローを構成する各種処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
【００１４】
［第１の実施形態］
図１は、本発明の一実施の形態におけるビデオゲーム評価装置１０の構成の例を示すブロック図である。図１に示すビデオゲーム評価装置１０は、専用マシンとして設計した装置であってもよいが、一般的なコンピュータによって実現可能なものであるものとする。この場合に、ビデオゲーム評価装置１０は、一般的なコンピュータが通常備えているであろうＣＰＵ（Central Processing Unit：中央演算処理装置）、ＧＰＵ（Graphics Processing Unit：画像処理装置）、メモリ、ハードディスクドライブ等のストレージを具備しているものとする（図示省略）。また、これらの一般的なコンピュータを本例のビデオゲーム評価装置１０として機能させるためにプログラムよって各種処理が実行されることは言うまでもない。
【００１５】
図１に示すように、ビデオゲーム評価装置１０は、染色体定義設定部１１と、初期染色体設定部１２と、交叉処理部１３と、適応度演算部１４と、淘汰処理部１５と、収束判定部１６と、世代交代処理部１７と、収束時染色体出力部１８と、記憶部１９とを具備している。
【００１６】
染色体定義設定部１１は、イベントの達成条件に影響を及ぼすゲーム要素の項目について、項目毎に所定数の遺伝子数を設定し、各項目の遺伝子を直列的に並べたものを当該イベントに用いられる個体の染色体定義として設定する機能を有する。ここで、イベントとは、ビデオゲームにおいて発生する様々なイベントを包含した意味であり、例えば、ＲＰＧにおけるユーザのパーティと敵キャラクタとの戦闘シーンは１つのイベントである。イベント達成条件とは、イベントとして特定の条件が満たされることをいう。イベントがユーザのパーティと敵キャラクタとの戦闘である場合、勝利することをイベント達成条件とすることが考えられる他、敗北することをイベント達成条件としてゲーム開発者がシミュレーションを行う場合も考えられる。すなわち、ゲーム開発者がシミュレーションを行いたいイベントの特定の条件がイベント達成条件として設定される。ゲーム要素とは、ビデオゲームに用いられる要素のことをいう。ゲーム要素の項目とは、複数のゲーム要素を種類ごとに分類した場合の種類を指す意味での項目をいう。例えば、プレイヤキャラクタ、プレイヤキャラクタに設定される職業、プレイヤキャラクタが装備可能な装備品、敵キャラクタなどはそれぞれがゲーム要素であり、それぞれがゲーム要素の項目が異なるものである。また、個体とは、遺伝的アルゴリズムを行う際に、染色体によって特徴づけられた自律的な個をいう。本例では、イベントに用いられる具体的状態に染色体を変換したものを個体という。染色体とは、複数の遺伝子の集まりであり、遺伝子とは、個体の形質を規定する基本構成要素をいう。例えば、ＲＰＧにおいてユーザは複数の中から４人のキャラクタを選択してパーティを構成可能であり、各キャラクタには職業が設定可能であり、かつ、職業ごとにキャラクタに装備させることが可能な武器及び防具が異なるという場合、これらのゲーム要素には、キャラクタの項目と、職業の項目と、装備品の項目とが存在することが分かる。また、項目内のそれぞれの遺伝子数として、ユーザが保持可能なキャラクタ数が８人であることからキャラクタの項目の遺伝子数８とし、職業の種類が１６であることから職業の項目の遺伝子数１６とし、ユーザが保持可能な装備品の数が８０であることから職業の項目の遺伝子数８０とすると、ＲＰＧのパーティに関する染色体は、８＋１６＋８０＝１０４個の遺伝子で構成されることになる。本例では、ゲーム要素の項目について、項目毎に所定数の遺伝子数を設定し、全項目の遺伝子を直列的に並べたものをイベントに用いられる個体の染色体定義として設定する。ビデオゲーム評価装置１０は、イベントの達成条件に影響を及ぼす各ゲーム要素を遺伝子に見立て、イベントに臨むゲーム要素の組み合わせを遺伝的アルゴリズムによって、決定していく処理を実行する。
【００１７】
初期染色体設定部１２は、染色体定義の各遺伝子に対して各遺伝子が属する前記項目に対応したゲーム要素を割り振った染色体を所定数生成する機能を有する。染色体定義設定部１１において設定したものは染色体定義であり、その染色体定義の各遺伝子に対してゲーム要素を割り振ることでそれぞれに差異のある染色体が生成される。項目ごとに設けられる遺伝子数は決まっており、この遺伝子数に対して割り振り可能なゲーム要素数の方が多い場合もある。そのような場合には、遺伝子数と同数だけランダムにゲーム要素を選択して割り振りを行う。この初期染色体設定部１２において生成する初期染色体の数は、任意の数を指定可能であるが、初期染色体の数は、遺伝的アルゴリズムの収束に影響する要素であるので、適宜最適な数を指定することが好ましい。
【００１８】
交叉処理部１３は、所定の規則に基づいて所定数の染色体について２つで１組のペアを設定し、各ペアにおいて遺伝的アルゴリズムにおける交叉処理を実行して遺伝子が組み換えられた新たな染色体を所定数生成する機能を有する。ここで、交叉処理とは、遺伝的アルゴリズムにおいてペアを設定した２つの親世代の染色体の遺伝子を所定の規則に基づいて引き継いだ子世代の染色体を生成する処理のことをいう。本例においては、初期染色体を第１世代と考え、交叉処理によって生成される染色体を第２世代と考えるように、交叉処理によって新たな染色体を生成する度に、世代数が増加すると考える。親世代の染色体の遺伝子を子世代にどのように引き継がせるかについては様々な方法があり、例えば、一点交叉法、多点交叉法、一様交叉法などが挙げられる。また、項目内において重複がゆるされないユニークカテゴリのゲーム要素については、循環交叉、部分的交叉、順序交叉、一様順序交叉、一様位置交叉などの方法を用いることで対処する。また、親世代からの遺伝子の引き継ぎに限られないように、所定の確率で突然変異を起こさせるようにして、親世代には存在しない遺伝子を取得する可能性を残すようにする。ペアを設定した各ペアから生成される染色体の個数は、適用される交叉手法によって異なる。仮に、１組のペアから１つの染色体が生成される交叉手法のみを用いる場合には、親世代の染色体を一度しか交叉処理に利用できないこととしてしまうと、子世代の染色体数が半減してしまう。そこで、１つの染色体が複数回交叉処理に利用されることを許容して、子世代の染色体数が所定数に達するまで交叉処理を実行するようにする。ここで、子世代の染色体を生成する数を示す所定数については、少なくとも後述する淘汰処理部１５における選択数よりも多い数に設定しておく必要がある。
【００１９】
適応度演算部１４は、染色体に割り振られたゲーム要素を用いてイベント実行手段に基づいてイベントを実行させ、実行結果についてイベントの達成条件についての所定の適応度を染色体毎に演算する機能を有する。ここで、イベント実行手段２０は、ビデオゲームにおけるイベントを実行するための手段であり、実際のビデオゲームに対してイベントを実行させるものであってもよいし、ビデオゲームにおいてイベントを実行させることと同等の処理をコンピュータに実行させるものであってもよい。染色体に含まれる遺伝子からゲーム要素の情報を抽出して、ゲーム要素を用いてイベントに用いられる個体を生成する。その個体ごとのゲーム要素の条件でイベント実行手段２０にイベントを実行させて、その個体の元となった染色体についての所定のイベント達成条件に対しての適応度を演算する。適応度の演算は、そのイベントの性質に応じて様々に設定されるものである。例えば、イベントがユーザのパーティと敵キャラクタとの戦闘であるとすると、イベントの達成条件は戦闘での勝利であり、適応度は、戦闘終了までの時間が短いことを適応度が高いと演算する手法が考えられる。また、戦闘に負けてしまった場合の適応度については、勝利した場合に比較して適応度は低いことになるが、敗北してしまった染色体の中での適応度に優劣をつけるための要素として、敵キャラクタに対してよりダメージを多く与えたことを評価するようにして適応度を決定するようにしてもよい。
【００２０】
図２は、本発明の実施形態の少なくとも一つに対応するビデオゲーム評価装置とイベント実行手段との関係性を表した説明図である。この図２に示すように、ビデオゲーム評価装置１０において交叉処理を行って得られた新たな染色体についてイベント実行手段２０に対して染色体毎に染色体によって決定される条件によってイベントを実行させ、その結果をビデオゲーム評価装置１０において取得する。イベントの実行結果を取得したビデオゲーム評価装置１０では、実行結果に基づいて適応度を演算する。得られた適応度を用いて、後述する淘汰処理部１５において淘汰処理を行って、淘汰処理によって選択された所定数の染色体に基づいて再度交叉処理を実行する。このような処理の繰り返しを行う。実際には、１サイクル毎に所定の収束条件を満たしたかの判定を後述する収束判定部１６において行う。
【００２１】
淘汰処理部１５は、適応度を利用した所定の選択基準に基づいて、前記交叉処理機能によって生成された複数の染色体から所定数の染色体を選択する機能を有する。交叉処理機能によって生成された複数の染色体の中から、所定数の染色体を選択するが、例えば、交叉処理部１３で用いた親世代の染色体の総数と同数の染色体を選択する。必ずしも親世代と同数である必要はないが、世代交代を繰り返した場合に収束しなくなる可能性もあるため、収束する範囲で適宜設定する。選択基準については、適応度を利用したものであれば様々な方法が採用し得る。例えば、エリート選択、ルーレット選択、ランキング選択などの方法が採用し得る。なお、本例においては、生成された子世代の染色体の中から所定数の染色体を選択するものとして説明を行ったが、淘汰処理における選択範囲の中に親世代の染色体を含むようにすることも可能である。
【００２２】
また、ルーレット選択を行う際に、イベント達成条件を満たした染色体と満たさなかった染色体とを適応度に基づいてマッピングしたマッピング結果に基づいてルーレット選択を行うようにしてもよい。具体的には、交叉処理によって生成された複数の染色体のうち、イベント達成条件を満たさなかった染色体については、イベント達成条件満了から遠かった染色体に比較してイベント達成条件満了に近かった染色体の適応度が高くなるパラメータに基づいて０〜１の範囲のうち０〜閾値の間に対してマッピングし、イベント達成条件を満たした染色体については、イベント達成条件を満たした染色体の中でより優位にイベントを達成した個体の適応度が高くなるパラメータに基づいて０〜１の範囲のうち閾値〜１の間に対してマッピングするようにし、得られたマッピング結果における位置を各染色体の適応度とする手法が考えられる。また、イベント達成条件を満たさなかった染色体をマッピングする際のパラメータと、イベント達成条件を満たした染色体をマッピングする際のパラメータとでは、異なるパラメータを採用するものとし、それぞれの閾値を境界として定められる２つの領域に対して異なるパラメータに基づいてそれぞれマッピングを行うようにしてもよい。パラメータをマッピングする際の閾値は、２つのパラメータについて互いに同じ閾値であってもよいし、異なる閾値であってもよい。すなわち、２つのマッピング領域が接する場合、離散する場合、重複する場合のいずれの場合も想定される。そして、マッピング結果から得られる各染色体の適応度に基づいてルーレット選択によって所定数の染色体を選択する。
【００２３】
収束判定部１６は、淘汰処理機能による選択後に、予め設定した収束条件を満たすか否かを判定する機能を有する。予め設定する収束条件としては、世代交代の回数、適応度が所定値に到達などが考えられる。
【００２４】
世代交代処理部１７は、交叉処理部１３による新たな染色体の生成、適応度演算部１４による各染色体の適応度の演算、淘汰処理部１５による染色体の選択、及び、収束判定部１６による収束条件の判定を、収束条件を満たすまで繰り返す機能を有する。この世代交代処理部１６により、収束条件を満たすまで世代交代が繰り返される。
【００２５】
収束時染色体出力部１８は、世代交代処理部１７において収束した際の複数の染色体を出力する機能を有する。このようにして得られた染色体に基づいて、ゲーム開発者は、収束した際の染色体によって表されるゲーム要素の組み合わせにゲームバランスを損なう組み合わせが存在しないかを評価することになる。
【００２６】
記憶部１９は、各部の処理に必要な各種データや、各部における処理の結果として得られたデータを記憶させる機能を有する。
【００２７】
次に、本例のビデオゲーム評価装置１０において行われるビデオゲーム評価処理の流れについて説明を行う。図３は、本発明の実施形態の少なくとも一つに対応するビデオゲーム評価処理の例を示すフローチャートである。この図３に示すように、ビデオゲーム評価処理は、先ず、ビデオゲーム評価装置１０において、染色体定義を設定することで開始される（ステップＳ１０１）。ビデオゲーム評価装置１０は、染色体定義に基づいて各遺伝子に対してゲーム要素を割り振って初期染色体を所定数生成する（ステップＳ１０２）。そして、ビデオゲーム評価装置１０は、初期染色体を２つで１ペアとして交叉処理を行って新たな染色体を所定数生成する（ステップＳ１０３）。なお、最初の交叉処理においては初期染色体を用いて交叉処理を実行するが、２サイクル目以降においては、淘汰処理において選択された染色体を用いて交差処理を行う。
【００２８】
最初の交叉処理を終えた後に、ビデオゲーム評価装置１０は、交叉処理で得られた複数の染色体について適応度を演算する（ステップＳ１０４）。そして、ビデオゲーム評価装置１０は、求めた適応度に基づいて、交叉処理で得られた複数の染色体について淘汰処理を行って、所定数の染色体を選択する（ステップＳ１０５）。
【００２９】
ビデオゲーム評価装置１０は、淘汰処理の後、所定の収束条件を満たしたか否かを判定する（ステップＳ１０６）。所定の収束条件を満たしていない場合（Ｓ１０６−Ｎ）には、ビデオゲーム評価装置１０は、世代数のカウント値を＋１（ステップＳ１０７）してから、ステップＳ１０３に戻る。以降、ステップＳ１０３〜Ｓ１０５の処理を実行する度にステップＳ１０６で所定の収束条件を満たしたかを判定して、満たすまでステップＳ１０７で世代数のカウント値を＋１しながら処理を繰り返す。そして、所定の収束条件を満たした場合（Ｓ１０６−Ｙ）には、収束した際の所定数の染色体を出力（ステップＳ１０８）して、処理を終了する。
【００３０】
なお、本例においては、初期染色体について交叉処理を行う流れであることを前提に説明を行ったが、これに限定されるものではない。初期染色体については交差処理を行わずに適応度の演算を行って、淘汰処理によって所定数の染色体を選択した後に交差処理を実行するという流れであってもよい。すなわち、図３のフローチャートの例において、１サイクル目ではステップＳ１０３における交差処理を実行せずにステップＳ１０４の適応度の演算に進むようにして、２サイクル目からステップＳ１０３における交差処理を実行するようにしても全く問題ない。
【００３１】
次に、より具体的な例を挙げて説明を行う。一例として、ＲＰＧのビデオゲームにおいて、ユーザは、パーティを構成する「主人公」というゲーム要素を最大で８人まで所持することができ、各主人公には敵キャラクタとの戦闘を直接行う「ヒーロー」というゲーム要素をそれぞれ２つずつセットすることができ、各ヒーローには戦闘において敵キャラクタにダメージを与える際のダメージ量に影響する「武器」を装備させることができるという設定において、４人の主人公を選択して所定の敵キャラクタと戦闘して勝利することがイベントの内容であるものとする。
【００３２】
図４は、複数の項目を直列的に接続して定義した染色体に基づいてゲーム要素を遺伝子に割り振った状態の染色体の一例を表した説明図である。この図４に示す染色体は、「主人公」の項目と「ヒーロー」の項目と「武器」の項目を直列的に接続した染色体構造となっており、予め何番目の遺伝子から何番目の遺伝子までがどの項目に該当するかについて定義しておき、その染色体定義に則して、図４のように実際のゲーム要素を各遺伝子に割り振る。このようにして各染色体がそれぞれ遺伝子に対してゲーム要素を割り振って対応付けられた状態において、交叉処理を実行する。交叉処理の際には、各項目ごとに交叉処理を実行することになる。図４の例では、「主人公」の項目と「ヒーロー」の項目は、それぞれの項目内で重複の許されないユニークカテゴリの項目であり、「武器」の項目は、項目内で重複の許されるノンユニークカテゴリの項目である。
【００３３】
図５は、交叉処理の一例を表した説明図である。図５は、項目内で重複の許されないユニークカテゴリの項目での交叉処理に適した例として、順序交叉による交叉処理の例を表している。染色体（１）と染色体（２）に基づいて交叉処理を行って染色体（３）を生成する処理において順序交叉を行う。順序交叉では、染色体にランダムに切れ目を設定して、染色体（１）については切れ目の左側の遺伝子をそのまま染色体（３）に引き継ぐようにし、切れ目の右側については、切れ目の右側に位置する染色体（１）の遺伝子を染色体（２）における出現順序に並べ替えて配置するという手法を採用する。この順序交叉によれば、「主人公」の項目と「ヒーロー」の項目などのように項目内で重複の許されないユニークカテゴリにおいて同じ遺伝子の発現を避けながら交叉処理を行うことができる。
【００３４】
図６は、イベント実行前の処理の一例を表した説明図である。この図６は、染色体の遺伝子に割り振られたゲーム要素に基づいて、実際のビデオゲームにおける戦闘に臨むパーティを設定する状況を概念的に表した説明図である。図４に示した複数の項目を直列的に接続した染色体についてイベント実行手段２０でイベントの実行、具体的には、戦闘を行わせる場合には、図４に示すような染色体からパーティを構成する必要がある。この具体例においては、戦闘に参加する主人公は４人であるため、図６に示す染色体の最初の項目の主人公の項目箇所から順番に４人の主人公を抽出し、残りの主人公は未使用とする。次に、各主人公には２人のヒーローを設定できるため、それぞれの主人公に対して、図６に示す染色体の２つ目の項目のヒーローの項目箇所から順番にヒーローを抽出して設定していく。このとき、各主人公に設定可能なヒーローには職種の制限がある（図６の括弧書き部分が設定可能なヒーローの職種を表す）。ヒーローの職種として、ヒーラー、アタッカー、ディフェンダー、シューターなどが存在し、染色体のヒーローの項目について先頭から順に割り振ろうと思うと職種の制限が存在する場合があるので、職種の制限を満たすなかで最も先頭に位置するヒーローから順次割り振るようにする。なお、図６におけるワイルドの枠は、何れの職種のヒーローでも設定できるという枠であるので、このワイルドの設定枠に対してはどのヒーローでも設定できる。そして、図６では図示していないが、各ヒーローは武器を装備できるため、各ヒーローに対して、図６に示す染色体の３つ目の項目の武器の項目箇所から順番に武器を抽出して各ヒーローに設定していく。それぞれのヒーローにおいて装備可能な武器に制限がある場合についてはヒーローの場合と同様に、武器の制限を満たすなかで最も先頭に位置する武器から順次割り振るようにする。このようにして、染色体に含まれるゲーム要素の情報からパーティを設定して、イベントとしての戦闘を実行させ、実行結果に基づいて適応度を演算する、若しくは、適応度に相当するマッピング結果を得るようにする。
【００３５】
図７は、適応度に関するマッピングの一例を表した説明図である。イベントが戦闘である場合、イベント達成条件は勝利することになるが、勝利した場合の中でもより良い状況で勝利した染色体を評価する必要があり、敗北した場合の中でもより勝利に近い状況で敗北した染色体を評価する必要がある。そこで、勝利した染色体については、バトル終了までに要した時間が短いことを評価するようにして、バトル時間が短い染色体が１に近い位置にマッピングされるようにし、バトル時間の長い染色体が０．３に近いようにマッピングする。他方、敗北した染色体については、バトル時に敵に与えたダメージ量が多い染色体を評価するようにして、与ダメージ量が多い染色体が０．２に近い位置にマッピングされるようにし、与ダメージ量が少ない染色体が０．０３（０にはマッピングされないようにする工夫）に近いようにマッピングする。このようにして得られたマッピング結果に基づいてルーレット選択を行って淘汰処理を実行する。この図７の例では、勝利した染色体をマッピングする領域の下限の閾値を０．３とし、敗北した染色体をマッピングする領域の上限の閾値を０．２として、異なる閾値を設けることで、２つのマッピング領域が重ならいようにしている。
【００３６】
以上のように、本例のビデオゲーム評価装置１０によれば、イベントの達成条件に影響を及ぼすゲーム要素の項目について、項目毎に所定数の遺伝子数を設定し、各項目の遺伝子を直列的に並べたものを当該イベントに用いられる個体の染色体定義として設定し、染色体定義の各遺伝子に対して各遺伝子が属する項目に対応したゲーム要素を割り振った染色体を所定数生成し、所定の規則に基づいて所定数の染色体について２つで１組のペアを設定し、各ペアにおいて遺伝的アルゴリズムにおける交叉処理を実行して遺伝子が組み換えられた新たな染色体を所定数生成し、染色体に割り振られたゲーム要素を用いてイベント実行手段に基づいてイベントを実行させ、実行結果についてイベントの達成条件についての所定の適応度を染色体毎に演算し、適応度を利用した所定の選択基準に基づいて、交叉処理機能によって生成された複数の染色体から所定数の染色体を選択する淘汰処理を実行し、淘汰処理機能による選択後に、予め設定した収束条件を満たすか否かを判定し、交叉処理による新たな染色体の生成、適応度演算による各染色体の適応度の演算、淘汰処理による染色体の選択、及び、収束判定による収束条件の判定を、収束条件を満たすまで繰り返す世代交代処理を実行し、世代交代処理において収束した際の所定数の染色体を出力するようにしたので、ビデオゲームに対して新たなゲーム要素を導入する際のゲームバランス調整について遺伝的アルゴリズムに基づいてビデオゲーム評価装置１０がより適応度の高い染色体が残るように世代交代処理を実行してくれるため、ゲームバランスを崩壊させるゲーム要素が存在しないかの品質保証作業についてのゲーム開発者の負担を軽減できる。また、ゲーム開発者がイベント達成条件の難易度等を設定する際のシミュレーションを行うことができるので、ゲーム開発者の所望の難易度を調整するために本例のビデオゲーム評価装置１０を利用することが可能となる。
【００３７】
以上に説明したように、本願の各実施形態により１または２以上の不足が解決される。なお、夫々の実施形態による効果は、非限定的な効果または効果の一例である。
【符号の説明】
【００３８】
１０              ビデオゲーム評価装置
１１              染色体定義設定部
１２              初期染色体設定部
１３              交叉処理部
１４              適応度演算部
１５              淘汰処理部
１６              収束判定部
１７              世代交代処理部
１８              収束時染色体出力部
１９              記憶部
２０              イベント実行手段
【図１】
2019146883.tif 000003
【図２】
2019146883.tif 000004
【図３】
2019146883.tif 000005
【図４】
2019146883.tif 000006
【図５】
2019146883.tif 000007
【図６】
2019146883.tif 000008
【図７】
2019146883.tif 000009
【手続補正書】
【提出日】平成31年3月11日(2019.3.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオゲーム内でのイベントに対する複数のゲーム要素の影響を評価する処理をコンピュータに実現させるためのビデオゲーム評価プログラムであって、
前記コンピュータに、
前記イベントの達成条件に影響を及ぼすゲーム要素の項目について、項目毎に所定数の遺伝子数を設定し、各項目の遺伝子を直列的に並べたものを当該イベントに用いられる個体の染色体定義として設定する染色体定義設定機能と、
前記染色体定義の各遺伝子に対して各遺伝子が属する前記項目に対応したゲーム要素を割り振った染色体を所定数生成する初期染色体設定機能と、
所定の規則に基づいて所定数の染色体について２つで１組のペアを設定し、各ペアにおいて遺伝的アルゴリズムにおける交叉処理を実行して遺伝子が組み換えられた新たな染色体を所定数生成する交叉処理機能と、
前記染色体に割り振られたゲーム要素を用いて個体を生成し、個体毎にイベント実行手段に基づいてイベントを実行させ、実行結果についてイベントの達成条件についての所定の適応度を染色体毎に演算する適応度演算機能と、
前記適応度を利用した所定の選択基準に基づいて、前記交叉処理機能によって生成された複数の染色体から所定数の染色体を選択する淘汰処理機能と、
前記淘汰処理機能による選択後に、予め設定した収束条件を満たすか否かを判定する収束判定機能と、
前記交叉処理機能による新たな染色体の生成、前記適応度演算機能による各染色体の適応度の演算、前記淘汰処理機能による染色体の選択、及び、前記収束判定機能による収束条件の判定を、前記収束条件を満たすまで繰り返す世代交代処理機能と、
前記世代交代処理機能において収束した際の所定数の染色体を出力する収束時染色体出力機能とを実現させ、
前記適応度演算機能は、前記交叉処理機能によって生成された複数の染色体のうち、イベント達成条件を満たさなかった染色体については、イベント達成条件満了から遠かった染色体に比較してイベント達成条件満了に近かった染色体の適応度が高くなるパラメータに基づいて所定の最小値〜所定の最大値の範囲のうち所定の最小値〜閾値の間に対してマッピングし、イベント達成条件を満たした染色体については、イベント達成条件を満たした染色体の中でより優位にイベントを達成した染色体の適応度が高くなるパラメータに基づいて前記所定の最小値〜前記所定の最大値の範囲のうち閾値〜前記所定の最大値の間に対してマッピングするようにし、得られたマッピング結果における位置を各染色体の適応度とするものとし、
前記淘汰処理機能は、前記マッピング結果から得られる各染色体の適応度に基づいてルーレット選択によって所定数の染色体を選択するようにした
ビデオゲーム評価プログラム。
【請求項２】
前記交叉処理機能は、同一項目毎に交叉処理を実行するようにした
請求項１記載のビデオゲーム評価プログラム。
【請求項３】
前記交叉処理機能は、遺伝子内容に重複が許されない項目については、交叉処理後の項目内に内容の重複した遺伝子が生じないように交叉処理を実行するようにした
請求項１又は２記載のビデオゲーム評価プログラム。
【請求項４】
前記適応度演算機能は、イベント達成条件を満たさなかった染色体をマッピングする際のパラメータと、イベント達成条件を満たした染色体をマッピングする際のパラメータとでは、異なるパラメータを採用するものとし、それぞれの閾値を境界として定められる２つの領域に対して異なるパラメータに基づいてそれぞれマッピングを行うようにした
請求項１乃至３記載のビデオゲーム評価プログラム。
【請求項５】
ビデオゲーム内でのイベントに対する複数のゲーム要素の影響を評価するためのビデオゲーム評価装置であって、
前記イベントの達成条件に影響を及ぼすゲーム要素の項目について、項目毎に所定数の遺伝子数を設定し、各項目の遺伝子を直列的に並べたものを当該イベントに用いられる個体の染色体定義として設定する染色体定義設定部と、
前記染色体定義の各遺伝子に対して各遺伝子が属する前記項目に対応したゲーム要素を割り振った染色体を所定数生成する初期染色体設定部と、
所定の規則に基づいて所定数の染色体について２つで１組のペアを設定し、各ペアにおいて遺伝的アルゴリズムにおける交叉処理を実行して遺伝子が組み換えられた新たな染色体を所定数生成する交叉処理部と、
前記染色体に割り振られたゲーム要素を用いてイベント実行手段に基づいてイベントを実行させ、実行結果についてイベントの達成条件についての所定の適応度を染色体毎に演算する適応度演算部と、
前記適応度を利用した所定の選択基準に基づいて、前記交叉処理部によって生成された複数の染色体から所定数の染色体を選択する淘汰処理部と、
前記淘汰処理部による選択後に、予め設定した収束条件を満たすか否かを判定する収束判定部と、
前記交叉処理部による新たな染色体の生成、前記適応度演算部による各染色体の適応度の演算、前記淘汰処理部による染色体の選択、及び、前記収束判定部による収束条件の判定を、前記収束条件を満たすまで繰り返す世代交代処理部と、
前記世代交代処理部において収束した際の所定数の染色体を出力する収束時染色体出力部とを備え、
前記適応度演算部は、前記交叉処理部によって生成された複数の染色体のうち、イベント達成条件を満たさなかった染色体については、イベント達成条件満了から遠かった染色体に比較してイベント達成条件満了に近かった染色体の適応度が高くなるパラメータに基づいて所定の最小値〜所定の最大値の範囲のうち所定の最小値〜閾値の間に対してマッピングし、イベント達成条件を満たした染色体については、イベント達成条件を満たした染色体の中でより優位にイベントを達成した染色体の適応度が高くなるパラメータに基づいて前記所定の最小値〜前記所定の最大値の範囲のうち閾値〜前記所定の最大値の間に対してマッピングするようにし、得られたマッピング結果における位置を各染色体の適応度とするものとし、
前記淘汰処理部は、前記マッピング結果から得られる各染色体の適応度に基づいてルーレット選択によって所定数の染色体を選択するようにした
ビデオゲーム評価装置。
【請求項６】
コンピュータに複数手順を実行させることで、ビデオゲーム内でのイベントに対する複数のゲーム要素の影響を評価するためのビデオゲーム評価方法であって、
前記イベントの達成条件に影響を及ぼすゲーム要素の項目について、項目毎に所定数の遺伝子数を設定し、各項目の遺伝子を直列的に並べたものを当該イベントに用いられる個体の染色体定義として設定する染色体定義設定手順と、
前記染色体定義の各遺伝子に対して各遺伝子が属する前記項目に対応したゲーム要素を割り振った染色体を所定数生成する初期染色体設定手順と、
所定の規則に基づいて所定数の染色体について２つで１組のペアを設定し、各ペアにおいて遺伝的アルゴリズムにおける交叉処理を実行して遺伝子が組み換えられた新たな染色体を所定数生成する交叉処理手順と、
前記染色体に割り振られたゲーム要素を用いてイベント実行手段に基づいてイベントを実行させ、実行結果についてイベントの達成条件についての所定の適応度を染色体毎に演算する適応度演算手順と、
前記適応度を利用した所定の選択基準に基づいて、前記交叉処理手順によって生成された複数の染色体から所定数の染色体を選択する淘汰処理手順と、
前記淘汰処理手順による選択後に、予め設定した収束条件を満たすか否かを判定する収束判定手順と、
前記交叉処理手順による新たな染色体の生成、前記適応度演算手順による各染色体の適応度の演算、前記淘汰処理手順による染色体の選択、及び、前記収束判定手順による収束条件の判定を、前記収束条件を満たすまで繰り返す世代交代処理手順と、
前記世代交代処理手順において収束した際の所定数の染色体を出力する収束時染色体出力手順とを含み、
前記適応度演算手順は、前記交叉処理手順によって生成された複数の染色体のうち、イベント達成条件を満たさなかった染色体については、イベント達成条件満了から遠かった染色体に比較してイベント達成条件満了に近かった染色体の適応度が高くなるパラメータに基づいて所定の最小値〜所定の最大値の範囲のうち所定の最小値〜閾値の間に対してマッピングし、イベント達成条件を満たした染色体については、イベント達成条件を満たした染色体の中でより優位にイベントを達成した染色体の適応度が高くなるパラメータに基づいて前記所定の最小値〜前記所定の最大値の範囲のうち閾値〜前記所定の最大値の間に対してマッピングするようにし、得られたマッピング結果における位置を各染色体の適応度とするものとし、
前記淘汰処理手順は、前記マッピング結果から得られる各染色体の適応度に基づいてルーレット選択によって所定数の染色体を選択するようにした
ビデオゲーム評価方法。