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

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

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

特許7519199電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム
<>
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図1
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図2
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図3
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図4
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図5
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図6
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図7
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図8
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図9
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図10
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図11
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図12
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図13
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図14
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図15
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図16
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図17
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図18
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図19
  • 特許-電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-10
(45)【発行日】2024-07-19
(54)【発明の名称】電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム
(51)【国際特許分類】
   A63F 13/79 20140101AFI20240711BHJP
   A63F 13/60 20140101ALI20240711BHJP
【FI】
A63F13/79
A63F13/60
【請求項の数】 6
(21)【出願番号】P 2020059685
(22)【出願日】2020-03-30
(65)【公開番号】P2021154048
(43)【公開日】2021-10-07
【審査請求日】2023-03-10
(73)【特許権者】
【識別番号】599115217
【氏名又は名称】株式会社 ディー・エヌ・エー
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】田中 一樹
(72)【発明者】
【氏名】佐藤 勝彦
【審査官】池田 剛志
(56)【参考文献】
【文献】韓国公開特許第10-2012-0080400(KR,A)
【文献】米国特許第10282280(US,B1)
【文献】特開2006-087625(JP,A)
【文献】特開2019-213796(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98,
9/24
(57)【特許請求の範囲】
【請求項1】
電子ゲームのログデータに基づいて、前記電子ゲームに関する複数のゲーム要素を表す複数のノードと、各ノードを接続するエッジとを含み、前記複数のゲーム要素の関係を表すグラフを生成するグラフ生成部と、
前記電子ゲーム内において発生した過去イベントの内容、前記過去イベントの発生直前に生成された前記グラフから得られた前記複数のノードの埋め込み表現、及び、当該過去イベントの発生直後における当該複数のゲーム要素間の関係を学習データとして、イベントの発生直後の前記複数のゲーム要素間の関係を予測するように学習モデルを学習させる学習処理部と、
前記電子ゲーム内において未だ発生していない新規イベントの内容、及び、前記新規イベントの発生直前に生成された前記グラフから得られた前記複数のノードの埋め込み表現を学習済みの前記学習モデルに入力することで、前記新規イベントの発生直後における前記複数のゲーム要素間の関係を示す前記グラフである予想グラフを生成する予想グラフ生成部と、
前記グラフ及び前記予想グラフを表示部に表示させる表示制御部と、
を備えることを特徴とする電子ゲーム情報処理装置。
【請求項2】
前記グラフにおいて、互いの間の関連度が大きい複数の前記ゲーム要素に対応する複数の前記ノードであるコミュニティを複数定義し、複数の前記コミュニティ間の関係を検出するコミュニティ処理部と、
をさらに備え、
前記表示制御部は、複数の前記コミュニティ間の関係を示す情報を前記表示部に表示させる、
ことを特徴とする請求項1に記載の電子ゲーム情報処理装置。
【請求項3】
前記予想グラフ生成部は、一連の新規イベントである新規イベント列の内容であって、当該新規イベント列に含まれる前記新規イベントの発生順序が変わると、当該新規イベント列の発生直後の前記複数のゲーム要素間の関係が変化する新規イベント列の内容、及び、前記新規イベント列の発生直前に生成された前記グラフから得られた前記複数のノードの埋め込み表現を学習済みの前記学習モデルに入力することで、前記新規イベント列の発生直後における前記複数のゲーム要素間の関係を示す前記予想グラフを生成する、
ことを特徴とする請求項1に記載の電子ゲーム情報処理装置。
【請求項4】
電子ゲームのログデータに基づいて、前記電子ゲーム内における複数のプレイヤの操作内容を表す複数のノードと、各ノードを接続するエッジとを含み、前記複数のプレイヤの操作内容の関係を表すグラフを生成するグラフ生成部と、
前記グラフを表示部に表示させる表示制御部と、
2つの前記ノードが表す操作内容の操作を行ったときの前記プレイヤのプレイヤパラメータの値に応じて、前記2つのノードを接続する前記エッジに対して重みを付与する重み付与部と、
前記重みに基づいて、特定の前記プレイヤパラメータの特定の値を有する前記プレイヤの操作パターンを前記グラフから抽出する操作パターン抽出部と、
を備えることを特徴とする電子ゲーム情報処理装置。
【請求項5】
コンピュータを、
電子ゲームのログデータに基づいて、前記電子ゲームに関する複数のゲーム要素を表す複数のノードと、各ノードを接続するエッジとを含み、前記複数のゲーム要素の関係を表すグラフを生成するグラフ生成部と、
前記電子ゲーム内において発生した過去イベントの内容、前記過去イベントの発生直前に生成された前記グラフから得られた前記複数のノードの埋め込み表現、及び、当該過去イベントの発生直後における当該複数のゲーム要素間の関係を学習データとして、イベントの発生直後の前記複数のゲーム要素間の関係を予測するように学習モデルを学習させる学習処理部と、
前記電子ゲーム内において未だ発生していない新規イベントの内容、及び、前記新規イベントの発生直前に生成された前記グラフから得られた前記複数のノードの埋め込み表現を学習済みの前記学習モデルに入力することで、前記新規イベントの発生直後における前記複数のゲーム要素間の関係を示す前記グラフである予想グラフを生成する予想グラフ生成部と、
前記グラフ及び前記予想グラフを表示部に表示させる表示制御部と、
として機能させることを特徴とする電子ゲーム情報処理プログラム。
【請求項6】
コンピュータを、
電子ゲームのログデータに基づいて、前記電子ゲーム内における複数のプレイヤの操作内容を表す複数のノードと、各ノードを接続するエッジとを含み、前記複数のプレイヤの操作内容の関係を表すグラフを生成するグラフ生成部と、
前記グラフを表示部に表示させる表示制御部と、
2つの前記ノードが表す操作内容の操作を行ったときの前記プレイヤのプレイヤパラメータの値に応じて、前記2つのノードを接続する前記エッジに対して重みを付与する重み付与部と、
前記重みに基づいて、特定の前記プレイヤパラメータの特定の値を有する前記プレイヤの操作パターンを前記グラフから抽出する操作パターン抽出部と、
として機能させることを特徴とする電子ゲーム情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子ゲーム情報処理装置及び電子ゲーム情報処理プログラムに関する。
【背景技術】
【0002】
従来、電子ゲームを提供する電子ゲーム情報処理装置が知られている。電子ゲーム情報処理装置において、従来、電子ゲームにおけるプレイヤのプレイ状況(換言すればプレイヤの電子ゲームの遊び方)を解析して解析情報を得ることが行われている。例えば、電子ゲームを作成するゲームプランナは、当該電子ゲームの更新、又は、以後リリースされる他の電子ゲームの作成時に、そのような解析情報を参考にすることができる。
【0003】
例えば、特許文献1には、ゲーム状況に応じてスキルを発動可能なゲーム要素(キャラクタ)を用いて対戦する電子ゲームのログデータに基づいて、各キャラクタの当該電子ゲームにおける実績効果値を示す統計データを表示させる電子ゲーム情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-175830号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、複数のゲーム要素(例えばゲーム内のキャラクタ、あるいはゲームをプレイするプレイヤなど)が、それぞれ関係する電子ゲームにおいては、全体としてのゲームバランスが適正に保たれているのか否かを把握することが困難な場合があった。ゲームバランスが適正に保たれていない、とは、例えば、特定のゲーム要素がゲーム内において有利すぎる、特定の属性を有するゲーム要素が他の属性のゲーム要素に比して常に有利である、どんなゲーム状態においても有用なゲーム要素がある、あるゲーム要素がゲームプランナの想定とは異なる振る舞いをしている、などの状態が挙げられる。
【0006】
本発明の目的は、複数のゲーム要素がそれぞれ関係する電子ゲームにおいて、全体としてのゲームバランスが適正に保たれているか否かを容易に把握可能とすることにある。
【課題を解決するための手段】
【0007】
本発明は、電子ゲームのログデータに基づいて、前記電子ゲームに関する複数のゲーム要素を表す複数のノードと、各ノードを接続するエッジとを含み、前記複数のゲーム要素の関係を表すグラフを生成するグラフ生成部と、前記電子ゲーム内において発生した過去イベントの内容、前記過去イベントの発生直前に生成された前記グラフから得られた前記複数のノードの埋め込み表現、及び、当該過去イベントの発生直後における当該複数のゲーム要素間の関係を学習データとして、イベントの発生直後の前記複数のゲーム要素間の関係を予測するように学習モデルを学習させる学習処理部と、前記電子ゲーム内において未だ発生していない新規イベントの内容、及び、前記新規イベントの発生直前に生成された前記グラフから得られた前記複数のノードの埋め込み表現を学習済みの前記学習モデルに入力することで、前記新規イベントの発生直後における前記複数のゲーム要素間の関係を示す前記グラフである予想グラフを生成する予想グラフ生成部と、前記グラフ及び前記予想グラフを表示部に表示させる表示制御部と、を備えることを特徴とする電子ゲーム情報処理装置である。
【0008】
望ましくは、前記グラフにおいて、互いの間の関連度が大きい複数の前記ゲーム要素に対応する複数の前記ノードであるコミュニティを複数定義し、複数の前記コミュニティ間の関係を検出するコミュニティ処理部と、をさらに備え、前記表示制御部は、複数の前記コミュニティ間の関係を示す情報を前記表示部に表示させる、ことを特徴とする。
【0010】
望ましくは、前記予想グラフ生成部は、一連の新規イベントである新規イベント列の内容であって、当該新規イベント列に含まれる前記新規イベントの発生順序が変わると、当該新規イベント列の発生直後の前記複数のゲーム要素間の関係が変化する新規イベント列の内容、及び、前記新規イベント列の発生直前に生成された前記グラフから得られた前記複数のノードの埋め込み表現を学習済みの前記学習モデルに入力することで、前記新規イベント列の発生直後における前記複数のゲーム要素間の関係を示す前記予想グラフを生成する、ことを特徴とする。
【0011】
また、本発明は、電子ゲームのログデータに基づいて、前記電子ゲーム内における複数のプレイヤの操作内容を表す複数のノードと、各ノードを接続するエッジとを含み、前記複数のプレイヤの操作内容の関係を表すグラフを生成するグラフ生成部と、前記グラフを表示部に表示させる表示制御部と、2つの前記ノードが表す操作内容の操作を行ったときの前記プレイヤのプレイヤパラメータの値に応じて、前記2つのノードを接続する前記エッジに対して重みを付与する重み付与部と、前記重みに基づいて、特定の前記プレイヤパラメータの特定の値を有する前記プレイヤの操作パターンを前記グラフから抽出する操作パターン抽出部と、を備えることを特徴とする電子ゲーム情報処理装置である。
【0012】
また、本発明は、コンピュータを、電子ゲームのログデータに基づいて、前記電子ゲームに関する複数のゲーム要素を表す複数のノードと、各ノードを接続するエッジとを含み、前記複数のゲーム要素の関係を表すグラフを生成するグラフ生成部と、前記電子ゲーム内において発生した過去イベントの内容、前記過去イベントの発生直前に生成された前記グラフから得られた前記複数のノードの埋め込み表現、及び、当該過去イベントの発生直後における当該複数のゲーム要素間の関係を学習データとして、イベントの発生直後の前記複数のゲーム要素間の関係を予測するように学習モデルを学習させる学習処理部と、前記電子ゲーム内において未だ発生していない新規イベントの内容、及び、前記新規イベントの発生直前に生成された前記グラフから得られた前記複数のノードの埋め込み表現を学習済みの前記学習モデルに入力することで、前記新規イベントの発生直後における前記複数のゲーム要素間の関係を示す前記グラフである予想グラフを生成する予想グラフ生成部と、前記グラフ及び前記予想グラフを表示部に表示させる表示制御部と、として機能させることを特徴とする電子ゲーム情報処理プログラムである。
また、本発明は、コンピュータを、電子ゲームのログデータに基づいて、前記電子ゲーム内における複数のプレイヤの操作内容を表す複数のノードと、各ノードを接続するエッジとを含み、前記複数のプレイヤの操作内容の関係を表すグラフを生成するグラフ生成部と、前記グラフを表示部に表示させる表示制御部と、2つの前記ノードが表す操作内容の操作を行ったときの前記プレイヤのプレイヤパラメータの値に応じて、前記2つのノードを接続する前記エッジに対して重みを付与する重み付与部と、前記重みに基づいて、特定の前記プレイヤパラメータの特定の値を有する前記プレイヤの操作パターンを前記グラフから抽出する操作パターン抽出部と、として機能させることを特徴とする電子ゲーム情報処理プログラムである。
【発明の効果】
【0013】
本発明によれば、複数のゲーム要素がそれぞれ関係する電子ゲームにおいて、全体としてのゲームバランスが適正に保たれているか否かを容易に把握することができる。
【図面の簡単な説明】
【0014】
図1】本実施形態に係る電子ゲームシステムの構成概略図である。
図2】本実施形態に係るゲームサーバの構成概略図である。
図3】ログデータの内容の例を示す概念図である。
図4】ログデータから得られたキャラクタの対戦表の例を示す図である。
図5】キャラクタの対戦表に基づいたエッジの値を示す図である。
図6】グラフの例を示す概念図である。
図7】グラフの表示例を示す図である。
図8】各キャラクタの強さを表すヒストグラムの例を示す図である。
図9】ログデータから得られたキャラクタの同時使用数の例を示す図である。
図10】キャラクタの同時使用数に基づいたエッジの値を示す図である。
図11】グラフにおいて定義された複数のコミュニティを示す概念図である。
図12】ノードのコミュニティ所属数を表すヒストグラムである。
図13】コミュニティ間の関係を示すヒートマップの例を示す図である。
図14】学習モデルの学習の様子を示す概念図である。
図15】新規イベント列と、新規イベント列の発生前後に生成されたグラフを示す概念図である。
図16】ログデータから得られたプレイヤの操作パターンを示す図である。
図17】プレイヤの操作パターンから得られたグラフの一部を示す図である。
図18】行動に対してプレイヤパラメータの値に応じた重みが付される様子を示す概念図である。
図19】各LTVに応じて抽出された各操作パターンを示す図である。
図20】LTVに対するプレイヤ数を表すヒストグラムである。
【発明を実施するための形態】
【0015】
図1は、本実施形態に係るゲームシステム10の構成概略図が示されている。ゲームシステム10は、ゲームシステム10により提供される電子ゲーム(以下「本ゲーム」と記載する)のプレイヤが使用するプレイヤ端末12、及び、本ゲームのゲームプランナが使用するプランナ端末14、電子ゲーム情報処理装置としてのゲームサーバ16を含んで構成されている。プレイヤ端末12とゲームサーバ16、及び、プランナ端末14とゲームサーバ16は、通信回線18を介して互いに通信可能に接続されている。通信回線18は、例えばインターネットあるいはローカルエリアネットワーク(LAN)などによって構成される。なお、図1には、プレイヤ端末12及びプランナ端末14が1つだけ示されているが、ゲームシステム10には、複数のプレイヤが使用する複数のプレイヤ端末12、及び、複数のゲームプランナが使用する複数のプランナ端末14が設けられてよい。
【0016】
本実施形態におけるゲームシステム10においては、本ゲームを動作させるためのゲームプログラムはゲームサーバ16に記憶されており、プレイヤ端末12からゲームサーバ16にアクセスすることで、プレイヤに本ゲームが提供される。
【0017】
本ゲームは、本ゲームに関する複数のゲーム要素がそれぞれ関係するゲームである。ゲーム要素としては、例えば、本ゲーム内で用いられるゲーム内オブジェクト(例えばキャラクタやカードなど)、本ゲームをプレイするプレイヤ、本ゲーム内におけるプレイヤの操作内容、あるいは、本ゲーム内におけるゲーム状態などが挙げられるが、これには限られない。本ゲームとしては対戦型のゲームであってよい。対戦型のゲームにあっては、例えば、複数のプレイヤがそれぞれキャラクタを選択し、選択したキャラクタを用いて対戦するものであってもよい。特に、各プレイヤは複数のキャラクタを選択し、選択した複数のキャラクタを用いて対戦するものであってもよい。対戦型ゲームにおいて、プレイヤ(以下、相手プレイヤと区別する場合「自プレイヤ」と記載する)の対戦相手は他のプレイヤである相手プレイヤであってもよいし、コンピュータであってもよい。
【0018】
本ゲームは、ゲームサーバ16により提供される、いわゆるオンラインゲームである。したがって、本ゲームを作成したゲームプランナは、プランナ端末14からゲームサーバ16にアクセスすることで、本ゲームを随時更新することができる。例えば、ゲームプランナは、本ゲーム内で使用可能なキャラクタやカードを随時変更(例えば新キャラクタの追加、あるいは既存のキャラクタの削除)することができる。また、本ゲームは、ゲームサーバ16にアクセス可能なプレイヤ端末12を有しているプレイヤであれば誰でもプレイすることができる。すなわち、本ゲームをプレイするプレイヤの数も随時増減することになる。このように、本ゲームにおいては、本ゲームに関するゲーム要素の増加あるいは減少が動的に生じ得る。
【0019】
プレイヤ端末12及びプランナ端末14は、それぞれ一般的なコンピュータであってよく、例えばパーソナルコンピュータや携帯端末(例えばタブレット端末やスマートフォン)である。プレイヤ端末12及びプランナ端末14は、それぞれ、例えばCPU(Central Processing Unit)あるいはマイクロコンピュータなどを含んで構成されるプロセッサ、例えばネットワークアダプタなどを含んで構成される通信インターフェイス、例えばマウス、キーボード、あるいはタッチパネルなどを含んで構成される入力インターフェイス、例えば液晶ディスプレイなどを含んで構成されるディスプレイ、例えばハードディスク、RAM(Random Access Memory)、あるいはROM(Read Only Memory)などを含んで構成されるメモリなどを含んで構成される。
【0020】
図2には、ゲームサーバ16の構成概略図が示されている。本実施形態では、ゲームサーバ16はサーバコンピュータにより構成されるが、以下に説明する機能を発揮する限りにおいて、ゲームサーバ16はどのような装置であってもよい。
【0021】
以下の説明においては、本ゲームが、複数のプレイヤがそれぞれ複数のキャラクタを選択し、選択した複数のキャラクタを用いて対戦する対戦ゲームである場合を例に説明する。具体的には、本ゲームにおいて、自プレイヤは、自らに割り当てられている(本ゲーム内で自プレイヤが所持している)キャラクタ群の中から、対戦で用いる複数のキャラクタを選択する。本明細書では、プレイヤが選択した、対戦で用いる複数のキャラクタを「デッキ」と呼ぶ。相手プレイヤ又はコンピュータである対戦相手も同様に複数のキャラクタを選択してデッキを編成する。そして、自プレイヤと対戦相手は、それぞれデッキを用いて対戦を行う。また、プレイヤは、本ゲーム内のショップにて、金銭あるいはゲーム内ポイントなどと引き換えに、新たなキャラクタを獲得することができる。また、プレイヤは、間欠的にゲームプランナによって開催されるガチャ(有料又は無料の抽選)などのイベントにより、新たなキャラクタを獲得することができる。ゲームプランナによる本ゲームの随時の更新により、新キャラクタが随時使用可能となり得る。すなわち、ゲームプランナにより新キャラクタが定義されると、各プレイヤは上述のショップやガチャなどによって当該新キャラクタを獲得できるようになる。
【0022】
各キャラクタは、キャラクタパラメータを有している。キャラクタパラメータは、攻撃力、HP(ヒットポイント)、スキル、あるいはキャラクタ属性、などを含む。自プレイヤのキャラクタ(以下「自キャラクタ」と記載する)は、対戦相手のキャラクタ(以下「相手キャラクタ」と記載する)に対して通常攻撃することにより、攻撃力に応じた分、当該相手キャラクタのHPを減少させる。また、自キャラクタは、特定の条件を満たすとスキルを発動する。スキルとしては、例えば、相手キャラクタのHPを通常攻撃より大きく減少させるもの、自キャラクタのHPを回復させるもの、自キャラクタの攻撃力を一時的に上げるもの、デッキに入れておくだけでデッキ内の他の自キャラクタのキャラクタパラメータを向上させるものなど、様々な種類があってよい。キャラクタ属性とは、当該キャラクタの特性を示すものである。例えば、第1属性のキャラクタは第2属性のキャラクタに対して強く、第2属性のキャラクタは第3属性のキャラクタに対して強く、第3属性のキャラクタは第1属性のキャラクタに対して強くなるように設定される。例えば、第1属性のキャラクタが第2属性のキャラクタに通常攻撃した場合、第1属性又は第3属性のキャラクタに通常攻撃した場合に比して大きなダメージを与えることができる。あるいは、デッキに入れた全てのキャラクタを同一の属性のキャラクタにすると、有利な効果(例えばキャラクタパラメータの向上や特殊スキルの発動など)が生じるようにしてもよい。プレイヤ及び対戦相手の一方のデッキ内の全てのキャラクタのHPが0になると負けとなり、他方が勝ちとなる。
【0023】
通信インターフェイス20は、例えばネットワークアダプタなどを含んで構成され、通信回線18を介してプレイヤ端末12及びプランナ端末14と通信する機能を有するものである。
【0024】
メモリ22は、例えばハードディスク、RAM、あるいはROMなどを含んで構成される。メモリ22には、ゲームサーバ16の各部を機能させるための電子ゲーム情報処理プログラムが記憶される。また、メモリ22には、本ゲームのゲームプログラムが記憶される。電子ゲーム情報処理プログラムとゲームプログラムは一体となったプログラムであってもよい。また、図2に示される通り、メモリ22には、ゲームログDB(データベース)24及び学習モデル26が記憶される。
【0025】
ゲームログDB24は、本ゲームをプレイヤがプレイすることで得られる、本ゲームのプレイ履歴を示すログデータを記憶するデータベースである。プレイヤが本ゲームをプレイする度に、ログデータがゲームログDB24に蓄積されていく。
【0026】
図3に、ゲームログDB24の内容の例が示されている。図3においては、ゲームログDB24の内容がテーブル形式で示され、各ログデータが各レコードで示されている。プレイヤが操作を行う度にログデータとしてのレコードが追加されていく。本実施形態におけるログデータは、プレイヤを一意に識別するプレイヤID、プレイヤパラメータ、及び当該プレイヤが本ゲームにおいて行った操作に関する情報とが互いに関連付けられた情報である。
【0027】
これに限られるものではないが、本実施形態では、プレイヤパラメータとして、プレイヤレベル及びLTV(Life Time Value)が含まれている。プレイヤレベルは、当該プレイヤの本ゲームにおける操作時のレベルである。プレイヤレベルは、例えば所定回数対戦に勝つと上がるパラメータである。プレイヤレベルが上がると、例えば、デッキにより強いキャラクタを入れることができるようになるなど、本ゲームにおいてより有利となる。LTVは、プレイヤが操作時までにあるいは操作時から所定期間内(例えば1か月以内)に本ゲームに課金した(支払った)金額を示すものである。なお、プレイヤパラメータとしては、上記の他、例えば、本ゲームの初プレイからの経過日数、本ゲームにおける進み具合(進捗度)、本ゲームの連続プレイ日数、前回プレイ終了時刻などがある。
【0028】
また、本実施形態では、プレイヤの操作に関する情報として、操作内容及び操作時刻が含まれている。操作内容としては、図3に示される通り、例えば、デッキ編成、対戦、あるいはショップなどが有るが、もちろんこれらに限られるものではない。操作内容が対戦である場合、当該ログデータには、さらに、当該対戦における当該プレイヤ(自プレイヤ)が使用した自キャラクタを識別する使用キャラクタID、相手プレイヤを識別する相手プレイヤID、当該対戦において相手プレイヤが使用した相手キャラクタを識別する相手キャラクタID、及び、対戦の結果(勝ち又は負け)が関連付けられる。
【0029】
また、ゲームログDB24は、本ゲームにおいて過去にゲームプランナが実施したイベントに関するイベントデータが記憶される。ゲームプランナがイベントを実行する度に、イベントデータがゲームログDB24に蓄積されていく。イベントデータは、イベントの内容とイベントの実施時刻とが関連付けられて記憶される。
【0030】
学習モデル26は、例えばニューラルネットワークなどから構成される学習器である。学習モデル26の学習方法の詳細及び利用方法については、後述の学習処理部36の処理と共に後述する。
【0031】
プロセッサ28は、例えばCPU、GPU(Graphics Processing Unit)あるいはマイクロコンピュータなどを含んで構成され、メモリ22に記憶された電子ゲーム情報処理プログラムに従ってゲームサーバ16の各部を制御する。また、図2に示される通り、プロセッサ28は、電子ゲーム情報処理プログラムによって、グラフ生成部30、表示制御部32、コミュニティ処理部34、学習処理部36、予想グラフ生成部38、重み付与部40、及び、操作パターン抽出部42としても機能する。
【0032】
グラフ生成部30は、ゲームログDB24に記憶されたログデータに基づいて、本ゲーム内の複数のゲーム要素間の関係を示すグラフを生成する。具体的には、グラフ生成部30が生成するグラフは、本ゲームに関する複数のゲーム要素を表す複数のノードと、各ノードを接続するエッジとを含み、当該複数のゲーム要素の関係を表すグラフである。
【0033】
グラフ生成部30は、本ゲームに関する種々のグラフを生成することができる。例えば、各ゲーム要素を本ゲーム内で使用される各キャラクタとし、各ノードが各キャラクタを表し、各キャラクタの対戦における勝敗数、すなわち各キャラクタの強さを表すグラフを生成することができる。その場合、まず、グラフ生成部30は、操作内容が「対戦」であるログデータに基づいて、図4に示すような、キャラクタ同士の対戦表を作成する。図4の表は、縦に並んだキャラクタIDが自キャラクタを表し、横にならんだキャラクタIDが相手キャラクタを表す。例えば、図4の表では、キャラクタID「C001」が示すキャラクタ(以下、「キャラクタC001」などと記載する)が、キャラクタC002に100回勝っており、キャラクタC002はキャラクタC001に90回勝っていることが示されている。なお、本ゲームでは、複数のキャラクタを含むデッキ同士の対戦であるから、キャラクタC001がキャラクタC002に勝つ、とは、キャラクタC001を含むデッキがキャラクタC002を含むデッキに勝つことを意味する。
【0034】
キャラクタC001がキャラクタC002に100回勝っているから、グラフ生成部30は、図5に示すように、キャラクタC002を表すノード(以下「ノードC002」などと記載する)からノードC001に対して、値「100」を情報として有する矢印(有向エッジ)を引く。これで、キャラクタC001がキャラクタC002に100回勝っていることがグラフにおいて表現される。本実施形態では、キャラクタC002がキャラクタC001に90回勝っているから、逆に、ノードC001からノードC002に対して、値「90」を情報として有する矢印(有向エッジ)が引かれることになる。ここで、グラフ生成部30は、上記2つの矢印の情報を相殺して、ノードC002からノードC001に対して、値「10(100-90)」を情報として有する矢印を引く。
【0035】
グラフ生成部30は、このようにして、本ゲームで定義されている全てのキャラクタ間(過去に対戦があったキャラクタ間)についての対戦結果に基づいて、図6に示すような、複数のノードNと2つのノードを接続するエッジEを含むグラフGを生成する。図6においては表現されていないが、キャラクタの強さを表すグラフGでは上述のようにエッジEは矢印となるから、グラフGは有向グラフとなる。グラフ生成部30が生成したグラフGは、生成時刻と関連付けられてゲームログDB24に記憶される。
【0036】
グラフ生成部30は、生成したグラフにおいてページランクを演算することで、各キャラクタの強さを算出するようにしてもよい。本例におけるページランクとは、例えば、キャラクタC001とキャラクタC002との関係を考えると、キャラクタC001がキャラクタC002に勝ち越している場合、キャラクタC002がキャラクタC001以外のキャラクタにおいてあまり勝っていない場合に比して、キャラクタC002がキャラクタC001以外のキャラクタに多く勝っている場合の方が、キャラクタC001がより強いと判定する手法である。
【0037】
表示制御部32は、グラフ生成部30が生成したグラフをプランナ端末14の表示部としてのディスプレイに表示させる。グラフ生成部30が各キャラクタの強さを算出した場合には、表示制御部32は、各キャラクタの強さを示す情報をプランナ端末14に表示させるようにしてもよい。各キャラクタの強さの表し方は種々の方法を採用し得るが、例えば、表示制御部32は、図7に示すように、各キャラクタの強さに応じて、グラフGにおいて各キャラクタに対応するノードNの大きさを変更して表示させる。図7の例では、ノードNaが他のノードNに比して突出して大きく表示されている。これにより、プランナは、ノードNaに対応するキャラクタが他のキャラクタよりも突出して強いことを容易に把握することができる。あるいは、表示制御部32は、各ノードNの色などによって各キャラクタの強さを表現してもよい。また、表示制御部32は、グラフ生成部30が生成した各キャラクタの強さの分布を図8に示すようなヒストグラムの形でプランナ端末14に表示させるようにしてもよい。
【0038】
なお、必要であれば、表示制御部32は、グラフ生成部30が生成したグラフや各キャラクタの強さを示す情報をプレイヤ端末12のディスプレイに表示させることも可能である。以下に説明するその他の情報についても同様である。
【0039】
また、グラフ生成部30は、各ゲーム要素を本ゲーム内で使用される各キャラクタとし、各ノードが各キャラクタを表し、各キャラクタ間の関連度を表すグラフを生成することができる。この場合における各キャラクタ間の関連度とは、キャラクタの同時に使用されやすさを意味する。すなわち、2つのキャラクタに注目すると、同時に使用された回数が多い程、当該2つのキャラクタの関連度が高くなる。同時に使用されたキャラクタとは、すなわち、同じデッキに入れられて対戦に用いられたキャラクタを意味する。まず、グラフ生成部30は、操作内容が「対戦」であるログデータに基づいて、図9に示すような、各キャラクタの同時使用回数を示す同時使用回数表を作成する。図9の表は、縦に並んだキャラクタIDが注目キャラクタを表し、横にならんだキャラクタIDが注目キャラクタと同時に使用された同時使用キャラクタを表す。例えば、図9の表では、キャラクタC001とキャラクタC002とが100回同時に使用されており、キャラクタC001とキャラクタC003とが80回同時に使用されていることが示されている。
【0040】
キャラクタC001とキャラクタC002が100回同時に使用されているから、グラフ生成部30は、図10に示すように、ノードC001とノードC002とを値「100」を情報として有するエッジ(無向エッジ)で接続する。これで、キャラクタC001とキャラクタC002とが100回同時に使用されていることがグラフにおいて表現される。また、キャラクタC001とキャラクタC003が80回同時に使用されているから、グラフ生成部30は、図10に示すように、ノードC001とノードC003とを値「80」を情報として有するエッジ(無向エッジ)で接続する。グラフ生成部30は、このようにして、本ゲームで定義されている全てのキャラクタの同時使用回数に基づいて、各キャラクタ間の関連度を表すグラフを生成する。各キャラクタ間の関連度を表すグラフは、無向グラフとなる。
【0041】
グラフ生成部30は、各キャラクタ間の関連度を表すグラフにおいて近接中心性(closeness centrality)又は媒介中心性(betweeness centrality)を演算することで、各キャラクタの汎用性を算出するようにしてもよい。
【0042】
近接中心性は、グラフ内の中心性を示す指標であり、注目ノードの近接中心性は、注目ノードとグラフ内の他の全てのノードとの間の最短経路上にあるエッジの値の合計として計算することができる。したがって、注目ノードが他のノードとの関連度が高い(同時使用回数が多い)ほど、その他の全てのノードとの注目ノードの近接中心性は大きくなり、注目ノードが表すキャラクタの汎用性が高いことになる。
【0043】
媒介中心性は、注目ノードが、他の2つのノードの最短経路上に存在する頻度を表す指標である。注目ノードの媒介中心性が高い程、注目ノードが表すキャラクタの汎用性が高いことを示す。
【0044】
表示制御部32は、グラフ生成部30が生成した、各キャラクタの関連度を表すグラフをプランナ端末14に表示させる。このとき、表示制御部32は、演算された各キャラクタの汎用性を示す情報をプランナ端末14に表示させるようにしてもよい。例えば、各キャラクタの汎用性に応じて、グラフにおいて各キャラクタに対応するノードの大きさを変更して表示させるようにしてもよい。また、表示制御部32は、各キャラクタの汎用性の分布を示すヒストグラムをプランナ端末14に表示させるようにしてもよい。
【0045】
なお、グラフ生成部30は、ゲームログDB24に記憶された全てのログデータに基づいてグラフを生成することも可能であり、一部のログデータに基づいてグラフを生成することも可能である。例えば、ログデータの操作時刻に基づいて、特定の期間の間に取得されたログデータのみを抽出し、抽出されたログデータに基づいてグラフを生成することができる。
【0046】
コミュニティ処理部34は、グラフ生成部30が生成したグラフにおいて、互いの間の関連度が大きい複数のゲーム要素に対応する複数のノードであるコミュニティを複数定義する。コミュニティの定義は、コミュニティ検出(community detection)などの既知の手法により行うことができる。なお、本ゲームにおいては、同時に使用されることが多い複数のゲーム要素間の関連度が高くなるから、同時に使用されることが特に多い複数のキャラクタに対応するノードが同一のコミュニティに属することになる。図11には、コミュニティ処理部34によりグラフGにおいて定義された複数のコミュニティCが示されている。
【0047】
コミュニティ処理部34は、グラフにおいて複数のコミュニティを定義することで、各ゲーム要素の本ゲームにおける汎用度を検出することができる。具体的には、注目ノードが属するコミュニティの数であるコミュニティ所属数が多い程、当該注目ノードに対応するゲーム要素は他の多くのゲーム要素との間の関連度が高いと言えるから、注目ノードに対応するゲーム要素の汎用度が高いこととなる。例えば、図11の例だと、ノードNb以外のノードNのコミュニティ所属数は1又は2であるが、ノードNbのコミュニティ所属数は4となっている。したがって、ノードNbが表すキャラクタの本ゲームにおける汎用度が他のキャラクタに比して高いことが検出できる。
【0048】
表示制御部32は、グラフに含まれる各ノードのコミュニティ所属数を示す情報をプランナ端末14に表示させる。例えば、図12に示すように、ヒストグラムなどの形で、グラフに含まれる各ノードのコミュニティ所属数をプランナ端末14に表示する。これにより、プランナは各キャラクタの汎用度を容易に把握することができる。
【0049】
また、コミュニティ処理部34は、定義した複数のコミュニティ間の関係を検出するようにしてもよい。本実施形態では、コミュニティ処理部34は、コミュニティ間の強弱、すなわち、あるコミュニティに含まれる複数のノードが表す複数のキャラクタと、他のコミュニティに含まれる複数のノードが表す複数のキャラクタ間の強弱を検出する。コミュニティ処理部34は、ゲームログDB24に記憶されたログデータに基づいて、コミュニティ間の強弱を演算する。具体的には、ログデータに基づいて作成したキャラクタ同士の対戦表(図4参照)に基づいて、第1コミュニティに含まれる複数のキャラクタの、第2コミュニティに含まれる各キャラクタに対する勝利数の合計から、第2コミュニティに含まれる複数のキャラクタの、第1コミュニティに含まれる各キャラクタに対する勝利数の合計を引いた値を第1コミュニティの第2コミュニティに対する勝利数として算出する。当該勝利数が多いほど第1コミュニティが第2コミュニティに対して強いことを示す。なお、コミュニティ間の強弱の演算は他の方法により行われてもよい。
【0050】
表示制御部32は、コミュニティ処理部34により検出された、複数のコミュニティ間の関係(本実施形態では、コミュニティ間の強弱)を示す情報をプランナ端末14のディスプレイに表示させる。例えば、図13に示すようなヒートマップをプランナ端末14に表示させる。図13のヒートマップは、縦方向に並んだ各行が各自コミュニティを表し、横方向に並んだ各列が相手コミュニティを表す。自コミュニティの相手コミュニティに対する勝利数が多い程、ヒートマップにおける当該自コミュニティと当該相手コミュニティの組に対応するセルがより強く強調表示される。
【0051】
また、プレイヤが本ゲームを進めていくにつれ、本ゲーム内における各キャラクタの関係も変化していくことから、グラフ生成部30は、間欠的にグラフの生成を繰り返してもよい。ちなみに、ゲームプランナによる本ゲームの更新(例えば新キャラクタの追加やイベントの実施)が行われたときはグラフの変化がもちろん生じ得るが、本ゲームの更新が無くてもグラフの変化は生じる。例えば、本ゲームのプレイヤがSNS(Social Networking Service)などで、特定のキャラクタが有用であることを投稿することによって、当該キャラクタの使用するプレイヤが増え、各キャラクタの関係が変化してグラフが変化する場合がある。
【0052】
コミュニティ処理部34は、グラフ生成部30により新たなグラフが生成される度に、当該グラフにおけるコミュニティを定義する。複数の時点において生成されたグラフ及び定義されたコミュニティをプランナ端末14に表示させることより、プランナは、各コミュニティが時間的に変化していく様子を容易に把握することができる。コミュニティの時間変化の態様としては、コミュニティに属するノードが表すゲーム要素(本実施形態ではキャラクタ)が増えていく「成長」、コミュニティに属するノードが表すゲーム要素(本実施形態ではキャラクタ)が減っていく「収縮」、複数のコミュニティが1つに合わさる「併合」、1つのコミュニティが複数のコミュニティに分かれる「分裂」、前時点では無かったコミュニティが定義される「誕生」、前時点では有ったコミュニティが無くなる「消失」などがある。
【0053】
図2に戻り、学習処理部36は、本ゲーム内において発生した過去イベントの内容、当該過去イベントの発生直前にグラフ生成部30により生成されたグラフから得られた複数のノードの埋め込み表現、及び、当該過去イベントの発生直後における当該複数のゲーム要素間の関係を学習データとして、イベントの発生直後における複数のゲーム要素間の関係を予測するように学習モデル26を学習させる。なお、イベントの発生直前とは、当該イベントの発生以前の時点であって、当該時点から当該イベント発生時点までの間に複数のゲーム要素間の関係が変わらない時点を意味する。つまり、イベントの発生直前とは、複数のゲーム要素間の関係の変化に着目した時点を意味しており、イベント発生までの時間の長さを直接定義しているのではない。同様に、イベントの発生直後とは、当該イベントの発生以後の時点であって、当該イベント発生時点から当該時点までの間に複数のゲーム要素間の関係が変わらない時点を意味する。つまり、イベントの発生直後とは、複数のゲーム要素間の関係の変化に着目した時点を意味しており、イベント発生からの時間の長さを直接定義しているのではない。
【0054】
図14に、学習処理部36による学習モデル26の学習の様子が示されている。まず、学習処理部36は、ゲームログDB24を参照し、過去イベントの内容と、当該過去イベントの発生直前に生成されたグラフを特定する。次いで、学習処理部36は、特定したグラフに対して、グラフ埋め込み処理を施し、当該グラフに含まれる各ノードの埋め込み表現を抽出する。グラフ埋め込み処理としては、既知の技術(例えばGraphSAGE)を用いることができる。注目ノードの埋め込み表現には、当該グラフにおける注目ノードと他のノードとの関係を示す特徴が含まれる。すなわち、注目ノードの埋め込み表現には、注目ノードに対応するゲーム要素と、他のゲーム要素との関係を示す特徴が含まれると言える。したがって、グラフにおいて同じようなノード群が周囲にある(同種のノード群と関係が深い)複数のノードの埋め込み表現は、互いに類似する特徴を示すことになる。
【0055】
そして、学習処理部36は、得られた複数の埋め込み表現のうちの一組(図14の例ではノードC001の埋め込み表現とノードC002の埋め込み表現の組)と、過去イベントの内容を学習モデル26に入力する。学習モデル26は、当該入力から、過去イベントの発生直後における、ノードC001とノードC002との関係を出力する。具体的には、学習モデル26は、過去イベントの発生直後における、ノードC001とノードC002とを接続するエッジが情報として有する値を予測して出力する。
【0056】
さらに、学習処理部36は、教師データである当該過去イベントの発生直後における当該複数のゲーム要素間の関係(本例では、過去イベントの発生直後におけるノードC001とノードC002とを接続するエッジの値)と、学習処理部36が出力した関係(本例では、過去イベントの発生直後におけるノードC001とノードC002とを接続するエッジの予測値)との差分が小さくなるように、学習モデル26を学習させる。例えば、学習モデル26が有する各ニューロンの重みやバイアスを調整する。
【0057】
学習処理部36が上述の学習処理を繰り返すことによって、学習済みの学習モデル26は、未だ発生していない新規イベントの発生直前においてグラフ生成部30によって生成されたグラフから得られた各ノードの埋め込み表現と、当該新規イベントの内容とに基づいて、当該新規イベントの発生直後に生成されるグラフにおける各ノード間の関係(エッジの値)を予測することができるようになる。
【0058】
予想グラフ生成部38は、プランナによって本ゲーム内において未だ発生していない新規イベントが指定されると、当該新規イベントの内容、及び、当該新規イベントの発生直前にグラフ生成部30により生成されたグラフから得られた各ノードの埋め込み表現を学習済みの学習モデル26に入力する。本実施形態では、予想グラフ生成部38は、当該新規イベントの発生直前のグラフとして、現時点におけるグラフ生成部30が生成したグラフを学習モデル26に入力する。学習モデル26は、当該入力に基づいて、新規イベントの発生直後の各ノードの関係を予測して出力する。予想グラフ生成部38は、学習モデル26の出力(新規イベントの発生直後の各ノードの関係)に基づいて、当該新規イベントの発生直後における複数のゲーム要素間の関係を示すグラフである予想グラフを生成する。表示制御部32は、生成された予想グラフをプランナ端末14のディスプレイに表示させる。
【0059】
これにより、プランナは、今後実施が予定されている新規イベントが発生した後に、本ゲームの複数のゲーム要素間の関係がどのように変化するかを容易に把握することができる。例えば、新規イベントが新キャラクタの追加であれば、当該新キャラクタの追加により特定のキャラクタが極端に強くあるいは極端に弱くならないかなど、ゲームバランスが適正に保たれるか否かを容易に把握することができる。
【0060】
また、予想グラフ生成部38は、一連の新規イベントである新規イベント列の内容、及び、当該新規イベント列の発生直前にグラフ生成部30により生成されたグラフから得られた各ノードの埋め込み表現を学習済みの学習モデル26に入力することで、当該新規イベント列の発生直後における複数のゲーム要素間の関係を示す予想グラフを生成するようにしてもよい。当該予想グラフがプランナ端末14に表示されることにより、プランナは、新規イベント列が発生した後の本ゲームの複数のゲーム要素間の関係を把握することができる。
【0061】
新規イベント列としては、それに含まれる新規イベントの発生順序が変わると、当該新規イベント列の発生直後の複数のゲーム要素間の関係が変化するものであってよい。例えば、図15に示されている新規イベント列では、各新規イベントの発生順序は、「キャラクタA強化」→「キャラクタB追加」→「ガチャ実施」→「キャンペーン実施」→「キャラクタC追加」の順序となっており、この新規イベント列の発生直後の複数のゲーム要素間の関係を示すグラフがグラフGaであるとする。ここで、新規イベント列における新規イベントの発生順序を変えて、例えば、「キャラクタA強化」→「キャラクタB追加」→「キャラクタC追加」→「ガチャ実施」→「キャンペーン実施」とすると、当該新規イベント列の発生直後の複数のゲーム要素間の関係は変化し、当該新規イベント列の発生直後の複数のゲーム要素間の関係を示すグラフはGaと同一になるとは限らない。
【0062】
したがって、プランナは、新規イベント列における新規イベントの発生順序を組み替えて学習モデル26に入力し、得られる複数の予想グラフを比較することで、新規イベント列の実施に先立って、本ゲームのゲームバランスが最も取れる最適な新規イベントの発生順序を決定することができる。
【0063】
なお、予想グラフ生成部38は、新規イベント列に含まれる複数の新規イベントの内容を順次学習モデル26に入力して、当該新規イベント列の発生直後における複数のゲーム要素間の関係を得る。図15を参照して説明すると、まず、予想グラフ生成部38は、イベント「キャラクタA強化」の内容と、現時点において生成されたグラフから得られた各ノードの埋め込み表現を学習モデル26に入力して、イベント「キャラクタA強化」の発生直後の複数のゲーム要素間の関係を示す第1中間予想グラフを生成する。次いで、予想グラフ生成部38は、イベント「キャラクタB追加」の内容と、第1中間予想グラフから得られた各ノードの埋め込み表現を学習モデル26に入力して、イベント「キャラクタB追加」の発生直後の複数のゲーム要素間の関係を示す第2中間予想グラフを生成する。この処理を繰り返して、当該新規イベント列の発生直後における複数のゲーム要素間の関係を得る。
【0064】
なお、予想グラフ生成部38は、新規イベント列に含まれる複数の新規イベントの内容を一括して学習モデル26に入力して、当該新規イベント列の発生直後における複数のゲーム要素間の関係を得ることもできる。例えば、学習モデル26がRNN(リカレントニューラルネットワーク)を含む場合、新規イベント列に含まれる複数の新規イベントの内容を一括で入力できる。この場合、中間予想グラフを生成せずに当該新規イベント列の発生直後における複数のゲーム要素間の関係を得る。
【0065】
また、学習処理部36が、本ゲーム内において発生した一連の過去イベントである過去イベント列の内容、当該過去イベント列の発生直前にグラフ生成部30により生成されたグラフから得られた複数のノードの埋め込み表現、及び、当該過去イベント列の発生直後における複数のゲーム要素間の関係を学習データとして用いて、イベント列の発生直後の複数のゲーム要素間の関係を予測するように学習モデル26を学習するようにしてもよい。この場合、予想グラフ生成部38は、新規イベント列の内容と、当該新規イベント列の発生直前にグラフ生成部30により生成されたグラフから得られた各ノードの埋め込み表現を学習済みの学習モデル26に入力することで、学習モデル26は、当該新規イベント列の発生直後における複数のゲーム要素間の関係を出力することができる。予想グラフ生成部38は、学習モデル26の当該出力に基づいて、当該新規イベント列の発生直後における複数のゲーム要素間の関係を示す予想グラフを生成する。
【0066】
以下、重み付与部40及び操作パターン抽出部42(図1参照)について説明する。以下における重み付与部40及び操作パターン抽出部42の説明においては、グラフ生成部30が、各ゲーム要素を本ゲーム内における各プレイヤの操作内容とし、各ノードが各操作内容を表し、各操作内容の関係、具体的には、各操作の流れ(操作パターン)を表すグラフを生成するものとする。その場合、グラフ生成部30は、ログデータにおけるプレイヤID、操作内容、及び操作時刻に基づいて、あるプレイヤの操作の流れをノード及びエッジで表す。例えば、図3を参照して、プレイヤID「P001」が示すプレイヤの操作に着目すると、操作内容がAの操作(以下「操作A」などと記載する)→操作B→操作Cの順番で操作している。したがって、グラフ生成部30は、図16の一番上に示すように、操作Aに対応するノードAから操作Bに対応するノードBに向かって矢印を引き、ノードBから操作Cに対応するノードCに向かって矢印を引く。このようにして、グラフ生成部30は、各プレイヤについての操作パターンをノード及びエッジで表現する。
【0067】
次いで、グラフ生成部30は、各プレイヤについて生成したノード及びエッジをマージして、図17に示すようなグラフGを生成する。例えば、各プレイヤについての操作パターンが、図16に示すようにノード及びエッジで表現された場合、操作Aの後に行われた操作は、操作B、操作D、又は操作Eである。したがって、グラフ生成部30はノードAからノードB、ノードD、及びノードEに対して矢印を引く。同様に、操作Bの後に行われた操作は、操作C又は操作Dである。したがって、グラフ生成部30はノードBからノードC及びノードDに対して矢印を引く。グラフ生成部30は、このような処理を繰り返してグラフGを生成する。
【0068】
なお、本実施形態では、プレイヤの各操作の順番も示すために、各エッジは矢印(有向エッジ)となっており、グラフGが有向グラフとなっているが、プレイヤの各操作の順番を考慮しなくてもよく、その場合は、各エッジを無向エッジとしてグラフGを無向グラフとしてもよい。
【0069】
重み付与部40は、グラフ生成部30が生成した、1又は複数のプレイヤの操作パターンを表すグラフにおける、2つのノードが表す操作内容の操作を行ったときのプレイヤのプレイヤパラメータの値に応じて、当該2つのノード間を接続するエッジに対して重みを付与する。
【0070】
図18を参照しつつ、重み付与部40の処理の詳細を説明する。以下の例では、プレイヤパラメータとしてLTVを用いる。まず、重み付与部40は、ログデータに基づいて、各プレイヤによる2つの操作の組み合わせを抽出する。本明細書では、2つの操作の組み合わせを「行動」と呼ぶ。行動には、例えば操作A→操作B、操作B→操作Cなどがある。図18に示すテーブルTaは、ログデータから抽出された複数のプレイヤの行動と、当該行動を行ったときの各プレイヤのLTVが示されている。例えば、テーブルTaは、あるプレイヤが操作A→操作Bという行動を行ったときの当該プレイヤのLTVが「50」であり、あるプレイヤが操作B→操作Cという行動を行ったときの当該プレイヤのLTVが「40」であることが示されている。ちなみに、行動に含まれる2つの操作内容を行ったときのプレイヤのLTVが互いに異なる場合は、当該行動をとった時のプレイヤのLTVとしては、前後いずれかの操作を行ったときのプレイヤのLTVを採用してもよく、2つの操作を行ったときのプレイヤLTVの平均値を採用してもよい。
【0071】
次いで、重み付与部40は、テーブルTaに基づいて、同一の行動に対する各プレイヤのLTVを集約する。本実施形態では、重み付与部40は、同一の行動に対する各プレイヤのLTVの平均値を当該行動の集約したLTVとする。例えば、テーブルTaには、操作A→操作Bという行動が2つ含まれており、あるプレイヤが操作A→操作Bという行動を行ったときのLTVは50であり、他のプレイヤが操作A→操作Bという行動を行ったときのLTVは10である。したがって、重み付与部40は、操作A→操作Bという行動の集約したLTVを50と10の平均値である30とする。このように、同一の行動に対する各プレイヤのLTVを集約することで、テーブルTbを得る。
【0072】
さらに、重み付与部40は、テーブルTbに基づいて、各行動に対する集約したLTVに応じた重みを各行動に対して付与する。行動は2つの操作の組み合わせで構成されるから、行動の重みは、グラフにおける2つの操作に対応するノードを接続するエッジの重みとして定義できる。
【0073】
重みの付し方としては種々の方法があるが、本実施形態では、重み付与部40は、
(1)LTVが最大値に近い程大きな値を有するような重み
(2)LTVの最小値に近い程大きな値を有するような重み
(3)LTVの中央値に近い程大きな値を有するような重み
(4)LTVの平均値に近い程大きな値を有するような重み
(5)LTVの中点値に近い程大きな値を有するような重み
のそれぞれの重みを各行動に付しておく。本実施形態においては、各重みは、0~1の間の値を取ることとしている。なお、上記における最大値、最小値、中央値、平均値、及び中点値は、テーブルTbにおける複数のLTVにおける最大値、最小値、中央値、平均値、及び中点値である。ちなみに、中点値とは、最大値と最小値の中間の値である。
【0074】
上記(1)LTVが最大値に近い程大きな値を有するような重みf(xmax)は、以下の式1で算出することができる。
【数1】
式1において、maxはテーブルTbにおけるLTVの最大値、minはテーブルTbにおけるLTVの最小値、xは重みの対象となるLTVの値を示す。
上記(2)LTVが最小値に近い程大きな値を有するような重みf(xmin)は、以下の式2で算出することができる。
【数2】
上記(3)LTVが中央値に近い程大きな値を有するような重みf(xmedian)は、以下の式3で算出することができる。
【数3】
式3において、medianはテーブルTbにおけるLTVの中央値を示す。
上記(4)LTVが平均値に近い程大きな値を有するような重みf(xmean)は、以下の式4で算出することができる。
【数4】
式4において、meanはテーブルTbにおけるLTVの平均値を示す。
上記(5)LTVが中点値に近い程大きな値を有するような重みf(xmid)は、以下の式5で算出することができる。
【数5】
式5において、midrangeはテーブルTbにおけるLTVの中点値を示す。
【0075】
図18には、例として、テーブルTbに基づいて付された、各行動に対する(1)LTVが最大値に近い程大きな値を有するような重みf(xmax)を示すテーブルTcと、各行動に対する(2)LTVが最小値に近い程大きな値を有するような重みf(xmin)を示すテーブルTdが示されている。このように、各行動に対して付された上記(1)~(5)の各重みはメモリ22に記憶される。
【0076】
操作パターン抽出部42は、重み付与部40により付された重みに基づいて、特定のプレイヤパラメータの特定の値を有するプレイヤの操作パターンをグラフから抽出する。
【0077】
具体的には、プランナが特定のプレイヤパラメータと、特定の値とを指定して、それらを示す情報がプランナ端末14からゲームサーバ16に送信されると、操作パターン抽出部42は、当該特定のプレイヤパラメータの当該特定の値に対応した重みに基づいて、当該特定のプレイヤパラメータの当該特定の値(又は特定の値近傍の値)を有するプレイヤがした操作をグラフから抽出する。
【0078】
例えば、プランナがプレイヤパラメータとしてLTVを指定し、値として最大値を指定した場合、操作パターン抽出部42は、各行動に対して付された上記(1)の重みf(xmax)が所定の閾値(例えば0.8)以上の行動を抽出する。そのように抽出された、グラフの一部である抽出グラフの例が図19(a)に示されている。図19(a)に示される抽出グラフは、LTVが最大値に近いプレイヤがよく行う行動を示している。
【0079】
同様に、例えば、プランナがプレイヤパラメータとしてLTVを指定し、値として最小値、中央値、平均値、中点値を指定した場合、操作パターン抽出部42は、それぞれ、各行動に対して付された上記(2)の重みf(xmin)、上記(3)の重みf(xmedian)上記、(4)の重みf(xmean)、上記(5)の重みf(xmid)が所定の閾値(例えば0.8)以上の行動を抽出する。そのように抽出された、グラフの一部である抽出グラフの例が図19(b)、(c)、(d)、(e)にそれぞれ示されている。
【0080】
なお、LTVやプレイヤレベルは、図20に示すように、低い値にプレイヤ数のピークが存在し、高い値の領域のプレイヤ数はかなり少ない分布になる傾向がある。したがって、プランナとしては、大多数のプレイヤがよく行う行動を抽出したい場合、平均値や中点値に比して、中央値を指定して抽出グラフを抽出するのが好適であると言える。もちろん、プレイヤパラメータに応じてその分布は様々であり、例えば、プレイヤ数が正規分布に従って分布するようなプレイヤパラメータにおいては、大多数のプレイヤがよく行う行動を抽出したい場合は、平均値や中点値を指定するのが好適となる場合もある。したがって、本実施形態では、上記(1)~(5)のような複数の重みを各行動に付すことで、プランナがプレイヤパラメータ(の分布)に応じて適切な代表値に基づいて抽出グラフを抽出できるようにしている。
【0081】
図19に示された各抽出グラフはプランナ端末14に表示される。これにより、プランナは、特定のプレイヤパラメータの特定の値を有するプレイヤがよく行う行動を容易に把握することができる。
【0082】
また、プランナは、特定の期間を指定することで、操作パターン抽出部42は、特定の期間における抽出グラフを抽出することができる。その場合、グラフ生成部30は、プランナから指定された期間に取得されたログデータに基づいてグラフを生成し、操作パターン抽出部42は、当該グラフから抽出グラフを抽出する。
【0083】
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
【0084】
例えば、本実施形態においては、ゲームログDB24及び学習モデル26がゲームサーバ16のメモリ22に記憶されていたが、これらはゲームサーバ16ではなく他の装置のメモリに記憶されてもよい。
【符号の説明】
【0085】
10 ゲームシステム、12 プレイヤ端末、14 プランナ端末、16 ゲームサーバ、20 通信インターフェイス、22 メモリ、24 ゲームログDB、26 学習モデル、28 プロセッサ、30 グラフ生成部、32 表示制御部、34 コミュニティ処理部、36 学習処理部、38 予想グラフ生成部、40 重み付与部、42 操作パターン抽出部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20