(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-31
(45)【発行日】2022-09-08
(54)【発明の名称】ゲームサービス提供方法、ゲームサービス提供装置、コンピュータプログラム及び記録媒体
(51)【国際特許分類】
A63F 13/75 20140101AFI20220901BHJP
A63F 13/79 20140101ALI20220901BHJP
A63F 13/73 20140101ALI20220901BHJP
A63F 13/35 20140101ALI20220901BHJP
G06F 21/12 20130101ALI20220901BHJP
【FI】
A63F13/75
A63F13/79
A63F13/73
A63F13/35
G06F21/12 310
(21)【出願番号】P 2018003066
(22)【出願日】2018-01-12
【審査請求日】2020-12-23
(31)【優先権主張番号】10-2017-0011293
(32)【優先日】2017-01-24
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】321003371
【氏名又は名称】LINE株式会社
(74)【代理人】
【識別番号】110003199
【氏名又は名称】弁理士法人高田・高橋国際特許事務所
(72)【発明者】
【氏名】ソ・ドンピル
(72)【発明者】
【氏名】チョン・サンフン
(72)【発明者】
【氏名】チョン・ミョンジュ
(72)【発明者】
【氏名】アン・ソンボム
(72)【発明者】
【氏名】ハン・グァンヒ
(72)【発明者】
【氏名】キム・テウ
(72)【発明者】
【氏名】イム・ソンヨル
(72)【発明者】
【氏名】リュ・ジュヒョン
(72)【発明者】
【氏名】チョン・サンミン
【審査官】石原 豊
(56)【参考文献】
【文献】特開2006-006473(JP,A)
【文献】特開2006-192142(JP,A)
【文献】特開2007-007194(JP,A)
【文献】米国特許出願公開第2013/0053150(US,A1)
【文献】米国特許出願公開第2013/0296039(US,A1)
【文献】韓国公開特許第10-2013-0082846(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24
A63F13/00-13/98
G06F21/00-21/88
(57)【特許請求の範囲】
【請求項1】
ゲームサービス提供装置がゲームサービスを提供する方法において、
ゲームモジュールと、前記ゲームモジュールと同一入出力関数を有するように制作されたシミュレーションモジュールとを含むプログラムを
同一のユーザ端末に提供するステップと、
同一の前記ユーザ端末から、入力情報に対する、前記ゲームモジュールの出力情報、及び、前記入力情報に対する、前記シミュレーションモジュールの出力情報を含むプレイ結果を受信するステップと、
同一の前記ユーザ端末における、前記ゲームモジュールの出力情報と、前記シミュレーションモジュールの出力情報との比較結果により、正当プレイであるか否かということを判定するステップとを含むゲームサービス提供方法。
【請求項2】
前記
判定するステップの判定結果により、前記プレイ結果に基づいて、ユーザアカウント情報を更新するステップと、
前記判定結果による情報を、前記ユーザ端末に出力するステップとをさらに含む、
ことを特徴とする請求項1に記載のゲームサービス提供方法。
【請求項3】
前記判定結果により、正当プレイであると判定された場合、
前記更新するステップは、前記ゲームモジュールの出力情報に基づいて、前記ユーザアカウント情報を更新し、
前記出力するステップは、
当該プレイの承認情報を出力する、
ことを特徴とする請求項2に記載のゲームサービス提供方法。
【請求項4】
前記判定結果により、正当プレイではないと判定された場合、
前記
更新するステップは、
当該ユーザがアビュージングユーザであるいうイベント情報を、前記ユーザアカウント情報に係わって保存し、
前記出力するステップは、アビュージング警告メッセージを出力する、
ことを特徴とする請求項2
又は3に記載のゲームサービス提供方法。
【請求項5】
前記ゲームモジュールは、第1入力情報を入力すれば、第1出力情報を出力し、前記シミュレーションモジュールは、第2入力情報を入力すれば、第2出力情報を出力し、
前記プログラムは、前記第1入力情報と前記第2入力情報とが同一であるとき、前記第1出力情報と前記第2出力情報とが同一であるように制作される、
ことを特徴とする請求項1
ないし4のいずれか1項に記載のゲームサービス提供方法。
【請求項6】
前記ゲームモジュールは、前記ユーザ端末の表示部に表示されるグラフィック要素、及び、前記ユーザ端末のスピーカに出力されるオーディオ要素を含み、
前記シミュレーションモジュールは、グラフィック要素及びオーディオ要素を含まない、
ことを特徴とする請求項1
ないし5のいずれか1項に記載のゲームサービス提供方法。
【請求項7】
前記ゲームモジュールは、前記ユーザ端末の仮想マシンで実行され
前記シミュレーションモジュールは、前記ユーザ端末のCPU(central processing unit)で実行される、
ことを特徴とする請求項1
ないし6のいずれか1項に記載のゲームサービス提供方法。
【請求項8】
前記ゲームモジュールと前記シミュレーションモジュールは、互いに異なるプログラミング言語によって制作される、
ことを特徴とする請求項1
ないし7のいずれか1項に記載のゲームサービス提供方法。
【請求項9】
プログラムを提供するステップ以前に、
前記ゲームモジュールに対する、入力情報及び出力情報のセットを利用して、前記ゲームモジュールと同一入出力関数を有するように、前記シミュレーションモジュールを、機械学習によって制作するステップをさらに含む、
ことを特徴とする請求項1
ないし8のいずれか1項に記載のゲームサービス提供方法。
【請求項10】
ゲームモジュールと、前記ゲームモジュールと同一入出力関数を有するように制作されたシミュレーションモジュールとを含むプログラムを
同一のユーザ端末に提供するプログラム提供部と、
同一の前記ユーザ端末から、入力情報に対する、前記ゲームモジュールの出力情報、及び、前記入力情報に対する、前記シミュレーションモジュールの出力情報を含むプレイ結果を受信し、
同一の前記ユーザ端末における、前記ゲームモジュールの出力情報と、前記シミュレーションモジュールの出力情報との比較結果により、正当プレイであるか否かということを判定する正当プレイ判定部とを含むゲームサービス提供装置。
【請求項11】
前記
正当プレイ判定部による判定結果により、前記プレイ結果に基づいて、ユーザアカウント情報を更新し、前記判定結果による情報を、前記ユーザ端末に出力するユーザ情報管理部をさらに含む、
ことを特徴とする請求項10に記載のゲームサービス提供装置。
【請求項12】
前記ユーザ情報管理部は、
前記判定結果により、正当プレイであると判定された場合、前記ゲームモジュールの出力情報に基づいて、前記ユーザアカウント情報を更新し、
当該プレイの承認情報を出力する、
ことを特徴とする請求項11に記載のゲームサービス提供装置。
【請求項13】
前記ユーザ情報管理部は、
前記判定結果により、正当プレイではないと判定された場合、
当該ユーザがアビュージングユーザであるいうイベント情報を、前記ユーザアカウント情報に係わって保存し、アビュージング警告メッセージを出力する、
ことを特徴とする請求項11
又は12に記載のゲームサービス提供装置。
【請求項14】
前記ゲームモジュールは、第1入力情報を入力すれば、第1出力情報を出力し、前記シミュレーションモジュールは、第2入力情報を入力すれば、第2出力情報を出力し、
前記プログラムは、前記第1入力情報と前記第2入力情報とが同一であるとき、前記第1出力情報と前記第2出力情報とが同一であるように制作される、
ことを特徴とする請求項10
ないし13のいずれか1項に記載のゲームサービス提供装置。
【請求項15】
前記ゲームモジュールは、前記ユーザ端末の表示部に表示されるグラフィック要素、及び、前記ユーザ端末のスピーカに出力されるオーディオ要素を含み、前記シミュレーションモジュールは、グラフィック要素及びオーディオ要素を含まない、
ことを特徴とする請求項10
ないし14のいずれか1項に記載のゲームサービス提供装置。
【請求項16】
前記ゲームモジュールは、前記ユーザ端末の仮想マシンで実行され、前記シミュレーションモジュールは、前記ユーザ端末のCPU(central processing unit)で実行される、
ことを特徴とする請求項10
ないし15のいずれか1項に記載のゲームサービス提供装置。
【請求項17】
前記ゲームモジュールと前記シミュレーションモジュールは、互いに異なるプログラミング言語によって制作される、
ことを特徴とする請求項10
ないし16のいずれか1項に記載のゲームサービス提供装置。
【請求項18】
前記プログラム提供部は、前記ゲームモジュールに対する、入力情報及び出力情報のセットを利用して、前記ゲームモジュールと同一入出力関数を有するように、前記シミュレーションモジュールを、機械学習によって制作する、
ことを特徴とする請求項10
ないし17のいずれか1項に記載のゲームサービス提供装置。
【請求項19】
コンピュータを利用して、請求項1ないし9のうちいずれか1項に記載の方法を実行するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームサービス提供方法、ゲームサービス提供装置、コンピュータプログラム及び記録媒体に関する。
【背景技術】
【0002】
最近、モバイル環境でのゲームが増加している。該モバイル環境は、有線環境よりネットワーク連結状態が不安定であるので、ゲームが行われている間、サーバと端末とがリアルタイムで通信する方式よりは、いずれか一方(例えば、端末)においてゲームがなされた後で通信する方式が好まれる。しかし、かように、端末でゲームがなされた後で通信する場合、端末にインストールされたゲームプログラムがユーザによって操作されたり、ゲームが進められている間、ユーザによって操作が発生するというようなアビュージング発生の危険性が存在する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明が解決しようとする課題は、サーバに過度な負荷を与えずに、ユーザアビュージングを感知することができるゲームサービス提供方法、ゲームサービス提供装置、コンピュータプログラム及び記録媒体を提供することである。
【課題を解決するための手段】
【0004】
本発明の一実施形態は、ゲームサービス提供装置がゲームサービスを提供する方法において、ゲームモジュールと、前記ゲームモジュールと同一入出力関数を有するように制作されたシミュレーションモジュールとを含むプログラムを同一のユーザ端末に提供するステップと、同一の前記ユーザ端末から、入力情報に対する、前記ゲームモジュールの出力情報、及び、前記入力情報に対する、前記シミュレーションモジュールの出力情報を含むプレイ結果を受信するステップと、同一の前記ユーザ端末における、前記ゲームモジュールの出力情報と、前記シミュレーションモジュールの出力情報との比較結果により、正当プレイであるか否かということを判定するステップとを含む。
【0005】
本発明の一実施形態に係るゲームサービス提供方法は、前記判定結果により、前記プレイ結果に基づいて、ユーザアカウント情報を更新するステップと、前記判定結果による情報を、前記ユーザ端末に出力するステップとをさらに含んでもよい。
【0006】
本発明の一実施形態に係るゲームサービス提供方法は、前記判定結果において、正当プレイであると判定された場合、前記更新するステップは、前記ゲームモジュールの出力情報に基づいて、前記ユーザアカウント情報を更新し、前記出力するステップは、前記プレイの承認情報を出力してもよい。
【0007】
本発明の一実施形態に係るゲームサービス提供方法は、前記判定結果において、正当プレイではないと判定された場合、前記更新するステップは、前記ユーザがアビュージングユーザであるいうイベント情報を、前記ユーザアカウント情報に係わって保存し、前記出力するステップは、アビュージング警告メッセージを出力してもよい。
【0008】
本発明の一実施形態に係るゲームサービス提供方法において、前記ゲームモジュールは、第1入力情報を入力すれば、第1出力情報を出力し、前記シミュレーションモジュールは、第2入力情報を入力すれば、第2出力情報を出力し、前記プログラムは、前記第1入力情報と前記第2入力情報とが同一であるとき、前記第1出力情報と前記第2出力情報とが同一であるように制作されてもよい。
【0009】
本発明の一実施形態に係るゲームサービス提供方法において、前記ゲームモジュールは、前記ユーザ端末の表示部に表示されるグラフィック要素、及び、前記ユーザ端末のスピーカに出力されるオーディオ要素を含み、前記シミュレーションモジュールは、グラフィック要素及びオーディオ要素を含まなくてもよい。
【0010】
本発明の一実施形態に係るゲームサービス提供方法において、前記ゲームモジュールは、前記ユーザ端末の仮想マシン(VM)で実行され、前記シミュレーションモジュールは、前記ユーザ端末のCPU(central processing unit)で実行されてもよい。
【0011】
本発明の一実施形態に係るゲームサービス提供方法において、前記ゲームモジュールと前記シミュレーションモジュールは、互いに異なるプログラミング言語によって制作されてもよい。
【0012】
本発明の一実施形態に係るゲームサービス提供方法において、プログラムを提供するステップ以前に、前記ゲームモジュールに対する、入力情報及び出力情報のセットを利用して、前記ゲームモジュールと同一入出力関数を有するように、前記シミュレーションモジュールを、機械学習(machine learning)によって制作するステップをさらに含んでもよい。
【0013】
本発明の他の実施形態に係るゲームサービス提供装置は、ゲームモジュールと、前記ゲームモジュールと同一入出力関数を有するように制作されたシミュレーションモジュールとを含むプログラムを同一のユーザ端末に提供するプログラム提供部と、同一の前記ユーザ端末から、入力情報に対する、前記ゲームモジュールの出力情報、及び、前記入力情報に対する、前記シミュレーションモジュールの出力情報を含むプレイ結果を受信し、同一の前記ユーザ端末における、前記ゲームモジュールの出力情報と、前記シミュレーションモジュールの出力情報との比較結果により、正当プレイであるか否かということを判定する正当プレイ判定部とを含む。
【0014】
本発明の他の実施形態に係るコンピュータプログラムは、コンピュータを利用して、前述のゲームサービス提供方法を実行するために媒体に保存される。
【0015】
本発明の他の実施形態に係るコンピュータで読み取り可能な記録媒体は、前述のゲームサービス提供方法をコンピュータで実行させるためのコンピュータプログラムを保存する。
【0016】
前述したもの以外の他の側面、特徴、利点は、以下の図面、特許請求の範囲、及び、発明の詳細な説明から明確になるであろう。
【発明の効果】
【0017】
本発明の実施形態に係るゲームサービス提供方法、ゲームサービス提供装置、コンピュータプログラム及び記録媒体は、サーバに過度な負荷を与えずに、ユーザアビュージングを感知することができるゲームサービスを提供する。
【図面の簡単な説明】
【0018】
【
図1】本発明の一実施形態によるゲームシステムの構成を示した図面である。
【
図2A】本発明の一実施形態によるゲームサービス提供装置110の構成の例を示したブロック図である。
【
図2B】
図2Aに図示されたユーザ情報管理部114の構成の例を示したブロック図である。
【
図2C】
図2Aに図示されたプログラム提供部111の構成の例を示したブロック図である。
【
図3A】本発明の一実施形態によるゲームサービス提供方法のフローチャートである。
【
図3B】
図2Cの本発明の一実施形態によるシミュレーションモジュール制作部1112が、機械学習方式または深層学習方式を利用して、シミュレーションモジュールを制作する方法のフローチャートである。
【
図4】本発明の一実施形態によるゲームシステムについて説明するための図面である。
【発明を実施するための形態】
【0019】
本発明は、多様な変換を加えることができ、さまざまな実施形態を有することができるが、特定の実施形態を図面に例示し、詳細に説明する。本発明の効果、特徴、及び、それらを達成する方法は、図面と共に詳細に説明する実施形態を参照すれば、明確になるであろう。しかし、本発明は、以下に開示される実施形態に限定されるものではなく、多様な形態にも具現されるのである。
【0020】
以下、添付された図面を参照し、本発明の実施形態について詳細に説明するが、図面を参照して説明するとき、同一であるか、あるいは対応する構成要素には同一の符号を付し、それに係わる重複説明は省略する。
【0021】
以下の実施形態において、第1、第2のような用語は、限定的な意味ではなく、1つの構成要素を他の構成要素と区別する目的で使用したものである。以下の実施形態において、単数の表現は、文脈上明白に異なって意味しない限り、複数の表現を含む。以下の実施形態において、「含む」または「有する」というような用語は、明細書上に記載された特徴または構成要素が存在するということを意味するものであり、1以上の他の特徴または構成要素が付加される可能性を事前に排除するものではない。図面においては、説明の便宜のために、構成要素がその大きさが誇張されていたり縮小されていたりする。例えば、図面に示された各構成の形態は、説明の便宜のために任意に示されているので、本発明は、必ずしも図示されたところに限定されるものではない。
【0022】
図1は、本発明の一実施形態によるゲームシステムの構成を示した図面である。
【0023】
図1を参照すれば、本発明の一実施形態によるゲームシステムは、サーバ100、ユーザ端末200、及び、サーバ100とユーザ端末200とを連結する通信網400を含む。複数のユーザ端末200が、それぞれ通信網400を介して、サーバ100に接続することができる。
【0024】
本発明の一実施形態によるゲームシステムは、ユーザ端末200にゲームプログラムを提供し、ユーザ端末200が、ゲームプログラムを介してサーバ100に接続してゲームを行うことができるように、ゲームサービスを提供することができる。最近、モバイル環境でのゲームが増加している。該モバイル環境は、有線環境よりネットワーク連結状態が不安定であるので、ゲームがなされている間、サーバ100とユーザ端末200とがリアルタイムで通信する方式よりは、ある一方でゲームがなされた後で通信する方式が好まれる。本発明の一実施形態によるゲームシステムは、サーバ100の承認を受けたユーザ端末200が、自主的にゲームを進めた後、ゲーム結果をサーバ100に伝送する方式のゲームサービスを提供する。
【0025】
サーバ100は、ユーザ端末200に、ゲームプログラム、及び、それを介してユーザアビュージング(abusing)を感知することができるゲームサービスを提供する。例えば、サーバ100は、ユーザ端末200にゲームプログラムを提供し、ユーザ端末200がゲームプログラムを利用してゲームをプレイした結果を受信し、アビュージングを感知する。図面には図示されていないが、本発明の一実施形態によるサーバ100は、メモリ、入出力部、プログラム保存部、制御部などを含んでもよい。
【0026】
ゲームプログラムがユーザ端末200に先にインストールされ、ユーザ端末200が該インストールゲームプログラムを利用してゲームを行う場合、ユーザによって、前もってゲームプログラムが操作されたり、不法なプログラムを利用してゲームプレイを操作したりするというようなアビュージングが発生する危険性が存在する。本発明の一実施形態によるゲームシステムは、ユーザアビュージングを感知することができるゲームサービスを提供する。そのために、本発明の一実施形態によるゲームシステムは、ゲームモジュール及びシミュレーションモジュールを含むゲームプログラムを提供する。ユーザ端末200は、ゲームモジュール及びシミュレーションモジュールをいずれも利用して、ゲームをプレイし、サーバ100は、各モジュールのプレイ結果を比較してアビュージングを感知する。サーバ100は、アビュージングいかんによってプレイ結果を処理する。
【0027】
ここで、アビュージングとは、オンラインゲームにおいて、bug(バグ)、hack(ハック)などの不法プログラムを使用したり、ゲームプログラムを操作したり、アカウント盗用、多重アカウント接続などを介して不当な利得を上げたりする行為を包括的に意味する。主に、ゲーム勝敗、点数などを基に与える補償を目的とする。
【0028】
図1を参照すれば、ユーザ端末200は、有線・無線通信環境において、ウェブサービスを利用することができる通信端末機を意味する。ここで、ユーザ端末200は、ユーザのパソコン201でもあり、あるいはユーザの携帯用端末202でもある。
図1においては、携帯用端末202がスマートフォン(smart phone)として図示されているが、本発明の思想は、それに制限されるものではなく、前述のように、インターネット通信が可能なアプリケーションを搭載した端末であるならば、制限なしに借用される。
【0029】
ユーザ端末200は、画面を表示する表示部2011,2021、及び、ユーザからデータを入力される入力装置を具備する。該入力装置は、例えば、キーボード、マウス、トラックボール、マイク、ボタン、タッチパネルなどを含んでもよいが、それらに限定されるものではない。
【0030】
通信網400は、ユーザ端末200とサーバ100とを連結する役割を行う。例えば、通信網400は、ユーザ端末200がサーバ100に接続した後、パケットデータを送受信することができるように接続経路を提供する。通信網400は、例えば、LANs(local area networks)、WANs(wide area networks)、MANs(metropolitan area networks)、ISDNs(integrated service digital networks)などの有線ネットワーク、無線LANs、CDMA(code division multiple access)、ブルートゥース(Bluetooth)(登録商標)、衛星通信、3G(3rd generation)、4G(4th generation)、5G(5th generation)などの無線ネットワークを網羅することができるが、本発明の範囲は、それらに限定されるものではない。
【0031】
図2Aは、本発明の一実施形態によるゲームサービス提供装置110の構成例を示したブロック図である。
【0032】
本発明の一実施形態によるゲームサービス提供装置110は、少なくとも1以上のプロセッサ(processor)に該当するか、あるいは少なくとも1以上のプロセッサを含んでもよい。それにより、ゲームサービス提供装置110は、マイクロプロセッサや汎用コンピュータシステムのような他のハードウェア装置に含まれた形態によっても駆動され、サーバ100に搭載される。
【0033】
図2Aに示されたゲームサービス提供装置110は、本実施形態の特徴が不明確になることを防止するために、本実施形態に係る構成要素のみを図示したものである。従って、
図2Aに示された構成要素以外に、他の汎用的な構成要素がさらに含まれてもよいということは、本実施形態に係る技術分野で当業者であるならば、理解することができるであろう。
【0034】
一実施形態によるゲームサービス提供装置110は、ユーザ端末200に、ゲームモジュール及びシミュレーションモジュールを含むプログラムを提供し、ユーザ端末200がプログラムを介して接続した後、ステージ開始を要請すれば、ステージ開始を承認し、ステージプレイ結果を受信し、そこから正当プレイであるか否かということを判定し、正当プレイいかんにより、プレイ結果に対する処理を行う。ここで、該ステージは、ゲームのプレイ単位である。ユーザは、ステージをプレイした結果により、経験値、アイテム、マイレージ、ゲームマネーなどを獲得する。
【0035】
図2Aを参照すれば、本発明の一実施形態によるゲームサービス提供装置110は、プログラム提供部111、ステージ承認部112、正当プレイ判定部113、ユーザ情報管理部114、及び、保存部115を含む。以下では、ゲームサービス提供装置110の各構成について詳細に説明する。
【0036】
本発明の一実施形態によるプログラム提供部111は、ゲームモジュール及びシミュレーションモジュールを含むプログラムを提供する。該シミュレーションモジュールは、ゲームモジュールと同一入出力関数を有するように、サーバ100によって制作される。該シミュレーションモジュールは、該ゲームモジュールと入出力関数だけ同一であるのみ、それ以外の特徴は、異なっても制作される。入出力関数が同一であるということは、同一入力値を入力したとき、同一出力値を出力するという意味である。
【0037】
一実施形態によれば、該ゲームモジュールは、ユーザ端末200の表示部に表示されるグラフィック要素、及び、ユーザ端末200のスピーカに出力されるオーディオ要素を含み、該シミュレーションモジュールは、グラフィック要素及びオーディオ要素を含まないように制作される。それによれば、該ゲームモジュールは、高容量に制作され、該シミュレーションモジュールは、低容量に制作される。
【0038】
該ゲームモジュールは、グラフィック要素及びオーディオ要素を含むように、特定制作ツールを利用して制作され、その場合、プログラムコードに復元される。該シミュレーションモジュールは、前述の特定制作ツールを利用せず、コード復元が不可能になるように制作される。
【0039】
該ゲームモジュールと該シミュレーションモジュールは、戦略的、または必要によって、互いに異なるプログラミング言語を利用しても制作される。例えば、該ゲームモジュールは、C+プログラミング言語によって制作され、該シミュレーションモジュールは、CまたはC++プログラミング言語によっても制作される。
【0040】
プログラミング言語の差及び/または実行ファイルの種類の差によって、ゲームモジュール、及び、シミュレーションモジュールは、互いに異なるレイヤでも実行される。例えば、該ゲームモジュールは、ユーザ端末200に構築された仮想マシン(VM)でも実行され、該シミュレーションモジュールは、ユーザ端末200のCPU(central processing unit)でも実行される。
【0041】
本発明の一実施形態によるステージ承認部112は、ユーザ端末200からゲーム開始要請を受信し、受信された要請情報によって、ゲーム開始承認を出力する。ユーザ端末200は、サーバから承認が受信されれば、ゲームプレイを始める。ゲーム開始要請は、ユーザ端末200によって選択された、プレイするステージの情報、ユーザのアカウント情報、ステージに入力されるパラメータを含む入力情報を含んでもよい。ステージ承認部112は、当該ゲーム開始要請が有効な要請であるか否かということを確認して承認を出力する。
【0042】
ユーザ端末200は、ゲームモジュールを利用して、当該ステージのプレイを完了した後、プレイ結果を得る。ここで、ゲームプログラムは、ユーザ端末200がステージをプレイするときに入力した入力情報が、ゲームモジュールとシミュレーションモジュールとに同一に入力され、該ゲームモジュールと該シミュレーションモジュールとがいずれも実行されるように制作される。従って、ステージプレイが完了すれば、ゲームモジュールの出力情報、及び、シミュレーションモジュールの出力情報をいずれも含むプレイ結果が得られる。
【0043】
入力情報は、ユーザによって直接入力される情報を含む。例えば、ユーザが、当該ステージに進みながら選択したキャラクタ、アイテム情報、ユーザが設定したパラメータなどがこれに該当する。ただし、該入力情報は、それらに限定されるものではなく、ユーザによって直接入力されない情報を含む。例えば、ゲーム進行において必要なユーザアカウント固有のパラメータとして、ユーザレベル、等級などがそれに該当する。
【0044】
本発明の一実施形態による正当プレイ判定部113は、ユーザ端末200のステージプレイ情報を受信する。該プレイ情報は、ステージプレイの入力情報に対するゲームモジュールの出力情報、及び、シミュレーションモジュールの出力情報をそれぞれ含む。正当プレイ判定部113は、ゲームモジュールの出力情報と、シミュレーションモジュールの出力情報との比較結果により、正当プレイであるか否かということを判定する。例えば、正当プレイ判定部113は、ゲームモジュールの出力情報と、シミュレーションモジュールの出力情報とが同一であれば、正当プレイであると判定し、異なっていれば、正当プレイではないと判定する。
【0045】
ゲームモジュールとシミュレーションモジュールは、同一入出力関数を有するように制作されるために、ユーザによるアビュージングが発生しないのであるならば、同一入力情報に対する、ゲームモジュールの出力情報と、シミュレーションモジュールの出力情報とは、同一に出力される。しかし、ユーザが不法なプログラムを使用し、ゲーム途中に別途の処理を行ったり、ゲームプログラム自体を変調したりするようなアビュージングを加えた場合、ゲームモジュールの出力情報が変更され、従って、ゲームモジュールの出力情報と、シミュレーションモジュールの出力情報とが異なることになる。
【0046】
正当プレイ判定部113は、ゲームモジュールの出力情報と、シミュレーションモジュールの出力情報とが同一であるならば、正当プレイであると判定し、異なっていれば、正当プレイではないと判定する。ここで、同一であるとは、完全な同一であるということもあるが、シミュレーションモジュールの制作方式により、誤差範囲を有する同一でもある。例えば、シミュレーションモジュールが機械学習方式によって制作される場合、正当プレイ判定部113は、ゲームモジュールの出力情報と、シミュレーションモジュールの出力情報とが誤差範囲内で同一である場合、正当プレイであると判定し、誤差範囲を外れる場合、正当プレイではないと判定する。正当プレイ判定部113は、正当プレイ判定結果をユーザ情報管理部114に出力する。
【0047】
一方、ステージ承認部112によって承認が出力された後、正当プレイ判定部113がプレイ情報を受信するまで、ゲームサービス提供装置110とユーザ端末200との間には、別途の通信がなされない。それにより、ゲームサービス提供装置110とユーザ端末200は、プレイ開始時点及び、終了時点に、一度ずつ通信を行い、ゲーム進行過程は、ユーザ端末200でのみなされ、ゲーム途中、ゲームサービス提供装置110とユーザ端末200とがリアルタイムで通信しないので、不安定な通信環境においても、ユーザ端末200上では安定してゲームがなされる。
【0048】
本発明の一実施形態によるユーザ情報管理部114は、正当プレイ判定部113の判定結果により、プレイ結果に基づいて、ユーザアカウントの情報を更新して保存する。ユーザ情報管理部114は、正当プレイ判定部113によって、正当プレイであると判定された場合、ゲームモジュールの出力情報を保存する。ユーザ情報管理部114は、ゲームモジュールの出力情報に基づいて、ユーザのアカウント情報を更新することができる。ユーザ情報管理部114は、正当プレイ判定部113によって、正当プレイではないと判定された場合、当該ユーザがアビュージングユーザであるいうイベント情報を、ユーザのアカウント情報に関連付けて保存する。
【0049】
ユーザ情報管理部114は、判定結果による情報を、ユーザ端末200に出力する。ユーザ情報管理部114は、正当プレイ判定部113によって、正当プレイであると判定された場合、プレイの承認情報を出力する。ユーザ情報管理部114は、正当プレイ判定部113によって、正当プレイではないと判定された場合、アビュージング警告メッセージを、ユーザ端末200に出力する。アビュージング警告メッセージは、例えば、「正当プレイではないと判定され、プレイ結果が反映されません」というようなものでもある。ユーザ情報管理部114は、正当プレイ判定部113によって、正当プレイではないと判定された場合、アビュージング警告メッセージ出力に留まらず、アビュージングユーザのアカウントに対して、ペナルティを賦課することができる。
【0050】
本発明の一実施形態による保存部115は、ゲームプログラムを保存するプログラム保存部1151、及び、ユーザアカウント情報などを保存するユーザ情報保存部1152を含む。プログラム保存部1151には、最新バージョンのゲームプログラムが保存され、プログラム提供部111は、プログラム保存部1151に保存されたプログラムをユーザ端末200に提供する。ユーザ情報保存部1152は、ユーザアカウントに係わる情報を保存する。例えば、ユーザアカウント情報、ユーザアカウントが保有するゲームアイテム情報、ユーザアカウントのアビュージング情報などを保存する。
【0051】
図2Bは、
図2Aに示されたユーザ情報管理部114の詳細な構成の例を示したブロック図である。
【0052】
図2Bを参照すれば、本発明の一実施形態によるユーザ情報管理部114は、プレイ結果反映部1141、プレイ承認部1142、及び、アビュージングユーザ情報管理部1143を含む。プレイ承認部1142は、正当プレイである場合、当該プレイ結果が承認されたことを知らせる承認情報を、ユーザ端末200に伝送する。ユーザ端末200は、プレイ結果をサーバ100に伝送した後、待機状態にあり、承認情報を受信すれば、次のステップに進む。
【0053】
プレイ結果反映部1141は、正当プレイである場合、プレイ結果をユーザ情報保存部1152に保存する。例えば、ゲームモジュールの出力情報である経験値、ゲームマネー、アイテムなどの獲得情報に基づいて、ユーザアカウントの経験値、ゲームマネー、アイテムなどを更新することができる。
【0054】
アビュージングユーザ情報管理部1143は、正当プレイではない場合、当該ユーザがアビュージングユーザであるいうイベント情報を、ユーザのアカウント情報に係わって保存する。アビュージングユーザ情報管理部1143は、アビュージングユーザに保存されたユーザアカウントに対して、ペナルティを賦課することができる。該ペナルティは、アビュージング発生回数により、段階的に既設定となって適用される。例えば、既設定期間の間、接続禁止、キャラクタ削除、アカウント削除などの段階的ペナルティが設定されて適用される。アビュージングユーザ情報管理部1143は、アビュージング警告メッセージをユーザ端末200に出力する。
【0055】
図2Cは、
図2Aに示されたプログラム提供部111の構成の例を示したブロック図である。
【0056】
図2Cを参照すれば、本発明の一実施形態によるプログラム提供部111は、ゲームモジュール制作部1111、及び、シミュレーションモジュール制作部1112を含む。
【0057】
一実施形態によれば、ゲームモジュール制作部1111によって、ゲームモジュールがまず制作される。ゲームモジュール制作部1111は、自主的に、ゲームモジュール制作ツールを開発者に提供し、開発者の入力を受け、ゲームモジュールを制作することができる。または、ゲームモジュール制作部1111は、別途のツールを利用して開発者が制作したゲームモジュールを提供される。ゲームモジュール制作部1111は、ゲームモジュールをプログラム保存部1151に保存する。
【0058】
次に、シミュレーションモジュール制作部1112は、ゲームモジュールに基づいて、シミュレーションモジュールを制作する。シミュレーションモジュール制作部1112は、該ゲームモジュールと同一入出力関数を有するように該シミュレーションモジュールを制作する。ただし、該シミュレーションモジュールは、該ゲームモジュールの具体的なロジックをいずれも含む必要はなく、同一入出力関数を有するように制作されることでも十分である。例えば、該ゲームモジュールは、第1入力情報を入力すれば、第1出力情報を出力し、該シミュレーションモジュールは、第2入力情報を入力すれば、第2出力情報を出力する場合、シミュレーションモジュール制作部1112は、第1入力情報と前記第2入力情報とが同一であるとき、第1出力情報と第2出力情報とが同一であるように、シミュレーションモジュールを制作することができる。
【0059】
シミュレーションモジュール制作部1112は、機械学習(machine learning)方式または深層学習(deep learning)方式を利用して、シミュレーションモジュールを制作することができるが、それに限定されるものではない。該機械学習方式または該深層学習方式を利用する場合の具体的な方式は、
図3Bを参照して後述する。
【0060】
図3Aは、本発明の一実施形態によるゲームサービス提供方法のフローチャートである。
【0061】
図3Aに示されたフローチャートは、
図2Aないし
図2Cに示されたゲームサービス提供装置110において、時系列的に処理されるステップでもって構成される。従って、以下で省略された内容であるとしても、
図2Aないし
図2Cで示された構成について、以上で記述された内容であるならば、
図3Aに示されたフローチャートにも適用されるということが分かるであろう。
【0062】
図3Aを参照すれば、ステップ31において、サーバ100は、ユーザ端末200にゲームプログラムを提供する。該ゲームプログラムは、ゲームモジュールと、前記ゲームモジュールと同一入出力関数を有するように制作されたシミュレーションモジュールとを含む。該ゲームモジュールは、第1入力情報を入力すれば、第1出力情報を出力し、該シミュレーションモジュールは、第2入力情報を入力すれば、第2出力情報を出力し、前記プログラムは、第1入力情報と前記第2入力情報とが同一であるとき、第1出力情報と第2出力情報とが同一であるように制作される。前記ゲームモジュールは、前記ユーザ端末の表示部に表示されるグラフィック要素、及び、前記ユーザ端末のスピーカに出力されるオーディオ要素を含み、前記シミュレーションモジュールは、グラフィック要素及びオーディオ要素を含まない。前記ゲームモジュールは、コード復元が可能になるように制作され、前記シミュレーションモジュールは、コード復元が不可能になるようにも制作される。前記ゲームモジュールは、前記ユーザ端末の仮想マシン(VM)でも実行され、前記シミュレーションモジュールは、前記ユーザ端末のCPU(central processing unit)でも実行される。前記ゲームモジュールと前記シミュレーションモジュールは、互いに異なるプログラミング言語によっても制作される。該ゲームモジュールは、C+プログラミング言語によって制作され、該シミュレーションモジュールは、Cプログラミング言語またはC++プログラミング言語によっても制作される。
【0063】
ステップ32において、ユーザ端末200は、サーバ100にステージ開始承認を要請する。ステップ33において、サーバ100は、ユーザ端末200にステージ開始承認を伝送する。ステップ34において、ユーザ端末200は、自主的にゲーム及びシミュレーションを進める。
【0064】
ステップ35において、ユーザ端末200は、ゲーム及びシミュレーションの結果情報を含むプレイ結果を伝送する。該プレイ結果は、入力情報によるゲームモジュールの出力情報、及び、入力情報によるシミュレーションモジュールの出力情報を含む。
【0065】
ステップ33とステップ35との間では、
図3Aに示されているように、ユーザ端末200で自主的に遂行されるゲーム及びシミュレーション(ステップ34)以外、ユーザ端末200とサーバ100との間の通信はなされない。
【0066】
ステップ36において、サーバ100は、ステップ35で受信したプレイ結果を参照し、ユーザ端末200のステージプレイが正当プレイであるか否かということを判定する。ステップ36において、サーバ100は、ゲームモジュールの出力情報とシミュレーションモジュールの出力情報との比較結果により、正当プレイであるか否かということを判定する。
【0067】
ステップ37において、サーバ100は、ステップ36の判断結果が正当プレイである場合、ステップ39に進み、ステップ36の判断結果、正当プレイではない場合、アビュージングと判断し、ステップ38に進む。一方、図面に表示されていないが、ステップ37においてサーバ100は、ステップ36の判断結果、正当プレイではない場合、当該ユーザがアビュージングユーザであるいうイベント情報をユーザアカウントと係わって保存することができる。
【0068】
ステップ38においてサーバ100は、アビュージングユーザに対する警告メッセージをユーザ端末200に伝送する。ステップ39においてサーバ100は、プレイ結果を保存する。ステップ39においてサーバ100は、プレイ結果、詳細にはゲームモジュールの出力情報に基づいて、ユーザアカウントの情報を更新して保存する。ステップ40においてサーバ100は、プレイ結果承認をユーザ端末200に伝送する。
【0069】
図3Bは、
図2Cのシミュレーションモジュール制作部1112が、機械学習方式または深層学習方式を利用して、シミュレーションモジュールを制作する方法のフローチャートである。
図3Bを参照すれば、該シミュレーションモジュールは、ゲームモジュールに対する、入力情報及び出力情報のセットを利用して、ゲームモジュールと同一入出力関数を有するように、学習によって制作される。
【0070】
図3Bを参照すれば、ステップ311においてシミュレーションモジュール制作部1112は、入力情報セットを作成し、ステップ312において、入力情報セットをゲームモジュールに入力し、各入力情報に対する出力情報を含む出力情報セットを作成する。入力情報セットに含まれた各入力情報と、出力情報セットに含まれた各出力情報は、一対一でマッチングされる。ステップ313において、シミュレーションモジュール制作部1113は、入力情報セットと出力情報セットとを利用して、機械学習方法を利用して、シミュレーションモジュールを制作する。そのうちでも、深層学習方式が利用されてもよい。シミュレーションモジュール制作部1113は、入力情報セットから出力情報セットを導き出すことができるシミュレーションモジュールを、深層学習方式を利用して、学習制作する。各情報セットが多い情報を含むほど、シミュレーションモジュールが精巧に制作される。
【0071】
ステップ314において、シミュレーションモジュール制作部1112は、ゲームモジュールとシミュレーションモジュールとの入出力関数誤差率が基準値未満であるか否かということを判断する。例えば、ゲームモジュールとシミュレーションモジュールとに任意の入力情報を入力したときに出力される情報間の誤差率が基準値未満である場合、すなわち、誤差範囲以内で同一出力情報が出力される場合、ステップ315に進む。ステップ314において、入出力関数誤差率が基準値以上である場合、シミュレーションモジュールをさらに学習させるために、ステップ311に進み、既に制作されたシミュレーションモジュールを基準に学習を反復する。学習が反復されるほど、さらに多くの入力情報セット及び出力情報セットによって、シミュレーションモジュールが精巧に制作され、ゲームモジュールとシミュレーションモジュールとの入出力関数誤差率が低くなる。
【0072】
ステップ315において、シミュレーションモジュール制作部1112は、制作されたシミュレーションモジュールをプログラム保存部1151に保存してプロセスを終了する。
【0073】
図4は、本発明の一実施形態によるゲームシステムについて説明するための図面である。
【0074】
図4を参照すれば、ユーザ端末100には、ゲームモジュール41とシミュレーションモジュール42とがインストールされる。ユーザは、ゲーム内でプレイするステージを選択し、各種パラメータを設定した後、ステージ開始承認を要請する。サーバ100から承認が受信されれば、入力情報が、ゲームモジュール41及びシミュレーションモジュール42に同一に入力される。ここで、該入力情報は、ユーザが選択した各種パラメータ情報を含む。例えば、ユーザがステージをプレイするように選択したキャラクタ情報、キャラクタのstat情報、当該ステージ内で使用するために選択したアイテム情報などを含む。
【0075】
図4に示されているように、ゲームモジュール41とシミュレーションモジュール42は、ユーザ端末200側にインストールされ、サーバ100から独立する。
【0076】
ゲームモジュール41は、入力情報を利用して、ステージを進めながら、グラフィック要素とオーディオ要素とをユーザ端末200の表示部、及び、オーディオを介して出力する。ステージが終われば、ステージプレイ結果に係わる第1出力情報が出力される。ステージの進行は、ゲームモジュール41が含んでいるロジックによってなされる。
【0077】
シミュレーションモジュール42は、ゲームモジュール41に入力された入力情報と同一入力情報を利用して、シミュレーションモジュール42が含んでいるロジックによって、第2出力情報を出力する。シミュレーションモジュール42は、グラフィック要素及びオーディオ要素を含まず、ただロジックのみを含むように軽く制作される。
【0078】
第1出力情報と第2出力情報は、ユーザ端末200からサーバ100に伝送され、サーバ100は、それら情報を利用して、正当プレイであるか否かということを判定する。
【0079】
ゲームモジュールの正当性判定のためのシミュレーションモジュールは、ユーザのハッキングまたはアビュージングから徹底的に安全性が保証されなければならない。シミュレーションモジュールをサーバ100に具備する場合、ユーザのアクセス性が落ち、保安が強化されるが、全てのユーザのプレイに対するシミュレーションをサーバ100でいずれも実行しなければならないので、サーバ100に過負荷がかかる。
【0080】
それゆえに、本発明のゲームシステムは、サーバ100ではないユーザ端末200でシミュレーションを行うが、ユーザのハッキングまたはアビュージングから安全性が保証されるように、シミュレーションモジュールの保安性を高めて制作することにより、サーバ100の負荷を減らすと同時に、ユーザのハッキングまたはアビュージングから安全性を保証することができる。
【0081】
かように、本発明は、図面に示された一実施形態を参照して説明したが、それらは例示的なものに過ぎず、当該分野で当業者であるならば、それらから多様な変形、及び、実施形態の変形が可能であるという点を理解するであろう。従って、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決まらなければならないのである。
【産業上の利用可能性】
【0082】
本発明の、ゲームサービス提供方法、ゲームサービス提供装置、コンピュータプログラム及び記録媒体は、例えば、アビュージング感知関連の技術分野に効果的に適用可能である。
【符号の説明】
【0083】
41 ゲームモジュール
42 シミュレーションモジュール
100 サーバ
200 ユーザ端末
201 ユーザのパソコン
202 ユーザの携帯用端末
400 通信網
110 ゲームサービス提供装置
111 プログラム提供部
1111 ゲームモジュール制作部
1112 シミュレーションモジュール制作部
112 ステージ承認部
113 正当プレイ判定部
114 ユーザ情報管理部
1141 プレイ結果反映部
1142 プレイ承認部
1143 アビュージングユーザ情報管理部
115 保存部
1151 プログラム保存部
1152 ユーザ情報保存部
2011,2021 表示部