特許第5936748号(P5936748)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社Cygamesの特許一覧

特許5936748情報処理システム、サーバ及びプログラム、並びに端末及びプログラム
<>
  • 特許5936748-情報処理システム、サーバ及びプログラム、並びに端末及びプログラム 図000004
  • 特許5936748-情報処理システム、サーバ及びプログラム、並びに端末及びプログラム 図000005
  • 特許5936748-情報処理システム、サーバ及びプログラム、並びに端末及びプログラム 図000006
  • 特許5936748-情報処理システム、サーバ及びプログラム、並びに端末及びプログラム 図000007
  • 特許5936748-情報処理システム、サーバ及びプログラム、並びに端末及びプログラム 図000008
  • 特許5936748-情報処理システム、サーバ及びプログラム、並びに端末及びプログラム 図000009
  • 特許5936748-情報処理システム、サーバ及びプログラム、並びに端末及びプログラム 図000010
  • 特許5936748-情報処理システム、サーバ及びプログラム、並びに端末及びプログラム 図000011
  • 特許5936748-情報処理システム、サーバ及びプログラム、並びに端末及びプログラム 図000012
  • 特許5936748-情報処理システム、サーバ及びプログラム、並びに端末及びプログラム 図000013
  • 特許5936748-情報処理システム、サーバ及びプログラム、並びに端末及びプログラム 図000014
  • 特許5936748-情報処理システム、サーバ及びプログラム、並びに端末及びプログラム 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】5936748
(24)【登録日】2016年5月20日
(45)【発行日】2016年6月22日
(54)【発明の名称】情報処理システム、サーバ及びプログラム、並びに端末及びプログラム
(51)【国際特許分類】
   A63F 13/75 20140101AFI20160609BHJP
   A63F 13/30 20140101ALI20160609BHJP
   A63F 13/79 20140101ALI20160609BHJP
   A63F 13/847 20140101ALI20160609BHJP
【FI】
   A63F13/75
   A63F13/30
   A63F13/79
   A63F13/847
