(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022188556
(43)【公開日】2022-12-21
(54)【発明の名称】電子ゲーム提供システム、電子ゲーム提供方法及び電子ゲーム提供プログラム
(51)【国際特許分類】
A63F 13/67 20140101AFI20221214BHJP
A63F 13/79 20140101ALI20221214BHJP
G06N 20/00 20190101ALI20221214BHJP
A63F 13/80 20140101ALN20221214BHJP
【FI】
A63F13/67
A63F13/79
G06N20/00
A63F13/80 A
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021096687
(22)【出願日】2021-06-09
(71)【出願人】
【識別番号】599115217
【氏名又は名称】株式会社 ディー・エヌ・エー
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】甲野 佑
(72)【発明者】
【氏名】田中 一樹
(57)【要約】
【課題】電子ゲームにおける強さを動的に調整可能な人工知能エージェントを提供する。
【解決手段】電子ゲームにおけるゲーム進行に関係する情報を含むゲーム情報64と、電子ゲームにおける強さを示す強度指数と、を少なくとも用いて、強度指数に応じた強さで電子ゲームをプレイの戦略を出力するように学習させた人工知能エージェント62を含むゲームサーバ106とする。
【選択図】
図6
【特許請求の範囲】
【請求項1】
電子ゲームにおけるゲーム進行に関係する情報を含むゲーム情報と、前記電子ゲームにおける強さを示す強度指数と、を少なくとも用いて、前記強度指数に応じた強さで前記電子ゲームをプレイの戦略を出力するように学習させた人工知能エージェントを含むことを特徴とする電子ゲーム提供システム。
【請求項2】
請求項1に記載の電子ゲーム提供システムであって、
前記人工知能エージェントは、前記強度指数に対して前記電子ゲームでの勝率を関連付けた報酬データベースを用いて、前記人工知能エージェント同士の対戦において各々の前記人工知能エージェントに入力された強度指数に対応する勝率となるように報酬を与えることによって前記人工知能エージェントを学習させたものであることを特徴とする電子ゲーム提供システム。
【請求項3】
請求項2に記載の電子ゲーム提供システムであって、
前記人工知能エージェント同士の対戦において、各々の前記人工知能エージェントに入力される強度指数はランダムに設定されることを特徴とする電子ゲーム提供システム。
【請求項4】
請求項1~3に記載の電子ゲーム提供システムであって、
前記電子ゲームをプレイヤが前記電子ゲームをプレイしたときの強さを示すプレイヤ強度指数を推定する推定器を備え、
前記人工知能エージェントを用いて前記電子ゲームをプレイする際に、前記人工知能エージェントに入力される強度指数を前記プレイヤ強度指数に応じて設定することを特徴とする電子ゲーム提供システム。
【請求項5】
請求項4に記載の電子ゲーム提供システムであって、
前記推定器は、前記プレイヤによる前記電子ゲームのプレイの進行履歴に基づいて前記プレイヤ強度指数を推定することを特徴とする電子ゲーム提供システム。
【請求項6】
請求項4に記載の電子ゲーム提供システムであって、
前記推定器は、前記プレイヤによる前記電子ゲームのプレイの結果に基づいて前記プレイヤ強度指数を推定することを特徴とする電子ゲーム提供システム。
【請求項7】
請求項6に記載の電子ゲーム提供システムであって、
前記推定器は、前記プレイヤによる前記電子ゲームのプレイの統計的な勝率に基づいて前記プレイヤ強度指数を推定することを特徴とする電子ゲーム提供システム。
【請求項8】
請求項4~7のいずれか1に記載の電子ゲーム提供システムであって、
前記推定器は、プレイヤが前記電子ゲームをプレイしたときの履歴情報を入力として、当該プレイヤの前記電子ゲームにおける強さを出力するように学習させた人工知能推定器を含むことを特徴とする電子ゲーム提供システム。
【請求項9】
コンピュータを、
電子ゲームにおけるゲーム進行に関係する情報を含むゲーム情報と、前記電子ゲームにおける強さを示す強度指数と、を少なくとも用いて、前記強度指数に応じた強さで前記電子ゲームをプレイの戦略を出力するように学習させた人工知能エージェントとして機能させることを特徴とする電子ゲーム提供プログラム。
【請求項10】
コンピュータを、
電子ゲームにおけるゲーム進行に関係する情報を含むゲーム情報と、前記電子ゲームにおける強さを示す強度指数と、を少なくとも用いて、前記強度指数に応じた強さで前記電子ゲームをプレイの戦略を出力するように学習させた人工知能エージェントとして機能させることによって電子ゲームを提供する電子ゲーム提供方法。
【請求項11】
コンピュータを、
電子ゲームにおけるゲーム進行に関係する情報を含むゲーム情報と、前記電子ゲームにおける強さを示す強度指数と、を少なくとも用いて、前記強度指数に応じた強さで前記電子ゲームをプレイの戦略を出力する人工知能エージェントとして学習させることを特徴とする電子ゲーム提供方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子ゲーム提供システム、電子ゲーム提供方法及び電子ゲーム提供プログラムに関する。
【背景技術】
【0002】
従来、電子ゲームを提供する情報処理装置が知られている。このような情報処理装置によって提供される電子ゲームとしては、キャラクタやカードといった複数のオブジェクト(ゲーム内オブジェクト)を使用する電子ゲームが知られている。その一例として、プレイヤが複数のオブジェクトを使用しながら、コンピュータあるいは他のプレイヤである対戦相手と戦う対戦ゲームがある。
【0003】
一方、近年、機械学習の研究が盛んに行われている。例えば、多層のニューラルネットワークを用いたディープラーニングに関する研究が行われている。このようなディープラーニングを用いて、電子ゲームをプレイする人工知能(AI;Artificial Intelligence)エージェントを学習させ、従来よりも高い性能を有する(すなわちゲームが「うまい」)人工知能エージェントが実現されている。例えば、複数のオブジェクトを使用する電子ゲームをプレイする人工知能エージェントを効率的に学習する技術が開示されている(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、従来の人工知能を用いた人工知能エージェントでは、プランナやプレイヤ自身等の人手によって強さを調整する必要があった。すなわち、電子ゲームにおける人工知能エージェントの強さを定量的に最適化できていないという課題があった。
【0006】
本発明は、電子ゲームにおける強さを動的に調整可能な人工知能エージェントを提供することを目的の1つとする。
【課題を解決するための手段】
【0007】
本発明の1つの態様は、電子ゲームにおけるゲーム進行に関係する情報を含むゲーム情報と、前記電子ゲームにおける強さを示す強度指数と、を少なくとも用いて、前記強度指数に応じた強さで前記電子ゲームをプレイの戦略を出力するように学習させた人工知能エージェントを含むことを特徴とする電子ゲーム提供システムである。
【0008】
ここで、前記人工知能エージェントは、前記強度指数に対して前記電子ゲームでの勝率を関連付けた報酬データベースを用いて、前記人工知能エージェント同士の対戦において各々の前記人工知能エージェントに入力された強度指数に対応する勝率となるように報酬を与えることによって前記人工知能エージェントを学習させたものであることが好適である。
【0009】
また、前記人工知能エージェント同士の対戦において、各々の前記人工知能エージェントに入力される強度指数はランダムに設定されることが好適である。
【0010】
また、前記電子ゲームをプレイヤが前記電子ゲームをプレイしたときの強さを示すプレイヤ強度指数を推定する推定器を備え、前記人工知能エージェントを用いて前記電子ゲームをプレイする際に、前記人工知能エージェントに入力される強度指数を前記プレイヤ強度指数に応じて設定することが好適である。
【0011】
また、前記推定器は、前記プレイヤによる前記電子ゲームのプレイの進行履歴に基づいて前記プレイヤ強度指数を推定することが好適である。
【0012】
また、前記推定器は、前記プレイヤによる前記電子ゲームのプレイの結果に基づいて前記プレイヤ強度指数を推定することが好適である。例えば、前記推定器は、前記プレイヤによる前記電子ゲームのプレイの統計的な勝率に基づいて前記プレイヤ強度指数を推定することが好適である。
【0013】
また、前記推定器は、プレイヤが前記電子ゲームをプレイしたときの履歴情報を入力として、当該プレイヤの前記電子ゲームにおける強さを出力するように学習させた人工知能推定器を含むことが好適である。
【0014】
本発明の別の態様は、コンピュータを、電子ゲームにおけるゲーム進行に関係する情報を含むゲーム情報と、前記電子ゲームにおける強さを示す強度指数と、を少なくとも用いて、前記強度指数に応じた強さで前記電子ゲームをプレイの戦略を出力するように学習させた人工知能エージェントとして機能させることを特徴とする電子ゲーム提供プログラムである。
【0015】
本発明の別の態様は、コンピュータを、電子ゲームにおけるゲーム進行に関係する情報を含むゲーム情報と、前記電子ゲームにおける強さを示す強度指数と、を少なくとも用いて、前記強度指数に応じた強さで前記電子ゲームをプレイの戦略を出力するように学習させた人工知能エージェントとして機能させることによって電子ゲームを提供する電子ゲーム提供方法である。
【0016】
本発明の別の態様は、コンピュータを、電子ゲームにおけるゲーム進行に関係する情報を含むゲーム情報と、前記電子ゲームにおける強さを示す強度指数と、を少なくとも用いて、前記強度指数に応じた強さで前記電子ゲームをプレイの戦略を出力する人工知能エージェントとして学習させることを特徴とする電子ゲーム提供方法である。
【発明の効果】
【0017】
本発明によれば、電子ゲームにおける強さを動的に調整可能な人工知能エージェントを提供することができる。本発明の実施の形態の他の目的は、本明細書全体を参照することにより明らかになる。
【図面の簡単な説明】
【0018】
【
図1】本発明の実施の形態における電子ゲーム提供システムの構成を示す図である。
【
図2】本発明の実施の形態におけるプランナ端末の構成を示す図である。
【
図3】本発明の実施の形態におけるプレイヤ端末の構成を示す図である。
【
図4】本発明の実施の形態におけるゲームサーバの構成を示す図である。
【
図5】電子ゲームのゲーム画面の例を示す図である。
【
図6】本発明の実施の形態におけるゲームサーバの機能を示す機能ブロック図である。
【
図7】本発明の実施の形態における人工知能エージェントの学習方法を説明する図である。
【
図8】本発明の実施の形態における報酬データベースの例を示す図である。
【
図9】本発明の実施の形態における電子ゲームの対戦方法を示す図である。
【
図10】本発明の実施の形態における強度指数推定器の学習方法を説明する図である。
【発明を実施するための形態】
【0019】
本発明の実施の形態に係る電子ゲーム提供システム100は、
図1に示すように、プランナ端末102、プレイヤ端末104及びゲームサーバ106を含んで構成される。プランナ端末102とゲームサーバ106との間、及び、プレイヤ端末104とゲームサーバ106との間は、インターネットやLAN等の情報通信網108を介して互いに通信可能に接続されている。
【0020】
電子ゲーム提供システム100では、プランナがプランナ端末102を用いてゲームサーバ106にアクセスすることで電子ゲームをプレイするための人工知能エージェントの開発を行うことができる。そして、プレイヤ端末104から送信される電子ゲームの提供要求に応じて、ゲームサーバ106がゲームの進行に関するゲーム情報をプレイヤ端末104に送信することで電子ゲームが提供される。
【0021】
プランナ端末102は、電子ゲーム提供システム100により提供される電子ゲームの開発者であるプランナが使用する端末である。プランナ端末102は、例えば、一般的なコンピュータで構成することができる。プランナ端末102は、
図2に示すように、処理部10、記憶部12、入力部14、出力部16及び通信部18を含んで構成される。処理部10は、CPU等の演算処理を行う手段を含む。処理部10は、記憶部12に記憶されているプランナ端末プログラム(例えば、オペレーションシステムとして機能するためのプログラム)を実行することによって、本実施の形態における電子ゲーム提供システム100においてプランナ端末としての機能を実現する。記憶部12は、半導体メモリやメモリカード等の記憶手段を含む。記憶部12は、処理部10とアクセス可能に接続され、プランナ端末プログラム、その処理に必要な情報を記憶する。入力部14は、情報を入力する手段を含む。入力部14は、例えば、プランナからの入力を受けるキーボード、タッチパネル、ボタン等を備える。出力部16は、プランナから入力情報を受け付けるためのユーザインターフェース画面(UI)等のプランナ端末102での処理結果を出力する手段を含む。出力部16は、例えば、プランナに対して画像を呈示するディスプレイを備える。通信部18は、情報通信網108を介して、ゲームサーバ106との情報の通信を行うインターフェースを含んで構成される。通信部18による通信は有線及び無線を問わない。
【0022】
プレイヤ端末104は、ゲームサーバ106によって提供させる電子ゲームをプレイするプレイヤが使用する端末である。プレイヤ端末104は、例えば、スマートフォンやタブレット端末といった携帯型の端末とすることができるが、これに限定されるものではなく、据え置き型のコンピュータ等であってもよい。プレイヤ端末104は、
図3に示すように、処理部20、記憶部22、入力部24、出力部26及び通信部28を含んで構成される。処理部20は、CPU等の演算処理を行う手段を含む。処理部20は、記憶部22に記憶されているクライアントプログラム(又は、クライアントアプリケーション)を実行することによってプレイヤに対して電子ゲームを提供する機能を実現する。具体的には、プレイヤ端末104は、いわゆる電子ゲーム端末として機能する。記憶部22は、半導体メモリやメモリカード等の記憶手段を含む。記憶部22は、処理部20とアクセス可能に接続され、クライアントプログラム、その処理に必要な情報を記憶する。入力部24は、情報を入力する手段を含む。入力部24は、例えば、プレイヤからの入力を受けるキーボード、タッチパネル、コンソールボタン等を備える。出力部26は、電子ゲームを提供する際のゲーム画面やプレイヤから入力情報を受け付けるためのユーザインターフェース画面(UI)等の表示する手段を含む。出力部26は、例えば、プレイヤに対して画像を呈示するディスプレイを備える。通信部28は、情報通信網108を介して、ゲームサーバ106との情報の通信を行うインターフェースを含んで構成される。通信部28による通信は有線及び無線を問わない。
【0023】
ゲームサーバ106は、プレイヤ端末104に対して電子ゲームを提供するサーバである。ゲームサーバ106は、例えば、一般的なコンピュータによって実現することができる。ゲームサーバ106は、
図4に示すように、処理部30、記憶部32、入力部34、出力部36及び通信部38を含んで構成される。処理部30は、CPU等の演算処理を行う手段を含む。処理部30は、記憶部32に記憶されている電子ゲーム提供プログラムを実行することによって、本実施の形態における電子ゲーム提供システム100における電子ゲームの提供を実現する。本実施の形態では、ゲームサーバ106は、プレイヤ端末104に対して電子ゲームを進行させるために必要な情報を提供すると共に、電子ゲームにおいてノンプレイヤキャラクタ(NPC)の行動の制御を行う人工知能エージェントとして機能する。記憶部32は、半導体メモリやメモリカード等の記憶手段を含む。記憶部32は、処理部30とアクセス可能に接続され、電子ゲーム提供プログラム、人工知能エージェントとして機能するための情報、その他の電子ゲームの処理に必要な情報を記憶する。入力部34は、情報を入力する手段を含む。入力部34は、例えば、ユーザからの入力を受けるキーボード、タッチパネル、ボタン等を備える。出力部36は、ユーザから入力情報を受け付けるためのユーザインターフェース画面(UI)等のゲームサーバ106での処理に必要な情報を出力する手段を含む。出力部36は、例えば、ユーザに対して画像を呈示するディスプレイを備える。通信部38は、情報通信網108を介して、プランナ端末102及びプレイヤ端末104との情報の通信を行うインターフェースを含んで構成される。通信部38による通信は有線及び無線を問わない。
【0024】
なお、本実施の形態では、プランナ端末102、プレイヤ端末104及びゲームサーバ106を別々の端末にて実現する態様を説明するが、これらの端末の処理の一部又は全部を1つの端末にて実現してもよいし、さらに別の端末に分散させて実現するようにしてもよい。
【0025】
ここで、本実施の形態における例示に使用する電子ゲームの例について説明する。
図5に、プレイヤ端末104に表示されるゲーム画面の例を示す。電子ゲームは、複数のオブジェクトとしての複数のキャラクタを使用して、敵プレイヤと対戦を行うものである。敵プレイヤとしては、自プレイヤ以外の他のプレイヤであってもよいし、コンピュータ(ゲームサーバ106)であってもよい。具体的には、ゲームフィールドとしての、複数のマスが定義された盤200上に、オセロ(登録商標)の要領で自プレイヤと敵プレイヤとが交互にキャラクタを配置していくものである。
図5においては、各マスの行が数字「1」~「6」で、列が英字「A」~「F」で示されている。
【0026】
盤200上の白丸は自プレイヤの石(白石)を示し、黒丸は敵プレイヤの石(黒石)を示す。そして、盤200上の白丸の中にキャラクタ名(例えば「C0055」)が記載されたものは自プレイヤのキャラクタ(自キャラクタ)を示し、黒丸の中にキャラクタ名が記載されたものは敵プレイヤのキャラクタ(敵キャラクタ)を示す。2つの自キャラクタ、又は、1つの白石と1つの自キャラクタで、敵キャラクタあるいは黒石を挟み込むと、敵キャラクタあるいは黒石を白石に変化させる(ひっくり返す)ことができる。また、2つの敵キャラクタ、又は、1つの黒石と1つの敵キャラクタで、自キャラクタあるいは白石が挟み込まれると、自キャラクタあるいは白石が黒石に変化させられる。なお、通常のオセロ同様、ゲーム開始時において、盤200の中央部4つのマスには白石と黒石が2つずつ置かれていてよい。すなわち、3Cのマス及び4Dのマスには白石が、3Dのマス及び4Cのマスには黒石が置かれていてよい。
【0027】
プレイヤは、電子ゲーム内において定義された複数のキャラクタであって、当該プレイヤが取得した(電子ゲーム内で使用可能となった)キャラクタの中から複数のキャラクタを選択する。例えば、本実施形態では16個のキャラクタを選択する。プレイヤによって選択された16個のキャラクタ群をデッキと呼ぶ。プレイヤは、ゲームの進行に応じて、あるいは、課金することによって新たなキャラクタを取得することができる。
図5に示すように、デッキの中から選択された4つのキャラクタが画面に表示される。当該4つのキャラクタを手駒202と呼ぶ。なお、手駒202は、ゲームサーバ106によってデッキの中からランダムに選択されてもよいし、プレイヤがデッキの中から選択可能となっていてもよい。ユーザは、4つの手駒202の中から任意のキャラクタを選択し、選択したキャラクタを盤200上のマスに配置する。手駒202の中から1つのキャラクタが盤200上に配置されると、デッキの中から選択された1つのキャラクタが新たに手駒202に加えられる。
【0028】
各キャラクタには複数のパラメータが設定されている。例えば、攻撃力、スキル効果、スキル発動条件といったパラメータが設定されている。キャラクタが盤200上に配置されると、当該キャラクタの攻撃力に応じたダメージを対戦相手に与えることができる。あるいは、当該キャラクタのスキル発動条件が満たされると、当該キャラクタが有する特殊効果としてのスキル(技)が実行され、スキル効果(あるいはスキル効果及び攻撃力)に応じたゲーム上の効果が発動される。
【0029】
自プレイヤ及び敵プレイヤにはそれぞれHP(ヒットポイント)が設定されている。
図5においては、自プレイヤの最大HPが250であり、現在のHPが180であることが示されている。キャラクタが盤200上に配置されたことや、スキルを実行することなどによって対戦相手のHPを減らすことができる。また、キャラクタのスキルによってHPが回復できるようになっていてもよい。そして、先にHPが0になった方が負けであり、他方が勝ちとなる。
【0030】
ただし、電子ゲーム提供システム100により提供される電子ゲームは、上記電子ゲームに限定されるものではなく、プレイヤがゲームサーバ106によって提供される人工知能エージェントが操作するノンプレイヤキャラクタ(NPC)と対戦する態様の電子ゲームであればよい。
【0031】
図6は、ゲームサーバ106において実行される処理を示す機能ブロック図である。ゲームサーバ106は、
図6に示した各機能によって人工知能エージェントを実現し、電子ゲームを提供する際に人工知能エージェントがノンプレイヤキャラクタ(NPC)の操作を自動的に行うことでプレイヤと対戦することを可能する。
【0032】
上記のように、電子ゲームではキャラクタが使用される。電子ゲームに使用されるキャラクタに関する情報は記憶部32においてキャラクタDB60として記憶される。
図7は、キャラクタDB60の例を示す。
図7において、1つのレコードが1つのキャラクタに対応する。本実施の形態の例では、各キャラクタは、キャラクタ名、当該キャラクタの特徴を示す属性、当該キャラクタの入手困難度を示すレア度、当該キャラクタが盤200上に配置されたときに対戦相手に与えるダメージの基準となる攻撃力、スキル名、当該キャラクタのスキルが発動する条件を示すスキル発動条件、及び、スキルが発動したときの効果であるスキル効果のパラメータを有している。なお、スキル効果の欄にある「通常攻撃」とは、キャラクタが盤200上に配置され、スキルを発動せずに攻撃力の値に基づいて対戦相手にダメージを与えることを意味する。
【0033】
制御部30は、記憶部32に記憶された各種の情報を用いて人工知能エージェントを機械学習させ、学習させた人工知能エージェントを用いてノンプレイヤキャラクタ(NPC)の操作を自動的に行うように機能する。
【0034】
制御部30は、
図6に示すように、学習部50、AI対戦処理部52、強度指数推定器54及びプレイヤログ収集部56として機能する。
【0035】
学習部50は、電子ゲームにおいて使用されるキャラクタの特徴量及び電子ゲームの状況に関する情報を含むゲーム情報64を用いて人工知能エージェントを学習させる。記憶部32には学習によって得られた人工知能エージェント62が記憶される。人工知能エージェント62は、ディープラーニングを用いた方法によって学習される。人工知能エージェント62は、例えば、多層ニューラルネットワークを含んで構成される。多層ニューラルネットワークは、各種パラメータ(層構造、各層におけるニューロン構造、各ニューロンの重みあるいはバイアスなど)により定義される。したがって、記憶部32には、人工知能エージェント62として、モデルを構成するネットワークに関する各種パラメータ(層構造、各層におけるニューロン構造、各ニューロンの重み係数又はバイアス等)が記憶される。
【0036】
学習部50は、電子ゲームにおいて使用されるキャラクタの特徴量及び電子ゲームに関するゲーム情報64を入力すると電子ゲームにおいてキャラクタを使用する戦略を出力するように人工知能エージェントを学習させる。キャラクタを使用する戦略とは、電子ゲームにおいて、どのような特徴を有するキャラクタを使用すべきか、あるいは、キャラクタをどのように使用するか等を含む戦略である。
【0037】
例えば、上記の電子ゲームの例では、デッキに手駒202をどのように配置するか、デッキに配置された手駒202からどのように使用する手駒202を選択するか、選択した手駒202を盤200上のどこに配置するか等、ゲームを進行させるためにプレイヤが行うことが必要な操作を含む戦略となる。
【0038】
ゲーム情報64は、電子ゲームにおいて使用されるキャラクタの特徴量を含む。また、ゲーム情報64は、電子ゲームの進行における各時点のゲームの状況を示す情報を含む。なお、電子ゲームの進行における各時点のゲームの状況には現在のゲームの状況のみならず、現在の状況に至るまでの過去のゲームの状況(履歴)を含んでもよい。
【0039】
例えば、交互にキャラクタを盤200上に配置していく電子ゲームの場合、ゲーム情報64は、盤200上に配置されている自プレイヤ及び敵プレイヤの石、そのキャラクタ、デッキに配置されている手駒202、プレイヤが保有している石(キャラクタ)、プレイヤの最大HP、現在のHP等の情報を含む。具体的には、「ターン数」、当該ターンで盤200上に配置されたキャラクタを示す「配置キャラクタ」、当該ターンで当該キャラクタが配置された場所を示す「配置場所」、当該ターンで相手の石又は敵キャラクタをひっくり返した枚数を示す「ひっくり返した枚数」、当該ターンで配置されたキャラクタのスキルが発動したか否かを示す「スキル発動」、当該スキル発動により生じた効果(例えばダメージ量)示す「スキル効果値」の項目を含んでよい。さらに、ゲーム情報64には、電子ゲームの進行に関連するその他の項目が含まれていてもよい。
【0040】
なお、キャラクタの特徴量は、キャラクタに対する表現ベクトルとしてもよい。キャラクタの表現ベクトルは、キャラクタDB60に登録された各キャラクタの特徴を表す特徴ベクトルを学習させた表現ベクトル抽出器を用いて得ることができる。表現ベクトル抽出器は、電子ゲームで用いられる各キャラクタの分散表現を学習させることによって実現できる。例えば、表現ベクトル抽出器は、ニューラルネットワークから構成される表現学習の学習器を用いて、あるキャラクタが使用される前のゲーム状態(盤200上の石あるいはキャラクタの配置状態など)と、当該キャラクタが使用された結果(次状態)とに基づいて、当該キャラクタの特徴ベクトルの各要素の値を学習させることで得られる。上記電子ゲームの例では、キャラクタの特徴ベクトルは、例えば5次元のベクトルであり、各要素は電子ゲームにおける戦略上の特徴(例えば、「角に置きたい」、「序盤に使いたい」など)を示すものとなる。このように、各キャラクタを分散表現することで、多数のキャラクタをより低次元のベクトルで表現することが可能となる。また、電子ゲームにおける戦略上の特徴が似ているキャラクタが、似た特徴ベクトルで表現されることになる。なお、表現学習の方法としては、様々な既知の学習方法を用いることができる。
【0041】
キャラクタを特徴ベクトルで表現した上で人工知能エージェント62の学習を行うことによって、各キャラクタを個別にラベル付けした場合に比べて、学習における演算量を低下させることができる。また、特徴が似ているキャラクタは、似た特徴ベクトルで表現されているから、キャラクタに似たキャラクタが用いられる場合に対する学習をより効果的に行うことができる。すなわち、学習の汎化の効果が期待できる。
【0042】
学習部50による人工知能エージェント62の学習は、
図7に示すように、2つの人工知能エージェント62を対戦させることによって行う。すなわち、対象とする電子ゲームのルールに則って、それぞれの人工知能エージェント62に対してゲーム情報64を入力して対戦させ、その結果としての電子ゲームの勝敗に応じて人工知能エージェント62の機械学習を行う。
【0043】
本実施の形態では、それぞれの人工知能エージェント62に対して強度指数(強度ベクトル)を入力し、互いの当該強度指数の関係に対して予め設定された勝率となるように人工知能エージェント62を学習させる。具体的には、
図8に示すように、互いの強度指数の関係に対して勝率を予め取り決めて報酬データベース66として記憶部32に記憶させておき、人工知能エージェント62同士の対戦の勝率が各々の人工知能エージェント62に入力された強度指数の関係で決まる勝率に近づくほど高い報酬を与え、より高い報酬が得られるように人工知能エージェント62を学習させる。
【0044】
例えば、
図8に示す報酬データベース66の例において、一方の人工知能エージェント62に入力される強度指数(強度ベクトル)が2であり、他方の人工知能エージェント62に入力される強度指数(強度ベクトル)が3である場合、2つの人工知能エージェント62の対戦において一方の人工知能エージェント62の勝率が70%となり、他方の人工知能エージェント62の勝率が30%となるように電子ゲームの戦略が出力されるように各々の人工知能エージェント62を学習させる。
【0045】
学習時において、各々の人工知能エージェント62に入力される強度指数(強度ベクトル)はランダムに設定すればよい。また、一方の人工知能エージェント62に入力される強度指数(強度ベクトル)を固定しておき、他方の人工知能エージェント62に入力される強度指数(強度ベクトル)をランダムに設定してもよい。
【0046】
これによって、強化指数(強化ベクトル)に応じて電子ゲームにおける強さを調整することができる人工知能エージェント62を実現することができる。
【0047】
なお、本実施の形態では、強度指数(強化ベクトル)と勝率の関係は報酬データベース66として設定したが、これに限定されるものではなく、強度指数(強化ベクトル)から勝率が決まるものであればよい。例えば、強度指数(強化ベクトル)を引数とした関数で勝率を表すようにしてもよい。
【0048】
また、人工知能エージェント62を強化するための学習である強化学習を適用してもよい。強化学習としては、例えば、人工知能エージェント62とNPC(Non Player Character:人工知能エージェント62ではないルールベースのAI)との対戦結果又は人工知能エージェント62と人間のプレイヤとの対戦結果に基づいて学習を行うようにしてもよい。
【0049】
AI対戦処理部52は、
図9に示すように、電子ゲームにおいてプレイヤと対戦する処理を行う。AI対戦処理部52は、学習部50によって学習された人工知能エージェント62から出力される電子ゲームの戦略に沿ってプレイヤとの対戦を行う。プレイヤとの対戦は、プレイヤがプレイヤ端末104からゲームサーバ106へアクセスすることによって行われる。
【0050】
プレイヤと人工知能エージェント62による対戦が開始されると、AI対戦処理部52はプレイヤ端末104から電子ゲームに関するゲーム情報64を取得し、当該ゲーム情報64と強度指数を人工知能エージェント62に入力する。人工知能エージェント62は、上記の学習によって得られた各種パラメータ(層構造、各層におけるニューロン構造、各ニューロンの重み係数又はバイアス等)によって決定されるモデルにしたがって、入力されたゲーム情報64と強度指数に応じた電子ゲームの戦略を出力する。AI対戦処理部52は、人工知能エージェント62から出力された戦略に沿って電子ゲームにおけるNPCの操作を行うための情報をプレイヤ端末104へ送信する。これによって、プレイヤと人工知能エージェント62との対戦が行われる。すなわち、プレイヤと人工知能エージェント62との対戦は、
図9に示すように、対戦時の電子ゲームの状況を示すゲーム情報64と強度指数を人工知能エージェント62へ入力することによって人工知能エージェント62から出力される電子ゲームの戦略に沿って行われる。
【0051】
人工知能エージェント62を用いて電子ゲームを提供することによって、人工知能エージェント62に入力された強度指数に応じた強さで人工知能エージェント62から電子ゲームの戦略を出力することができる。したがって、プレイヤは、強度指数に応じた強さのコンピュータと対戦することが可能となる。
【0052】
ここで、強度指数は、プレイヤの電子ゲームに対するレベルに応じて設定することが好適である。本実施の形態では、強度指数推定器54によってプレイヤの電子ゲームに対するレベルに応じて強度指数を設定する。
【0053】
強度指数推定器54は、電子ゲームにおけるプレイヤの戦績に応じて当該プレイヤに対する強度指数を出力する。例えば、プレイヤとコンピュータとの対戦におけるプレイヤの勝率に応じて強度指数を出力するように強度指数推定器54を構成し、強度指数推定器54から出力された強度指数に応じて人工知能エージェント62に入力する強度指数を設定するようにすればよい。具体的には、例えば、プレイヤとコンピュータとの対戦における勝率を統計的に算出し、当該勝率が50%を超えていれば人工知能エージェント62に現在入力されている強度指数よりも高い強度指数を出力し、当該勝率が50%より低ければ人工知能エージェント62に現在入力されている強度指数よりも低い強度指数を出力するように強度指数推定器54を構成すればよい。
【0054】
なお、人工知能エージェント62に入力される強度指数の初期値はランダムに設定してもよいし、プレイヤ自身が設定するようにしてもよい。
【0055】
また、強度指数推定器54は、電子ゲームにおけるプレイヤ同士の戦績に応じて当該プレイヤに対する強度指数を出力するようにすればよい。例えば、プレイヤと他のプレイヤとの対戦におけるプレイヤの勝率に応じて強度指数を出力するように強度指数推定器54を構成し、強度指数推定器54から出力された強度指数に応じて人工知能エージェント62に入力する強度指数を設定するようにすればよい。具体的には、例えば、第1のプレイヤと第2のプレイヤとの対戦における勝率を統計的に算出し、第1のプレイヤの勝率が50%を超えていれば第2のプレイヤに既に設定されている強度指数よりも高い強度指数を第1のプレイヤの強度指数として出力し、第1のプレイヤの勝率が50%より低ければ第2のプレイヤに既に設定されている強度指数よりも低い強度指数を第1のプレイヤの強度指数として出力するように強度指数推定器54を構成すればよい。
【0056】
また、強度指数推定器54は、プレイヤによる電子データにおける操作履歴に応じて強度指数を出力するように構成してもよい。プレイヤログ収集部56によって電子ゲームに関してプレイヤが過去に行ったプレイに伴ったゲーム進行の履歴情報であるプレイヤログを取得して記憶部32にプレイヤログDB68として記憶させる。強度指数推定器54は、ゲーム情報64とプレイヤログを入力として、同じゲーム情報64を人工知能エージェント62に入力したときに人工知能エージェント62から出力される電子ゲームの戦略、電子ゲームの状況とプレイヤログとの類似性や、プレイヤの持つ属性等を参照してプレイヤの強度指数を推定するように構成すればよい。
【0057】
例えば、
図10に示すように、強度指数推定器54と人工知能エージェント62にゲーム情報64、プレイヤログ及び強度指数を入力し、人工知能エージェント62から出力される電子ゲームの戦略に沿った操作内容と実際にプレイヤによって行われた操作内容との類似性を判定し、当該類似性に応じてプレイヤの強度指数を推定して出力するように強度指数推定器54を学習させればよい。具体的には、例えば、人工知能エージェント62から出力される電子ゲームの戦略に沿った操作内容と実際にプレイヤによって行われた操作内容との類似性が高いほど強度指数推定器54に現在入力されている強度指数に近い強度指数をプレイヤの強度指数の推定値として出力するように強度指数推定器54を学習させればよい。
【0058】
具体的には、多層ニューラルネットワークを含むモデルで強度指数推定器54を構成し、当該モデルを機械学習させればよい。多層ニューラルネットワークは、各種パラメータ(層構造、各層におけるニューロン構造、各ニューロンの重みあるいはバイアスなど)により定義される。したがって、記憶部32には、強度指数推定モデル70として、モデルを構成するネットワークに関する各種パラメータ(層構造、各層におけるニューロン構造、各ニューロンの重み係数又はバイアス等)が記憶される。
【0059】
ただし、強度指数推定器54の学習方法は、これに限定されるものではなく、プレイヤログの入力に応じてプレイヤに対する強度指数を推定できるようにするものであればよい。例えば、多腕バンディッドアルゴリズムのような既存の方法を適用して、プレイヤログの入力に応じてプレイヤに対する強度指数を推定できるように強度指数推定器54を学習させるようにしてもよい。
【0060】
ここで、
図9に示すように、人工知能エージェント62を用いて電子ゲームをプレイする際に、人工知能エージェント62に入力される強度指数を強度指数推定器54によって推定されたプレイヤの強度指数に設定することが好適である。このとき、人工知能エージェント62に設定する強度指数の最大値は、人工知能エージェント62を学習させるときに使用した強度指数の最大値とすることが好適である。
【0061】
このように、プレイヤと人工知能エージェント62との対戦において、プレイヤに対して推定された強度指数に応じて人工知能エージェント62へ入力される強度指数を動的に調整することによって、プランナやプレイヤ自身等の人手によって強さを調整することなく、人工知能エージェント62の強さを定量的に最適化することができる。
【0062】
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
【符号の説明】
【0063】
10 処理部、12 記憶部、14 入力部、16 出力部、18 通信部、20 処理部、22 記憶部、24 入力部、26 出力部、28 通信部、30 処理部、32 記憶部、34 入力部、36 出力部、38 通信部、50 学習部、52 AI対戦処理部、54 強度指数推定器、56 プレイヤログ収集部、62 人工知能エージェント、64 ゲーム情報、66 報酬データベース、68 プレイヤログDB、70 強度指数推定モデル、100 電子ゲーム提供システム、102 プランナ端末、104 プレイヤ端末、106 ゲームサーバ、108 情報通信網、200 盤、202 手駒。