(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-14
(45)【発行日】2023-09-25
(54)【発明の名称】ゲームを提供するためのシステム、方法、及びプログラム
(51)【国際特許分類】
A63F 13/795 20140101AFI20230915BHJP
A63F 13/79 20140101ALI20230915BHJP
A63F 13/69 20140101ALI20230915BHJP
【FI】
A63F13/795
A63F13/79
A63F13/69
(21)【出願番号】P 2019124058
(22)【出願日】2019-07-02
【審査請求日】2022-06-28
(73)【特許権者】
【識別番号】599115217
【氏名又は名称】株式会社 ディー・エヌ・エー
(74)【代理人】
【識別番号】100125195
【氏名又は名称】尾畑 雄一
(72)【発明者】
【氏名】奥村 純
(72)【発明者】
【氏名】松本 吉高
【審査官】関口 英樹
(56)【参考文献】
【文献】特開2018-015502(JP,A)
【文献】特開2019-093035(JP,A)
【文献】特開2019-154914(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F9/24
13/00-13/98
(57)【特許請求の範囲】
【請求項1】
1又は複数のコンピュータプロセッサを備え、複数のゲームコンテンツが含まれるデッキを用いるゲームを提供するためのシステムであって、
前記1又は複数のコンピュータプロセッサは、読取可能な命令の実行に応じて、
複数のプレイヤの各々の
1のデッキの分類に関する分類情報を取得する処理と、
前記複数のプレイヤの各々の前記分類情報に少なくとも基づいて、前記複数のプレイヤの各々の一緒にプレイする1又は複数の他のプレイヤをマッチングする処理と、を実行し、
前記分類情報を取得する処理は、デッキに含まれるゲームコンテンツに関するコンテンツ情報を少なくとも含むデッキ情報が入力されると前記分類情報を出力するように構成された学習済みモデルを用いて、前記複数のプレイヤの各々の前記分類情報を取得することを含む、
システム。
【請求項2】
前記学習済みモデルは、複数の前記デッキ情報を訓練データとする教師なし学習を介して生成されるように構成されている、
請求項1のシステム。
【請求項3】
前記学習済みモデルは、デッキに含まれるゲームコンテンツが文書に含まれる単語として取り扱われると共に、前記分類情報としてトピックの確率分布を出力するように構成されたトピックモデルとして構成されている、
請求項2のシステム。
【請求項4】
前記デッキ情報は、前記コンテンツ情報に加えて、対応するプレイヤに関するプレイヤ情報、及び、対応するゲームステージに関するステージ情報の少なくとも1つを含む付加情報を含み、
前記学習済みモデルは、前記付加情報が著者情報として取り扱われるオーサートピックモデルとして構成されている、
請求項3のシステム。
【請求項5】
前記マッチングする処理は、マッチングされる複数のプレイヤの各々の前記分類情報としてのトピックの確率分布に基づいて算出される前記マッチングされる複数のプレイヤ全体のトピックの確率分布が所定の範囲内となるように、マッチングすることを含む、
請求項3又は4のシステム。
【請求項6】
前記マッチングする処理は、前記分類情報に少なくとも基づくデッキの類似度が所定の範囲内にあるプレイヤ同士をマッチングすることを含む、
請求項1ないし4何れかのシステム。
【請求項7】
前記マッチングする処理は、前記分類情報に少なくとも基づくデッキの類似度が所定の値以下であるプレイヤ同士をマッチングすることを含む、
請求項6のシステム。
【請求項8】
前記マッチングする処理は、前記分類情報に少なくとも基づくデッキの類似度が所定の値以上であるプレイヤ同士をマッチングすることを含む、
請求項6のシステム。
【請求項9】
前記ゲームコンテンツは、第1のコンテンツと、前記第1のコンテンツに関連付けられる第2のコンテンツとを含む、
請求項1ないし8何れかのシステム。
【請求項10】
1又は複数のコンピュータによって実行され、複数のゲームコンテンツが含まれるデッキを用いるゲームを提供するための方法であって、
複数のプレイヤの各々の
1のデッキの分類に関する分類情報を取得する工程と、
前記複数のプレイヤの各々の前記分類情報に少なくとも基づいて、前記複数のプレイヤの各々の一緒にプレイする1又は複数の他のプレイヤをマッチングする工程と、を備え、
前記分類情報を取得する工程は、デッキに含まれるゲームコンテンツに関するコンテンツ情報を少なくとも含むデッキ情報が入力されると前記分類情報を出力するように構成された学習済みモデルを用いて、前記複数のプレイヤの各々の前記分類情報を取得することを含む、
方法。
【請求項11】
複数のゲームコンテンツが含まれるデッキを用いるゲームを提供するためのプログラムであって、1又は複数のコンピュータに、
複数のプレイヤの各々の
1のデッキの分類に関する分類情報を取得する処理と、
前記複数のプレイヤの各々の前記分類情報に少なくとも基づいて、前記複数のプレイヤの各々の一緒にプレイする1又は複数の他のプレイヤをマッチングする処理と、を実行させ、
前記分類情報を取得する処理は、デッキに含まれるゲームコンテンツに関するコンテンツ情報を少なくとも含むデッキ情報が入力されると前記分類情報を出力するように構成された学習済みモデルを用いて、前記複数のプレイヤの各々の前記分類情報を取得することを含む、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のゲームコンテンツが含まれるデッキを用いるゲームを提供するためのシステム、方法、及びプログラムに関するものである。
【背景技術】
【0002】
従来、プレイヤ間での対戦が可能なゲーム等において、各プレイヤと一緒にプレイする他のプレイヤ(対戦/協力プレイの相手)のマッチングが行われている(例えば、下記特許文献1を参照)。こうしたマッチングは、例えば、レベル等の強さに関するパラメータの値が同じ程度であるプレイヤ同士が対戦相手となるように行われる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、単に強さが同じ程度のプレイヤ同士をマッチングするだけでは、ゲームの興趣が低下してしまう場合が考えられる。例えば、複数のキャラクタによって構成されるデッキを用いるゲームにおいて、同じようなタイプのデッキ(例えば、同じようなキャラクタの組合せによって構成されるデッキ等)を設定しているプレイヤ同士が対戦相手としてマッチングされると、対戦内容が単調になり、ゲームの盛り上がりに欠けてしまう場合が考えられる。また、例えば、過剰に特徴が異なるデッキを設定しているプレイヤ同士が対戦相手としてマッチングされると、対戦内容が極端になり、同じくゲームの盛り上がりに欠けてしまう場合が考えられる。
【0005】
本発明の実施形態は、プレイヤの適切なマッチングを支援することを目的の一つとする。本発明の実施形態の他の目的は、本明細書全体を参照することにより明らかとなる。
【課題を解決するための手段】
【0006】
本発明の一実施形態に係るシステムは、1又は複数のコンピュータプロセッサを備え、複数のゲームコンテンツが含まれるデッキを用いるゲームを提供するためのシステムであって、前記1又は複数のコンピュータプロセッサは、読取可能な命令の実行に応じて、複数のプレイヤの各々のデッキの分類に関する分類情報を取得する処理と、前記複数のプレイヤの各々の前記分類情報に少なくとも基づいて、前記複数のプレイヤの各々の一緒にプレイする1又は複数の他のプレイヤをマッチングする処理と、を実行し、前記分類情報を取得する処理は、デッキに含まれるゲームコンテンツに関するコンテンツ情報を少なくとも含むデッキ情報が入力されると前記分類情報を出力するように構成された学習済みモデルを用いて、前記複数のプレイヤの各々の前記分類情報を取得することを含む。
【0007】
本発明の一実施形態に係る方法は、1又は複数のコンピュータによって実行され、複数のゲームコンテンツが含まれるデッキを用いるゲームを提供するための方法であって、複数のプレイヤの各々のデッキの分類に関する分類情報を取得する工程と、前記複数のプレイヤの各々の前記分類情報に少なくとも基づいて、前記複数のプレイヤの各々の一緒にプレイする1又は複数の他のプレイヤをマッチングする工程と、を備え、前記分類情報を取得する工程は、デッキに含まれるゲームコンテンツに関するコンテンツ情報を少なくとも含むデッキ情報が入力されると前記分類情報を出力するように構成された学習済みモデルを用いて、前記複数のプレイヤの各々の前記分類情報を取得することを含む。
【0008】
本発明の一実施形態に係るプログラムは、複数のゲームコンテンツが含まれるデッキを用いるゲームを提供するためのプログラムであって、1又は複数のコンピュータに、複数のプレイヤの各々のデッキの分類に関する分類情報を取得する処理と、前記複数のプレイヤの各々の前記分類情報に少なくとも基づいて、前記複数のプレイヤの各々の一緒にプレイする1又は複数の他のプレイヤをマッチングする処理と、を実行させ、前記分類情報を取得する処理は、デッキに含まれるゲームコンテンツに関するコンテンツ情報を少なくとも含むデッキ情報が入力されると前記分類情報を出力するように構成された学習済みモデルを用いて、前記複数のプレイヤの各々の前記分類情報を取得することを含む。
【発明の効果】
【0009】
本発明の様々な実施形態は、プレイヤの適切なマッチングを支援する。
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態に係るゲーム提供システム10を含むネットワークの構成を概略的に示す構成図。
【
図2】ゲーム提供システム10が有する機能を概略的に示すブロック図。
【
図4】プレイヤ情報テーブル411が管理する情報を例示する図。
【
図5】プレイヤの対戦相手のマッチングの際にシステム10が実行する処理を例示するフロー図。
【
図6】典型的なトピックモデルの概念を説明するための図。
【
図7】デッキの分類に適用されるトピックモデルの概念を説明するための図。
【
図9】待機中のプレイヤが対象プレイヤの対戦相手としてマッチングされる手順を説明するための図。
【
図10】オーサートピックモデルのグラフィカルモデルを例示する図。
【
図11】マッチングされる複数のプレイヤ全体のトピックの確率分布に基づいてマッチングが行われる手順を説明するための図。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、本発明の実施形態について説明する。
【0012】
図1は、本発明の一実施形態に係るゲーム提供システム10を含むネットワークの構成を概略的に示す構成図である。システム10は、
図1に示すように、インターネット等の通信ネットワーク20を介してプレイヤ端末30と通信可能に接続されている。
図1においては、1つのプレイヤ端末30のみが図示されているが、システム10は、複数のプレイヤ端末30と通信可能に接続されている。システム10は、プレイヤ端末30のユーザに対してゲームを提供する。システム10が提供するゲームは、複数のゲームコンテンツが含まれるデッキを用いるゲームとして構成されている。
【0013】
システム10は、一般的なコンピュータとして構成されており、
図1に示すように、CPU及びGPU等として構成されるコンピュータプロセッサ11と、メインメモリ12と、入出力I/F13と、通信I/F14と、ストレージ(記憶装置)15とを備え、これらの各構成要素が図示しないバス等を介して電気的に接続されている。
【0014】
コンピュータプロセッサ11は、ストレージ15等に記憶されている様々なプログラムをメインメモリ12に読み込んで、当該プログラムに含まれる各種の命令を実行する。メインメモリ12は、例えば、DRAM等によって構成される。
【0015】
入出力I/F13は、ユーザとの間で情報をやり取りするための各種の入出力装置を含む。入出力I/F13は、例えば、キーボード、ポインティングデバイス(例えば、マウス、タッチパネル等)等の情報入力装置、マイクロフォン等の音声入力装置、カメラ等の画像入力装置を含む。また、入出力I/F13は、ディスプレイ等の画像出力装置、スピーカー等の音声出力装置を含む。
【0016】
通信I/F14は、ネットワークアダプタ等のハードウェア、各種の通信用ソフトウェア、又はこれらの組み合わせとして実装され、通信ネットワーク20等を介した有線又は無線の通信を実現できるように構成されている。
【0017】
ストレージ15は、例えば磁気ディスク、フラッシュメモリ等によって構成される。ストレージ15は、オペレーティングシステムを含む様々なプログラム、及び各種データ等を記憶する。
【0018】
本実施形態において、システム10は、それぞれが上述したハードウェア構成を有する複数のコンピュータを用いて構成され得る。例えば、システム10は、1又は複数のサーバ装置によって構成され得る。
【0019】
このように構成されたゲーム提供システム10は、ウェブサーバ及びアプリケーションサーバとしての機能を有し、プレイヤ端末30にインストールされているウェブブラウザ又はその他のアプリケーション(例えば、ゲーム用のアプリケーション等)からの要求に応答して各種の処理を実行し、当該処理の結果に応じた画面データ(例えば、HTMLデータ)及び制御データ等をプレイヤ端末30に送信する。プレイヤ端末30では、受信したデータに基づくウェブページ又はその他の画面が表示される。
【0020】
プレイヤ端末30は、一般的なコンピュータとして構成されており、
図1に示すように、CPU及びGPU等として構成されるコンピュータプロセッサ31と、メインメモリ32と、入出力I/F33と、通信I/F34と、ストレージ(記憶装置)35とを備え、これらの各構成要素が図示しないバス等を介して電気的に接続されている。
【0021】
コンピュータプロセッサ31は、ストレージ35等に記憶されている様々なプログラムをメインメモリ32に読み込んで、当該プログラムに含まれる各種の命令を実行する。メインメモリ32は、例えば、DRAM等によって構成される。
【0022】
入出力I/F33は、ユーザとの間で情報をやり取りするための各種の入出力装置を含む。入出力I/F33は、例えば、キーボード、ポインティングデバイス(例えば、マウス、タッチパネル等)等の情報入力装置、マイクロフォン等の音声入力装置、カメラ等の画像入力装置を含む。また、入出力I/F33は、ディスプレイ等の画像出力装置、スピーカー等の音声出力装置を含む。
【0023】
通信I/F34は、ネットワークアダプタ等のハードウェア、各種の通信用ソフトウェア、及びこれらの組み合わせとして実装され、通信ネットワーク20等を介した有線又は無線の通信を実現できるように構成されている。
【0024】
ストレージ35は、例えば磁気ディスク又はフラッシュメモリ等によって構成される。ストレージ35は、オペレーティングシステムを含む様々なプログラム及び各種データ等を記憶する。ストレージ35が記憶するプログラムは、アプリケーションマーケット等からダウンロードされてインストールされ得る。
【0025】
本実施形態において、プレイヤ端末30は、スマートフォン、タブレット端末、ウェアラブルデバイス、パーソナルコンピュータ、又はゲーム専用端末等として構成され得る。
【0026】
このように構成されたプレイヤ端末30のユーザ(ゲームのプレイヤ)は、ストレージ35等にインストールされているウェブブラウザ又はその他のアプリケーションを介したシステム10との通信を実行することによって、システム10が提供するゲームをプレイすることができる。
【0027】
次に、本実施形態のゲーム提供システム10が有する機能について説明する。
図2は、システム10が有する機能を概略的に示すブロック図である。システム10は、図示するように、様々な情報を記憶及び管理する情報記憶管理部41と、基本機能を制御する基本機能制御部43と、ゲームの進行を制御するゲーム進行制御部45と、プレイヤのマッチングに関する処理を実行するマッチング処理部47とを有する。これらの機能は、コンピュータプロセッサ11及びメインメモリ12等のハードウェア、並びに、ストレージ15等に記憶されている各種のプログラムやデータ等が協働して動作することによって実現され、例えば、メインメモリ12に読み込まれたプログラムに含まれる命令をコンピュータプロセッサ11が実行することによって実現される。また、
図2に示す機能の一部又は全部は、システム10とプレイヤ端末30とが協働することによって実現され、又は、プレイヤ端末30によって実現され得る。
【0028】
システム10の情報記憶管理部41は、ストレージ15等において様々な情報を記憶及び管理する。例えば、情報記憶管理部41は、
図2に示すように、プレイヤに関する情報を管理するプレイヤ情報テーブル411を有する。また、本実施形態において、情報記憶管理部41は、プレイヤのデッキの分類に関する分類情報を取得するための学習済みモデル412を有する。
【0029】
システム10の基本機能制御部43は、基本機能の制御に関する様々な処理を実行する。例えば、基本機能制御部43は、基本機能に関する様々な画面の画面データ又は制御データをプレイヤ端末30に送信し、プレイヤ端末30で表示される当該画面を介したプレイヤによる操作入力に応答して様々な処理を実行し、当該処理の結果に応じた画面データ又は制御データをプレイヤ端末30に送信する。基本機能制御部43によって制御される基本機能には、例えば、ログイン処理(ユーザ認証)、課金制御、及びプレイヤの管理(例えば、プレイヤ情報テーブル411の更新等)等が含まれる。
【0030】
システム10のゲーム進行制御部45は、ゲームの進行の制御に関する様々な処理を実行する。例えば、ゲーム進行制御部45は、ゲームを進行させるための様々な画面の画面データ又は制御データをプレイヤ端末30に送信し、プレイヤ端末30で表示される当該画面を介したプレイヤによる操作入力に応答して様々な処理を実行し、当該処理の結果に応じた画面データ又は制御データをプレイヤ端末30に送信する。
【0031】
システム10のマッチング処理部47は、プレイヤのマッチングに関する様々な処理を実行する。本実施形態において、マッチング処理部47は、複数のプレイヤの各々のデッキの分類に関する分類情報を取得し、当該分類情報に少なくとも基づいて、複数のプレイヤの各々の一緒にプレイする1又は複数の他のプレイヤ(対戦/協力プレイの相手)をマッチングするように構成されている。当該分類情報は、学習済みモデル412を用いて取得される。
【0032】
図3は、本実施形態における学習済みモデル412を説明するための図である。学習済みモデル412は、図示するように、多数のデッキに関するデッキ情報を訓練データとする機械学習を介して生成され、デッキ情報が入力されると分類情報を出力するように構成されている。デッキ情報は、デッキに含まれるゲームコンテンツに関するコンテンツ情報が少なくとも含まれる。コンテンツ情報は、例えば、デッキに含まれる複数のゲームコンテンツの各々を特定可能な情報を含む。
【0033】
このように、本実施形態のゲーム提供システム10は、デッキの分類情報に基づいてプレイヤをマッチングするから、デッキの特徴に基づく多様なマッチングが可能となり、例えば、同じようなタイプの(又は、過剰に特徴の異なる)デッキのプレイヤ同士がマッチングされてしまうことが抑制される。また、デッキの分類情報は、学習済みモデル412を用いて取得されるから、例えば、デッキの分類情報の取得をルールベースの仕組みで実装するのが適切でない場合(例えば、デッキに含まれ得るゲームコンテンツの種類が大量であったり、当該種類が頻繁に変化したりする場合等)であってもデッキの分類が容易に実現され得る。このように、システム10は、プレイヤの適切なマッチングを支援する。
【0034】
本実施形態のシステム10が提供するゲームは、デッキを用いる様々な形式のゲームが含まれ得る。また、デッキに含まれるゲームコンテンツは、キャラクタ、カード、及び、これらに関連付けられるアイテム(例えば、キャラクタが装備する装備アイテム等)等の様々なゲームコンテンツが含まれ得る。
【0035】
本実施形態において、学習済みモデル412は、教師なし学習を介して生成されるように構成され得る。例えば、学習済みモデル412は、クラスタリングを介して生成され得る。
【0036】
また、例えば、学習済みモデル412は、トピックモデルとして構成され得る。この場合、デッキに含まれるゲームコンテンツが文書に含まれる単語として取り扱われると共に、学習済みモデル412は、デッキの分類情報としてトピックの確率分布(複数のトピックの各々の割合)を出力するように構成される。こうした構成は、教師なし学習を介して生成されるトピックモデル等の学習済みモデルを用いたデッキの分類を実現する。
【0037】
また、デッキ情報は、コンテンツ情報に加えて付加情報を含むようにしても良い。この場合、学習済みモデル412は、付加情報が著者情報として取り扱われるオーサートピックモデル(Author Topic Model)として構成され得る。付加情報は、例えば、対応するプレイヤに関するプレイヤ情報(例えば、レベル及びログイン回数等のゲームの習熟度に関するパラメータ等が含まれる。)、及び、対応するゲームステージ(デッキが用いられたステージ)に関するステージ情報の少なくとも1つを含む。こうした構成は、コンテンツ情報に加えて付加情報に基づくデッキの分類を可能し、この結果、デッキの適切な分類が促進され得る。
【0038】
また、マッチング処理部47は、マッチングされる複数のプレイヤの各々の分類情報としてのトピックの確率分布に基づいて算出される当該複数のプレイヤ全体のトピックの確率分布が所定の範囲内となるように、マッチングするように構成され得る。例えば、マッチング処理部47は、マッチングの候補となる複数のプレイヤの各トピックの確率(割合)を合算することによって当該複数のプレイヤ全体のトピックの比率を算出し、当該比率が所定の範囲内となる場合にはマッチングを確定させる一方、所定の範囲外となる場合にはマッチングの新たな候補となる複数のプレイヤを選択するように構成される。こうした構成は、マッチングされる複数のプレイヤ全体(当該プレイヤのデッキ全体)のトピックの割合が所定の比率(例えば、プランナーによって指定される比率等)となることを支援する。
【0039】
また、マッチング処理部47は、デッキの分類情報に少なくとも基づくデッキの類似度(例えば、コサイン類似度等)が所定の範囲内にあるプレイヤ同士をマッチングするように構成され得る。例えば、マッチング処理部47は、デッキの類似度が所定の値以下である(似ていない)プレイヤ同士をマッチングし、又は、デッキの類似度が所定の値以上である(似ている)プレイヤ同士をマッチングするように構成される。こうした構成は、デッキの類似度に基づくマッチングを可能とする。
【0040】
次に、このような機能を有する本実施形態のゲーム提供システム10の具体例について説明する。この具体例におけるシステム10は、複数のキャラクタによって構成されるデッキを用いてクエストを実行するソーシャルゲームを提供する。また、当該ソーシャルゲームにおけるイベントとして、同じくデッキを用いたプレイヤ間での対戦が行われる。
【0041】
図4は、この例において、プレイヤ情報テーブル411が管理する情報を例示する。プレイヤ情報テーブル411は、プレイヤ毎の情報を管理し、図示するように、個別のプレイヤを識別する「プレイヤアカウント」に対応付けて、クエストの実行(ステージのクリア)に応じて増加する「経験値」、当該経験値が所定の値に到達する都度、段階的に増加する「ランク」、プレイヤのデッキに関する情報である「デッキ情報」、プレイヤが保有するキャラクタに関する情報である「保有キャラクタ情報」、プレイヤのデッキの分類に関する情報である「デッキ分類情報」、対戦相手のマッチングを待機中であるか否かを示す「マッチング待機中フラグ」、マッチングの待機を開始した時刻である「マッチング待機開始時刻」等の情報を管理する。
【0042】
この例において、デッキは、2以上の所定数のキャラクタによって構成され、プレイヤは、自身が保有するキャラクタの中から所定数のキャラクタを選択してデッキを構成する。プレイヤ情報テーブル411のデッキ情報は、デッキに含まれる複数のキャラクタの各々を特定可能な情報(例えば、キャラクタID)を含む。この例において、プレイヤは、1つのデッキのみを設定することができる。しかしながら、本実施形態の他の例においては、プレイヤは、複数のデッキ(デッキの複数のバリエーション)を設定することができ、クエスト又は対戦を実行する際には、設定されている複数のデッキの中から使用するデッキを選択することができる。
【0043】
保有キャラクタ情報は、プレイヤが保有する複数のキャラクタの各々に関するキャラクタ情報を含む。当該キャラクタ情報は、例えば、個別のキャラクタを識別するキャラクタID、並びに、当該キャラクタの経験値及びレベル等が含まれる。当該経験値は、例えば、キャラクタの強化によって増加し、レベルは、当該経験値が所定の値に到達する都度、段階的に増加する。
【0044】
図5は、プレイヤの対戦相手のマッチングの際にシステム10が実行する処理を例示するフロー図である。この例におけるプレイヤ間の対戦は、リアルタイムで行われるリアルタイム対戦として構成されている。
図5に例示する処理は、当該リアルタイム対戦を各プレイヤが要求する都度、実行される。
【0045】
任意のプレイヤによってリアルタイム対戦が要求されると、まず、システム10は、
図5に示すように、対象プレイヤ(リアルタイム対戦を要求したプレイヤ)のデッキの分類情報を取得する(ステップS100)。この例において、デッキの分類情報を取得するための学習済みモデル412は、トピックモデルとして構成されており、当該トピックモデルを介して出力されるトピックの確率分布(複数のトピックの各々の割合)がデッキの分類情報として取得される。
【0046】
図6は、典型的なトピックモデルの概念を説明するための図である。トピックモデルは、文書が複数の潜在的なトピックから確率的に生成されると仮定したモデルであって、文書内の各単語はトピックが有する単語の確率分布に従って出現すると仮定される。図示するように、多量の文書データを訓練データとして機械学習が行われると、潜在的な複数のトピックが抽出される(
図6の例では、トピック1(政治)、トピック2(経済)、及び、トピック3(スポーツ)の3つのトピックが抽出されている。)。抽出された各トピックは、対応する単語の確率分布を有している。また、訓練データは、「Bag of Words」の形式(文書毎に複数の単語の各々の出現回数が表現されたもの)で準備される。
【0047】
図7は、この例において、デッキの分類に適用されるトピックモデルの概念を説明するための図である。この例のトピックモデルは、デッキ内のキャラクタが、典型的なトピックモデルにおける文書内の単語として取り扱われる。つまり、この例のトピックモデルは、デッキ内の各キャラクタはトピックが有するキャラクタの確率分布に従って出現すると仮定され、多量のデッキ情報(例えば、この例のソーシャルゲームにおいて過去に実際に用いられたデッキに関するデッキ情報)を訓練データとして機械学習が行われると、潜在的な複数のトピックが抽出される(
図7の例では、トピック1(攻撃型)、トピック2(回復型)、及び、トピック3(トラップ型)の3つのトピックが抽出されている。)。抽出された各トピックは、対応する複数のキャラクタの確率分布を有している。また、訓練データは、「Bag of Words」の形式(デッキ毎に複数のキャラクタの各々の出現回数が表現されたもの)で準備される。
【0048】
また、この例において、トピックモデルは、LDA(Latent Dirichlet Allocation:潜在的ディリクレ配分法)を用いて実装される。
図8は、LDAのグラフィカルモデルを例示する。当該グラフィカルモデルにおいて、Dは文書(デッキ)の数であり、Tはトピックの数であり、N
dは文書dにおける単語(キャラクタ)の数である。また、Wは単語自体であり、Zは単語の潜在トピックであり、θは各文書におけるトピックの確率分布であり、αはθを決めるためのディリクレ分布のパラメータである。また、φは各トピックにおける単語の確率分布であり、βはφを決めるためのディリクレ分布のパラメータである。
【0049】
こうしたLDAを用いて機械学習を行う際には、ハイパーパラメータであるトピック数T、並びに、ディリクレ分布のパラメータα及びβについては人手で調整される。そして、機械学習の結果、各文書(デッキ)におけるトピックの確率分布θ、及び、各トピックにおける単語(キャラクタ)の確率分布(φ)が得られ、学習済みモデル412として保存される。
【0050】
図5のフロー図に戻り、ステップS100においては、対象プレイヤのデッキ情報(プレイヤ情報テーブル411において管理されている。)が「Bag of Words」の形式で学習済みモデル412に入力され、当該モデル412から、トピックの確率分布が分類情報として出力される。取得された分類情報(トピックの確率分布)は、プレイヤ情報テーブル411のデッキ分類情報に設定される。
【0051】
続いて、システム10は、分類情報の類似度が所定の値以下である待機中の他のプレイヤを対象プレイヤの対戦相手としてマッチングする(ステップS110)。この例では、マッチングを待機中の他のプレイヤ(プレイヤ情報テーブル411のマッチング待機中フラグの値を参照することによって特定される。)であって、対象プレイヤとの間のデッキの分類情報(トピックの確率分布)のコサイン類似度が所定の値以下である(つまり、似ていない)他のプレイヤのうち、マッチング待機開始時刻が最も早い(つまり、待機時間が最も長い)プレイヤが対戦相手として決定される。
【0052】
具体的には、待機中のプレイヤのうち、待機時間の長いプレイヤから順に、対象プレイヤとの間のデッキの分類情報のコサイン類似度が計算され、当該コサイン類似度が所定の値以下である場合には、当該プレイヤが対戦相手としてマッチングされる一方、コサイン類似度が所定の値を超える場合には、次のプレイヤのコサイン類似度の計算へと進む。例えば、
図9に例示するように、まず、待機中のプレイヤのうち、待機時間の最も長いプレイヤAと対象プレイヤXとの間のデッキの分類情報のコサイン類似度が計算され(1)、当該コサイン類似度が所定の値を超える場合にはマッチングが成立せず、次に待機時間の長いプレイヤBと対象プレイヤXとの間のデッキの分類情報のコサイン類似度が計算され(2)、当該コサイン類似度が所定の値以下である場合にはマッチングが成立し、プレイヤBが対象プレイヤXの対戦相手としてマッチングされる。
【0053】
そして、何れのプレイヤともマッチングが成立しない場合には(ステップS120においてNO)、システム10は、対象プレイヤを待機中に設定する(ステップS130)。具体的には、デッキの分類情報の類似度が所定の値以下である待機中のプレイヤが存在しない場合に、対象プレイヤについて、プレイヤ情報テーブル411のマッチング待機中フラグ、及び、マッチング待機開始時刻が設定される。待機中に設定されたプレイヤは、その後の他のプレイヤによるリアルタイム対戦の要求に応じて行われるマッチングにおいて、対戦相手の候補となる。
【0054】
本実施形態の他の例において、キャラクタは、アイテム又はスキル等の他の種類のゲームコンテンツが関連付けられるように構成され、デッキ情報は、デッキに含まれるキャラクタに関する情報に加えて、当該キャラクタに関連付けられるアイテム等に関する情報を含むように構成される。この場合、デッキに含まれるキャラクタ及びアイテム等がトピックモデルにおける文書に含まれる単語として取り扱われる。
【0055】
本実施形態のさらに他の例では、学習済みモデル412としてオーサートピックモデルが適用される。この場合、デッキ情報に対して、例えば、プレイヤのランク(対応するデッキのプレイヤのその時点におけるランク)が付加情報として付加され、当該ランクがオーサートピックモデルの著者として取り扱われる。
図10は、オーサートピックモデルのグラフィカルモデルを例示する。
図10のグラフィカルモデルにおいて、Aは著者(プレイヤのランク)の数であり、a
dは文書(デッキ)dの著者であり、Xは単語の著者である。また、オーサートピックモデルにおいては、トピックの確率分布であるθは、文書毎ではなく、著者毎に設定される。このように、プレイヤのランクが著者として取り扱われるオーサートピックモデルを適用することによって、プレイヤのランクが考慮されたデッキの分類情報(トピックの確率分布)が得られる。なお、著者として取り扱われる情報は、ランク以外のプレイヤに関する他の情報(属性)であっても良いし、プレイヤに関する情報以外の情報(例えば、対応するデッキが使用されたゲームステージに関する情報等)であっても良い。
【0056】
上述した例では、プレイヤ間での対戦における1の対戦相手のマッチングが例示されているが、本実施形態の他の例では、複数の対戦相手のマッチング(例えば、複数のプレイヤによる同時対戦のマッチング、又は、複数のプレイヤによるリーグ戦のマッチング等)が行われ、又は、1又は複数の協力プレイの相手のマッチングが行われる。
【0057】
上述した例では、分類情報の類似度が所定の値以下である(似ていない)待機中の他のプレイヤを対象プレイヤの対戦相手としてマッチングするようにしたが、分類情報の類似度が所定の値以上である(似ている)待機中の他のプレイヤを対象プレイヤの対戦相手としてマッチングするようにしてもよい。
【0058】
また、本実施形態のさらに他の例では、マッチングされる複数のプレイヤの各々のトピックの確率分布に基づいて算出される当該複数のプレイヤ全体のトピックの確率分布が所定の範囲となるように、マッチングが行われる。例えば、
図11に例示するように、マッチング候補となる複数のプレイヤ(X、A、B、C)の各トピックの割合を合算することによって、マッチング候補全体のトピックの確率分布(比率)を算出し、当該マッチング候補全体のトピックの比率と、基準となるトピックの比率(例えば、ゲームの設計者等によって予め設定される。)と、を比較し、両者の差分が所定の範囲内であればマッチングを成立させる。または、マッチング候補となる複数のプレイヤの各々のトピックの確率分布のばらつきを評価するための関数を用意し、当該関数を用いた評価結果が所定値以上である(ばらついている)場合にマッチングを成立させるようにしても良い。
【0059】
以上説明した本実施形態に係るゲーム提供システム10は、デッキの分類情報(例えば、トピックの確率分布)に基づいてプレイヤをマッチングするから、デッキの特徴に基づく多様なマッチングが可能となり、例えば、同じようなタイプの(又は、過剰に特徴の異なる)デッキのプレイヤ同士がマッチングされてしまうことが抑制される。また、デッキの分類情報は、学習済みモデル412(例えば、トピックモデル)を用いて取得されるから、例えば、分類情報の取得をルールベースの仕組みで実装するのが適切でない場合であってもデッキの分類が容易に実現され得る。このように、システム10は、プレイヤの適切なマッチングを支援する。
【0060】
本明細書で説明された処理及び手順は、明示的に説明されたもの以外にも、ソフトウェア、ハードウェア又はこれらの任意の組み合わせによって実現される。例えば、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク等の媒体に、当該処理及び手順に相当するロジックを実装することによって実現される。また、本明細書で説明された処理及び手順は、当該処理・手順に相当するコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
【0061】
本明細書中で説明された処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理又は手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書において説明されたソフトウェア及びハードウェアの要素は、それらをより少ない構成要素に統合して、又はより多い構成要素に分解することによって実現することも可能である。
【0062】
本明細書において、発明の構成要素が単数もしくは複数の何れか一方として説明された場合、又は、単数もしくは複数の何れとも限定 せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数の何れであってもよい。
【符号の説明】
【0063】
10 ゲーム提供システム
20 通信ネットワーク
30 プレイヤ端末
41 情報記憶管理部
411 プレイヤ情報テーブル
412 学習済みモデル
43 基本機能制御部
45 ゲーム進行制御部
47 マッチング処理部