(57)【要約】【課題】ゲームサービス提供方法、ゲームサービス提供装置、コンピュータプログラム及び記録媒体を提供する。【解決手段】ゲームサービス提供装置がゲームサービスを提供する方法は、ゲームモジュールと、ゲームモジュールと同一入出力関数を有するように制作されたシミュレーションモジュールと、を含むプログラムを提供するステップと、ユーザ端末から、入力情報に対する、ゲームモジュールの出力情報、及び、入力情報に対する、シミュレーションモジュールの出力情報を含むプレイ結果を受信するステップと、ゲームモジュールの出力情報と、シミュレーションモジュールの出力情報との比較結果により、正当プレイであるか否かということを判定するステップとを含む。【選択図】図１
2018118040.tif 000002
【特許請求の範囲】
【請求項１】
ゲームサービス提供装置がゲームサービスを提供する方法において、
ゲームモジュールと、前記ゲームモジュールと同一入出力関数を有するように制作されたシミュレーションモジュールとを含むプログラムを提供するステップと、
ユーザ端末から、入力情報に対する、前記ゲームモジュールの出力情報、及び、前記入力情報に対する、前記シミュレーションモジュールの出力情報を含むプレイ結果を受信するステップと、
前記ゲームモジュールの出力情報と、前記シミュレーションモジュールの出力情報との比較結果により、正当プレイであるか否かということを判定するステップとを含むゲームサービス提供方法。
【請求項２】
前記判定結果により、前記プレイ結果に基づいて、ユーザアカウント情報を更新するステップと、
前記判定結果による情報を、前記ユーザ端末に出力するステップとをさらに含む、
ことを特徴とする請求項１に記載のゲームサービス提供方法。
【請求項３】
前記判定結果により、正当プレイであると判定された場合、
前記更新するステップは、前記ゲームモジュールの出力情報に基づいて、前記ユーザアカウント情報を更新し、
前記出力するステップは、前記プレイの承認情報を出力する、
ことを特徴とする請求項２に記載のゲームサービス提供方法。
【請求項４】
前記判定結果により、正当プレイではないと判定された場合、
前記保存するステップは、前記ユーザがアビュージングユーザであるいうイベント情報を、前記ユーザアカウント情報に係わって保存し、
前記出力するステップは、アビュージング警告メッセージを出力する、
ことを特徴とする請求項２に記載のゲームサービス提供方法。
【請求項５】
前記ゲームモジュールは、第１入力情報を入力すれば、第１出力情報を出力し、前記シミュレーションモジュールは、第２入力情報を入力すれば、第２出力情報を出力し、
前記プログラムは、前記第１入力情報と前記第２入力情報とが同一であるとき、前記第１出力情報と前記第２出力情報とが同一であるように制作される、
ことを特徴とする請求項１に記載のゲームサービス提供方法。
【請求項６】
前記ゲームモジュールは、前記ユーザ端末の表示部に表示されるグラフィック要素、及び、前記ユーザ端末のスピーカに出力されるオーディオ要素を含み、前記シミュレーションモジュールは、グラフィック要素及びオーディオ要素を含まない、
ことを特徴とする請求項１に記載のゲームサービス提供方法。
【請求項７】
前記ゲームモジュールは、前記ユーザ端末の仮想マシンで実行され、前記シミュレーションモジュールは、前記ユーザ端末のＣＰＵ（central processing unit）で実行される、
ことを特徴とする請求項１に記載のゲームサービス提供方法。
【請求項８】
前記ゲームモジュールと前記シミュレーションモジュールは、互いに異なるプログラミング言語によって制作される、
ことを特徴とする請求項１に記載のゲームサービス提供方法。
【請求項９】
プログラムを提供するステップ以前に、
前記ゲームモジュールに対する、入力情報及び出力情報のセットを利用して、前記ゲームモジュールと同一入出力関数を有するように、前記シミュレーションモジュールを、機械学習によって制作するステップをさらに含む、
ことを特徴とする請求項１に記載のゲームサービス提供方法。
【請求項１０】
ゲームモジュールと、前記ゲームモジュールと同一入出力関数を有するように制作されたシミュレーションモジュールとを含むプログラムを提供するプログラム提供部と、
ユーザ端末から、入力情報に対する、前記ゲームモジュールの出力情報、及び、前記入力情報に対する、前記シミュレーションモジュールの出力情報を含むプレイ結果を受信し、前記ゲームモジュールの出力情報と、前記シミュレーションモジュールの出力情報との比較結果により、正当プレイであるか否かということを判定する正当プレイ判定部とを含むゲームサービス提供装置。
【請求項１１】
前記判定結果により、前記プレイ結果に基づいて、ユーザアカウント情報を更新し、前記判定結果による情報を、前記ユーザ端末に出力するユーザ情報管理部をさらに含む、
ことを特徴とする請求項１０に記載のゲームサービス提供装置。
【請求項１２】
前記ユーザ情報管理部は、
前記判定結果により、正当プレイであると判定された場合、前記ゲームモジュールの出力情報に基づいて、前記ユーザアカウント情報を更新し、前記プレイの承認情報を出力する、
ことを特徴とする請求項１１に記載のゲームサービス提供装置。
【請求項１３】
前記ユーザ情報管理部は、
前記判定結果により、正当プレイではないと判定された場合、前記ユーザがアビュージングユーザであるいうイベント情報を、前記ユーザアカウント情報に係わって保存し、アビュージング警告メッセージを出力する、
ことを特徴とする請求項１１に記載のゲームサービス提供装置。
【請求項１４】
前記ゲームモジュールは、第１入力情報を入力すれば、第１出力情報を出力し、前記シミュレーションモジュールは、第２入力情報を入力すれば、第２出力情報を出力し、
前記プログラムは、前記第１入力情報と前記第２入力情報とが同一であるとき、前記第１出力情報と前記第２出力情報とが同一であるように制作される、
ことを特徴とする請求項１０に記載のゲームサービス提供装置。
【請求項１５】
前記ゲームモジュールは、前記ユーザ端末の表示部に表示されるグラフィック要素、及び、前記ユーザ端末のスピーカに出力されるオーディオ要素を含み、前記シミュレーションモジュールは、グラフィック要素及びオーディオ要素を含まない、
ことを特徴とする請求項１０に記載のゲームサービス提供装置。
【請求項１６】
前記ゲームモジュールは、前記ユーザ端末の仮想マシンで実行され、前記シミュレーションモジュールは、前記ユーザ端末のＣＰＵ（central processing unit）で実行される、
ことを特徴とする請求項１０に記載のゲームサービス提供装置。
【請求項１７】
前記ゲームモジュールと前記シミュレーションモジュールは、互いに異なるプログラミング言語によって制作される、
ことを特徴とする請求項１０に記載のゲームサービス提供装置。
【請求項１８】
前記プログラム提供部は、前記ゲームモジュールに対する、入力情報及び出力情報のセットを利用して、前記ゲームモジュールと同一入出力関数を有するように、前記シミュレーションモジュールを、機械学習によって制作する、
ことを特徴とする請求項１０に記載のゲームサービス提供装置。
【請求項１９】
コンピュータを利用して、請求項１ないし９のうちいずれか１項に記載の方法を実行するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームサービス提供方法、ゲームサービス提供装置、コンピュータプログラム及び記録媒体に関する。
【背景技術】
【０００２】
最近、モバイル環境でのゲームが増加している。該モバイル環境は、有線環境よりネットワーク連結状態が不安定であるので、ゲームが行われている間、サーバと端末とがリアルタイムで通信する方式よりは、いずれか一方（例えば、端末）においてゲームがなされた後で通信する方式が好まれる。しかし、かように、端末でゲームがなされた後で通信する場合、端末にインストールされたゲームプログラムがユーザによって操作されたり、ゲームが進められている間、ユーザによって操作が発生するというようなアビュージング発生の危険性が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明が解決しようとする課題は、サーバに過度な負荷を与えずに、ユーザアビュージングを感知することができるゲームサービス提供方法、ゲームサービス提供装置、コンピュータプログラム及び記録媒体を提供することである。
【課題を解決するための手段】
【０００４】
本発明の一実施形態は、ゲームサービス提供装置がゲームサービスを提供する方法において、ゲームモジュールと、前記ゲームモジュールと同一入出力関数を有するように制作されたシミュレーションモジュールとを含むプログラムを提供するステップと、ユーザ端末から、入力情報に対する、前記ゲームモジュールの出力情報、及び、前記入力情報に対する、前記シミュレーションモジュールの出力情報を含むプレイ結果を受信するステップと、前記ゲームモジュールの出力情報と、前記シミュレーションモジュールの出力情報との比較結果により、正当プレイであるか否かということを判定するステップとを含む。
【０００５】
本発明の一実施形態に係るゲームサービス提供方法は、前記判定結果により、前記プレイ結果に基づいて、ユーザアカウント情報を更新するステップと、前記判定結果による情報を、前記ユーザ端末に出力するステップとをさらに含んでもよい。
【０００６】
本発明の一実施形態に係るゲームサービス提供方法は、前記判定結果において、正当プレイであると判定された場合、前記更新するステップは、前記ゲームモジュールの出力情報に基づいて、前記ユーザアカウント情報を更新し、前記出力するステップは、前記プレイの承認情報を出力してもよい。
【０００７】
本発明の一実施形態に係るゲームサービス提供方法は、前記判定結果において、正当プレイではないと判定された場合、前記更新するステップは、前記ユーザがアビュージングユーザであるいうイベント情報を、前記ユーザアカウント情報に係わって保存し、前記出力するステップは、アビュージング警告メッセージを出力してもよい。
【０００８】
本発明の一実施形態に係るゲームサービス提供方法において、前記ゲームモジュールは、第１入力情報を入力すれば、第１出力情報を出力し、前記シミュレーションモジュールは、第２入力情報を入力すれば、第２出力情報を出力し、前記プログラムは、前記第１入力情報と前記第２入力情報とが同一であるとき、前記第１出力情報と前記第２出力情報とが同一であるように制作されてもよい。
【０００９】
本発明の一実施形態に係るゲームサービス提供方法において、前記ゲームモジュールは、前記ユーザ端末の表示部に表示されるグラフィック要素、及び、前記ユーザ端末のスピーカに出力されるオーディオ要素を含み、前記シミュレーションモジュールは、グラフィック要素及びオーディオ要素を含まなくてもよい。
【００１０】
本発明の一実施形態に係るゲームサービス提供方法において、前記ゲームモジュールは、前記ユーザ端末の仮想マシン（ＶＭ）で実行され、前記シミュレーションモジュールは、前記ユーザ端末のＣＰＵ（central processing unit）で実行されてもよい。
【００１１】
本発明の一実施形態に係るゲームサービス提供方法において、前記ゲームモジュールと前記シミュレーションモジュールは、互いに異なるプログラミング言語によって制作されてもよい。
【００１２】
本発明の一実施形態に係るゲームサービス提供方法において、プログラムを提供するステップ以前に、前記ゲームモジュールに対する、入力情報及び出力情報のセットを利用して、前記ゲームモジュールと同一入出力関数を有するように、前記シミュレーションモジュールを、機械学習（machine learning）によって制作するステップをさらに含んでもよい。
【００１３】
本発明の他の実施形態に係るゲームサービス提供装置は、ゲームモジュールと、前記ゲームモジュールと同一入出力関数を有するように制作されたシミュレーションモジュールとを含むプログラムを提供するプログラム提供部と、ユーザ端末から、入力情報に対する、前記ゲームモジュールの出力情報、及び、前記入力情報に対する、前記シミュレーションモジュールの出力情報を含むプレイ結果を受信し、前記ゲームモジュールの出力情報と、前記シミュレーションモジュールの出力情報との比較結果により、正当プレイであるか否かということを判定する正当プレイ判定部とを含む。
【００１４】
本発明の他の実施形態に係るコンピュータプログラムは、コンピュータを利用して、前述のゲームサービス提供方法を実行するために媒体に保存される。
【００１５】
本発明の他の実施形態に係るコンピュータで読み取り可能な記録媒体は、前述のゲームサービス提供方法をコンピュータで実行させるためのコンピュータプログラムを保存する。
【００１６】
前述したもの以外の他の側面、特徴、利点は、以下の図面、特許請求の範囲、及び、発明の詳細な説明から明確になるであろう。
【発明の効果】
【００１７】
本発明の実施形態に係るゲームサービス提供方法、ゲームサービス提供装置、コンピュータプログラム及び記録媒体は、サーバに過度な負荷を与えずに、ユーザアビュージングを感知することができるゲームサービスを提供する。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態によるゲームシステムの構成を示した図面である。
【図２Ａ】本発明の一実施形態によるゲームサービス提供装置１１０の構成の例を示したブロック図である。
【図２Ｂ】図２Ａに図示されたユーザ情報管理部１１４の構成の例を示したブロック図である。
【図２Ｃ】図２Ａに図示されたプログラム提供部１１１の構成の例を示したブロック図である。
【図３Ａ】本発明の一実施形態によるゲームサービス提供方法のフローチャートである。
【図３Ｂ】図２Ｃの本発明の一実施形態によるシミュレーションモジュール制作部１１１２が、機械学習方式または深層学習方式を利用して、シミュレーションモジュールを制作する方法のフローチャートである。
【図４】本発明の一実施形態によるゲームシステムについて説明するための図面である。
【発明を実施するための形態】
【００１９】
本発明は、多様な変換を加えることができ、さまざまな実施形態を有することができるが、特定の実施形態を図面に例示し、詳細に説明する。本発明の効果、特徴、及び、それらを達成する方法は、図面と共に詳細に説明する実施形態を参照すれば、明確になるであろう。しかし、本発明は、以下に開示される実施形態に限定されるものではなく、多様な形態にも具現されるのである。
【００２０】
以下、添付された図面を参照し、本発明の実施形態について詳細に説明するが、図面を参照して説明するとき、同一であるか、あるいは対応する構成要素には同一の符号を付し、それに係わる重複説明は省略する。
【００２１】
以下の実施形態において、第１、第２のような用語は、限定的な意味ではなく、１つの構成要素を他の構成要素と区別する目的で使用したものである。以下の実施形態において、単数の表現は、文脈上明白に異なって意味しない限り、複数の表現を含む。以下の実施形態において、「含む」または「有する」というような用語は、明細書上に記載された特徴または構成要素が存在するということを意味するものであり、１以上の他の特徴または構成要素が付加される可能性を事前に排除するものではない。図面においては、説明の便宜のために、構成要素がその大きさが誇張されていたり縮小されていたりする。例えば、図面に示された各構成の形態は、説明の便宜のために任意に示されているので、本発明は、必ずしも図示されたところに限定されるものではない。
【００２２】
図１は、本発明の一実施形態によるゲームシステムの構成を示した図面である。
【００２３】
図１を参照すれば、本発明の一実施形態によるゲームシステムは、サーバ１００、ユーザ端末２００、及び、サーバ１００とユーザ端末２００とを連結する通信網４００を含む。複数のユーザ端末２００が、それぞれ通信網４００を介して、サーバ１００に接続することができる。
【００２４】
本発明の一実施形態によるゲームシステムは、ユーザ端末２００にゲームプログラムを提供し、ユーザ端末２００が、ゲームプログラムを介してサーバ１００に接続してゲームを行うことができるように、ゲームサービスを提供することができる。最近、モバイル環境でのゲームが増加している。該モバイル環境は、有線環境よりネットワーク連結状態が不安定であるので、ゲームがなされている間、サーバ１００とユーザ端末２００とがリアルタイムで通信する方式よりは、ある一方でゲームがなされた後で通信する方式が好まれる。本発明の一実施形態によるゲームシステムは、サーバ１００の承認を受けたユーザ端末２００が、自主的にゲームを進めた後、ゲーム結果をサーバ１００に伝送する方式のゲームサービスを提供する。
【００２５】
サーバ１００は、ユーザ端末２００に、ゲームプログラム、及び、それを介してユーザアビュージング（abusing）を感知することができるゲームサービスを提供する。例えば、サーバ１００は、ユーザ端末２００にゲームプログラムを提供し、ユーザ端末２００がゲームプログラムを利用してゲームをプレイした結果を受信し、アビュージングを感知する。図面には図示されていないが、本発明の一実施形態によるサーバ１００は、メモリ、入出力部、プログラム保存部、制御部などを含んでもよい。
【００２６】
ゲームプログラムがユーザ端末２００に先にインストールされ、ユーザ端末２００が該インストールゲームプログラムを利用してゲームを行う場合、ユーザによって、前もってゲームプログラムが操作されたり、不法なプログラムを利用してゲームプレイを操作したりするというようなアビュージングが発生する危険性が存在する。本発明の一実施形態によるゲームシステムは、ユーザアビュージングを感知することができるゲームサービスを提供する。そのために、本発明の一実施形態によるゲームシステムは、ゲームモジュール及びシミュレーションモジュールを含むゲームプログラムを提供する。ユーザ端末２００は、ゲームモジュール及びシミュレーションモジュールをいずれも利用して、ゲームをプレイし、サーバ１００は、各モジュールのプレイ結果を比較してアビュージングを感知する。サーバ１００は、アビュージングいかんによってプレイ結果を処理する。
【００２７】
ここで、アビュージングとは、オンラインゲームにおいて、bug（バグ）、hack（ハック）などの不法プログラムを使用したり、ゲームプログラムを操作したり、アカウント盗用、多重アカウント接続などを介して不当な利得を上げたりする行為を包括的に意味する。主に、ゲーム勝敗、点数などを基に与える補償を目的とする。
【００２８】
図１を参照すれば、ユーザ端末２００は、有線・無線通信環境において、ウェブサービスを利用することができる通信端末機を意味する。ここで、ユーザ端末２００は、ユーザのパソコン２０１でもあり、あるいはユーザの携帯用端末２０２でもある。図１においては、携帯用端末２０２がスマートフォン（smart phone）として図示されているが、本発明の思想は、それに制限されるものではなく、前述のように、インターネット通信が可能なアプリケーションを搭載した端末であるならば、制限なしに借用される。
【００２９】
ユーザ端末２００は、画面を表示する表示部２０１１，２０２１、及び、ユーザからデータを入力される入力装置を具備する。該入力装置は、例えば、キーボード、マウス、トラックボール、マイク、ボタン、タッチパネルなどを含んでもよいが、それらに限定されるものではない。
【００３０】
通信網４００は、ユーザ端末２００とサーバ１００とを連結する役割を行う。例えば、通信網４００は、ユーザ端末２００がサーバ１００に接続した後、パケットデータを送受信することができるように接続経路を提供する。通信網４００は、例えば、ＬＡＮｓ（local area networks）、ＷＡＮｓ（wide area networks）、ＭＡＮｓ（metropolitan area networks）、ＩＳＤＮｓ（integrated service digital networks）などの有線ネットワーク、無線ＬＡＮｓ、ＣＤＭＡ（code division multiple access）、ブルートゥース（Bluetooth）（登録商標）、衛星通信、３Ｇ（３rd generation）、４Ｇ（４th generation）、５Ｇ（5th generation）などの無線ネットワークを網羅することができるが、本発明の範囲は、それらに限定されるものではない。
【００３１】
図２Ａは、本発明の一実施形態によるゲームサービス提供装置１１０の構成例を示したブロック図である。
【００３２】
本発明の一実施形態によるゲームサービス提供装置１１０は、少なくとも１以上のプロセッサ（processor）に該当するか、あるいは少なくとも１以上のプロセッサを含んでもよい。それにより、ゲームサービス提供装置１１０は、マイクロプロセッサや汎用コンピュータシステムのような他のハードウェア装置に含まれた形態によっても駆動され、サーバ１００に搭載される。
【００３３】
図２Ａに示されたゲームサービス提供装置１１０は、本実施形態の特徴が不明確になることを防止するために、本実施形態に係る構成要素のみを図示したものである。従って、図２Ａに示された構成要素以外に、他の汎用的な構成要素がさらに含まれてもよいということは、本実施形態に係る技術分野で当業者であるならば、理解することができるであろう。
【００３４】
一実施形態によるゲームサービス提供装置１１０は、ユーザ端末２００に、ゲームモジュール及びシミュレーションモジュールを含むプログラムを提供し、ユーザ端末２００がプログラムを介して接続した後、ステージ開始を要請すれば、ステージ開始を承認し、ステージプレイ結果を受信し、そこから正当プレイであるか否かということを判定し、正当プレイいかんにより、プレイ結果に対する処理を行う。ここで、該ステージは、ゲームのプレイ単位である。ユーザは、ステージをプレイした結果により、経験値、アイテム、マイレージ、ゲームマネーなどを獲得する。
【００３５】
図２Ａを参照すれば、本発明の一実施形態によるゲームサービス提供装置１１０は、プログラム提供部１１１、ステージ承認部１１２、正当プレイ判定部１１３、ユーザ情報管理部１１４、及び、保存部１１５を含む。以下では、ゲームサービス提供装置１１０の各構成について詳細に説明する。
【００３６】
本発明の一実施形態によるプログラム提供部１１１は、ゲームモジュール及びシミュレーションモジュールを含むプログラムを提供する。該シミュレーションモジュールは、ゲームモジュールと同一入出力関数を有するように、サーバ１００によって制作される。該シミュレーションモジュールは、該ゲームモジュールと入出力関数だけ同一であるのみ、それ以外の特徴は、異なっても制作される。入出力関数が同一であるということは、同一入力値を入力したとき、同一出力値を出力するという意味である。
【００３７】
一実施形態によれば、該ゲームモジュールは、ユーザ端末２００の表示部に表示されるグラフィック要素、及び、ユーザ端末２００のスピーカに出力されるオーディオ要素を含み、該シミュレーションモジュールは、グラフィック要素及びオーディオ要素を含まないように制作される。それによれば、該ゲームモジュールは、高容量に制作され、該シミュレーションモジュールは、低容量に制作される。
【００３８】
該ゲームモジュールは、グラフィック要素及びオーディオ要素を含むように、特定制作ツールを利用して制作され、その場合、プログラムコードに復元される。該シミュレーションモジュールは、前述の特定制作ツールを利用せず、コード復元が不可能になるように制作される。
【００３９】
該ゲームモジュールと該シミュレーションモジュールは、戦略的、または必要によって、互いに異なるプログラミング言語を利用しても制作される。例えば、該ゲームモジュールは、Ｃ＋プログラミング言語によって制作され、該シミュレーションモジュールは、ＣまたはＣ＋＋プログラミング言語によっても制作される。
【００４０】
プログラミング言語の差及び／または実行ファイルの種類の差によって、ゲームモジュール、及び、シミュレーションモジュールは、互いに異なるレイヤでも実行される。例えば、該ゲームモジュールは、ユーザ端末２００に構築された仮想マシン（ＶＭ）でも実行され、該シミュレーションモジュールは、ユーザ端末２００のＣＰＵ（central processing unit）でも実行される。
【００４１】
本発明の一実施形態によるステージ承認部１１２は、ユーザ端末２００からゲーム開始要請を受信し、受信された要請情報によって、ゲーム開始承認を出力する。ユーザ端末２００は、サーバから承認が受信されれば、ゲームプレイを始める。ゲーム開始要請は、ユーザ端末２００によって選択された、プレイするステージの情報、ユーザのアカウント情報、ステージに入力されるパラメータを含む入力情報を含んでもよい。ステージ承認部１１２は、当該ゲーム開始要請が有効な要請であるか否かということを確認して承認を出力する。
【００４２】
ユーザ端末２００は、ゲームモジュールを利用して、当該ステージのプレイを完了した後、プレイ結果を得る。ここで、ゲームプログラムは、ユーザ端末２００がステージをプレイするときに入力した入力情報が、ゲームモジュールとシミュレーションモジュールとに同一に入力され、該ゲームモジュールと該シミュレーションモジュールとがいずれも実行されるように制作される。従って、ステージプレイが完了すれば、ゲームモジュールの出力情報、及び、シミュレーションモジュールの出力情報をいずれも含むプレイ結果が得られる。
【００４３】
入力情報は、ユーザによって直接入力される情報を含む。例えば、ユーザが、当該ステージに進みながら選択したキャラクタ、アイテム情報、ユーザが設定したパラメータなどがこれに該当する。ただし、該入力情報は、それらに限定されるものではなく、ユーザによって直接入力されない情報を含む。例えば、ゲーム進行において必要なユーザアカウント固有のパラメータとして、ユーザレベル、等級などがそれに該当する。
【００４４】
本発明の一実施形態による正当プレイ判定部１１３は、ユーザ端末２００のステージプレイ情報を受信する。該プレイ情報は、ステージプレイの入力情報に対するゲームモジュールの出力情報、及び、シミュレーションモジュールの出力情報をそれぞれ含む。正当プレイ判定部１１３は、ゲームモジュールの出力情報と、シミュレーションモジュールの出力情報との比較結果により、正当プレイであるか否かということを判定する。例えば、正当プレイ判定部１１３は、ゲームモジュールの出力情報と、シミュレーションモジュールの出力情報とが同一であれば、正当プレイであると判定し、異なっていれば、正当プレイではないと判定する。
【００４５】
ゲームモジュールとシミュレーションモジュールは、同一入出力関数を有するように制作されるために、ユーザによるアビュージングが発生しないのであるならば、同一入力情報に対する、ゲームモジュールの出力情報と、シミュレーションモジュールの出力情報とは、同一に出力される。しかし、ユーザが不法なプログラムを使用し、ゲーム途中に別途の処理を行ったり、ゲームプログラム自体を変調したりするようなアビュージングを加えた場合、ゲームモジュールの出力情報が変更され、従って、ゲームモジュールの出力情報と、シミュレーションモジュールの出力情報とが異なることになる。
【００４６】
正当プレイ判定部１１３は、ゲームモジュールの出力情報と、シミュレーションモジュールの出力情報とが同一であるならば、正当プレイであると判定し、異なっていれば、正当プレイではないと判定する。ここで、同一であるとは、完全な同一であるということもあるが、シミュレーションモジュールの制作方式により、誤差範囲を有する同一でもある。例えば、シミュレーションモジュールが機械学習方式によって制作される場合、正当プレイ判定部１１３は、ゲームモジュールの出力情報と、シミュレーションモジュールの出力情報とが誤差範囲内で同一である場合、正当プレイであると判定し、誤差範囲を外れる場合、正当プレイではないと判定する。正当プレイ判定部１１３は、正当プレイ判定結果をユーザ情報管理部１１４に出力する。
【００４７】
一方、ステージ承認部１１２によって承認が出力された後、正当プレイ判定部１１３がプレイ情報を受信するまで、ゲームサービス提供装置１１０とユーザ端末２００との間には、別途の通信がなされない。それにより、ゲームサービス提供装置１１０とユーザ端末２００は、プレイ開始時点及び、終了時点に、一度ずつ通信を行い、ゲーム進行過程は、ユーザ端末２００でのみなされ、ゲーム途中、ゲームサービス提供装置１１０とユーザ端末２００とがリアルタイムで通信しないので、不安定な通信環境においても、ユーザ端末２００上では安定してゲームがなされる。
【００４８】
本発明の一実施形態によるユーザ情報管理部１１４は、正当プレイ判定部１１３の判定結果により、プレイ結果に基づいて、ユーザアカウントの情報を更新して保存する。ユーザ情報管理部１１４は、正当プレイ判定部１１３によって、正当プレイであると判定された場合、ゲームモジュールの出力情報を保存する。ユーザ情報管理部１１４は、ゲームモジュールの出力情報に基づいて、ユーザのアカウント情報を更新することができる。ユーザ情報管理部１１４は、正当プレイ判定部１１３によって、正当プレイではないと判定された場合、当該ユーザがアビュージングユーザであるいうイベント情報を、ユーザのアカウント情報に関連付けて保存する。
【００４９】
ユーザ情報管理部１１４は、判定結果による情報を、ユーザ端末２００に出力する。ユーザ情報管理部１１４は、正当プレイ判定部１１３によって、正当プレイであると判定された場合、プレイの承認情報を出力する。ユーザ情報管理部１１４は、正当プレイ判定部１１３によって、正当プレイではないと判定された場合、アビュージング警告メッセージを、ユーザ端末２００に出力する。アビュージング警告メッセージは、例えば、「正当プレイではないと判定され、プレイ結果が反映されません」というようなものでもある。ユーザ情報管理部１１４は、正当プレイ判定部１１３によって、正当プレイではないと判定された場合、アビュージング警告メッセージ出力に留まらず、アビュージングユーザのアカウントに対して、ペナルティを賦課することができる。
【００５０】
本発明の一実施形態による保存部１１５は、ゲームプログラムを保存するプログラム保存部１１５１、及び、ユーザアカウント情報などを保存するユーザ情報保存部１１５２を含む。プログラム保存部１１５１には、最新バージョンのゲームプログラムが保存され、プログラム提供部１１１は、プログラム保存部１１５１に保存されたプログラムをユーザ端末２００に提供する。ユーザ情報保存部１１５２は、ユーザアカウントに係わる情報を保存する。例えば、ユーザアカウント情報、ユーザアカウントが保有するゲームアイテム情報、ユーザアカウントのアビュージング情報などを保存する。
【００５１】
図２Ｂは、図２Ａに示されたユーザ情報管理部１１４の詳細な構成の例を示したブロック図である。
【００５２】
図２Ｂを参照すれば、本発明の一実施形態によるユーザ情報管理部１１４は、プレイ結果反映部１１４１、プレイ承認部１１４２、及び、アビュージングユーザ情報管理部１１４３を含む。プレイ承認部１１４２は、正当プレイである場合、当該プレイ結果が承認されたことを知らせる承認情報を、ユーザ端末２００に伝送する。ユーザ端末２００は、プレイ結果をサーバ１００に伝送した後、待機状態にあり、承認情報を受信すれば、次のステップに進む。
【００５３】
プレイ結果反映部１１４１は、正当プレイである場合、プレイ結果をユーザ情報保存部１１５２に保存する。例えば、ゲームモジュールの出力情報である経験値、ゲームマネー、アイテムなどの獲得情報に基づいて、ユーザアカウントの経験値、ゲームマネー、アイテムなどを更新することができる。
【００５４】
アビュージングユーザ情報管理部１１４３は、正当プレイではない場合、当該ユーザがアビュージングユーザであるいうイベント情報を、ユーザのアカウント情報に係わって保存する。アビュージングユーザ情報管理部１１４３は、アビュージングユーザに保存されたユーザアカウントに対して、ペナルティを賦課することができる。該ペナルティは、アビュージング発生回数により、段階的に既設定となって適用される。例えば、既設定期間の間、接続禁止、キャラクタ削除、アカウント削除などの段階的ペナルティが設定されて適用される。アビュージングユーザ情報管理部１１４３は、アビュージング警告メッセージをユーザ端末２００に出力する。
【００５５】
図２Ｃは、図２Ａに示されたプログラム提供部１１１の構成の例を示したブロック図である。
【００５６】
図２Ｃを参照すれば、本発明の一実施形態によるプログラム提供部１１１は、ゲームモジュール制作部１１１１、及び、シミュレーションモジュール制作部１１１２を含む。
【００５７】
一実施形態によれば、ゲームモジュール制作部１１１１によって、ゲームモジュールがまず制作される。ゲームモジュール制作部１１１１は、自主的に、ゲームモジュール制作ツールを開発者に提供し、開発者の入力を受け、ゲームモジュールを制作することができる。または、ゲームモジュール制作部１１１１は、別途のツールを利用して開発者が制作したゲームモジュールを提供される。ゲームモジュール制作部１１１１は、ゲームモジュールをプログラム保存部１１５１に保存する。
【００５８】
次に、シミュレーションモジュール制作部１１１２は、ゲームモジュールに基づいて、シミュレーションモジュールを制作する。シミュレーションモジュール制作部１１１２は、該ゲームモジュールと同一入出力関数を有するように該シミュレーションモジュールを制作する。ただし、該シミュレーションモジュールは、該ゲームモジュールの具体的なロジックをいずれも含む必要はなく、同一入出力関数を有するように制作されることでも十分である。例えば、該ゲームモジュールは、第１入力情報を入力すれば、第１出力情報を出力し、該シミュレーションモジュールは、第２入力情報を入力すれば、第２出力情報を出力する場合、シミュレーションモジュール制作部１１１２は、第１入力情報と前記第２入力情報とが同一であるとき、第１出力情報と第２出力情報とが同一であるように、シミュレーションモジュールを制作することができる。
【００５９】
シミュレーションモジュール制作部１１１２は、機械学習（machine learning）方式または深層学習（deep learning）方式を利用して、シミュレーションモジュールを制作することができるが、それに限定されるものではない。該機械学習方式または該深層学習方式を利用する場合の具体的な方式は、図３Ｂを参照して後述する。
【００６０】
図３Ａは、本発明の一実施形態によるゲームサービス提供方法のフローチャートである。
【００６１】
図３Ａに示されたフローチャートは、図２Ａないし図２Ｃに示されたゲームサービス提供装置１１０において、時系列的に処理されるステップでもって構成される。従って、以下で省略された内容であるとしても、図２Ａないし図２Ｃで示された構成について、以上で記述された内容であるならば、図３Ａに示されたフローチャートにも適用されるということが分かるであろう。
【００６２】
図３Ａを参照すれば、ステップ３１において、サーバ１００は、ユーザ端末２００にゲームプログラムを提供する。該ゲームプログラムは、ゲームモジュールと、前記ゲームモジュールと同一入出力関数を有するように制作されたシミュレーションモジュールとを含む。該ゲームモジュールは、第１入力情報を入力すれば、第１出力情報を出力し、該シミュレーションモジュールは、第２入力情報を入力すれば、第２出力情報を出力し、前記プログラムは、第１入力情報と前記第２入力情報とが同一であるとき、第１出力情報と第２出力情報とが同一であるように制作される。前記ゲームモジュールは、前記ユーザ端末の表示部に表示されるグラフィック要素、及び、前記ユーザ端末のスピーカに出力されるオーディオ要素を含み、前記シミュレーションモジュールは、グラフィック要素及びオーディオ要素を含まない。前記ゲームモジュールは、コード復元が可能になるように制作され、前記シミュレーションモジュールは、コード復元が不可能になるようにも制作される。前記ゲームモジュールは、前記ユーザ端末の仮想マシン（ＶＭ）でも実行され、前記シミュレーションモジュールは、前記ユーザ端末のＣＰＵ（central processing unit）でも実行される。前記ゲームモジュールと前記シミュレーションモジュールは、互いに異なるプログラミング言語によっても制作される。該ゲームモジュールは、Ｃ＋プログラミング言語によって制作され、該シミュレーションモジュールは、Ｃプログラミング言語またはＣ＋＋プログラミング言語によっても制作される。
【００６３】
ステップ３２において、ユーザ端末２００は、サーバ１００にステージ開始承認を要請する。ステップ３３において、サーバ１００は、ユーザ端末２００にステージ開始承認を伝送する。ステップ３４において、ユーザ端末２００は、自主的にゲーム及びシミュレーションを進める。
【００６４】
ステップ３５において、ユーザ端末２００は、ゲーム及びシミュレーションの結果情報を含むプレイ結果を伝送する。該プレイ結果は、入力情報によるゲームモジュールの出力情報、及び、入力情報によるシミュレーションモジュールの出力情報を含む。
【００６５】
ステップ３３とステップ３５との間では、図３Ａに示されているように、ユーザ端末２００で自主的に遂行されるゲーム及びシミュレーション（ステップ３４）以外、ユーザ端末２００とサーバ１００との間の通信はなされない。
【００６６】
ステップ３６において、サーバ１００は、ステップ３５で受信したプレイ結果を参照し、ユーザ端末２００のステージプレイが正当プレイであるか否かということを判定する。ステップ３６において、サーバ１００は、ゲームモジュールの出力情報とシミュレーションモジュールの出力情報との比較結果により、正当プレイであるか否かということを判定する。
【００６７】
ステップ３７において、サーバ１００は、ステップ３６の判断結果が正当プレイである場合、ステップ３９に進み、ステップ３６の判断結果、正当プレイではない場合、アビュージングと判断し、ステップ３８に進む。一方、図面に表示されていないが、ステップ３７においてサーバ１００は、ステップ３６の判断結果、正当プレイではない場合、当該ユーザがアビュージングユーザであるいうイベント情報をユーザアカウントと係わって保存することができる。
【００６８】
ステップ３８においてサーバ１００は、アビュージングユーザに対する警告メッセージをユーザ端末２００に伝送する。ステップ３９においてサーバ１００は、プレイ結果を保存する。ステップ３９においてサーバ１００は、プレイ結果、詳細にはゲームモジュールの出力情報に基づいて、ユーザアカウントの情報を更新して保存する。ステップ４０においてサーバ１００は、プレイ結果承認をユーザ端末２００に伝送する。
【００６９】
図３Ｂは、図２Ｃのシミュレーションモジュール制作部１１１２が、機械学習方式または深層学習方式を利用して、シミュレーションモジュールを制作する方法のフローチャートである。図３Ｂを参照すれば、該シミュレーションモジュールは、ゲームモジュールに対する、入力情報及び出力情報のセットを利用して、ゲームモジュールと同一入出力関数を有するように、学習によって制作される。
【００７０】
図３Ｂを参照すれば、ステップ３１１においてシミュレーションモジュール制作部１１１２は、入力情報セットを作成し、ステップ３１２において、入力情報セットをゲームモジュールに入力し、各入力情報に対する出力情報を含む出力情報セットを作成する。入力情報セットに含まれた各入力情報と、出力情報セットに含まれた各出力情報は、一対一でマッチングされる。ステップ３１３において、シミュレーションモジュール制作部１１１３は、入力情報セットと出力情報セットとを利用して、機械学習方法を利用して、シミュレーションモジュールを制作する。そのうちでも、深層学習方式が利用されてもよい。シミュレーションモジュール制作部１１１３は、入力情報セットから出力情報セットを導き出すことができるシミュレーションモジュールを、深層学習方式を利用して、学習制作する。各情報セットが多い情報を含むほど、シミュレーションモジュールが精巧に制作される。
【００７１】
ステップ３１４において、シミュレーションモジュール制作部１１１２は、ゲームモジュールとシミュレーションモジュールとの入出力関数誤差率が基準値未満であるか否かということを判断する。例えば、ゲームモジュールとシミュレーションモジュールとに任意の入力情報を入力したときに出力される情報間の誤差率が基準値未満である場合、すなわち、誤差範囲以内で同一出力情報が出力される場合、ステップ３１５に進む。ステップ３１４において、入出力関数誤差率が基準値以上である場合、シミュレーションモジュールをさらに学習させるために、ステップ３１１に進み、既に制作されたシミュレーションモジュールを基準に学習を反復する。学習が反復されるほど、さらに多くの入力情報セット及び出力情報セットによって、シミュレーションモジュールが精巧に制作され、ゲームモジュールとシミュレーションモジュールとの入出力関数誤差率が低くなる。
【００７２】
ステップ３１５において、シミュレーションモジュール制作部１１１２は、制作されたシミュレーションモジュールをプログラム保存部１１５１に保存してプロセスを終了する。
【００７３】
図４は、本発明の一実施形態によるゲームシステムについて説明するための図面である。
【００７４】
図４を参照すれば、ユーザ端末１００には、ゲームモジュール４１とシミュレーションモジュール４２とがインストールされる。ユーザは、ゲーム内でプレイするステージを選択し、各種パラメータを設定した後、ステージ開始承認を要請する。サーバ１００から承認が受信されれば、入力情報が、ゲームモジュール４１及びシミュレーションモジュール４２に同一に入力される。ここで、該入力情報は、ユーザが選択した各種パラメータ情報を含む。例えば、ユーザがステージをプレイするように選択したキャラクタ情報、キャラクタのstat情報、当該ステージ内で使用するために選択したアイテム情報などを含む。
【００７５】
図４に示されているように、ゲームモジュール４１とシミュレーションモジュール４２は、ユーザ端末２００側にインストールされ、サーバ１００から独立する。
【００７６】
ゲームモジュール４１は、入力情報を利用して、ステージを進めながら、グラフィック要素とオーディオ要素とをユーザ端末２００の表示部、及び、オーディオを介して出力する。ステージが終われば、ステージプレイ結果に係わる第１出力情報が出力される。ステージの進行は、ゲームモジュール４１が含んでいるロジックによってなされる。
【００７７】
シミュレーションモジュール４２は、ゲームモジュール４１に入力された入力情報と同一入力情報を利用して、シミュレーションモジュール４２が含んでいるロジックによって、第２出力情報を出力する。シミュレーションモジュール４２は、グラフィック要素及びオーディオ要素を含まず、ただロジックのみを含むように軽く制作される。
【００７８】
第１出力情報と第２出力情報は、ユーザ端末２００からサーバ１００に伝送され、サーバ１００は、それら情報を利用して、正当プレイであるか否かということを判定する。
【００７９】
ゲームモジュールの正当性判定のためのシミュレーションモジュールは、ユーザのハッキングまたはアビュージングから徹底的に安全性が保証されなければならない。シミュレーションモジュールをサーバ１００に具備する場合、ユーザのアクセス性が落ち、保安が強化されるが、全てのユーザのプレイに対するシミュレーションをサーバ１００でいずれも実行しなければならないので、サーバ１００に過負荷がかかる。
【００８０】
それゆえに、本発明のゲームシステムは、サーバ１００ではないユーザ端末２００でシミュレーションを行うが、ユーザのハッキングまたはアビュージングから安全性が保証されるように、シミュレーションモジュールの保安性を高めて制作することにより、サーバ１００の負荷を減らすと同時に、ユーザのハッキングまたはアビュージングから安全性を保証することができる。
【００８１】
かように、本発明は、図面に示された一実施形態を参照して説明したが、それらは例示的なものに過ぎず、当該分野で当業者であるならば、それらから多様な変形、及び、実施形態の変形が可能であるという点を理解するであろう。従って、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決まらなければならないのである。
【産業上の利用可能性】
【００８２】
本発明の、ゲームサービス提供方法、ゲームサービス提供装置、コンピュータプログラム及び記録媒体は、例えば、アビュージング感知関連の技術分野に効果的に適用可能である。
【符号の説明】
【００８３】
４１    ゲームモジュール
４２    シミュレーションモジュール
１００    サーバ
２００    ユーザ端末
２０１    ユーザのパソコン
２０２    ユーザの携帯用端末
４００    通信網
１１０    ゲームサービス提供装置
１１１    プログラム提供部
１１１１    ゲームモジュール制作部
１１１２    シミュレーションモジュール制作部
１１２    ステージ承認部
１１３    正当プレイ判定部
１１４    ユーザ情報管理部
１１４１    プレイ結果反映部
１１４２    プレイ承認部
１１４３    アビュージングユーザ情報管理部
１１５    保存部
１１５１    プログラム保存部
１１５２    ユーザ情報保存部
２０１１，２０２１    表示部
【図１】
2018118040.tif 000003
【図２Ａ】
2018118040.tif 000004
【図２Ｂ】
2018118040.tif 000005
【図２Ｃ】
2018118040.tif 000006
【図３Ａ】
2018118040.tif 000007
【図３Ｂ】
2018118040.tif 000008
【図４】
2018118040.tif 000009