IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社 ディー・エヌ・エーの特許一覧

特許7299709情報処理装置、情報処理プログラム及び情報処理方法
<>
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図1
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図2
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図3
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図4
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図5
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図6
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図7
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図8
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図9
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図10
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図11
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図12
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図13
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図14
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図15
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図16
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図17
  • 特許-情報処理装置、情報処理プログラム及び情報処理方法 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-20
(45)【発行日】2023-06-28
(54)【発明の名称】情報処理装置、情報処理プログラム及び情報処理方法
(51)【国際特許分類】
   A63F 13/55 20140101AFI20230621BHJP
   A63F 13/80 20140101ALI20230621BHJP
   A63F 13/42 20140101ALI20230621BHJP
   A63F 13/45 20140101ALI20230621BHJP
   G06N 3/04 20230101ALI20230621BHJP
【FI】
A63F13/55
A63F13/80 A
A63F13/42
A63F13/45
G06N3/04
【請求項の数】 15
(21)【出願番号】P 2019007461
(22)【出願日】2019-01-21
(65)【公開番号】P2020115957
(43)【公開日】2020-08-06
【審査請求日】2021-11-19
(73)【特許権者】
【識別番号】599115217
【氏名又は名称】株式会社 ディー・エヌ・エー
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】吉村 拓真
(72)【発明者】
【氏名】奥村 純
(72)【発明者】
【氏名】岡田 健
(72)【発明者】
【氏名】田中 一樹
(72)【発明者】
【氏名】宮下 奨平
(72)【発明者】
【氏名】岸本 亮
【審査官】柳 重幸
(56)【参考文献】
【文献】特開平11-004969(JP,A)
【文献】特開2018-110744(JP,A)
【文献】今井 哲也 ,吉用 雅弥,寺井 秀一,藤田 智弘,山内 党紀,リアルタイムGAをめざすGAプロセッサ・アーキテクチャと要素プロセッサのVLSI設計,Journal of Signal Processing 信号処理,日本,信号処理学会,2008年03月04日,VOL.8 NO.4,p.323-334
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
G06N 3/04、20/00
(57)【特許請求の範囲】
【請求項1】
複数のオブジェクトを使用する電子ゲームにおいて前記オブジェクトの使用に対する電子ゲーム上の戦略を評価値として評価するための機械学習をさせた戦略評価手段と、
前記戦略評価手段を用いて電子ゲームにおいて適用可能である前記オブジェクトの使用に対する評価値の出力結果を得て、当該評価値を昇順又は降順に並べて合計した累積値において基準範囲に該当する評価値に対応する前記オブジェクトの使用から実際に電子ゲームに適用する前記オブジェクトの使用を決定する戦略決定手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記戦略決定手段は、前記累積値を所定の範囲に正規化し、当該正規化された累積値において基準範囲に該当する評価値に対応する前記オブジェクトの使用から実際に電子ゲームに適用する前記オブジェクトの使用を決定することを特徴とする情報処理装置。
【請求項3】
請求項1に記載の情報処理装置であって、
前記戦略決定手段は、前記基準範囲を所定の範囲に正規化し、前記累積値において当該正規化された基準範囲に該当する評価値に対応する前記オブジェクトの使用から実際に電子ゲームに適用する前記オブジェクトの使用を決定することを特徴とする情報処理装置。
【請求項4】
請求項1~3のいずれか1項に記載の情報処理装置であって、
前記戦略評価手段は、電子ゲームにおける過去のプレイ履歴を用いて前記オブジェクトの使用に対する電子ゲーム上の戦略を評価値として評価するための機械学習をさせたものであることを特徴とする情報処理装置。
【請求項5】
請求項1~4のいずれか1項に記載の情報処理装置であって、
前記戦略決定手段は、前記戦略評価手段を用いて電子ゲームにおいて適用可能である前記オブジェクトの使用に対する評価値のすべてを用いて前記累積値を算出することを特徴とする情報処理装置。
【請求項6】
請求項1~4のいずれか1項に記載の情報処理装置であって、
前記戦略決定手段は、前記戦略評価手段を用いて電子ゲームにおいて適用可能である前記オブジェクトの使用に対する評価値の一部のみを用いて前記累積値を算出することを特徴とする情報処理装置。
【請求項7】
請求項1~6のいずれか1項に記載の情報処理装置であって、
前記基準範囲は、電子ゲームの難易度に応じて設定変更が可能であることを特徴とする情報処理装置。
【請求項8】
請求項1~7のいずれか1項に記載の情報処理装置であって、
前記基準範囲の幅は変更可能であることを特徴とする情報処理装置。
【請求項9】
請求項1~8のいずれか1項に記載の情報処理装置であって、
前記基準範囲は、電子ゲームのプレイの経過時間に応じて設定変更されることを特徴とする情報処理装置。
【請求項10】
請求項1~9のいずれか1項に記載の情報処理装置であって、
前記基準範囲を複数設定し、前記基準範囲の各々に対する前記オブジェクトの使用を決定することによって複数のプレイヤによる電子ゲームのプレイの戦略を決定することを特徴とする情報処理装置。
【請求項11】
請求項1~10のいずれか1項に記載の情報処理装置であって、
前記戦略決定手段は、前記基準範囲に該当する評価値から均一な確率分布に応じて選択された評価値に対応する前記オブジェクトの使用を実際に電子ゲームに適用する前記オブジェクトの使用として決定することを特徴とする情報処理装置。
【請求項12】
請求項1~10のいずれか1項に記載の情報処理装置であって、
前記戦略決定手段は、前記基準範囲に該当する評価値から所定の確率分布に応じて選択された評価値に対応する前記オブジェクトの使用を実際に電子ゲームに適用する前記オブジェクトの使用として決定することを特徴とする情報処理装置。
【請求項13】
請求項12に記載の情報処理装置であって、
前記確率分布は、前記基準範囲の最大値又は最小値において確率分布の最大値をとる正規分布であることを特徴とする情報処理装置。
【請求項14】
コンピュータを、
複数のオブジェクトを使用する電子ゲームにおいて前記オブジェクトの使用に対する電子ゲーム上の戦略を評価値として評価するための機械学習をさせた戦略評価手段と、
前記戦略評価手段を用いて電子ゲームにおいて適用可能である前記オブジェクトの使用に対する評価値の出力結果を得て、当該評価値を昇順又は降順に並べて合計した累積値において基準範囲に該当する評価値に対応する前記オブジェクトの使用から実際に電子ゲームに適用する前記オブジェクトの使用を決定する戦略決定手段と、
して機能させることを特徴とする情報処理プログラム。
【請求項15】
複数のオブジェクトを使用する電子ゲームにおいて前記オブジェクトの使用に対する電子ゲーム上の戦略を評価値として評価するための機械学習をさせる戦略学習工程と、
前記戦略学習工程で学習されたエージェントを用いて電子ゲームにおいて適用可能である前記オブジェクトの使用に対する評価値の出力結果を得て、当該評価値を昇順又は降順に並べて合計した累積値において基準範囲に該当する評価値に対応する前記オブジェクトの使用から実際に電子ゲームに適用する前記オブジェクトの使用を決定する戦略決定工程と、
をコンピュータによって実行することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理プログラム及び情報処理方法に関し、特に、電子ゲームを提供する情報処理装置、情報処理プログラム及び情報処理方法に関する。
【背景技術】
【0002】
従来、電子ゲームを提供する情報処理装置が知られている。このような情報処理装置によって提供される電子ゲームとしては、キャラクタやカードといった複数のオブジェクト(ゲーム内オブジェクト)を使用する電子ゲームが知られている。その一例として、プレイヤが複数のオブジェクトを使用しながら、コンピュータあるいは他のプレイヤである対戦相手と戦う対戦ゲームがある。
【0003】
一方、近年、機械学習の研究が盛んに行われている。例えば、多層のニューラルネットワークを用いたディープラーニングに関する研究が行われている。このようなディープラーニングを用いて、電子ゲームをプレイする人工知能(AI;Artificial Intelligence)エージェントを学習させ、従来よりも高い性能を有する(すなわちゲームが「うまい」)AIエージェントが実現されている。例えば、非特許文献1には、囲碁をプレイするAIエージェントに適用されたディープニューラルネットワークに関する技術が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】David Silver, et al, “Mastering the Game of Go with Deep Neural Networks and Tree Search”Nature 529,484-489,(28 January 2016)
【発明の概要】
【発明が解決しようとする課題】
【0005】
対戦型ゲームにおいて、AI等によって得られた評価値に基づいて仮想の対戦相手(NPC)としてユーザ(プレイヤ)がプレイする際に興趣を感じさせるためには適切な強さに設定できることが望まれる。例えば、ユーザ(プレイヤ)が初心者である場合にはNPCが強すぎると電子ゲームに対する興味を失ってしまうことがある。一方、熟練度が高いユーザ(プレイヤ)の場合にはNPCが弱すぎると電子ゲームに対する満足感が得られないことがある。
【0006】
本発明は、複数のオブジェクトを使用する電子ゲームをプレイする人工知能エージェントにおいて適切な強さを発揮できる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の1つの態様は、複数のオブジェクトを使用する電子ゲームにおいて前記オブジェクトの使用に対する電子ゲーム上の戦略を評価値として評価するための機械学習をさせた戦略評価手段と、前記戦略評価手段を用いて電子ゲームにおいて適用可能である前記オブジェクトの使用に対する評価値の出力結果を得て、当該評価値を昇順又は降順に並べて合計した累積値において基準範囲に該当する評価値に対応する前記オブジェクトの使用から実際に電子ゲームに適用する前記オブジェクトの使用を決定する戦略決定手段と、を備えることを特徴とする情報処理装置である。
【0008】
ここで、前記戦略決定手段は、前記累積値を所定の範囲に正規化し、当該正規化された累積値において基準範囲に該当する評価値に対応する前記オブジェクトの使用から実際に電子ゲームに適用する前記オブジェクトの使用を決定することが好適である。
【0009】
また、前記戦略決定手段は、前記基準範囲を所定の範囲に正規化し、前記累積値において当該正規化された基準範囲に該当する評価値に対応する前記オブジェクトの使用から実際に電子ゲームに適用する前記オブジェクトの使用を決定することが好適である。
【0010】
また、前記戦略評価手段は、電子ゲームにおける過去のプレイ履歴を用いて前記オブジェクトの使用に対する電子ゲーム上の戦略を評価値として評価するための機械学習をさせたものであることが好適である。
【0011】
また、前記戦略決定手段は、前記戦略評価手段を用いて電子ゲームにおいて適用可能である前記オブジェクトの使用に対する評価値のすべてを用いて前記累積値を算出することが好適である。
【0012】
また、前記戦略決定手段は、前記戦略評価手段を用いて電子ゲームにおいて適用可能である前記オブジェクトの使用に対する評価値の一部のみを用いて前記累積値を算出することが好適である。
【0013】
また、前記基準範囲は、電子ゲームの難易度に応じて設定変更が可能であることが好適である。
【0014】
また、前記基準範囲の幅は変更可能であることが好適である。
【0015】
また、前記基準範囲は、電子ゲームのプレイの経過時間に応じて設定変更されることが好適である。
【0016】
また、前記基準範囲を複数設定し、前記基準範囲の各々に対する前記オブジェクトの使用を決定することによって複数のプレイヤによる電子ゲームのプレイの戦略を決定することが好適である。
【0017】
また、前記戦略決定手段は、前記基準範囲に該当する評価値から均一な確率分布に応じて選択された評価値に対応する前記オブジェクトの使用を実際に電子ゲームに適用する前記オブジェクトの使用として決定することが好適である。
【0018】
また、前記戦略決定手段は、前記基準範囲に該当する評価値から所定の確率分布に応じて選択された評価値に対応する前記オブジェクトの使用を実際に電子ゲームに適用する前記オブジェクトの使用として決定することが好適である。ここで、前記確率分布は、前記基準範囲の最大値又は最小値において確率分布の最大値をとる正規分布であることが好適である。
【0019】
本発明の別の態様は、コンピュータを、複数のオブジェクトを使用する電子ゲームにおいて前記オブジェクトの使用に対する電子ゲーム上の戦略を評価値として評価するための機械学習をさせた戦略評価手段と、前記戦略評価手段を用いて電子ゲームにおいて適用可能である前記オブジェクトの使用に対する評価値の出力結果を得て、当該評価値を昇順又は降順に並べて合計した累積値において基準範囲に該当する評価値に対応する前記オブジェクトの使用から実際に電子ゲームに適用する前記オブジェクトの使用を決定する戦略決定手段と、して機能させることを特徴とする情報処理プログラムである。
【0020】
本発明の別の態様は、複数のオブジェクトを使用する電子ゲームにおいて前記オブジェクトの使用に対する電子ゲーム上の戦略を評価値として評価するための機械学習をさせる戦略学習工程と、前記戦略学習工程で学習されたエージェントを用いて電子ゲームにおいて適用可能である前記オブジェクトの使用に対する評価値の出力結果を得て、当該評価値を昇順又は降順に並べて合計した累積値において基準範囲に該当する評価値に対応する前記オブジェクトの使用から実際に電子ゲームに適用する前記オブジェクトの使用を決定する戦略決定工程と、を備えることを特徴とする情報処理方法である。
【発明の効果】
【0021】
本発明によれば、複数のオブジェクトを使用する電子ゲームをプレイする人工知能エージェントにおいて適切な強さを発揮できる情報処理装置及び情報処理プログラムを提供することができる。
【図面の簡単な説明】
【0022】
図1】本発明の実施の形態におけるゲームシステムの構成概略図である。
図2】本発明の実施の形態におけるゲームシステムが提供するゲームのゲーム画面の例を示す図である。
図3】本発明の実施の形態におけるプランナ端末の構成概略図である。
図4】本発明の実施の形態におけるプレイヤ端末の構成概略図である。
図5】本発明の実施の形態におけるゲームサーバの構成概略図である。
図6】キャラクタDBの内容例を示す図である。
図7】プレイヤログDBの内容例を示す図である。
図8】本発明の実施の形態におけるAI対戦処理部の構成概略図である。
図9】本発明の実施の形態におけるキャラクタの使用と評価値との関係を示す図である。
図10】本発明の実施の形態における評価値の累積値に対する正規化処理を説明するための図である。
図11】本発明の実施の形態における基準範囲の設定例を示す図である。
図12】本発明の実施の形態におけるキャラクタの使用の選択処理を説明するための図である。
図13】本発明の実施の形態における基準範囲の設定例を示す図である。
図14】本発明の実施の形態における基準範囲の設定例を示す図である。
図15】本発明の実施の形態におけるキャラクタの使用の選択処理を説明するための図である。
図16】本発明の実施の形態におけるキャラクタの使用の選択処理を説明するための図である。
図17】本発明の変形例におけるAI対戦処理部の構成概略図である。
図18】本発明の変形例における基準範囲の設定例を示す図である。
【発明を実施するための形態】
【0023】
以下、本発明の実施形態について説明する。
【0024】
図1に、本実施形態に係るゲームシステム10の構成概略図が示されている。ゲームシステム10は、ゲームシステム10により提供される電子ゲーム(以下単に「本ゲーム」と記載する)の開発者、より詳しくは、本ゲームで使用されるオブジェクト(キャラクタ)の作成者であるプランナが使用するプランナ端末12、本ゲームのプレイヤが使用するプレイヤ端末14、及び、情報処理装置としてのゲームサーバ16を含んで構成されている。プランナ端末12とゲームサーバ16との間、及び、プレイヤ端末14とゲームサーバ16との間は、通信回線18を介して互いに通信可能に接続されている。通信回線18は、例えばインターネットあるいはローカルエリアネットワーク(LAN)などによって構成される。なお、図1には、プランナ端末12及びプレイヤ端末14がそれぞれ1つずつ示されているが、これらはそれぞれ複数設けられてよい。
【0025】
ゲームシステム10においては、プランナがプランナ端末12を用いてゲームサーバ16にアクセスすることで、オブジェクトの作成を含む本ゲームの開発を行うことができる。また、ユーザ(プレイヤ)がプレイヤ端末14を用いてゲームサーバ16にアクセスすることで、ユーザはNPC(Non Player Character)との電子ゲームの対戦を行うことができる。また、ゲームサーバ16においてNPC(Non Player Character)同士を対戦させることもできる。
【0026】
ここで、本ゲームの内容について説明する。図2に、プレイヤ端末14に表示されるゲーム画面の例が示されている。本ゲームは、複数のオブジェクトとしての複数のキャラクタを使用して、敵プレイヤと対戦を行うものである。敵プレイヤとしては、自プレイヤ以外の他のプレイヤであってもよいし、コンピュータ(ゲームサーバ16)であってもよい。具体的には、ゲームフィールドとしての、複数のマスが定義された盤20上に、オセロ(登録商標)の要領で自プレイヤと敵プレイヤとが交互にキャラクタを配置していくものである。図2においては、各マスの行が数字「1」~「6」で、列が英字「A」~「F」で示されている。
【0027】
盤20上の白丸は自プレイヤの石(白石)を示し、黒丸は敵プレイヤの石(黒石)を示す。そして、盤20上の白丸の中にキャラクタ名(例えば「C0055」)が記載されたものは自プレイヤのキャラクタ(自キャラクタ)を示し、黒丸の中にキャラクタ名が記載されたものは敵プレイヤのキャラクタ(敵キャラクタ)を示す。2つの自キャラクタ、又は、1つの白石と1つの自キャラクタで、敵キャラクタあるいは黒石を挟み込むと、敵キャラクタあるいは黒石を白石に変化させる(ひっくり返す)ことができる。また、2つの敵キャラクタ、又は、1つの黒石と1つの敵キャラクタで、自キャラクタあるいは白石が挟み込まれると、自キャラクタあるいは白石が黒石に変化させられる。なお、通常のオセロ同様、ゲーム開始時において、盤20の中央部4つのマスには白石と黒石が2つずつ置かれていてよい。すなわち、3Cのマス及び4Dのマスには白石が、3Dのマス及び4Cのマスには黒石が置かれていてよい。
【0028】
プレイヤは、本ゲーム内において定義された複数のキャラクタであって、当該プレイヤが取得した(本ゲーム内で使用可能となった)キャラクタの中から複数のキャラクタを選択する。例えば、本実施形態では16個のキャラクタを選択する。プレイヤによって選択された16個のキャラクタ群をデッキと呼ぶ。プレイヤは、ゲームの進行に応じて、あるいは、課金することによって新たなキャラクタを取得することができる。図2に示すように、デッキの中から選択された4つのキャラクタが画面に表示される。当該4つのキャラクタを手駒22と呼ぶ。なお、手駒22は、ゲームサーバ16によってデッキの中からランダムに選択されてもよいし、プレイヤがデッキの中から選択可能となっていてもよい。ユーザは、4つの手駒22の中から任意のキャラクタを選択し、選択したキャラクタを盤20上のマスに配置する。手駒22の中から1つのキャラクタが盤20上に配置されると、デッキの中から選択された1つのキャラクタが新たに手駒22に加えられる。
【0029】
詳細は後述するが、各キャラクタには複数のパラメータが設定されている。例えば、攻撃力、スキル効果、スキル発動条件といったパラメータが設定されている。キャラクタが盤20上に配置されると、当該キャラクタの攻撃力に応じたダメージを対戦相手に与えることができる。あるいは、当該キャラクタのスキル発動条件が満たされると、当該キャラクタが有する特殊効果としてのスキル(技)が実行され、スキル効果(あるいはスキル効果及び攻撃力)に応じたゲーム上の効果が発動される。
【0030】
自プレイヤ及び敵プレイヤにはそれぞれHP(ヒットポイント)が設定されている。図2においては、自プレイヤの最大HPが250であり、現在のHPが180であることが示されている。キャラクタが盤20上に配置されたことや、スキルを実行することなどによって対戦相手のHPを減らすことができる。また、キャラクタのスキルによってHPが回復できるようになっていてもよい。そして、先にHPが0になった方が負けであり、他方が勝ちとなる。
【0031】
このように、ゲームシステム10により提供されるゲームは、プレイヤが複数のキャラクタを使用しながら対戦相手と対戦を行うゲームである。
【0032】
図3には、プランナ端末12の構成概略図が示されている。プランナ端末12は、例えば一般的なコンピュータであってよい。
【0033】
制御部12aは、例えばCPU(Central Processing Unit)あるいはマイクロコンピュータなどを含んで構成され、後述の記憶部12eに記憶されたプログラムに従ってプランナ端末12の各部を制御するものである。通信部12bは、例えばネットワークアダプタなどを含んで構成され、通信回線18を介してゲームサーバ16と通信する機能を有するものである。入力部12cは、例えばマウス、キーボード、あるいはタッチパネルなどを含んで構成される。入力部12cは、プランナの指示をプランナ端末12に入力するためのものである。表示部12dは、例えば液晶ディスプレイなどを含んで構成され、各種画面を表示するものである。特に、表示部12dには、ゲームの開発画面などが表示される。記憶部12eは、例えばハードディスク、RAM(Random Access Memory)、あるいはROM(Read Only Memory)などを含んで構成される。記憶部12eには、プランナ端末12の各部を動作させるためのプログラムが記憶される。あるいは、記憶部12eには、各種の制御データあるいは各種の処理結果データなどが記憶される。
【0034】
図4には、プレイヤ端末14の構成概略図が示されている。本実施形態においては、プレイヤ端末14としてはスマートフォンやタブレット端末といった携帯型の端末が用いられるが、プレイヤ端末14は据え置き型のコンピュータであってもよい。
【0035】
制御部14aは、例えばCPUあるいはマイクロコンピュータなどを含んで構成され、後述の記憶部14eに記憶されたゲームのクライアントプログラムに従ってプレイヤ端末14の各部を制御するものである。通信部14bは、例えばネットワークアダプタなどを含んで構成され、通信回線18を介してゲームサーバ16と通信する機能を有するものである。入力部14cは、例えばタッチパネルあるいはボタンなどを含んで構成される。入力部14cは、プレイヤの指示をプレイヤ端末14に入力するためのものである。表示部14dは、例えば液晶ディスプレイなどを含んで構成され、各種画面を表示するものである。特に、表示部14dにはゲーム画面などが表示される。記憶部14eは、例えばRAMあるいはROMなどを含んで構成される。記憶部14eには、ゲームのクライアントプログラムが記憶される。あるいは、記憶部14eには、各種の制御データあるいは各種のゲーム処理結果データなどが記憶される。
【0036】
図5には、ゲームサーバ16の構成概略図が示されている。
【0037】
通信部30は、例えばネットワークアダプタなどを含んで構成され、通信回線18を介してプランナ端末12及びプレイヤ端末14と通信する機能を有するものである。記憶部32は、例えばハードディスク、RAM、あるいはROMなどを含んで構成される。記憶部32には、情報処理プログラムとしての、ゲームのホストプログラムが記憶される。当該ホストプログラムが実行されることで、ゲームが進行すると共に、ゲームサーバ16の各部が動作する。また、図5に示される通り、記憶部32には、キャラクタDB34、プレイヤログDB36、分散表現DB38、AIログDB40、AIエージェント42、及び、複数の統計データ44aからなる統計データ群44が記憶される。
【0038】
キャラクタDB34は、本ゲームにおいて(すなわちホストプログラムによって)定義され、本ゲーム内で自プレイヤあるいは敵プレイヤが使用可能なキャラクタに関するデータが格納されたデータベースである。具体的には、キャラクタDB34には、各キャラクタに設定された各パラメータが格納されている。なお、本ゲームにおいては、千数百のキャラクタを使用することが可能となっており、また、新規キャラクタが逐次追加されていく仕様になっている。
【0039】
図6に、キャラクタDB34の内容例が示されている。図6においては、キャラクタDB34がテーブル形式で示されているが、キャラクタDB34のデータ形式はこれに限られるものではない。図6においては、1つのレコードが1つのキャラクタに対応している。本実施形態では、各キャラクタは、キャラクタ名、当該キャラクタの特徴を示す属性、当該キャラクタの入手困難度を示すレア度、当該キャラクタが盤20上に配置されたときに対戦相手に与えるダメージの基準となる攻撃力、スキル名、当該キャラクタのスキルが発動する条件を示すスキル発動条件、及び、スキルが発動したときの効果であるスキル効果のパラメータを有している。なお、スキル効果の欄にある「通常攻撃」とは、キャラクタが盤20上に配置され、スキルを発動せずに攻撃力の値に基づいて対戦相手にダメージを与えることを意味する。
【0040】
これらのパラメータはプランナによって定義することができる。もちろん、パラメータの項目としては、これらに限られず、各キャラクタは、その他の項目に対するパラメータを有していてもよい。
【0041】
図6に示すように、本実施形態においては、各キャラクタのスキル発動条件が、例えば「HPが最大HPの5%以下」あるいは「盤上に属性がP1の自キャラクタが3つ以上」といったように、ゲーム状況に関する条件で規定されている。したがって、プレイヤとして、各キャラクタのスキル発動条件がゲーム状況に関する条件で規定されているために、デッキに入れるキャラクタを適切に選択することが難しくなっている。すなわち、プレイヤとして、キャラクタのスキル発動条件を見ても、当該キャラクタがどの程度の確率でスキルを発動するのかを把握することが容易でないからである。
【0042】
図5に戻り、プレイヤログDB36、分散表現DB38、及びAIログDB40には、それぞれ各種データが格納される。これらのデータベースに格納されるデータの詳細については後述する。
【0043】
AIエージェント42は、本ゲームをプレイする人工知能プログラムである。AIエージェント42は、戦略評価手段として機能する。AIエージェント42は、後述のディープラーニングを用いた方法によって学習される。AIエージェント42の学習手法の詳細については後述する。本実施形態におけるAIエージェント42は、多層ニューラルネットワークを含んで構成される。多層ニューラルネットワークは、各種パラメータ(層構造、各層におけるニューロン構造、各ニューロンの重みあるいはバイアスなど)により定義されるため、記憶部32は、これらのパラメータが記憶される。
【0044】
統計データ44aは、キャラクタの使用結果に関する統計データである。本実施形態においては、統計データ44aはキャラクタ毎に生成され、各キャラクタに対応した複数の統計データ44aが統計データ群44である。なお、統計データ44aは、後述の統計データ生成部64により生成されるものであり、その詳細については後述する。
【0045】
制御部50は、例えばCPU、GPU(Graphics Processing Unit)あるいはマイクロコンピュータなどを含んで構成され、記憶部32に記憶されたゲームのホストプログラムに従ってゲームサーバ16の各部を制御する。また、図5に示される通り、制御部50は、ホストプログラムによって、プレイヤログ収集部52、表現学習部54、教師あり学習部56、AI対戦処理部58、強化学習部60、AIログ収集部62、統計データ生成部64、及び、表示制御部66としても機能する。以下、制御部50が有するこれらの機能について説明する。
【0046】
プレイヤログ収集部52は、本ゲームに関するプレイヤのゲーム進行履歴を示すデータであるプレイヤログを取得して、プレイヤログDB36に格納する。プレイヤログ収集部52は、プレイヤによるゲームプレイが終了した時、あるいはゲームプレイ中にプレイヤログを取得する。ちなみに、ここでいうプレイヤには、本ゲームの開発者も含まれていてよく、プレイヤログ収集部52は、開発者によるテストプレイに関するログを取得するようにしてもよい。いずれにしても、プレイヤログは、人間による実際のゲームプレイに関するログである。
【0047】
図7に、プレイヤログDB36の内容例が示されている。図7においては、プレイヤログDB36もテーブル形式で示されているが、プレイヤログDB36のデータ形式はこれに限られるものではない。上述の通り、本ゲームは第1プレイヤと第2プレイヤとが交互にキャラクタを盤20上に配置していくものであるから、プレイヤログDB36には、「ターン数」、当該ターンで第1プレイヤ又は第2プレイヤが盤20上に配置したキャラクタを示す「配置キャラクタ」、当該ターンで当該キャラクタが配置された場所を示す「配置場所」、当該ターンで相手の石又は敵キャラクタをひっくり返した枚数を示す「ひっくり返した枚数」、当該ターンで配置されたキャラクタのスキルが発動したか否かを示す「スキル発動」、及び、当該スキル発動により生じた効果(例えばダメージ量)を示す「スキル効果値」の項目を含む。もちろん、図7に示された項目は一例であり、プレイヤログにはその他の項目が含まれていてもよい。例えば、キャラクタの通常攻撃によって相手に与えた実績ダメージ量などの項目が含まれていてもよい。
【0048】
このように、プレイヤログには、第1プレイヤあるいは第2プレイヤが各キャラクタを用いた(つまり盤20上に置いた)場合における使用結果(「ひっくり返した枚数」、「スキル発動」、あるいは「スキル効果値」)が含まれている。
【0049】
表現学習部54は、プレイヤログDB36に格納された、ゲームログとしてのプレイヤログに基づいて、表現学習を行う。これにより、キャラクタDB34に登録された各キャラクタの特徴を表す特徴ベクトルを学習する。すなわち、表現学習部54は、本ゲームで用いられる各キャラクタの分散表現を学習する。表現学習部54により学習された各キャラクタの特徴ベクトル(分散表現)は、分散表現DB38に格納される。また、表現学習部54は、プレイヤログに代えて、あるいはプレイヤログと併せて、後述するAI対戦処理部58によるAIエージェント42によるゲーム進行履歴を示す、ゲームログとしてのAIログを用いて表現学習を行ってもよい。
【0050】
本実施形態に係る特徴ベクトルは、例えば5次元のベクトルであり、各要素は本ゲームにおける戦略上の特徴(例えば、「角に置きたい」、「序盤に使いたい」など)を示すものである。
【0051】
表現学習部54は、例えばニューラルネットワークから構成される表現学習用の学習器を用いて表現学習を行う。具体的には、プレイヤログのうち、あるキャラクタが使用される前のゲーム状態(盤20上の石あるいはキャラクタの配置状態など)と、当該キャラクタが使用された結果(次状態)とに基づいて、当該キャラクタの特徴ベクトルの各要素の値を学習していく。
【0052】
このように、各キャラクタを分散表現することで、多数のキャラクタをより低次元のベクトルで表現することが可能となる。また、本ゲームにおける戦略上の特徴が似ているキャラクタが、似た特徴ベクトルで表現されることになる。なお、表現学習の方法としては、様々な既知の学習方法を用いることができる。
【0053】
教師あり学習部56は、プレイヤログDB36に格納されたプレイヤログと、表現学習部54が学習した各キャラクタの特徴ベクトルとを少なくとも用いて、AIエージェント42に各キャラクタの使用に関する戦略を機械学習させる。教師あり学習部56は、後述する強化学習部60と併せて戦略学習手段として機能する。
【0054】
ここで、各キャラクタの使用に関する戦略とは、あるゲーム状態において、どのような特徴を有するキャラクタを使用すべきか、あるいは、キャラクタを盤20上のどの位置に配置すべきかなどを含む戦略である。
【0055】
具体的には、教師あり学習部56は、あるゲーム時点における盤面上あるいは手駒内に存在するキャラクタの特徴ベクトル、配置位置、ターン数、行動可能手、ヒットポイントといったゲーム状態、及び行動情報(特定のキャラクタをあるマスに配置すること)などを入力とし、入力されたゲーム状態における入力された行動情報の評価値を出力とした学習データを用いてAIエージェント42を学習させる。なお、当該評価値は、プレイヤログに基づいて予め算出される。すなわち、教師あり学習部56は教師あり学習によってAIエージェント42を学習させる。
【0056】
教師あり学習部56における学習においては、各キャラクタが特徴ベクトルで表現した上で学習を行うから、各キャラクタを個別にラベル付けした場合に比して、学習における演算量を低下させることができる。また、特徴が似ているキャラクタは、似た特徴ベクトルで表現されているから、あるキャラクタに関する学習が、当該キャラクタに似たキャラクタに関する学習をすることになる。つまり、学習の汎化の効果が期待できる。
【0057】
AI対戦処理部58は、教師あり学習部56によって学習された、あるいは、後述の強化学習部60によってさらに学習されたAIエージェント42を利用して対戦処理を行う。すなわち、AI対戦処理部58は、戦略学習手段である教師あり学習部56及び後述の強化学習部60によって学習されたAIエージェント42を用いた電子ゲームに対する戦略決定手段として機能する。
【0058】
AI対戦処理部58では、AIエージェント42とユーザ(プレイヤ)との対戦処理を行う。また、AI対戦処理部58は、AIエージェント42同士を対戦させる処理を行うようにしてもよい。対戦においては、デッキに入れるキャラクタの選択からAIエージェント42に任せてもよい。AI対戦処理部58における対戦処理については後述する。
【0059】
強化学習部60は、AIエージェント42を強化するための学習である強化学習を行う。強化学習とは、教師あり学習とは異なる手法であり、強化学習としては例えばQ学習などを用いることができる。具体的には、強化学習においては、あるゲーム状態からのAIエージェント42が選択した一連の行動の結果(例えば勝ちあるいは負け)に基づいてAIエージェント42に報酬が与えられ、AIエージェント42は、当該報酬に基づいて取るべき行動を学習する。
【0060】
本実施形態においては、強化学習部60は、AI対戦処理部58による対戦結果に基づいて学習を行う。なお、強化学習部60は、プレイヤログDB36に格納されたプレイヤログに基づいて強化学習を行うようにしてもよい。また、強化学習部60は、強化学習において、AIエージェント42と他のNPC(Non Player Character;AIエージェント42ではないルールベースのAI)との対戦結果に基づいて学習を行うようにしてもよい。
【0061】
本ゲームにおいては、ゲーム状態によってAIエージェント42が取り得る行動が異なる。例えば、盤20の状態によってキャラクタを配置できる位置が異なるし、手駒22の種類によってそもそも使用できるキャラクタが異なる。したがって、本実施形態においては、あるゲーム状態とAIエージェント42が取ることができる行動とを両方入力し、入力された行動の価値を示す指標を出力するという方法で強化学習を行う。
【0062】
なお、強化学習においても、表現学習部54が学習した各キャラクタの特徴ベクトルを用いながら学習するのが好適である。これにより、教師あり学習部56における効果と同様の効果を強化学習においても得ることができる。
【0063】
本実施形態においては、教師あり学習部56及び強化学習部60の少なくとも一方が戦略学習手段に相当する。すなわち、各キャラクタの使用に関する戦略をAIエージェント42に学習させる戦略学習は、教師あり学習と強化学習のどちらか一方又は両方である。
【0064】
強化学習部60において強化学習されたAIエージェント42に基づいて、AI対戦処理部58において対戦処理を行ってもよい。この場合、強化学習部60によってさらに学習されたAIエージェント42とユーザ(プレイヤ)との対戦処理を行う。また、AI対戦処理部58は、AIエージェント42同士を対戦させる処理を行うようにしてもよい。対戦においては、デッキに入れるキャラクタの選択からAIエージェント42に任せてもよい。AI対戦処理部58における評価値に基づく対戦処理については後述する。
【0065】
AIログ収集部62は、AI対戦処理部58における本ゲームのゲーム進行履歴を示し、複数のキャラクタの使用結果を含むデータであるAIログを取得して、AIログDB40に格納する。AIログはプレイヤログと同等の項目を有するため、ここではAIログの詳細な説明は省略する。プレイヤログとAIログとの差異は、プレイヤによるゲーム進行の履歴を示すものであるか、少なくともプレイヤの一方がAIエージェント42であるときのゲーム進行の履歴を示すものであるかのみである。なお、AIログ収集部62は、AIエージェント42とユーザ(プレイヤ)との対戦によるログのみならず、AIエージェント42同士の対戦やAIエージェント42とNPCとの対戦によるログをAIログとして取得するようにしてもよい。
【0066】
統計データ生成部64は、AIログDB40に格納されたAIログに基づいて、統計データ44aを生成する。上述の通り、統計データ44aは、各キャラクタに応じて生成されるものであり、各キャラクタの使用結果に関するものである。例えば、統計データ44aは、キャラクタを使用した場合における勝率を含んでいてよい。この場合、統計データ生成部64は、AIログの中から、注目キャラクタと、注目キャラクタが使用された場合に使用したAIエージェント42が勝ったか否かを抽出して、注目キャラクタに関する勝率を算出する。
【0067】
また、統計データ44aは、キャラクタを使用した場合におけるスキルの発動確率を含んでいてよい。この場合、統計データ生成部64は、AIログの中から、注目キャラクタと、注目キャラクタが使用された場合にスキルが発動されたか否かを抽出して、注目キャラクタに関するスキル発動確率を算出する。
【0068】
また、統計データ44aは、キャラクタを使用した場合に生じた効果の分布を含んでいてよい。この場合、統計データ生成部64は、AIログの中から、注目キャラクタと、注目キャラクタがスキルを発動した場合におけるスキル効果値を抽出して、注目キャラクタに関するスキル効果値の分布を算出する。あるいは、キャラクタを使用した場合に生じた効果には、キャラクタが通常攻撃をした場合に相手に与えたダメージ量が含まれていてもよく、すなわち、統計データ生成部64は、AIログの中から、注目キャラクタと、注目キャラクタの通常攻撃により相手に与えたダメージを抽出して、注目キャラクタの通常攻撃のダメージの分布を算出する。
【0069】
以上の通り、本実施形態においては、統計データ44aは、キャラクタを使用した場合における勝率、キャラクタを使用した場合におけるスキルの発動確率、及び、キャラクタを使用した場合に生じた効果の分布の少なくとも1つを含むものである。もちろん、統計データ44aにはその他のデータが含まれていてもよい。
【0070】
統計データ生成部64は、上述の処理によって、キャラクタDB34に登録された複数のキャラクタ、理想的には、全てのキャラクタについての統計データ44aを生成する。これにより統計データ群44が形成される。
【0071】
表示制御部66は、プランナ端末12からの(すなわちプランナからの)要求に従って、統計データ生成部64が生成した統計データ44aをプランナ端末12の表示部12dに表示させる。また、表示制御部66は、プレイヤ端末14からの(すなわちプレイヤからの)要求に従って、統計データ生成部64が生成した統計データ44aをプレイヤ端末14の表示部14dに表示させる。なお、表示制御部66は、開発中キャラクタに関する統計データ44aはプレイヤ端末14の表示部14dには表示させないものとする。
【0072】
[AI対戦処理部]
以下、AI対戦処理部58での対戦処理について説明する。上記のとおり、AI対戦処理部58は、教師あり学習部56及び強化学習部60によって学習させたAIエージェント42を用いて、AIエージェント42とユーザ(プレイヤ)、AIエージェント42同士の対戦処理を行う。
【0073】
AI対戦処理部58は、図8に示すように、評価値算出部58a、評価値正規化部58b、基準範囲設定部58c及び処理決定部58dを含んで構成される。
【0074】
評価値算出部58aでは、教師あり学習部56又は強化学習部60で学習させたAIエージェント42を適用して電子ゲームにおいて現状使用できるキャラクタに対する評価値を求める。
【0075】
例えば、デッキに含まれる16個のキャラクタのうち手駒22と呼ばれる4のキャラクタ(キャラクタA~D)をそれぞれ4つのマス(マスB4,B5,D2,F3)のうちいずれかに配置可能な場合、図9に示すように、4つのキャラクタに対してそれぞれ4つのマスに配置するという16通りのキャラクタの使用のバリエーションがある。そこで、これら16通りのキャラクタの使用の各々についてAIエージェント42を用いて評価値を求める。図9では、例えば、キャラクタの使用(1)としてキャラクタAをマスB4に配置することに対応して評価値が20、キャラクタの使用(2)としてキャラクタAをマスB5に配置することに対応して評価値が15・・・というように、キャラクタの使用の各々についてAIエージェント42を用いて評価値を求められている。
【0076】
評価値正規化部58bは、評価値を正規化する処理を行う。評価値正規化部58bは、評価値算出部58aで求められた複数の評価値を昇順に並べて累積し、当該累積値が所定の数値範囲となるように正規化処理を行う。
【0077】
以下、説明を簡潔にするために、評価値算出部58aにおいて5通りのキャラクタの使用のバリエーション(キャラクタの使用(1)~(5))について5つの評価値が得られた例について示す。評価値正規化部58bは、図10に示すように、5つの評価値を小さい順(昇順)に並べて累積値を求め、当該累積値が0~100の数値範囲となるように正規化する。これによって、評価値算出部58aで得られた評価値に対して正規化された累積値が得られる。
【0078】
なお、評価値正規化部58bにおける正規化の数値範囲は、0~100に限定されるものではなく、複数の評価値の累積値を一定の値に正規化できるものであればよい。例えば、数値範囲は、0~1、0~10等の範囲としてもよい。
【0079】
また、評価値正規化部58bにおいて累積対象とする評価値は、評価値算出部58aにおいて得られたすべての評価値を累積するものとしてもよいし、一部の評価値を累積するものとしてもよい。例えば、電子ゲームにおいて選択可能なすべてのキャラクタの使用を考慮して実際に電子ゲームに適用されるキャラクタの使用を決定したい場合には評価値算出部58aにおいて得られたすべての評価値を累積して正規化された累積値を算出する。また、例えば、電子ゲームにおいて所定基準値未満の評価値となったキャラクタの使用は避けて実際に電子ゲームに適用されるキャラクタの使用を決定したい場合には当該基準値以上の評価値のみを累積して正規化された累積値を算出してもよい。
【0080】
基準範囲設定部58cは、評価値正規化部58bにおいて正規化された累積値に対して処理を選択するための基準範囲を設定する。基準範囲は、評価値正規化部58bにおける正規化された累積値の数値範囲内に設定される。AIエージェント42は、正規化された累積値において基準範囲に含まれる評価値に対応するキャラクタの使用のみを選択することができる。すなわち、基準範囲は、電子ゲームにおいてAIエージェント42が選択できるキャラクタの使用の範囲を決定する。
【0081】
例えば、図11に示すように、評価値の累積値を0~100の数値範囲に正規化する処理が行われた場合、基準範囲は0~100の範囲内において40~80に設定される。この場合、AIエージェント42は、当該基準範囲40~80に含まれる評価値に対応するキャラクタの使用(1:キャラクタAをマスB4に配置),(5:キャラクタBをマスB4に配置),(3:キャラクタAをマスD2に配置)のうちいずれか1つを実際に適用するキャラクタの使用として決定できる。
【0082】
処理決定部58dは、電子ゲームで実際に適用される処理の決定が行われる。決定される処理は、例えば、電子ゲームにおいてどのキャラクタをどのマスに配置するか等の処理である。処理決定部58dは、基準範囲設定部58cで設定された基準範囲に該当する評価値に対応する処理を電子ゲームに適用する処理として決定する。具体的には、基準範囲設定部58cで設定された基準範囲から所定の確率分布にしたがって選択値を選択し、当該選択値に該当する評価値に対応するキャラクタの使用を実際に適用されるキャラクタの使用として選択する。
【0083】
例えば、評価値について正規化された累積値に対する基準範囲の全範囲に亘って均一な確率分布に基づいて選択値を決定する。正規化された累積値に対する基準範囲が40~80に設定されている場合、図12に示すように、当該基準範囲の全範囲に亘って均一な確率分布に基づいて選択値を決定する。そして、正規化された累積値において当該選択値に該当する評価値に対応するキャラクタの使用(5:キャラクタBをマスB4に配置する)を実際に電子ゲームに適用するキャラクタの使用として選択する。すなわち、基準範囲の全範囲からランダムに選択値を決定し、当該選択値に対応するキャラクタの使用を実際に電子ゲームに適用するキャラクタの使用として選択する。
【0084】
本実施の形態のように、正規化された累積値に対して基準範囲を設定することによって、当該基準範囲に該当する複数通りの候補からキャラクタの使用が選択されることになり、電子ゲームにおけるAIエージェント42の強さを調節することができる。
【0085】
ここで、電子ゲームの難易度に応じて基準範囲の設定が変更できるようにしてもよい。例えば、図13に示すように、対戦相手のユーザ(プレイヤ)が初心者である場合には基準範囲を0以上30未満に設定し、中級者である場合には基準範囲を30以上60未満に設定し、上級者である場合には基準範囲を60以上90未満に設定し、最上級者である場合には基準範囲を90以上100以下に設定してもよい。これによって、初心者に対しては正規化された累積値に含まれる評価値のうち相対的に低い評価値に対応するキャラクタの使用が選択され、上級になるにしたがって相対的により高い評価値に対応するキャラクタの使用が選択されるようにすることができる。
【0086】
具体的には、電子ゲームのプレイを開始する際等にプレイヤ端末14からユーザ(プレイヤ)が希望するレベル(難易度)の入力を受けて、当該入力結果をゲームサーバ16へ送信することによって、ゲームサーバ16において当該レベルに応じた基準範囲を設定するようにすればよい。また、統計データ生成部64において得られた統計データ44aに基づいて基準範囲を設定するようにしてもよい。例えば、AIエージェント42とユーザ(プレイヤ)との対戦における過去の勝率に応じて基準範囲を設定するようにしてもよい。
【0087】
また、図14に示すように、基準範囲の幅を変更できるようにしてもよい。基準範囲の幅は、AIエージェント42によって選択され得るキャラクタの使用の選択幅に対応する。したがって、基準範囲の幅を拡げることによって、AIエージェント42が毎回適用するキャラクタの使用のばらつきも拡がり、AIエージェント42の強さに変化を持たせることができる。一方、基準範囲の幅を狭めることによって、AIエージェント42が毎回適用するキャラクタの使用のばらつきは小さくなり、AIエージェント42を一定の強さに安定させることができる。なお、基準範囲の代わりに1つの基準値を設定して、AIエージェント42の強さを完全に一定に維持するようにしてもよい。
【0088】
具体的には、電子ゲームのプレイを開始する際等にプレイヤ端末14を用いてユーザ(プレイヤ)に電子ゲームをプレイするときに希望する強さの安定性の入力を受けて、当該入力結果をゲームサーバ16へ送信することによって、ゲームサーバ16において当該安定性に応じて基準範囲の幅を設定するようにすればよい。また、統計データ生成部64において得られた統計データ44aに基づいて基準範囲の幅を設定するようにしてもよい。例えば、AIエージェント42とユーザ(プレイヤ)との対戦における過去の勝率の変動に応じて基準範囲の幅を設定するようにしてもよい。
【0089】
また、基準範囲は、電子ゲームのプレイの経過時間に応じて変更できるようにしてもよい。例えば、電子ゲームのプレイの経過時間が長くなるほど基準範囲がより高い数値範囲になるように設定することが好適である。これによって、電子ゲームをプレイした時間が長くなるにつれて、NPCとして対戦相手となるAIエージェント42がより強くなったかのように調整することができる。また、例えば、電子ゲームのプレイの経過時間が長くなるほど基準範囲がより低い数値範囲になるように設定することが好適である。これによって、電子ゲームをプレイした時間が長くなるにつれて、NPCとして対戦相手となるAIエージェント42が疲れによって弱くなったかのように調整することができる。また、例えば、電子ゲームのプレイの経過時間が長くなるほど基準範囲の幅がより広い数値範囲になるように設定することが好適である。これによって、電子ゲームをプレイした時間が長くなるにつれて、NPCとして対戦相手となるAIエージェント42が疲れによって選択にぶれが生じたかのように調整することができる。また、例えば、電子ゲームのプレイの経過時間が長くなるほど基準範囲の幅がより狭い数値範囲になるように設定することが好適である。これによって、電子ゲームをプレイした時間が長くなるにつれて、NPCとして対戦相手となるAIエージェント42の集中力が高まって選択にぶれが生じ難くなったかのように調整することができる。
【0090】
また、基準範囲の全域に亘って均一な確率分布にしたがってランダムに選択値を決定することによって、基準範囲に含まれる複数のキャラクタの使用のいずれかがランダムに選択される。これによって、基準範囲で設定されるAIエージェント42の強さの範囲内において強さにばらつきを持たせることができ、AIエージェント42においてより人間に近い自然な振る舞いを実現することができる。
【0091】
なお、基準範囲に設定する確率分布は特に限定されるものではない。例えば、図15に示すように、基準範囲の最大値において最大確率を有する正規分布に基づいて選択範囲から選択値を決定するようにしてもよい。この場合、設定された基準範囲においてより評価値が高いキャラクタの使用が選択され易くなり、より評価値が低いキャラクタの使用は選択され難くなる。したがって、AIエージェント42の強さをほぼ一定に維持しつつ、ときどき誤った選択をするような仕様を実現することができる。また、例えば、図16に示すように、基準範囲の最小値において最大確率を有する正規分布に基づいて選択範囲から選択値を決定するようにしてもよい。この場合、設定された基準範囲においてより評価値が低いキャラクタの使用が選択され易くなり、より評価値が高いキャラクタの使用は選択され難くなる。したがって、AIエージェント42の強さをほぼ低いレベルに維持しつつ、ときどき評価値の高い選択をするような仕様を実現することができる。
【0092】
また、正規分布の中心値や標準偏差を変更できるようにしてもよい。例えば、電子ゲームのプレイを開始する際等にプレイヤ端末14からユーザ(プレイヤ)が希望するレベルの入力を受けて、当該入力結果をゲームサーバ16へ送信することによって、ゲームサーバ16において当該レベルに応じて正規分布の中心値や標準偏差を設定するようにすればよい。中心値を変更することによってAIエージェント42の相対的な強さを調節することができ、標準偏差を変更することによってAIエージェント42の相対的な安定性を調節することができる。
【0093】
また、AIエージェント42によってNPCとして複数のプレイヤを模擬することもできる。この場合、模擬する複数のプレイヤ毎に基準範囲を設定し、基準範囲の各々についてキャラクタの使用を決定することによって模擬する複数のプレイヤ毎にレベルや安定性を調整することができる。
【0094】
なお、本実施の形態では、評価値を昇順に並べて累積値を算出して当該累積値を正規化する処理としたが、評価値を降順に並べて累積値を算出して当該累積値を正規化する処理としてもよい。この場合、正規化された累積値において低い値ほど評価値の高いキャラクタの使用が選択されることになる。
【0095】
また、上記実施の形態では、評価値正規化部58bにおいて評価値の累積値を所定の数値範囲に正規化するものとしたが、評価値の累積値に応じて基準範囲を正規化するように変形してもよい。
【0096】
図17は、当該変形例におけるAI対戦処理部58の構成を示す。基準範囲設定部58cでは、予め定められた数値範囲において基準となる基準範囲を設定する。例えば、予め定められた数値範囲を0~100として基準となる基準範囲を30以上60以下に設定する。基準範囲正規化部58eでは、基準範囲設定部58cで定められた基準範囲を評価値算出部58aにおいて算出された評価値の累積値に応じて正規化する。例えば、図18に示すように、評価値の累積値が300である場合、当該累積値の範囲0~300と基準範囲がとり得る予め定められた数値範囲0~100とが一致するように基準範囲設定部58cで定められた基準範囲を3倍して90以上180以下に正規化する。
【0097】
なお、当該変形例においても、上記実施の形態と同様に基準範囲を設定変更できるようにしてもよい。例えば、電子ゲームの難易度に応じて基準範囲やその幅を設定変更したり、電子ゲームのプレイの経過時間に応じて基準範囲を設定変更したりするようにしてもよい。
【0098】
本実施形態に係るゲームシステム10の概要は以上の通りである。本実施形態によれば、表現学習部54によって各キャラクタが特徴ベクトルで表現された上で、教師あり学習部56あるいは強化学習部60によりAIエージェント42の学習が行われる。これにより、AIエージェント42の学習をより効率的に行うことが可能となっている。具体的には、上述の通り、キャラクタを表現するベクトルの次元の圧縮による学習のための演算量の低減、及び学習の汎化が実現される。
【0099】
また、本実施形態では、学習されたAIエージェント42とユーザ(プレイヤ)又はAIエージェント42同士の対戦において適切な強さを発揮するようにすることができる。すなわち、学習されたAIエージェント42によって得られるキャラクタの使用に対する評価値に基づいてAIエージェント42を適切な強さに設定することが可能となる。これによって、電子ゲームをプレイするユーザ(プレイヤ)により高い満足感を与えることができる。
【0100】
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
【符号の説明】
【0101】
10 ゲームシステム、12 プランナ端末、12a,14a,50 制御部、12b,14b,30 通信部、12c,14c 入力部、12d,14d 表示部、12e,14e,32 記憶部、14 プレイヤ端末、16 ゲームサーバ、34 キャラクタDB、36 プレイヤログDB、38 分散表現DB、40 AIログDB、42 AIエージェント、44 統計データ群、44a 統計データ、52 プレイヤログ収集部、54 表現学習部、56 教師あり学習部、58 AI対戦処理部、58a 評価値算出部、58b 評価値正規化部、58c 基準範囲設定部、58d 処理決定部、58e 基準範囲正規化部、60 強化学習部、62 AIログ収集部、64 統計データ生成部、66 表示制御部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18