【請求項の数】5
【全頁数】27
(21)【出願番号】特願2015-102894(P2015-102894)
(22)【出願日】2015年5月20日
【審査請求日】2015年10月16日
【早期審査対象出願】
(73)【特許権者】
【識別番号】511249637
【氏名又は名称】株式会社Cygames
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】倉林 修一
【審査官】 大熊 靖夫
(56)【参考文献】
【文献】 米国特許出願公開第2014/0243077(US,A1)
【文献】 特開2006−296769(JP,A)
【文献】 特開2007−058494(JP,A)
【文献】 特開2010−167169(JP,A)
【文献】 特開2004−180951(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24,13/00−13/98
(57)【特許請求の範囲】
【請求項1】
複数のプレイヤーの夫々の操作を受付けてゲームを実行し得る複数の端末と、サーバとを含む情報処理システムにおいて、
前記サーバは、
前記ゲームの実行中における所定プレイヤーの操作の履歴情報を、当該所定プレイヤーの端末から取得する処理を、前記複数のプレイヤー毎に実行する履歴情報取得手段と、
前記所定プレイヤーの前記操作の履歴情報から得られる所定の重み値により、当該所定プレイヤーの操作の特徴を示す特徴情報を、前記複数のプレイヤー毎に生成する特徴情報生成手段と、
前記特徴情報生成手段により生成された前記複数のプレイヤー毎の前記特徴情報に基づいて、前記複数のプレイヤーをクラスタリングするクラスタリング手段と、
前記クラスタリング手段によりクラスタリングされた前記複数のプレイヤーの夫々の前記端末に対して、同一グループに属する他のプレイヤーの情報を送信し、他グループに属する他のプレイヤーの情報の送信を禁止する制御を実行する送信制御手段と、
を備え、
前記特徴情報生成手段は、
前記所定プレイヤーの操作傾向が、前記複数のプレイヤーの少なくとも一部を含む集合の操作傾向に対して特異になると、当該所定プレイヤーの重み値が重くなるように制御する第1重み制御手段と、
前記所定プレイヤーの操作時点からの経過時間に応じて、当該所定プレイヤーの重み値を制御する第2重み制御手段と、
前記第1重み制御手段と前記第2重み制御手段との各制御結果に基づいて、前記複数のプレイヤー毎に前記重み値を夫々演算することで、前記複数のプレイヤー毎の前記特徴情報を生成する重み演算手段と、
を含み、
前記履歴情報取得手段は、
前記所定プレイヤーの操作の履歴情報を、前記ゲームで受け付けられる複数種類の操作毎に取得する処理を、前記複数のプレイヤー毎に実行し、
前記重み値演算手段は、
前記複数種類の操作の夫々に対応する複数の前記重み値を夫々演算し、
前記複数の重み値を要素として含む前記特徴情報を、前記複数のプレイヤー毎に生成し、
前記第1重み制御手段は、
前記所定プレイヤーの前記操作の履歴情報の時系列の累積値を分子として、
前記複数のプレイヤー毎の前記操作の履歴情報の時系列の累積値の総加算値を分母として、
表される分数値を、当該所定プレイヤーの重み値となるように制御する、
情報処理システム。
【請求項2】
複数のプレイヤーの夫々の操作を受付けてゲームを実行し得る複数の端末の夫々と通信をするサーバにおいて、
前記ゲームの実行中における所定プレイヤーの操作の履歴情報を、当該所定プレイヤーの端末から取得する処理を、前記複数のプレイヤー毎に実行する履歴情報取得手段と、
前記所定プレイヤーの前記操作の履歴情報から得られる所定の重み値により、当該所定プレイヤーの操作の特徴を示す特徴情報を、前記複数のプレイヤー毎に生成する特徴情報生成手段と、
前記特徴情報生成手段により生成された前記複数のプレイヤー毎の前記特徴情報に基づいて、前記複数のプレイヤーをクラスタリングするクラスタリング手段と、
前記クラスタリング手段によりクラスタリングされた前記複数のプレイヤーの夫々の前記端末に対して、同一グループに属する他のプレイヤーの情報を送信し、他グループに属する他のプレイヤーの情報の送信を禁止する制御を実行する送信制御手段と、
を備え、
前記特徴情報生成手段は、
前記所定プレイヤーの操作傾向が、前記複数のプレイヤーの少なくとも一部を含む集合の操作傾向に対して特異になると、当該所定プレイヤーの重み値が重くなるように制御する第1重み制御手段と、
前記所定プレイヤーの操作時点からの経過時間に応じて、当該所定プレイヤーの重み値を制御する第2重み制御手段と、
前記第1重み制御手段と前記第2重み制御手段との各制御結果に基づいて、前記複数のプレイヤー毎に前記重み値を夫々演算することで、前記複数のプレイヤー毎の前記特徴情報を生成する重み演算手段と、
を含み、
前記履歴情報取得手段は、
前記所定プレイヤーの操作の履歴情報を、前記ゲームで受け付けられる複数種類の操作毎に取得する処理を、前記複数のプレイヤー毎に実行し、
前記重み値演算手段は、
前記複数種類の操作の夫々に対応する複数の前記重み値を夫々演算し、
前記複数の重み値を要素として含む前記特徴情報を、前記複数のプレイヤー毎に生成し、
前記第1重み制御手段は、
前記所定プレイヤーの前記操作の履歴情報の時系列の累積値を分子として、
前記複数のプレイヤー毎の前記操作の履歴情報の時系列の累積値の総加算値を分母として、
表される分数値を、当該所定プレイヤーの重み値となるように制御する、
サーバ。
【請求項3】
前記第2重み制御手段は、
前記所定プレイヤーの前記操作の履歴情報の時系列に対して、当該所定プレイヤーの操作時点からの経過時間が長くなる程減少する重み付けをして、
重み付け後の前記操作の履歴情報の時系列の累積値を前記分子とするという制御を実行する、
請求項に記載のサーバ。
【請求項4】
前記第2重み制御手段は、さらに、当該所定プレイヤーの操作時点からの経過時間が一定時間を超えると、重みの減少を停止させるという制御を実行する、
請求項に記載のサーバ。
【請求項5】
複数のプレイヤーの夫々の操作を受付けてゲームを実行し得る複数の端末の夫々と通信をするコンピュータに、
前記ゲームの実行中における所定プレイヤーの操作の履歴情報を、当該所定プレイヤーの端末から取得する処理を、前記複数のプレイヤー毎に実行する履歴情報取得ステップと、
前記所定プレイヤーの前記操作の履歴情報から得られる所定の重み値により、当該所定プレイヤーの操作の特徴を示す特徴情報を、前記複数のプレイヤー毎に生成する特徴情報生成ステップと、
前記特徴情報生成ステップにおいて生成された前記複数のプレイヤー毎の前記特徴情報に基づいて、前記複数のプレイヤーをクラスタリングするクラスタリングステップと、
前記クラスタリングステップにおいてクラスタリングされた前記複数のプレイヤーの夫々の前記端末に対して、同一グループに属する他のプレイヤーの情報を送信し、他グループに属する他のプレイヤーの情報の送信を禁止する制御を実行する送信制御ステップと、
を含む制御処理を実行させ、
前記特徴情報生成ステップとして、
前記所定プレイヤーの操作傾向が前記複数のプレイヤー全体の操作傾向に対して特異になると、当該所定プレイヤーの重み値が重くなるように制御する第1重み制御ステップと、
前記所定プレイヤーの操作時点からの経過時間に応じて、当該所定プレイヤーの重み値を制御するという第2重み制御ステップと、
前記第1重み制御ステップ及び前記第2重み制御ステップの夫々における各制御結果に基づいて、前記複数のプレイヤー毎に前記重み値を夫々演算することで、前記複数のプレイヤー毎の前記特徴情報を生成する重み値演算ステップと、
含み、
前記履歴情報取得ステップは、
前記所定プレイヤーの操作の履歴情報を、前記ゲームで受け付けられる複数種類の操作毎に取得する処理を、前記複数のプレイヤー毎に実行するステップを含み、
前記重み値演算ステップは、
前記複数種類の操作の夫々に対応する複数の前記重み値を夫々演算し、
前記複数の重み値を要素として含む前記特徴情報を、前記複数のプレイヤー毎に生成するステップを含み、
前記第1重み制御ステップは、
前記所定プレイヤーの前記操作の履歴情報の時系列の累積値を分子として、
前記複数のプレイヤー毎の前記操作の履歴情報の時系列の累積値の総加算値を分母として、
表される分数値を、当該所定プレイヤーの重み値となるように制御するステップを含む、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、サーバ及びプログラム、並びに端末及びプログラムに関する。
【背景技術】
【0002】
従来から、スマートフォン等の端末で実行可能なゲームとして、マルチバトル等複数のプレイヤーが参加可能なゲームが存在する(例えば特許文献1参照)。
【0003】
このようなゲームでは、ゲームデータを改造する行為、例えば、レベルやステータスを異常に高める行為、グラフィックの変更行為、レアアイテムの獲得行為等を行う者の存在が問題になる。
なお、以下、このようなゲームデータを改造する行為を含め、ゲーム運営者の意図しない動作を発現させてゲームを不正に優位に進めようとする行為を広く「チート」と呼ぶ。例えば、不正なデータ通信をする行為もチートの一例である。また、このようなチートをする者を「チーター」と呼ぶ。
【0004】
そこで、従来においても、チート対策ソフトウェア(Anti−Cheat Software)が提供されている。この従来のチート対策ソフトウェアは、確実にチートとして判別できるものに限定して、チートを検出するものである。
【0005】
また、チーターと思われるプレイヤーをグルーピングする技術が、特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−296769号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、近年のチート手法の多様化や複雑化に伴い、特許文献1に記載の技術や従来のチート対策ソフトウェアでは対応できないチートが多数行われている。また、未知のチート手法も逐次登場してきている。
従って、未知のチート手法や検出が困難なチート手法を用いたチートが行われた場合、特にそのようなチートの数が急激に増加した場合、チートを行わない一般のプレイヤーを保護すべく、ゲーム運営者は当該チートに対して即時対応をすることが求められている。
具体的には、即時対応として、未知のチート手法や検出が困難なチート手法を用いるチーターを、一般のプレイヤーから見えないように隔離すると共に、ゲーム運営者に当該チーターの出現を警告することが求められている。
【0008】
本発明は、このような状況に鑑みてなされたものであり、未知のチート手法や検出が困難なチート手法を用いたチートに対して即時対応が可能となる技術の確立を目的とする。
具体的には、即時対応として、未知のチート手法や検出が困難なチート手法を用いるチーターを、一般のプレイヤーから見えないように隔離すると共に、ゲーム運営者に当該チーターの出現を警告することが可能となる技術の確立を目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明の一態様の情報処理システムは、
複数のプレイヤーの夫々の操作を受付けてゲームを実行し得る複数の端末と、サーバとを含む情報処理システムにおいて、
前記サーバは、
前記ゲームの実行中における所定プレイヤーの操作の履歴情報を、当該所定プレイヤーの端末から取得する処理を、前記複数のプレイヤー毎に実行する履歴情報取得手段と、
前記所定プレイヤーの前記操作の履歴情報から得られる所定の重み値により、当該所定プレイヤーの操作の特徴を示す特徴情報を、前記複数のプレイヤー毎に生成する特徴情報生成手段と、
を備え、
前記特徴情報生成手段は、
前記所定プレイヤーの操作傾向が、前記複数のプレイヤーの少なくとも一部を含む集合の操作傾向に対して特異になると、当該所定プレイヤーの重み値が重くなるように制御する第1重み制御手段と、
前記所定プレイヤーの操作時点からの経過時間に応じて、当該所定プレイヤーの重み値を制御する第2重み制御手段と、
前記第1重み制御手段と前記第2重み制御手段との各制御結果に基づいて、前記複数のプレイヤー毎に前記重み値を夫々演算することで、前記複数のプレイヤー毎の前記特徴情報を生成する重み演算手段と、
を含む。
【0010】
本発明の一態様のサーバは、
複数のプレイヤーの夫々の操作を受付けてゲームを実行し得る複数の端末の夫々と通信をするサーバにおいて、
前記ゲームの実行中における所定プレイヤーの操作の履歴情報を、当該所定プレイヤーの端末から取得する処理を、前記複数のプレイヤー毎に実行する履歴情報取得手段と、
前記所定プレイヤーの前記操作の履歴情報から得られる所定の重み値により、当該所定プレイヤーの操作の特徴を示す特徴情報を、前記複数のプレイヤー毎に生成する特徴情報生成手段と、
を備え、
前記特徴情報生成手段は、
前記所定プレイヤーの操作傾向が、前記複数のプレイヤーの少なくとも一部を含む集合の操作傾向に対して特異になると、当該所定プレイヤーの重み値が重くなるように制御する第1重み制御手段と、
前記所定プレイヤーの操作時点からの経過時間に応じて、当該所定プレイヤーの重み値を制御する第2重み制御手段と、
前記第1重み制御手段と前記第2重み制御手段との各制御結果に基づいて、前記複数のプレイヤー毎に前記重み値を夫々演算することで、前記複数のプレイヤー毎の前記特徴情報を生成する重み演算手段と、
を含む。
【0011】
本発明の一態様のプログラムは、上述の本発明の一態様のサーバに対応するプログラムである。
【発明の効果】
【0012】
本発明によれば、未知のチート手法や検出が困難なチート手法を用いたチートに対して即時対応が可能となる技術を確立することができる。
【図面の簡単な説明】
【0013】
図1】本発明の一実施形態に係る情報システムの構成を示すブロック図である。
図2図2は、図1の情報処理システムのうち、本発明の端末の一実施形態としてのプレイヤー端末のハードウェア構成を示すブロック図である。
図3図1の情報処理システムのうち、本発明の一実施形態に係るサーバのハードウェア構成を示すブロック図である。
図4図3のサーバが実行するチート抑制制御の結果の一例を示す模式図である。
図5】チート抑制制御の実行時に行われるグルーピングを説明するための模式図である。
図6図3のサーバの機能的構成例を示す機能ブロック図である。
図7図4の機能的構成を有するサーバが実行するチート抑制制御において用いられる、操作の履歴情報と特徴情報(メタデータベクトル)の構造例を示す図である。
図8】3次元配列として実装された、図7の履歴情報の構造例を示している。
図9図4の機能的構成を有するサーバが実行するチート抑制制御において用いられる、tweight()関数の一例を示す図である。
図10図4の機能的構成を有するサーバが実行するチート抑制制御において用いられる、特徴情報の算出式の内容を説明する模式図である。
図11図10の式で算出される特徴情報の各要素をグラフ化したものを示す図である
図12図4の機能的構成を有するサーバの処理の流れの一例を説明するフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について、図面を用いて説明する。
【0015】
なお、以下において、単に「画像」と呼ぶ場合には、「動画像」と「静止画像」との両方を含むものとする。
また、「動画像」には、次の第1処理乃至第3処理の夫々により表示される画像を含むものとする。
第1処理とは、平面画像(2D画像)におけるオブジェクト(例えばゲームキャラクタ)の夫々の動作に対して、複数枚からなる一連の静止画像を時間経過と共に連続的に切り替えて表示させる処理をいう。具体的には例えば、2次元アニメーション、いわゆるパラパラ漫画的な処理が第1処理に該当する。
第2処理とは、立体画像(3Dモデルの画像)におけるオブジェクト(例えばゲームキャラクタ)の夫々の動作に対応するモーションを設定しておき、時間経過と共に当該モーションを変化させて表示させる処理をいう。具体的には例えば、3次元アニメーションが第2処理に該当する。
第3処理とは、オブジェクト(例えばゲームキャラクタ)の夫々の動作に対応した映像(即ち動画)を準備しておき、時間経過とともに当該映像を流していく処理をいう。
【0016】
図1は、本発明の一実施形態に係る情報処理システムの構成を示している。
図1に示す情報処理システムは、m+1人(mは1以上の任意の整数値)のプレイヤーの夫々により使用されるプレイヤー端末1−0乃至1−mと、サーバ2とを含むシステムである。プレイヤー端末1−0乃至1−mの夫々と、サーバ2とは、インターネット等の所定のネットワークNを介して相互に接続されている。
【0017】
サーバ2は、プレイヤー端末1−0乃至1−mの夫々に対してゲームの実行環境を提供し、プレイヤー端末1−0乃至1−mの夫々において実行されるゲームに関する各種各様のサービスを提供する。
【0018】
なお、以下、プレイヤー端末1−0乃至1−mの夫々を個々に区別する必要がない場合、これらをまとめて「プレイヤー端末1」と呼ぶ。
【0019】
図2は、図1の情報処理システムのうち、本発明の端末の一実施形態としてのプレイヤー端末1のハードウェア構成を示すブロック図である。
【0020】
プレイヤー端末1は、スマートフォン等で構成される。
プレイヤー端末1は、CPU(Central Processing Unit)21と、ROM(Read Only Memory)22と、RAM(Random Access Memory)23と、バス24と、入出力インターフェース25と、タッチ操作入力部26と、表示部27と、入力部28と、記憶部29と、通信部30と、ドライブ31と、を備えている。
【0021】
CPU21は、ROM22に記録されているプログラム、又は、記憶部29からRAM23にロードされたプログラムに従って各種の処理を実行する。
RAM23には、CPU21が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0022】
CPU21、ROM22及びRAM23は、バス24を介して相互に接続されている。このバス24にはまた、入出力インターフェース25も接続されている。入出力インターフェース25には、タッチ操作入力部26、表示部27、入力部28、記憶部29、通信部30及びドライブ31が接続されている。
【0023】
タッチ操作入力部26は、例えば表示部27の表示面に積層される静電容量式又は抵抗膜式(感圧式)の位置入力センサにより構成され、タッチ操作がなされた位置の座標を検出する。
ここで、タッチ操作とは、タッチ操作入力部26に対する物体の接触又は近接の操作をいう。タッチ操作入力部26に対して接触又は近接する物体は、例えばプレイヤーの指やタッチペン等である。なお、以下、タッチ操作がなされた位置を「タッチ位置」と呼び、タッチ位置の座標を「タッチ座標」と呼ぶ。
表示部17は、液晶等のディスプレイにより構成され、ゲームに関する画像等、各種画像を表示する。
このように、本実施形態では、タッチ操作入力部26と表示部27とにより、タッチパネルが構成されている。
【0024】
入力部28は、各種ハードウェア釦等で構成され、プレイヤーの指示操作に応じて各種情報を入力する。
記憶部29は、DRAM(Dynamic Random Access Memory)等で構成され、各種データを記憶する。
通信部30は、インターネットを含むネットワークNを介して他の装置(図1の例ではサーバ2や他のプレイヤー端末1)との間で行う通信を制御する。
【0025】
ドライブ31は、必要に応じて設けられる。ドライブ31には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア41が適宜装着される。ドライブ31によってリムーバブルメディア41から読み出されたプログラムは、必要に応じて記憶部29にインストールされる。また、リムーバブルメディア41は、記憶部29に記憶されている各種データも、記憶部29と同様に記憶することができる。
【0026】
図3は、図1の情報処理システムのうち、本発明の一実施形態に係るサーバ2のハードウェア構成を示すブロック図である。
【0027】
サーバ2は、CPU51と、ROM52と、RAM53と、バス54と、入出力インターフェース55と、出力部56と、入力部57と、記憶部58と、通信部59と、ドライブ60とを備えている。
サーバ2の構成は、プレイヤー端末1のタッチパネルを除いた構成と基本的に同様であるので、ここではその説明は省略する。
【0028】
このような図2のプレイヤー端末1及び図3のサーバ2の各種ハードウェアと各種ソフトウェアとの協働により、プレイヤー端末1でゲームの実行が可能になる。
本実施形態では、マルチバトル等の複数のプレイヤーが参加するゲームが対象である。
このため、本実施形態の情報処理システムは、ゲームに対する各種制御を実行できる。特に、情報処理システムは、ゲーム内でチーターを抑制する制御(以下、「チート抑制制御」と呼ぶ)として、次のような制御を実行することができる。
【0029】
即ち、チーターの多くは、ゲーム内でチートを可能にしてしまうプログラム等(以下、「チートツール」と呼ぶ)を用いて、チートを行っている。従って、同一のチートツールを使用するプレイヤーの操作データは、当該チートツール固有の振る舞いを共有することになる。即ち、同一のチートツールを使用するプレイヤー同士は、ゲーム内の操作傾向が類似する。
ここで、操作傾向とは、所定イベント等各種操作対象に対して夫々行ったプレイヤーの操作の履歴情報から得られる傾向であり、操作の方法や内容についての当該プレイヤーの特徴を示すものいう。
そこで、この「同一のチートツールを使用するプレイヤー同士は、ゲーム内の操作傾向が類似する」という点に着目して、本発明者により発明された制御が、チート抑制制御である。
【0030】
具体的には、プレイヤーを操作データの類似性に応じてグループ化するとともに、プレイヤー同士の情報の参照可能範囲を同一グループ内に限定するという制御が、チート抑制制御である。
プレイヤー同士の情報の参照可能範囲とは、他プレイヤーの情報を閲覧することや他プレイヤーとゲーム内で連携することができる範囲をいう。
【0031】
さらに以下、図4及び図5を参照して、チート抑制制御について説明する。
図4は、チート抑制制御の結果の一例を示す模式図である。
図4の例では、チート抑制制御が実行された結果として、n個(図4の例ではnは4以上の任意の整数値)グループG1乃至Gnが形成されている。
【0032】
グループG1,G2は、チートを行わない通常のプレイヤーが属するグループである。
グループG1,G2の差異は、操作傾向が類似するか否かである。
つまり、グループG1に属するプレイヤーは、同一のグループG1に属する他プレイヤーとは操作傾向が類似である一方、グループG2を含め他グループに属する他プレイヤーとは操作傾向が非類似である。
一方、グループG2に属するプレイヤーは、同一のグループG2に属する他プレイヤーとは操作傾向が類似である一方、グループG1を含め他グループに属する他プレイヤーとは操作傾向が非類似である。
【0033】
グループG3は、同一のチートツールを使用するプレイヤーが分類されるグループである。
即ち、上述したように、所定のチートツールを使用するプレイヤー端末1からサーバ2に送信される操作データには、当該所定のチートツール固有の操作傾向が現れる。この操作傾向は、当該所定のチートツールを使用する複数のプレイヤー間で共通する。従って、自動的に、当該所定のチートツールを使用する複数のプレイヤーが属するグループG3が生成される。
【0034】
グループGnもまた、同一のチートツールを使用するプレイヤーが分類されるグループである。
グループG3,Gnの差異は、操作傾向が類似するか否かである。つまり、グループG3は、第1のチートツールを使用するプレイヤー群から構成されているのに対して、グループGnは、第1のチートツールとは別の第2のチートツールを使用するプレイヤー群から構成されている。
【0035】
図4に示すように、グループGk(kは1乃至nのうち任意の整数値)に属するプレイヤーのプレイヤー端末1には、他プレイヤーの情報を閲覧することや他プレイヤーとゲーム内で連携することができる画面として、他プレイヤーが同一グループGkに属する者に限定されている画面Ikが表示される。
【0036】
つまり、画面I3には、第1のチートツールを使用する他プレイヤーのみが登場する。換言すると、第1のチートツールを使用するチーターは、同一の第1のチートツールを使用する他プレイヤー(多くの場合チーター)のみしか連携することができず、グループG1,G2に属する通常のプレイヤーから自動的に隔離されることになる。
これにより、第1のチートツールを使用するチーターは、類似の操作傾向の他プレイヤー、即ちチートを行っているため通常とは明らかに異なる操作傾向の他のチーターとしか連携できない。従って、第1のチートツールを使用するチーターは、サービス提供者(ゲームの運営者等)がチート行為を検出していることを認識することになる。その結果、当該チーターがチートを停止することが期待される。このようにして、チート自体を抑制することができる。
【0037】
また、本実施形態の情報処理システムは、上述したように操作傾向が類似するプレイヤーを自動的にグルーピングすることができるので、グルーピングのための事前の学習をする必要は特に無い。
これにより、例えば第2のチートツールが、未知のチートツールであったとしても、当該第2のチートツールを使用するプレイヤーは自動的にグループGnに分類される。
この場合も、グループG3と全く同様に、第2のチートツールを使用するチーターは、類似の操作傾向の他プレイヤー、即ちチートを行っているため通常とは明らかに異なる操作傾向の他のチーターとしか連携できない。従って、第2のチートツールを使用するチーターは、サービス提供者がチート行為を検出していることを認識することになる。その結果、当該チーターがチートを停止することが期待される。このようにして、未知の第2のチートツールが登場してきた場合であっても、自動的に、チート自体を抑制することができる。
【0038】
図5は、チート抑制制御の実行時に行われるグルーピングを説明するための模式図である。
チート抑制制御においては、グルーピングは、プレイヤー同士のクラスタリングとして行われる。
このクラスタリングを実現するために、本実施形態では、各プレイヤーは、多次元ベクトル空間(図5の例では説明の便宜上3次元ベクトル空間)における1つのベクトルとして表現される。
つまり、サーバ2は、とあるプレイヤーの操作傾向と、他プレイヤーの操作傾向との類似度を、多次元ベクトル空間における距離として算出する。
例えば、ゲームにおいて、n+1種類(nは任意の整数値)のコマンドが存在するものとする。この場合、サーバ2は、コマンドの各種類を軸とするn+1次元のベクトル空間を構築し、当該ベクトル空間内に各プレイヤーのベクトルを配置させる。
この各プレイヤーのベクトルの要素数n+1は、ゲーム内容に応じて、数100乃至数1000になる場合がある。例えば、ゲーム内に1000種類のコマンドがある場合、1000個の要素からなるベクトルが、各プレイヤーのベクトルとして演算される。
このベクトル空間や各プレイヤーのベクトルは、ゲームタイトルに応じて変更することができる。即ち、チート抑制制御は、既存又は今後登場し得る任意のゲームジャンルに適用可能であり、例えば既存のものとしては、RPG、アクションRPG、シミュレーションゲーム等幅広いゲームジャンルに適用可能である。
【0039】
図5の例では、説明の便宜上3次元のベクトル空間が構築され、このベクトル空間上に各プレイヤーのベクトルが、黒丸の点として表されている。
このベクトル空間において、距離が近い点群により1つのグループが生成される。図5の例では、チート行為等を行わない通常のプレイヤーが属するグループとして、グループUG1,UG2,UG3が生成されている。また、チーターが属するグループとして、グループCG1,CG2,CG3が生成されている。
【0040】
本実施形態のチート抑制制御では、このようなクラスタリングが1回行われたらその後クラスタ(グループ)が固定となるわけではなく、時々刻々とクラスタリングが繰り返し行われ、その都度、クラスタも変化していく。即ち、各クラスタに属するプレイヤーもリアルタイムに変化し得る。
このようなクラスタリングがリアルタイムに行われることによって、とある特定の操作傾向が類似するプレイヤーが急激に増加した時に、当該プレイヤーが属するグループ(例えば図5のグループCG2)が急拡大する。従って、クラスタの大きさの変化により、未知のチート手法が出現した可能性を把握することができる。即ち、図5のグループCG2が急に登場したり急拡大した場合、当該グループCG2に属する各プレイヤーは、未知のチート手法を用いてチートをしている可能性が高いと判断することが容易にできる。
このように、本実施形態のチート抑制制御で用いられるクラスタリング手法は、従来にない独自なものである。そこで、以下、当該クラスタリング手法を、従来のものと比較すべく、特に「レスポンシブなクラスタリング(物事の変化に反応性のあるクラスタリング)」と呼ぶこととする。
【0041】
「レスポンシブなクラスタリング」を実現すべく、本実施形態では、各プレーヤ毎の特徴量(メタデータ)を生成する方式が採用されている。ここで、本実施形態では、特徴量は上述のようにベクトルとして示されるので、このようなベクトルを以下「メタデータベクトル」と呼ぶ。
即ち、本実施形態のサーバ2は、プレイヤーの操作データの類似性を演算すべく、操作データのログから各プレイヤーの特徴を示すメタデータベクトルを生成する。
【0042】
詳細については後述するが、サーバ2は、メタデータベクトルの生成に際し、全てのプレイヤーに共通する行為の重要度を下げ、かつ、少数のプレイヤーのみに共通する行為の重要度を上げるような重み付け制御(以下、「第1重み付け制御」と呼ぶ)を実行する。この第1の重み付け制御により、チートツール固有の振る舞い、即ち操作傾向がより適切に抽出されることになる。
【0043】
さらに、サーバ2は、直近の操作データに対しては強い重み付けをし、過去の操作データに対しては弱い重み付けをするといった重み付け制御(以下、「第2重み付け制御」と呼ぶ)を実行する。
このような第1重み付け制御及び第2重み付け制御により重み付けがなされた値(重み値)を用いることで、次のような効果を奏することができる。
例えば、チーターでない通常のプレイヤーが、たまたまチートツールを一時的に使用してしまったり、或いは、チートと疑われる行為(チートに類似する行為)をしてしまった場合、図5に示すように、当該プレイヤーは、即座に、通常のグループUG1からチーターのグループCG1に分類される。
この場合、当該プレイヤーのプレイヤー端末1には、図4の画面I3や画面In等が表示される。従って、当該プレイヤーは、閲覧や連携が可能な他プレイヤーはチーターのみであることを即座に認識することができるので、チートやチートと疑われる行為を(停止する意思があれば)即座に停止することができる。この場合、一定時間後に、当該プレイヤーは、チーターのグループCG1から通常のグループUG1に戻ることができる。
一方で、第2重み付け制御により過去の操作データに対しては弱い重み付けとなるものの、チートツールの操作データの履歴情報が累積的に作用した重み値が得られる。このため、常習性のあるチーターは、たとえ短期間のチートツールの使用を停止したとしても、チーターのグループ(図5の例ではグループCG3)を抜け出すことはできない。
【0044】
以上説明したようなチート抑制制御を実行すべく、サーバ2は図6に示すような機能的構成を有している。
【0045】
図6に示すように、サーバ2のCPU51においては、履歴情報取得部101と、特徴情報生成部102と、クラスタリング部103と、他プレイヤー情報送信制御部104とが機能する。
特徴情報生成部102として、第1重み制御部111と、第2重み制御部112と、重み演算部113とが機能する。
【0046】
履歴情報取得部101は、所定のゲームの実行中における所定プレイヤーの操作の履歴情報を、当該所定プレイヤーのプレイヤー端末1から取得する処理を、複数のプレイヤー毎に実行する。即ち、プレイヤー端末1−0乃至1−mの夫々からの操作履歴情報が、履歴情報取得部101に取得される。
【0047】
特徴情報生成部102は、所定プレイヤーの操作の履歴情報から得られる所定の重み値により、当該所定プレイヤーの操作の特徴を示す特徴情報を、複数のプレイヤー毎に生成する。ここで、特徴情報とは、本実施形態では上述したメタデータベクトルを意味するが、具体例については図7等を参照して後述する。
【0048】
具体的には、第1重み制御部111は、上述の第1重み制御を実行する。即ち、第1重み制御部111は、所定プレイヤーの操作傾向が、複数のプレイヤーの少なくとも一部を含む集合の操作傾向に対して特異になると、当該所定プレイヤーの重み値が重くなるように制御する。
第2重み制御部112は、上述の第2重み制御を実行する。即ち、第2重み制御部112は、所定プレイヤーの操作時点からの経過時間に応じて、当該所定プレイヤーの重み値を制御する。ここで、所定プレイヤーの操作時点とは、当該所定プレイヤーが、所定ゲームの登録後初めて立ち上げたとき等、予め設定されたときからみて初めて操作した時点をいう。
重み演算部113は、第1重み制御部111と第2重み制御部112との各制御結果に基づいて、複数のプレイヤー毎に重み値を夫々演算することで、複数のプレイヤー毎の特徴情報(メタデータベクトル)を生成する。
【0049】
クラスタリング部103は、複数のプレイヤー毎の特徴情報(メタデータベクトル)に基づいて、複数のプレイヤーをクラスタリングする。
他プレイヤー情報送信制御部104は、クラスタリング部103によりクラスタリングされた複数のプレイヤーの夫々のプレイヤー端末1−0乃至1−mに対して、同一グループに属する他プレイヤーの情報を送信し、他グループに属する他プレイヤーの情報の送信を禁止する制御を実行する。
ここで、他プレイヤーの情報とは、他プレイヤーの情報を閲覧することや他プレイヤーとゲーム内で連携することが可能となる情報であり、プレイヤー端末1側で画面(図4の例では画面I1乃至Im)の表示が可能となる情報をいう。
図6の例では、所定のグループに属するプレイヤーの端末は、プレイヤー端末1−0,1−mであり、このため、同一グループに属する他プレイヤーの情報は、プレイヤー端末1−0,1−mに送信され、それ以外のプレイヤー端末1−1乃至1−(m−1)に対しては送信が禁止される。
【0050】
さらに以下、図7乃至図11を参照して、チート抑制制御を実行可能なサーバ2の機能的構成について説明する。
【0051】
図7は、操作の履歴情報と特徴情報(メタデータベクトル)の構造例を示す図である。
図7の例では、所定プレイヤーの操作の履歴情報のデータ構造は、マトリクス構造となっている。このような所定プレイヤーの操作の履歴情報を示すマトリクスを、特にここでは「OLM(Operation Log Matrix)」と呼ぶ。
【0052】
OLMの各列(横軸)は、ゲームの各種類の操作に対する、所定プレイヤーの操作内容を示している。本例ではゲームの操作としてn+1種類(nは任意の整数)存在するものとして、これらn+1種類に対する操作内容を示す要素op[0]乃至op[n]が存在する。
本実施形態では各要素op[0]乃至op[n]の夫々には、対応する種類の操作が行われたときには「1」が格納され、操作が行われなかったときには「0」が格納されるものとする。なお、これは例示に過ぎず、例えば、所定のアルゴリズムに基づいて得られる「0.5」等の実数が格納されてもよい。
【0053】
OLMの各行(縦軸)は、所定プレイヤーの操作の履歴情報の所得タイミングを示している。
本例では、時間の経過に応じて、所定単位毎の時刻t1乃至tlastにて、操作の履歴情報が取得されている。取得タイミングの所定単位(取得の間隔)は、任意であり、固定であってもよいし可変であってもよく、例えば、1秒や60秒等の実時間の単位であってもよいし、ゲーム内のトランザクション単位であってもよい。
【0054】
このような所定プレイヤーのOLMに基づいて、各操作の重み値を各要素として構成されるベクトルが、当該所定プレイヤーのメタデータベクトルMVとして生成される。
ただし、所定プレイヤーのメタデータベクトルMVは、当該所定プレイヤーのOLMのみならず、ゲームに参加する他プレイヤーのOLMも用いられて生成される。
1人のプレイヤーにつき1つのOLMが操作の履歴情報として蓄積されるため、システム全体では、3次元配列として実装される。
図8は、3次元配列として実装された、操作の履歴情報の構造例を示している。
本例では、m+1台のプレイヤー端末1−0乃至1−mによりゲームが実行されているので、即ちm+1人のプレイヤーがゲームに参加しているので、プレイヤー端末1−0乃至1−mの夫々から得られるm+1個のOLMの3次元配列として、操作の履歴情報が実装されることになる。
【0055】
特徴情報生成部102は、このようにして実装されたOLMに基づいて、操作傾向を示すメタデータベクトルMVを各プレイヤー毎に生成する。
具体的には図7に示すように、特徴情報生成部102は、OLMを1つのベクトル、即ちメタデータベクトルMVへ集約する処理を実行する。
【0056】
ここで、第2重み制御部112は、集約する処理の実行中において、所定プレイヤーの操作時点からの経過時間に応じて、当該所定プレイヤーのOLMの各要素値(重み値)に対する重みを制御する。
ここで、このように経過時間に応じて重みを制御する関数を、「tweight()関数」と呼ぶ。
図9は、tweight()関数の一例を示す図である。
図9に示すように、tweight()関数では、直近に行われた操作を重要視することから、直近に行われる程重みが大きくなり、過去に遡るにつれて重みが減少する。
ただし、tweight()関数では、常習性のチーターの操作の履歴情報の値を累積的に作用させるべく、重みの減少を一定時期で停止する。さらに、tweight()関数では、一定以上蓄積させたログを破棄すべく、一定期間(例えば図9の例では180日)経過したら、それ以降重みが0になる。
なお、tweight()関数は、図9の例に特に限定されず、例えばより短時間の重み付けを行えるような関数を採用してもよい。
【0057】
特徴情報生成部102の重み演算部113は、tweight()関数(第2重み制御部112による第2重み付け制御)を用いた次の式(1)に従って、所定プレイヤーのメタデータベクトルMVを演算する。なお、式(1)には、第1重み制御部111による第1重み付け制御も含まれているが、この制限については後述する。
【数1】
・・・(1)
式(1)において、uは、演算対象として着目するプレイヤー(以下、「着目プレイヤー」と呼ぶ)のIDを示している。
つまり、vec(u)は、着目プレイヤーuのメタデータベクトルMVを示している。
各要素の分子のlast(u)は、着目プレイヤーuについての操作の履歴情報の最後(直近)の取得タイミングを示している。図7及び図8のOLMが用いられるならば、last(u)=lastである。つまり、i=0が、時刻t0のタイミングを示し、i=last(u)が、時刻tlastのタイミングを示している。
各要素の分子のd[u,i,p]は、着目プレイヤーuのi番目(時刻ti)の履歴情報に対応するp番目(pは、0乃至nのうちの任意の整数値)の種類の操作の値(スコア)を示している。例えば、着目プレイヤーuのOLMが図7に示されるものであった場合、d[u,0,0]として、図7のOLMの時刻t0における要素op[0](左上端の要素op[0])の格納値「0」が代入される。
各要素の分母のjは、プレイヤーのIDを示している。即ち、プレイヤー端末1−0乃至1−mの夫々を操作する各プレイヤーのIDが、j=0乃至mの夫々である。
各要素の分母のlast(j)は、プレイヤーjについての操作の履歴情報の最後(直近)の取得タイミングを示している。
各要素の分母のd[j,k,p]は、プレイヤーjのk番目(時刻tk)の履歴情報に対応するp番目の種類の操作の値を示している。
【0058】
図10は、式(1)の内容を説明する模式図である。
図10の中央には、上述の式(1)のベクトルvec(u)、即ち、着目プレイヤーUのメタデータベクトルMVが示されている
このメタデータベクトルvec(u)は、要素a1等、n+1個の要素から構成されている。1つの要素は、分母a2mと分子a2cとからなる分数で演算される。
【0059】
第p番目の要素の分母a2mは、p番目の種類の操作の値(図10の例では、図7の要素op[1]の格納値)の時刻t0乃至tlastの累積値(スコア)についての、m+1人の全てのプレイヤーについての総加算値である。
つまり、第p番目の要素の分母a2mは、p番目の種類の操作の値についての「一般性」を示している。
この分母a2mは、2つの集約操作から構成されている。1つ目(数式右側)の集約操作は、各プレイヤー毎の特定の操作に対応する特徴カテゴリの値(p番目の種類の操作の値)を合計してスコアを算出するものである。2つ目(数式左側)の集約操作は、各プレイヤーのスコアを、全プレイヤー分だけ合計するものである。
【0060】
分子a2cは、着目プレイヤーuの操作の履歴情報の値に対して、tweight()関数に基づく重み付けをした値を、時刻t0乃至tlast分だけ累積して、着目プレイヤーuのスコアを演算するものである。
【0061】
つまり、重み演算部113は、着目プレイヤーuについてのスコア(経過時間に基づく重み付けをしたスコア)を示す分子a2cに対して、全プレイヤーの合計値から導き出される一般性のスコアを示す分母a2mを除算することで、着目プレイヤーuが特異な操作をしているか否かを示す要素の値(スコア)を算出している。
換言すると、このような分子a2cに対する分母a2mを除算する制御が、第1重み制御部111による第1重み付け制御であると把握することができる。即ち、所定プレイヤーの操作傾向(着目プレイヤーuについての分子a2cにより示される操作傾向)が、プレイヤー全体の集合の操作傾向(分母a2mより示される操作傾向)に対して特異になると、当該所定プレイヤーの重み値(スコア)が重くなるように、分子a2cに対する分母a2mを除算する制御が、第1重み付け制御として実行される。
【0062】
図11は、式(1)のベクトルvec(u)、即ち、着目プレイヤーuのメタデータベクトルMVの各要素をグラフ化したものである。
例えば、所定のゲームについて、一般的には、第0の種類及び第2の種類の操作をする操作傾向(OLMの各行の要素op[0],op[2]の値が1になる傾向)があるものとする。そして、とあるチートツールを用いると第1の種類及び第3の種類の操作をする操作傾向(OLMの各行の要素op[1],op[3]の値が1になる傾向)があるものとする。
【0063】
図11(A)は、チーターでない通常のプレイヤーのメタデータベクトルMVを示している。このプレイヤーは、過去の一時期に、たまたま上記チートツールを使用してしまったり、或いは、チートと疑われる行為をしてしまったものとする。このため、メタデータベクトルMVにおける要素op[1]と要素op[3]の各値(スコア)には、過去の累積値が若干反映されている。
図5を用いて上述したように、チートやチートと疑われる行為をした過去の時点では、当該プレイヤーは、通常のグループUG1からチーターのグループCG1に分類される。
この場合、当該プレイヤーのプレイヤー端末1には、図4の画面I3や画面In等が表示される。そこで、当該プレイヤーは、閲覧や連携が可能な他プレイヤーはチーターのみであることを認識したため、チートやチートと疑われる行為を即座に停止したものとする。
この場合、当該プレイヤーは、第0の種類及び第2の種類の操作をするという操作傾向(OLMの直近の行の要素op[0],op[2]の値が1になる傾向)に戻ることになる。
ここで、上述したように、式(1)のベクトルvec(u)は、第2重み制御部112により、tweight()関数に基づく第2重み付け制御がなされる。即ち、直近の操作の履歴情報に強い重みをかけ、過去の操作の履歴情報に弱い重みをかける制御が実行される。これにより、ベクトルvec(u)は、直近の操作を強く反映したメタデータベクトルMVとなる。
つまり、図11(A)に示すように、メタデータベクトルMVにおける要素op[0]と要素op[2]の各値(スコア)は、直近の操作の履歴情報が強く反映されて高値になる。即ち、メタデータベクトルMVにおける要素op[0]と要素op[2]の各値(スコア)が高いという通常の操作傾向に戻る。その結果、当該プレイヤーは、チーターのグループCG1から通常のグループUG1に戻ることができる。
【0064】
これに対して、図11(B)は、常習性のあるチーターのメタデータベクトルMVを示している。
tweight()関数では、過去の操作の履歴情報にかけられる重みは弱いものの、常習的にチートツールを用いると、メタデータベクトルMVにおける要素op[1]と要素op[3]の各値(スコア)は、過去の常習的な操作の累積により必然的に高値になる。
このため、常習性のあるチーターがたとえチートツールの使用を直近で停止した場合であっても、停止時間が短時間の間は、メタデータベクトルMVにおける要素op[1]と要素op[3]の各値(スコア)が高いという操作傾向、即ちチーター特有の操作傾向は変わらない。その結果、当該チーターは、チーターのグループ(図5の例ではグループCG3)を抜け出すことはできない。
【0065】
このように、式(1)のベクトルvec(u)、即ち、着目プレイヤーUのメタデータベクトルMVを用いることで、プレイヤーの直近の操作に素早く反応しながら、プレイヤーの基本的な行動の類似性を計量するクラスタリングが実現可能になる。
さらに以下、クラスタリング部103によるクラスタリングの具体例について説明する。
【0066】
クラスタリング部103は、プレイヤーのグループを生成するために、各プレイヤーのメタデータベクトルMVを用いて、クラスタリング処理を実行する。
従って、各プレイヤーのメタデータベクトルMVについて、次のような措置を施すことで、パフォーマンス上の優位性が生じる。
【0067】
即ち、本段落においては、ゲームに登録されている総プレイヤー数をmとし、各プレイヤー−の操作の履歴情報として記録されているアクションの平均個数をnとし、メタデータベクトルMVの要素数(ベクトル空間の特徴の数)をkとする。
この場合、全てのプレイヤーに対してメタデータベクトルMVが生成されるものとすると、n×k+n×m×k回の繰り返し処理が必要になる。
これは、上述した式(1)に示すように、全てのプレイヤーのメタデータベクトルMVの演算において、共通の分母a2m(図10参照)を用いるため、分母の演算は1度だけ行えばよいからである。
例えば、m=100万人のプレイヤーが、平均個数n=2,000個の履歴情報を保持し、操作の種類等のメタデータベクトルMVの要素数k=30,000であるものとする。この場合、約60兆回(2,000×30,000+2,000×1,000,000×30,000)の繰り返しが必要となる。
ここで、特徴情報生成部102は、この繰り返し処理を、毎回実行せずに、途中の計算結果をキャッシュしておくことにより、増分計算として実行することもできる。
さらに、過去の履歴情報についてはtweight()関数による重みづけの値は、ほぼ変化しない。そこで、毎回重み付けの計算を行わずに、計算結果を再利用してもよい。
また、式(1)の分子a2c(図10参照)は、加算のみの演算であるため、新たに追加された履歴情報の値を、最後の計算結果に加算するだけで、毎回演算した場合と略同一の結果を得ることが可能になる。
また、休眠状態のプレイヤーについては、チーターとして検出する意味が存在しないため、アクティブプレイヤーのみを対象としてメタデータベクトルMVを算出してもよい。
以上の点から、特徴情報生成部102は、メタデータベクトルMVの演算において、途中計算結果のキャッシュと増分計算を用いることができる。
従って、実質的には、次のような計算コストで、クラスタリング部103によるクラスタリング処理に用いるメタデータベクトルMVの演算が可能になる。
即ち、例えばm=100万人のプレイヤーのうちアクティブプレイヤーは20万人であるとする。そして、操作の履歴情報が一定量、例えば10件追記されるごとに、特徴情報生成部102は、メタデータベクトルMVを生成するものとする。この場合、約600億回(10×30,000+10×200,000×30,000)の繰り返しでよい。即ち、約60兆回の繰り返しとした上述の理論上の計算コストに比較して、約100倍の高速で、クラスタリング部103によるクラスタリング処理に用いるメタデータベクトルMVの演算が可能になる。
【0068】
クラスタリング部103は、プレイヤーのグループを生成するために、上述のようにして生成された各メタデータベクトルMVを用いて、クラスタリング処理を実行する。
【0069】
この場合のクラスタリングのアルゴリズムは、特に限定されず、任意のアルゴリズムを採用することができる。
具体的には例えば、K−Means法を採用することができる。K−Means法を採用することで、ランダムに設定したk個のクラスタ重心候補へ再帰的にノード(各プレイヤーのメタデータベクトルMV)を所属させることにより、自動的かつ高速にクラスタを生成することができる。
また、メタデータベクトルMVは、多次元ベクトル空間上のベクトルであることから、コサイン類似度に代表されるベクトル空間上の類似度演算の手法を用いて、プレイヤー間の類似性を計算することができる。
コサイン類似度は、ベクトル同士の成す角度の近さを表現するため、最大値が1であり、最大値「1」に近いほど類似しており、最小値「0」に近いほど類似性が低くなる。
ベクトルaとbのコサイン類似度cos(a,b)は、次の式(2)で定義することができる。
【数2】
・・・(2)
【0070】
他プレイヤー情報送信制御部104は、クラスタリング部103によるクラスタリングの結果に基づいて、他プレイヤー情報を生成する。他プレイヤー情報とは、上述したように、所定プレイヤーが、他プレイヤーの情報を閲覧することや他プレイヤーとゲーム内で連携することが可能になる情報をいう。
ここで本実施形態では、他プレイヤー情報送信制御部104は、他プレイヤーが同一グループに属する者に限定されるように、他プレイヤー情報の送信を制御する。
これにより、善良な通常のプレイヤーから、チーターが隔離されることになる。従って、通常のプレイヤーは、チート行為による不快を覚えずに、快適にゲームを楽しむことができる。
換言すると、常習的なチーターにとっては、善良な通常のプレイヤーが隔離されて、同一のチートツールを使う別なチーターのみが他プレイヤーとして提示されることになる。このため、チーターは、サービス提供者(ゲームの運営者等)がチート行為を検出していることを認識することになる。その結果、当該チーターがチート行為を停止することが期待される。このようにして、チート行為自体を抑制することができる。
【0071】
ここで本実施形態では、サーバ2のCPU51は、さらに、各グループ毎に、分類されているプレイヤーのステータス情報を元いて、チートを行っている可能性(Cheat−Probability)を演算する。
このチート可能性の演算手法は、特に限定されず、例えばゲームタイトル毎に異なる手法を採用してもよい。
具体的には例えば、各プレイヤーのステータスが、短時間に上昇している場合や、希少なアイテムが短時間に獲得できている場合など、ステータスの変化からチート可能性を演算する手法を採用してもよい。
また例えば、クライアントとの通信内容からチート可能性を演算する手法を採用してもよい。
【0072】
ここで、チート可能性が閾値を超えるクラスタが急激に拡大している(分類されるプレイヤーの数が増加している)ときには、これまで未知であったチート手法が普及しつつある可能性を示している。
そこで、サーバ2のCPU51はさらに、サービス提供者に対して、(これまで未知であった)新たなチート手法の出現を警告する。
このように、クラスタサイズの変化をモニタリングすることにより、これまで未知であったチート手法が新たに出現したことについて、緊急の警報をサービス提供者にすることも可能になる。
【0073】
以上、チート抑制制御を実現するためのサーバ2の機能的構成について説明した。
次に、図12を参照して、このような機能的構成を有するサーバ2の処理の流れを説明する。
図12は、サーバ2の処理の流れを説明するフローチャートである。
【0074】
ステップS1において、サーバ2の履歴情報取得部101は、各プレイヤー端末1−0乃至1−mから履歴情報を取得する。
【0075】
ステップS2において、特徴情報生成部102は、着目プレイヤーを設定する。
ステップS3において、第1重み制御部111は、着目プレイヤーについて第1重み付け制御を実行する。
ステップS4において、第2重み制御部112とは、着目プレイヤーについて第2重み付け制御を実行する。
ステップS5において、重み演算部113は、第1重み付け制御及び第2重み付け制御の実行結果に基づいて、着目プレイヤーの特徴情報として、メタデータベクトルMVを生成する。
【0076】
ここで、メタデータベクトルMVとして、上述の式(1)のベクトルvec(u)が採用している場合、第1重み制御とは、式(1)の各要素の分子a2cを分母a2mで除算することによる重み付けの制御を意味する。また、第2重み制御とは、上述の式(1)の分子a2c(図10参照)におけるtweight()関数を用いた重み付けの制御を意味する。
即ち、上述のステップS2乃至S4は、実質的には、上述の式(1)の演算として略同時に実行される。
【0077】
ステップS6において、特徴情報生成部102は、全プレイヤーを着目プレイヤーに設定したか否かを判定する。
ここでいう「全プレイヤー」は、ゲームに登録している全プレイヤーでもよいが、上述したようにパフォーマンスを向上すべく、アクティブプレイヤーの全てであってもよい。即ち、「全プレイヤー」とは、所定のルール(例えばアクティブプレイヤーに限る等のルール)に従って予め定義されたプレイヤーの全てという意である。換言すると、ゲームに登録されているプレイヤー全体の少なくとも一部を含む集合が、ここでいう「全プレイヤー」である。
【0078】
全プレイヤーの中に未だ着目プレイヤーに設定していないプレイヤーが存在する場合、ステップS6においてNOであると判定されて、処理はステップS2に戻され、それ以降の処理が繰り返される。
全プレイヤーの夫々が着目プレイヤーに設定されて、ステップS3乃至S5の処理により、特徴情報としてメタデータベクトルMVが生成された場合、ステップS6においてYESであると判定されて、処理はステップS7に進む。
【0079】
ステップS7において、クラスタリング部103は、各プレイヤーを特徴情報に基づいてクラスタリングする。
【0080】
ステップS8において、他プレイヤー情報送信制御部104は、各グループ毎に、他プレイヤー情報を生成する。
ステップS9において、他プレイヤー情報送信制御部104は、他プレイヤー情報を、同一グループに属するプレイヤー端末1に送信し、他グループに属するプレイヤー端末1に送信を禁止する。
【0081】
ステップS10において、サーバ2のCPU51は、処理の終了指示が有ったか否かを判定する。ここで、処理の終了指示は、特に限定されないが、本実施形態ではサーバ2の電源遮断が採用されている。つまり、サーバ2において電源が遮断されると、ステップS10においてYESであると判定されて、サーバ2の処理は終了になる。
これに対して、サーバ2において電源が遮断されない限り、ステップS10においてNOであると判定されて処理はステップS1に戻され、それ以降の処理が繰り返される。
【0082】
なお、図12には図示していないが、上述したように、サーバ2のCPU51は、ステップS7の処理によりクラスタリングされた各グループ毎に、分類されているプレイヤーのステータス情報を元いて、チートを行っている可能性を演算する。
そして、CPU51は、クラスタ(グループ)毎にチート可能性と閾値を比較する。
CPU51は、チート可能性が閾値を超えるクラスタが急激に拡大しているときには、サービス提供者に対して、当該クラスタを、(これまで未知であった)新たなチート手法を用いたチーターのグループである旨を警告する。
【0083】
以上本発明の一実施形態について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0084】
例えば、図6の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が情報処理システムに備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図6の例に限定されない。また、機能ブロックの存在場所も、図6に特に限定されず、任意でよい。例えば、サーバ2の機能ブロックをプレイヤー端末1等に移譲させてもよいし、逆に端末1の機能ブロックをサーバ2等に移譲させてもよい。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【0085】
各機能ブロックの処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
【0086】
このようなプログラムを含む記録媒体は、プレイヤーにプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でプレイヤーに提供される記録媒体等で構成される。
【0087】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【0088】
換言すると、本発明が適用される情報処理システムは、上述の図1の実施形態としての情報処理システムを含め、次のような構成を有する各種各様の実施形態を取ることができる。
即ち、本発明が適用される情報処理システムは、複数のプレイヤーの夫々の操作を受付けてゲームを実行し得る複数の端末(例えば図1のプレイヤー端末1−0乃至1−M)と、サーバ(例えば図1のサーバ2)とを含む情報処理システムである。
前記サーバは、
前記ゲームの実行中における所定プレイヤーの操作の履歴情報を、当該所定プレイヤーの端末から取得する処理を、前記複数のプレイヤー毎に実行する履歴情報取得手段(例えば図6の履歴情報取得部101)と、
前記所定プレイヤーの前記操作の履歴情報から得られる所定の重み値により、当該所定プレイヤーの操作の特徴を示す特徴情報を、前記複数のプレイヤー毎に生成する特徴情報生成手段(例えば図6の特徴情報生成部102)と、
を備える。
前記特徴情報生成手段は、
前記所定プレイヤーの操作傾向が、前記複数のプレイヤーの少なくとも一部を含む集合の操作傾向に対して特異になると、当−所定プレイヤーの重み値が重くなるように制御する第1重み制御手段(例えば図6の第1重み制御部111)と、
前記所定プレイヤーの操作時点からの経過時間に応じて、当該所定プレイヤーの重み値を制御する第2重み制御手段(例えば図6の第2重み制御部112)と、
前記第1重み制御手段と前記第2重み制御手段との各制御結果に基づいて、前記複数のプレイヤー毎に前記重み値を夫々演算することで、前記複数のプレイヤー毎の前記特徴情報を生成する重み演算手段(例えば図6の重み演算部113)と、
を含む。
【0089】
このようにして生成される所定プレイヤーの特徴情報(例えば上述のメタデータベクトルMV)は、所定プレイヤーの操作の履歴情報に基づいて、多くのプレイヤーの共通性に応じた第1重み付け制御(第1重み制御手段による制御)と、時間に応じた第2重み付け制御(第2重み制御手段による制御)とが統合して実行された結果得られるものである。
このようなプレイヤーの特徴情報を用いることで、未知のチート手法でのチートも含めて、各種チートや、チートと疑われる行為を適切に検出する技術が実現可能になる。
【0090】
即ち、未知のチート手法でのチートも含めて、各種チートや、チートと疑われる行為を適切に検出する技術を実現するためには、次の第1乃至第4の条件が必要になる。
第1の条件とは、偽陽性(False−ositive)がないこと、即ち、無実のプレイヤーをチーターと誤検知し、アカウント停止等の措置を行わないことという条件である。
第2の条件とは、通常起こり得るエラーとの判別が困難なチートに対応することができること。換言すると、チートツールは、チートのためのデータをエラーと誤認させる形で送信するため、チートと断定できなくとも、チートと疑われる行為が実行された時に即座に反応できることが、第2の条件である。
第3の条件とは、リアルタイム対応能力があること、即ちチートやそれと疑われる行為が実行されたときに即座に反応し、サービス提供者へ通知できることという条件である。
第4の条件とは、互換性があること、即ち既存のオペレーティングシステムやウィルス対策ソフトウェア、及び、ゲームシステムそのものとの高い互換性を有し、既存のソフトウェアの実行を妨げる可能性がないことという条件である。
【0091】
従来の技術では、第1乃至第4の条件のうち、少なくとも1つの条件を満たすことができなかった。
【0092】
例えば、[背景技術]の欄で上述した特許文献1の技術では、チーターと思われるプレイヤーをグルーピングする。
従って、チーターと思われるプレイヤーが無実のプレイヤーであった場合、チーターのグループから抜け出す措置を講じなければ、第1の条件を満たすことができない。しかしながら、適切な措置は特許文献には見受けられない。
また、通常起こり得るエラーとの判別が困難な、未知のチート手法のチートが行われた場合、リアルタイムに対応して、サービス提供者に通知することは、特許文献1の技術では困難である。つまり、第2及び第3の条件を満たすことは困難である。
【0093】
これに対して、本発明が適用される情報処理システムは、第1乃至第4の条件を満たすことができる。
【0094】
即ち、第1重み付け制御により、多くのプレイヤーに共通する操作傾向では重み値が下げられる一方、少数のプレイヤーにのみ共通する特異な操作傾向では重み値が上げられる。これにより、既知のチート手法は勿論のこと未知のチート手法であっても、チート固有の振る舞い(操作傾向)をしているプレイヤーが適切に抽出可能になる。
さらに、第2重み付け制御により、直近の操作の履歴情報には強い重み付けがなされる一方、過去の操作の履歴情報には弱い重み付けがなされる。
これにより、例えばこれまでにはない操作傾向であっても、その操作傾向が類似するプレイヤー群の規模(大きさ)という観点でリアルタイムに監視することが容易にできる。従って、例えばこれまでにない操作傾向が類似するプレイヤー群の規模が増大してきた場合、未知のチート手法によるチート(或いはチートと疑われる行為)が現れた旨を即座に、サービス提供者に通知することができる。
このように、本発明が適用される情報処理システムは、第2及び第3の条件を満たすことができる。
【0095】
ここで、サービス提供者は、未知のチート手法によるチート(或いはチートと疑われる行為)をしていると判断されたプレイヤーに対して、アカウント停止等の措置を取らずに、例えば通常の操作傾向のプレイヤーから隔離する措置を取るだけでよい。これにより、当該プレイヤーは、未知のチート手法によるチート(或いはチートと疑われる行為)をしている者として自分自身が監視されていると認識することができる。
当該プレイヤーが、チート(或いはチートと疑われる行為)を即座に停止し、通常の操作に戻った場合、第2重み付け制御により直近の操作の履歴情報には強い重み付けがなされるため、特徴情報は通常の操作傾向を示すものに戻る。その結果、当該プレイヤーは、チート(或いはチートと疑われる行為)をしている者というレッテルは外されることになる。
これに対して、当該プレイヤーがチートを停止しない場合、当該チートの操作の履歴情報は累積的に蓄積されていく。従って、第2重み制御により過去の操作の履歴情報に弱い重み付けがなされたとしても、特徴情報はチートの操作傾向を示すもののままである。
このように、本発明が適用される情報処理システムは、第1の条件を満たすことができる。
【0096】
また、本発明が適用される情報処理システムは、プレイヤーの操作の履歴情報を用いているだけなので、第4の条件を満たすことができる。
【0097】
このように、本発明が適用される情報処理システムは、第1乃至第4の条件を満たすことができるので、未知のチート手法や検出が困難なチート手法を用いたチートを適切に検出し、その結果、このようなチートに対して即時対応が可能となる。具体的には、即時対応として、未知のチート手法や検出が困難なチート手法を用いるチーターを、一般のプレイヤーから見えないように隔離すると共に、ゲーム運営者に当該チーターの出現を警告することが可能になる。
【0098】
ここで、所定プレイヤーがチート(或いはチートと疑われる行為)をしているか否かの判断をするための手法は、当該所定プレイヤーの特徴情報を用いる手法であれば足り、特に限定されない。
ただし、未知のチート手法によるチートの発生をリアルタイムに監視したり、チート(或いはチートと疑われる行為)をしている者を通常のプレイヤーから隔離するためには、特徴情報に基づいてクラスタリングを行い、グループ単位での判断を導入すると好適である。
即ち、サーバは、複数のプレイヤー毎の特徴情報に基づいて、前記複数のプレイヤーをクラスタリングするクラスタリング手段(例えば図6のクラスタリング部103)を備えると好適である。
【0099】
ここで、サーバの履歴情報取得手段は、
前記所定プレイヤーの操作の履歴情報を、前記ゲームで受け付けられる複数種類の操作毎に取得する処理を、前記複数のプレイヤー毎に実行し、
前記重み値演算手段は、
前記複数種類の操作の夫々に対応する複数の前記重み値を夫々演算し、
前記複数の重み値を要素として含む前記特徴情報を、前記複数のプレイヤー毎に生成することができる。
これにより、特徴情報として、操作の各種類を軸とする多次元空間上に存在するベクトル(上述のメタデータベクトル)として生成することができる。
その結果、各プレイヤー間の特徴情報の類似度として、多次元空間上の距離等を利用して容易かつ適切に演算することができるので、操作傾向の類似するプレイヤー同士を容易かつ適切に抽出することができる。つまり、チート(或いはチートと疑われる行為)の操作傾向のプレイヤー群と、通常の操作傾向のプレイヤー群とを容易かつ適切に区分できる。
これにより、未知のチート手法でのチートも含めて、各種チートや、チートと疑われる行為をより一段と適切に検出することが可能になる。
【0100】
また、前記第1重み制御手段は、
前記所定プレイヤーの前記操作の履歴情報の時系列の累積値を分子として
前記複数のプレイヤー毎の前記操作の履歴情報の時系列の累積値の総加算値を分母として、
表される分数値を、当該所定プレイヤーの重み値となるように制御する、
ようにすることができる。
これにより、第1重み付け制御をより一段と適切に実行できるようになる。
【0101】
また、前記第2重み制御手段は、
前記所定プレイヤーの前記操作の履歴情報の時系列に対して、当該所定プレイヤーの操作時点からの経過時間が長くなる程減少する重み付けをして、
重み付け後の前記操作の履歴情報の時系列の累積値を前記分子とするという制御を実行できる。
これにより、第2重み付け制御をより一段と適切に実行できるようになる。
【0102】
ここで、前記第2重み制御手段は、さらに、当該所定プレイヤーの操作時点からの経過時間が一定時間を超えると、重みの減少を停止させるという制御も実行できる。
これにより、過去のチートの操作の履歴情報にかけられる重みは弱いものの、常習的な場合には多数回のチートの操作が累積されるため、重み値は必然的に高値になる。
このため、常習性のあるチーターの操作傾向は、たとえ直近でチートを停止したとしても、停止時間が短時間の間は、チーター特有の操作傾向であることに変わらない。その結果、当該チーターは、チート(或いはチートと疑われる行為)をしている者というレッテルを外してもらうことはできない。
【0103】
また、サーバは、前記クラスタリング手段によりクラスタリングされた前記複数のプレイヤーの夫々の前記端末に対して、同一グループに属する他のプレイヤーの情報を送信し、他グループに属する他のプレイヤーの情報の送信を禁止する制御を実行する送信制御手段(例えば図6の他プレイヤー情報送信制御部104)をさらに備えることができる。
これにより、未知のチート手法によるチート(或いはチートと疑われる行為)をしていると判断されたプレイヤーに対して、通常の操作傾向のプレイヤーから隔離する措置が有効的に施される。
その結果、当該プレイヤーは、チート(或いはチートと疑われる行為)をしている者として自分自身がサービス提供者に監視されていることを認識することになる。これにより、チート自体の抑制につながる。
【符号の説明】
【0104】
1、1−1乃至1−m・・・プレイヤー端末、2・・・サーバ、21・・・CPU、51・・・CPU、101・・・履歴情報取得部、102・・・特徴情報生成部、103・・・クラスタリング部、104・・・他プレイヤー情報送信制御部、111・・・第1重み制御部、112・・・第2重み制御部、113・・・重み演算部
【要約】
【課題】未知のチート手法や検出が困難なチート手法を用いたチートに対して即時対応が可能となる技術を確立すること。
【解決手段】履歴情報取得部101は、操作の履歴情報を、複数のプレイヤー端末1−0乃至1−mから取得する。特徴情報生成部102は、操作の履歴情報から得られる所定の重み値により、操作の特徴を示す特徴情報を複数のプレイヤー毎に生成する。クラスタリング部103は、複数のプレイヤー毎の特徴情報に基づいて、複数のプレイヤーをクラスタリングする。他プレイヤー情報送信制御部104は、クラスタリングされた複数のプレイヤーの夫々のプレイヤー端末1−0乃至1−mに対して、同一グループに属する他プレイヤーの情報を送信し、他グループに属する他プレイヤーの情報の送信を禁止する制御を実行する。
【選択図】図6
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12