(57)【要約】【課題】  ゲームを提供するサーバ側の処理負荷を適切に低減させる。【解決手段】  本発明の一実施形態に係るゲーム提供サーバ１０は、ゲームを進行させるための所定の処理をプレイヤ端末３０側で実行する特定のプレイヤ端末３０において入力される入力情報に基づく当該所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末３０に依頼し、当該特定のプレイヤ端末３０及び１又は複数の他のプレイヤ端末３０における所定の処理の実行結果の少なくとも一部が異なる場合に不正な処理が実行されたと判定するから、ゲームを進行させるための処理をプレイヤ端末３０側で実行する場合のチート行為等の判定を可能とする。【選択図】  図１
2019154667.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数のコンピュータプロセッサを備え、ゲームを提供するためのサーバであって、
前記１又は複数のコンピュータプロセッサは、読取可能な命令の実行に応じて、
前記ゲームを進行させるための所定の処理であってプレイヤ端末において入力される入力情報に少なくとも基づいて実行される前記所定の処理の実行モードとして、前記所定の処理をプレイヤ端末側で実行する第１のモードが設定されている特定のプレイヤ端末から、前記特定のプレイヤ端末において入力される特定の入力情報を取得するステップと、
前記特定の入力情報に少なくとも基づく前記所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末に依頼するステップと、
前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末において前記特定の入力情報に少なくとも基づいてそれぞれ実行される前記所定の処理の実行結果の少なくとも一部が異なる場合に、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末の少なくとも一部において不正な処理が実行されたと判定するステップと、を実行する、
サーバ。
【請求項２】
複数のプレイヤの各々の状態情報を少なくとも記憶する記憶装置を更に備え、
前記所定の処理は、対応するプレイヤの状態情報の更新を伴って実行されるように構成されており、
前記１又は複数のコンピュータプロセッサは、更に、前記特定のプレイヤ端末に対して、前記特定のプレイヤ端末に対応する特定のプレイヤの更新前の状態情報を提供するステップと、前記特定のプレイヤ端末における前記所定の処理の実行に伴って更新される前記特定のプレイヤの更新後の状態情報に少なくとも基づいて前記記憶装置に記憶されている前記特定のプレイヤの状態情報を更新するステップと、を実行し、
前記依頼するステップは、前記特定のプレイヤの更新前の状態情報の提供を伴って、前記所定の処理の模擬的な実行を前記１又は複数の他のプレイヤ端末に依頼することを含み、
前記判定するステップは、前記所定の処理の実行結果としての前記特定のプレイヤの更新後の状態情報の少なくとも一部が異なる場合に、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末の少なくとも一部において不正な処理が実行されたと判定することを含む、
請求項１のサーバ。
【請求項３】
前記１又は複数のコンピュータプロセッサは、更に、複数のプレイヤ端末の各々の前記所定の処理の実行モードを設定するステップを実行し、
前記設定するステップは、プレイヤ端末の同時接続数が所定の閾値未満である間は、複数のプレイヤ端末の各々の前記所定の処理の実行モードとして、前記所定の処理をサーバ側で実行する第２のモードを設定する一方、プレイヤ端末の同時接続数が前記所定の閾値以上となった場合に、複数のプレイヤ端末の少なくとも一部の前記所定の処理の実行モードとして、前記第１のモードを設定することを含む、
請求項１又は２のサーバ。
【請求項４】
前記依頼するステップは、２以上の他のプレイヤ端末に依頼し、
前記判定するステップは、前記所定の処理の実行結果の少なくとも一部が異なる場合に、前記特定のプレイヤ端末及び前記２以上の他のプレイヤ端末のうち、前記所定の処理の実行結果が同一であるプレイヤ端末の数が最も少ないプレイヤ端末において不正な処理が実行されたと判定することを含む、
請求項１ないし３何れかのサーバ。
【請求項５】
前記１又は複数のコンピュータプロセッサは、更に、複数のプレイヤ端末の中から、所定のルールに従って、前記所定の処理の模擬的な実行を依頼する前記１又は複数の他のプレイヤ端末を選択するステップを実行する、
請求項１ないし４何れかのサーバ。
【請求項６】
前記所定のルールは、所定のブラックリストに含まれるプレイヤ端末を除外するというルールを含む、
請求項５のサーバ。
【請求項７】
前記所定のルールは、ゲストアカウントでログインされているプレイヤ端末よりも通常アカウントでログインされているプレイヤ端末を優先して選択するというルールを含む、
請求項５又は６のサーバ。
【請求項８】
前記所定のルールは、前記特定のプレイヤ端末に対応する特定のプレイヤと所定の関係を有する他のプレイヤのプレイヤ端末を除外するというルールを含む、
請求項５ないし７何れかのサーバ。
【請求項９】
前記１又は複数のコンピュータプロセッサは、更に、複数のプレイヤ端末の各々の前記所定の処理の実行モードを設定するステップを実行し、
前記設定するステップは、プレイヤ端末の同時接続数が所定の閾値未満である間は、複数のプレイヤ端末の各々の前記所定の処理の実行モードとして、前記所定の処理をサーバ側で実行する第２のモードを設定する一方、プレイヤ端末の同時接続数が前記所定の閾値以上となった場合に、複数のプレイヤ端末の少なくとも一部の前記所定の処理の実行モードとして、前記第１のモードを設定することを含み、
前記所定のルールは、前記所定の処理の実行モードとして前記第１のモードが設定されているプレイヤ端末よりも、前記所定の処理の実行モードとして前記第２のモードが設定されているプレイヤ端末を優先して選択するというルールを含む、
請求項５ないし８何れかのサーバ。
【請求項１０】
前記所定のルールは、模擬的に実行中の前記所定の処理の数が少ないプレイヤ端末を優先して選択するというルールを含む、
請求項５ないし９何れかのサーバ。
【請求項１１】
前記所定のルールは、処理性能が高いプレイヤ端末を優先して選択するというルールを含む、
請求項５ないし１０何れかのシステム。
【請求項１２】
１又は複数のコンピュータによって実行され、ゲームを提供するための方法であって、
前記ゲームを進行させるための所定の処理であってプレイヤ端末において入力される入力情報に少なくとも基づいて実行される前記所定の処理の実行モードとして、前記所定の処理をプレイヤ端末側で実行する第１のモードが設定されている特定のプレイヤ端末から、前記特定のプレイヤ端末において入力される特定の入力情報を取得するステップと、
前記特定の入力情報に少なくとも基づく前記所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末に依頼するステップと、
前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末において前記特定の入力情報に少なくとも基づいてそれぞれ実行される前記所定の処理の実行結果の少なくとも一部が異なる場合に、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末の少なくとも一部において不正な処理が実行されたと判定するステップと、を備える、
方法。
【請求項１３】
ゲームを提供するためのプログラムであって、
１又は複数のコンピュータ上で実行されることに応じて、前記１又は複数のコンピュータに、
前記ゲームを進行させるための所定の処理であってプレイヤ端末において入力される入力情報に少なくとも基づいて実行される前記所定の処理の実行モードとして、前記所定の処理をプレイヤ端末側で実行する第１のモードが設定されている特定のプレイヤ端末から、前記特定のプレイヤ端末において入力される特定の入力情報を取得するステップと、
前記特定の入力情報に少なくとも基づく前記所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末に依頼するステップと、
前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末において前記特定の入力情報に少なくとも基づいてそれぞれ実行される前記所定の処理の実行結果の少なくとも一部が異なる場合に、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末の少なくとも一部において不正な処理が実行されたと判定するステップと、を実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームを提供するためのサーバ、方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来、ゲームを進行させるための演算処理や画面の描画処理がサーバ側で実行されるクラウド型のゲームシステムが提供されている。こうしたクラウド型のゲームシステムは、処理性能が低いプレイヤ端末に対して表現豊かなゲームコンテンツを提供し得るものの、同時に接続するプレイヤ数が増加するに従って、サーバ側の処理負荷が問題となる場合がある。そこで、例えば、下記特許文献１は、複数のサーバを備えるクラウド型のゲームシステムにおいて、描画処理を担当するサーバを処理負荷等に応じて変更することにより、複数のサーバ間での好適な負荷の分散を実現する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１５−５２３８８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の技術においては、ゲームシステムにおけるサーバ側の負荷を分散させるためには複数のサーバを備える必要があり、このことは、コスト高の要因となり得る。そこで、ゲームを進行させるための処理の少なくとも一部をプレイヤ端末側で実行させることも考えられるが、この場合、改変されたプログラムをプレイヤ端末側で実行すること等によって不正な利益を得るチート行為が問題となり易い。
【０００５】
本発明の実施形態は、ゲームを提供するサーバ側の処理負荷を適切に低減させることを目的の一つとする。本発明の実施形態の他の目的は、本明細書全体を参照することにより明らかとなる。
【課題を解決するための手段】
【０００６】
本発明の一実施形態に係るサーバは、１又は複数のコンピュータプロセッサを備え、ゲームを提供するためのサーバであって、前記１又は複数のコンピュータプロセッサは、読取可能な命令の実行に応じて、前記ゲームを進行させるための所定の処理であってプレイヤ端末において入力される入力情報に少なくとも基づいて実行される前記所定の処理の実行モードとして、前記所定の処理をプレイヤ端末側で実行する第１のモードが設定されている特定のプレイヤ端末から、前記特定のプレイヤ端末において入力される特定の入力情報を取得するステップと、前記特定の入力情報に少なくとも基づく前記所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末に依頼するステップと、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末において前記特定の入力情報に少なくとも基づいてそれぞれ実行される前記所定の処理の実行結果の少なくとも一部が異なる場合に、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末の少なくとも一部において不正な処理が実行されたと判定するステップと、を実行する。
【０００７】
本発明の一実施形態に係る方法は、１又は複数のコンピュータによって実行され、ゲームを提供するための方法であって、前記ゲームを進行させるための所定の処理であってプレイヤ端末において入力される入力情報に少なくとも基づいて実行される前記所定の処理の実行モードとして、前記所定の処理をプレイヤ端末側で実行する第１のモードが設定されている特定のプレイヤ端末から、前記特定のプレイヤ端末において入力される特定の入力情報を取得するステップと、前記特定の入力情報に少なくとも基づく前記所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末に依頼するステップと、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末において前記特定の入力情報に少なくとも基づいてそれぞれ実行される前記所定の処理の実行結果の少なくとも一部が異なる場合に、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末の少なくとも一部において不正な処理が実行されたと判定するステップと、を備える。
【０００８】
本発明の一実施形態に係るプログラムは、ゲームを提供するためのプログラムであって、１又は複数のコンピュータ上で実行されることに応じて、前記１又は複数のコンピュータに、前記ゲームを進行させるための所定の処理であってプレイヤ端末において入力される入力情報に少なくとも基づいて実行される前記所定の処理の実行モードとして、前記所定の処理をプレイヤ端末側で実行する第１のモードが設定されている特定のプレイヤ端末から、前記特定のプレイヤ端末において入力される特定の入力情報を取得するステップと、前記特定の入力情報に少なくとも基づく前記所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末に依頼するステップと、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末において前記特定の入力情報に少なくとも基づいてそれぞれ実行される前記所定の処理の実行結果の少なくとも一部が異なる場合に、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末の少なくとも一部において不正な処理が実行されたと判定するステップと、を実行させる。
【発明の効果】
【０００９】
本発明の様々な実施形態は、ゲームを提供するサーバ側の処理負荷を適切に低減させる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るゲーム提供サーバ１０を含むネットワークの構成を概略的に示す構成図。
【図２】ゲーム提供サーバ１０が有する機能を概略的に示すブロック図。
【図３】プレイヤ情報テーブル４１１が管理する情報を例示する図。
【図４】プレイヤ端末３０からのログイン要求に応じてサーバ１０が実行する処理を例示するフロー図。
【図５】接続中プレイヤ管理テーブルにおいて管理される情報の具体例を示す図。
【図６】複数のプレイヤ端末３０の全ての処理モードがサーバモードである場合の、ゲーム提供サーバ１０とプレイヤ端末３０との間の通信を例示する図。
【図７】複数のプレイヤ端末３０の一部の処理モードが端末モードとなっている場合の、ゲーム提供サーバ１０とプレイヤ端末３０との間の通信を例示する図。
【図８】処理モードが端末モードであるプレイヤ端末３０からのゲームの進行要求に応じてサーバ１０が実行する処理を例示するフロー図。
【図９】プレイヤ端末３０Ｄにおいて実行される演算処理４５１１を模擬的に実行する２台の模擬処理用プレイヤ端末３０としてプレイヤ端末３０Ａ、Ｂが選択された場合の通信を例示する図。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、本発明の実施形態について説明する。
【００１２】
図１は、本発明の一実施形態に係るゲーム提供サーバ１０を含むネットワークの構成を概略的に示す構成図である。サーバ１０は、図１に示すように、インターネット等のネットワーク２０を介してプレイヤ端末３０と通信可能に接続されている。図１においては、１つのプレイヤ端末３０のみが図示されているが、サーバ１０は、複数のプレイヤ端末３０と通信可能に接続されている。サーバ１０は、プレイヤ端末３０を介してゲームを提供する機能を有する。
【００１３】
サーバ１０は、一般的なコンピュータとして構成されており、図１に示すように、ＣＰＵ（コンピュータプロセッサ）１１と、メインメモリ１２と、ユーザＩ／Ｆ１３と、通信Ｉ／Ｆ１４と、ストレージ（記憶装置）１５とを備え、これらの各構成要素が図示しないバス等を介して電気的に接続されている。
【００１４】
ＣＰＵ１１は、ストレージ１５等に記憶されている様々なプログラムをメインメモリ１２に読み込んで、当該プログラムに含まれる各種の命令を実行する。メインメモリ１２は、例えば、ＤＲＡＭ等によって構成される。
【００１５】
ユーザＩ／Ｆ１３は、ユーザとの間で情報をやり取りするための各種の入出力装置を含む。ユーザＩ／Ｆ１３は、例えば、キーボード、ポインティングデバイス（例えば、マウス、タッチパネル等）等の情報入力装置、マイクロフォン等の音声入力装置、カメラ等の画像入力装置を含む。また、ユーザＩ／Ｆ１３は、ディスプレイ等の画像出力装置、スピーカ等の音声出力装置を含む。
【００１６】
通信Ｉ／Ｆ１４は、ネットワークアダプタ等のハードウェア、各種の通信用ソフトウェア、又はこれらの組み合わせとして実装され、ネットワーク２０等を介した有線又は無線の通信を実現できるように構成されている。
【００１７】
ストレージ１５は、例えば磁気ディスク、フラッシュメモリ等によって構成される。ストレージ１５は、オペレーティングシステムを含む様々なプログラム、及び各種データ等を記憶する。
【００１８】
本実施形態において、サーバ１０は、それぞれが上述したハードウェア構成を有する複数のコンピュータを用いて構成され得る。
【００１９】
このように構成されたゲーム提供サーバ１０は、ウェブサーバ及びアプリケーションサーバとしての機能を有することができ、プレイヤ端末３０にインストールされているウェブブラウザ又はサーバ１０が提供するゲーム（以下、「提供ゲーム」と言うことがある。）用のアプリケーションからの要求に応答して各種の処理を実行し、当該処理の結果に応じた画面データ（例えば、ＨＴＭＬデータ）及び制御データ等をプレイヤ端末３０に送信することができる。プレイヤ端末３０は、受信したデータに基づくウェブページ又はその他の画面を表示することができる。
【００２０】
プレイヤ端末３０は、一般的なコンピュータとして構成されており、図１に示すように、ＣＰＵ（コンピュータプロセッサ）３１と、メインメモリ３２と、ユーザＩ／Ｆ３３と、通信Ｉ／Ｆ３４と、ストレージ（記憶装置）３５とを備え、これらの各構成要素が図示しないバス等を介して電気的に接続されている。
【００２１】
ＣＰＵ３１は、ストレージ３５等に記憶されている様々なプログラムをメインメモリ３２に読み込んで、当該プログラムに含まれる各種の命令を実行する。メインメモリ３２は、例えば、ＤＲＡＭ等によって構成される。
【００２２】
ユーザＩ／Ｆ３３は、ユーザとの間で情報をやり取りするための各種の入出力装置である。ユーザＩ／Ｆ３３は、例えば、キーボード、ポインティングデバイス（例えば、マウス、タッチパネル等）等の情報入力装置、マイクロフォン等の音声入力装置、カメラ等の画像入力装置を含む。また、ユーザＩ／Ｆ３３は、ディスプレイ等の画像出力装置、スピーカ等の音声出力装置を含む。
【００２３】
通信Ｉ／Ｆ３４は、ネットワークアダプタ等のハードウェア、各種の通信用ソフトウェア、及びこれらの組み合わせとして実装され、ネットワーク２０等を介した有線又は無線の通信を実現できるように構成されている。
【００２４】
ストレージ３５は、例えば磁気ディスク又はフラッシュメモリ等によって構成される。ストレージ３５は、オペレーティングシステムを含む様々なプログラム及び各種データ等を記憶する。ストレージ３５が記憶するプログラムは、アプリケーションマーケット等からダウンロードされてインストールされ得る。
【００２５】
本実施形態において、プレイヤ端末３０は、スマートフォン、タブレット端末、パーソナルコンピュータ、ウェアラブルデバイス、又はゲーム専用端末等として構成され得る。
【００２６】
このように構成されたプレイヤ端末３０のユーザ（プレイヤ）は、ストレージ３５等にインストールされているウェブブラウザ又は提供ゲーム用のアプリケーションを介したサーバ１０との通信を実行することによって、当該提供ゲームをプレイすることができる。プレイヤ端末３０において実行される提供ゲーム用アプリケーションは、本発明のプログラムの一部又は全部を実装したプログラムの一例となり得る。
【００２７】
次に、本実施形態のゲーム提供サーバ１０が有する機能について説明する。図２は、サーバ１０が有する機能を概略的に示すブロック図である。サーバ１０は、図示するように、様々な情報を記憶及び管理する情報記憶管理部４１と、提供ゲームの基本機能を制御する基本機能制御部４３と、提供ゲームにおけるゲームの進行を制御するゲーム進行制御部４５と、プレイヤ端末３０における不正な処理の実行を判定する不正判定部４７とを有する。これらの機能は、ＣＰＵ１１及びメインメモリ１２等のハードウェア、並びに、ストレージ１５等に記憶されている各種プログラムやデータ等が協働して動作することによって実現され、例えば、メインメモリ１２に読み込まれたプログラムに含まれる命令をＣＰＵ１１が実行することによって実現される。また、図２に示す機能の一部又は全部は、サーバ１０とプレイヤ端末３０とが協働することによって実現され、又は、プレイヤ端末３０によって実現され得る。
【００２８】
サーバ１０の情報記憶管理部４１は、ストレージ１５等において様々な情報を記憶及び管理する。情報記憶管理部４１は、例えば、図２に示すように、プレイヤに関する情報を管理するプレイヤ情報テーブル４１１を有する。
【００２９】
サーバ１０の基本機能制御部４３は、提供ゲームの基本機能の制御に関する様々な処理を実行する。例えば、基本機能制御部４３は、基本機能に関する様々な画面のＨＴＭＬデータ又は制御データをプレイヤ端末３０に送信し、プレイヤ端末３０で表示される当該画面を介したユーザによる操作入力に応答して様々な処理を実行し、当該処理の結果に応じたＨＴＭＬデータ又は制御データをプレイヤ端末３０に送信する。提供ゲームの基本機能は、例えば、プレイヤの管理（例えば、プレイヤ情報テーブル４１１の更新等）等を含む。
【００３０】
サーバ１０のゲーム進行制御部４５は、ゲームの進行の制御に関する様々な処理を実行する。本実施形態において、ゲーム進行制御部４５は、ゲームを進行させるための所定の処理の実行モードとして、当該所定の処理をプレイヤ端末３０側で実行する第１のモードが設定されている特定のプレイヤ端末３０から、当該特定のプレイヤ端末３０において入力される入力情報を取得するように構成されている。入力情報は、プレイヤによる操作入力に応じた情報が含まれる。
【００３１】
サーバ１０の不正判定部４７は、プレイヤ端末３０における不正な処理の実行の判定に関する様々な処理を実行する。本実施形態において、不正判定部４７は、上記第１のモードの特定のプレイヤ端末において入力される入力情報に少なくとも基づく上記所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末３０に依頼し、上記特定のプレイヤ端末３０及び１又は複数の他のプレイヤ端末３０においてそれぞれ実行される上記所定の処理の実行結果の少なくとも一部が異なる場合に、当該特定のプレイヤ端末３０及び１又は複数の他のプレイヤ端末３０の少なくとも一部において不正な処理が実行されたと判定するように構成されている。
【００３２】
このように、本実施形態のゲーム提供サーバ１０は、ゲームを進行させるための所定の処理をプレイヤ端末３０側で実行する特定のプレイヤ端末３０において入力される入力情報に基づく当該所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末３０に依頼し、当該特定のプレイヤ端末３０及び１又は複数の他のプレイヤ端末３０における所定の処理の実行結果の少なくとも一部が異なる場合に不正な処理が実行されたと判定するから、ゲームを進行させるための処理をプレイヤ端末３０側で実行する場合のチート行為等の判定を可能とする。つまり、本発明の実施形態は、ゲームを提供するサーバ側の処理負荷を適切に低減させる。
【００３３】
本実施形態において、上記所定の処理は、対応するプレイヤの状態情報の更新を伴って実行されるように構成され得る。状態情報は、ゲームの進行に応じて変化する様々な情報等を含み、例えば、ゲームにおけるプレイヤキャラクタ及び保有アイテム等に関する各種パラメータ、並びに、ステージ又はエリア等のクリア状況等を含む。複数のプレイヤの各々の状態情報は、例えば、プレイヤ情報テーブル４１１において記憶及び管理される。この場合、ゲーム進行制御部４５は、所定の処理をプレイヤ端末３０側で実行する第１のモードの特定のプレイヤ端末３０に対して、対応する特定のプレイヤの更新前の状態情報を提供し、当該特定のプレイヤ端末３０における所定の処理の実行に伴って当該特定のプレイヤ端末３０側で更新される当該特定のプレイヤの更新後の状態情報に少なくとも基づいて、プレイヤ情報テーブル４１１等に記憶されている特定のプレイヤの状態情報を更新する（特定のプレイヤ端末３０側での更新を反映する）ように構成され得る。この場合、不正判定部４７は、上記特定のプレイヤの更新前の状態情報の提供を伴って、上記所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末に依頼し、当該所定の処理の実行結果としての当該特定のプレイヤの更新後の状態情報の少なくとも一部が異なる場合に不正な処理が実行されたと判定するように構成され得る。こうした構成は、所定の処理の実行に応じて更新されるプレイヤの更新後の状態情報の比較に基づいて、プレイヤ端末３０における不正な処理の実行を判定することを可能とする。
【００３４】
本実施形態において、ゲーム進行制御部４５は、複数のプレイヤ端末３０の各々の所定の処理の実行モードを設定するように構成することができ、所定の処理の実行モードは、上記第１のモードに加えて、当該所定の処理をサーバ１０側で実行する第２のモードを含むように構成され得る。この場合、ゲーム進行制御部４５は、プレイヤ端末３０の同時接続数が所定の閾値未満である間は、複数のプレイヤ端末３０の各々の所定の処理の実行モードとして当該所定の処理をサーバ１０側で実行する第２のモードを設定する一方、プレイヤ端末３０の同時接続数が所定の閾値以上となった場合に、複数のプレイヤ端末３０の少なくとも一部（例えば、プレイヤ端末３０の同時接続数が所定の閾値以上となった時点より後にログインしたプレイヤのプレイヤ端末３０等）の所定の処理の実行モードとして当該所定の処理をプレイヤ端末３０側で実行する第１のモードを設定するように構成され得る。こうした構成は、プレイヤ端末３０の同時接続数に応じた所定の処理の実行モードの設定を可能とし、この結果、サーバ１０側の処理負荷を適切に低減させる。
【００３５】
本実施形態において、不正判定部４７が所定の処理の模擬的な実行を依頼する１又は複数の他のプレイヤ端末の数を２以上とすることができ、この場合、不正判定部４７は、所定の処理の実行結果の少なくとも一部が異なる場合に、上記特定のプレイヤ端末３０及び１又は複数の他のプレイヤ端末３０のうち、当該所定の処理の実行結果が同一であるプレイヤ端末３０の数が最も少ないプレイヤ端末３０において不正な処理が実行されたと判定するように構成され得る。こうした構成は、所定の処理の実行結果が同一であるプレイヤ端末３０の数に基づいて、不正な処理が実行されたと判定されるプレイヤ端末３０を特定することを可能とする。
【００３６】
また、不正判定部４７は、複数のプレイヤ端末３０の中から、所定のルールに従って、所定の処理の模擬的な実行を依頼する１又は複数の他のプレイヤ端末３０を選択するように構成され得る。こうした構成は、所定の処理の模擬的な実行を、所定のルールに基づく適切なプレイヤ端末３０に対して依頼することを可能とする。当該所定のルールには、様々なルールが含まれ得る。
【００３７】
例えば、所定のルールは、所定のブラックリストに含まれるプレイヤ端末３０を除外するというルールを含み得る。所定のブラックリストは、例えば、過去にチート行為を行ったと疑われるプレイヤのリストとして構成され、この場合、不正判定部４７は、当該ブラックリストに含まれるプレイヤのプレイヤ端末３０を除外して、所定の処理の模擬的な実行を依頼する他のプレイヤ端末３０を選択するように構成され得る。こうした構成は、不正な処理を実行するプレイヤ端末３０に対して所定の処理の模擬的な実行を依頼してしまうことを抑制し、この結果、上記特定のプレイヤ端末３０における不正な処理の実行を適切に判定することを可能とする。
【００３８】
また、所定のルールは、ゲストアカウントでログインされているプレイヤ端末３０よりも通常アカウントでログインされているプレイヤ端末３０を優先して選択するというルールを含み得る。例えば、不正判定部４７は、ゲストアカウントでログインされているプレイヤ端末３０を除外して、通常アカウントでログインされているプレイヤ端末３０の中から所定の処理の模擬的な実行を依頼する他のプレイヤ端末３０を選択するように構成される。こうした構成は、通常アカウントでログインされているプレイヤ端末３０よりもゲストアカウントでログインされているプレイヤ端末３０の方が不正な処理が実行される可能性が高いと考えることができるから、不正な処理を実行するプレイヤ端末３０に対して所定の処理の模擬的な実行を依頼してしまうことを抑制し、この結果、上記特定のプレイヤ端末３０における不正な処理の実行を適切に判定することを可能とする。
【００３９】
また、所定のルールは、上記特定のプレイヤ端末３０に対応する特定のプレイヤと所定の関係（例えば、フレンド、又は、フォロー／フォロワーの関係）を有する他のプレイヤのプレイヤ端末３０を除外するというルールを含み得る。こうした構成は、特定のプレイヤがチート行為を行うプレイヤである場合、当該特定のプレイヤと所定の関係を有する他のプレイヤもまたチート行為を行うプレイヤである可能性が高いと考えることができるから、特定のプレイヤ端末３０、及び、所定の処理の模擬的な実行を依頼する他のプレイヤ端末３０の両方が不正な処理を実行するプレイヤ端末３０であるという状況の発生が抑制され、この結果、不正な処理の実行の適切な判定が促進される。
【００４０】
また、所定のルールは、所定の処理の実行モードとして、当該所定の処理をプレイヤ端末３０側で実行する第１のモードが設定されているプレイヤ端末３０よりも、当該所定の処理をサーバ１０側で実行する第２のモードが設定されているプレイヤ端末３０を優先して選択するというルールを含み得る。例えば、不正判定部４７は、所定の処理の実行モードとして第１のモードが設定されているプレイヤ端末３０を除外して、第２のモードが設定されているプレイヤ端末３０の中から所定の処理の模擬的な実行を依頼する他のプレイヤ端末３０を選択するように構成される。こうした構成は、処理負荷の小さいプレイヤ端末３０に対して、所定の処理の模擬的な実行を依頼することを促進する。
【００４１】
また、所定のルールは、模擬的に実行中の所定の処理の数が少ないプレイヤ端末３０を優先して選択するというルールを含み得る。例えば、不正判定部４７は、何れかのプレイヤ端末３０における入力情報に基づく模擬的な所定の処理を実行中であるプレイヤ端末３０を除外して、特定のプレイヤ端末３０における入力情報に基づく所定の処理の模擬的な実行を依頼する他のプレイヤ端末３０を選択するように構成される。こうした構成は、処理負荷の小さいプレイヤ端末３０に対して、所定の処理の模擬的な実行を依頼することを促進する。
【００４２】
また、所定のルールは、処理性能が高いプレイヤ端末３０を優先して選択するというルールを含み得る。こうした構成は、処理能力の高いプレイヤ端末３０に対して、所定の処理の模擬的な実行を依頼することを促進する。
【００４３】
次に、このような機能を有する本実施形態のゲーム提供サーバ１０の具体例について説明する。この具体例において、サーバ１０は、オンラインＲＰＧを提供するように構成されている。しかしながら、本実施形態における提供ゲームは、オンラインＲＰＧに限定されず、様々な種類のゲームが含まれる。
【００４４】
図３は、この具体例において、プレイヤ情報テーブル４１１が管理する情報を例示する。プレイヤ情報テーブル４１１は、プレイヤ毎の情報を管理し、図示するように、個別のプレイヤを識別する「プレイヤアカウント」に対応付けて、ゲームの状態に関する情報である「状態情報」、「フレンド情報」、「ブラックリスト対象フラグ」等の情報を管理する。状態情報は、プレイヤが保有するキャラクタ及びアイテムに関する情報、及び、ステージのクリア状況等のＲＰＧの進行に応じた様々な情報を含む。フレンド情報は、プレイヤとの間でフレンドの関係を有する他のプレイヤを特定可能な情報（例えば、当該他のプレイヤのプレイヤアカウント等）を含む。ブラックリスト対象フラグは、不正な処理の実行（チート行為）に関するブラックリストの対象であるか否かを示す情報であり、例えば、過去にチート行為が疑われたプレイヤが、ブラックリストの対象として設定される。
【００４５】
図４は、この例において、プレイヤ端末３０からのログイン要求に応じてサーバ１０が実行する処理を例示するフロー図である。プレイヤ端末３０からのログイン要求を受け付けると、サーバ１０は、まず、図示するように、ログイン処理を実行する（ステップＳ１００）。ログイン処理は、ユーザ認証、及び、その後の初期処理等の様々な処理を含む。
【００４６】
次に、サーバ１０は、その時点における同時接続プレイヤ数（提供ゲームにログインしているプレイヤ数）と所定の閾値Ｎとを比較し（ステップＳ１１０）、同時接続プレイヤ数が閾値Ｎ未満である場合は（ステップＳ１１０においてＹＥＳ）、ログイン処理が行われたプレイヤ端末３０の処理モードとして、ゲームを進行させるためのゲーム進行処理をサーバ１０側で実行する「サーバモード」（第２のモード）を設定する。一方、同時接続プレイヤ数が閾値Ｎ以上である場合は（ステップＳ１１０においてＮＯ）、当該プレイヤ端末３０の処理モードとして、ゲーム進行処理をプレイヤ端末３０側で実行する「端末モード」（第１のモード）を設定する。このように、この例では、ログイン時における同時接続プレイヤ数に応じて、サーバモード又は端末モードの何れかの処理モードが設定され、具体的には、同時接続プレイヤ数が閾値Ｎ未満である間は、プレイヤ端末３０の処理モードとしてサーバモードが設定され、同時接続プレイヤ数が閾値Ｎ以上となると、それ以降にログイン処理が行われるプレイヤ端末３０の処理モードとして端末モードが設定される。
【００４７】
図５は、この例において、接続中の（提供ゲームにログイン中の）プレイヤに関する情報を管理するための接続中プレイヤ管理テーブルにおいて管理される情報の具体例を示す。接続中プレイヤ管理テーブルは、ストレージ１５等において管理され、図示するように、接続中（ログイン中）の個別のプレイヤの「プレイヤアカウント」に対応付けて、プレイヤアカウントが通常アカウントであるかゲストアカウントであるかを示す「アカウント種別」、接続中のプレイヤのプレイヤ端末３０の機種を示す「端末機種」、「処理モード」、及び「模擬演算処理実行中フラグ」等の情報を管理する。模擬演算処理実行中フラグは、サーバ１０からの依頼に従って、処理モードが端末モードである他のプレイヤ端末３０において実行されるゲーム進行処理（演算処理）を模擬的に実行中であるか否かを示す情報である。
【００４８】
図６は、同時接続プレイヤ数が閾値Ｎ未満である状態が継続しており、複数のプレイヤ端末３０（図６では、３台のプレイヤ端末３０Ａ、Ｂ、Ｃ）の全ての処理モードがサーバモードである場合の、ゲーム提供サーバ１０とプレイヤ端末３０との間の通信を例示する。図示するように、プレイヤ端末３０の処理モードがサーバモードである場合、サーバ１０のゲーム進行制御部４５において、複数のプレイヤ端末３０Ａ、Ｂ、Ｃのために複数のゲーム進行処理４５１Ａ、Ｂ、Ｃがそれぞれ実行される。当該ゲーム進行処理４５１は、ゲームを進行させるための様々な演算を行う演算処理４５１１と、当該演算処理４５１１による演算結果等に基づく画面を描画するための描画処理４５１２とを含む。また、ゲーム進行処理４５１Ａ、Ｂ、Ｃは、各プレイヤ端末３０Ａ、Ｂ、Ｃから送信される、当該プレイヤ端末３０において入力される（プレイヤによる操作入力に基づく）入力情報Ａ、Ｂ、Ｃに基づいて実行され、ゲームの進行に応じた画面情報Ａ、Ｂ、Ｃを出力して各プレイヤ端末３０Ａ、Ｂ、Ｃに送信する。当該画面情報を受信したプレイヤ端末３０では、対応する画面が表示される。また、ゲーム進行処理４５１の実行に伴って、情報記憶管理部４１のプレイヤ情報テーブル４１１において管理されている各プレイヤの状態情報が更新される。
【００４９】
図７は、同時接続プレイヤ数が閾値Ｎ以上となり、複数のプレイヤ端末３０の一部のプレイヤ端末３０（図７では、プレイヤ端末３０Ｄ）の処理モードが端末モードとなっている場合の、ゲーム提供サーバ１０とプレイヤ端末３０との間の通信を例示する。図示するように、処理モードがサーバモードであるプレイヤ端末３０Ａ、Ｂ、Ｃのためのゲーム進行処理４５１Ａ、Ｂ、Ｃは、サーバ１０のゲーム進行制御部４５において実行される一方、処理モードが端末モードであるプレイヤ端末３０Ｄのためのゲーム進行処理４５１Ｄは、当該プレイヤ端末３０Ｄにおいて実行される。プレイヤ端末３０Ｄ側で実行されるゲーム進行処理４５１Ｄもまた、演算処理４５１１と描画処理４５１２とを含む。また、プレイヤ端末３０Ｄ側で実行されるゲーム進行処理４５１Ｄは、プレイヤ端末３０Ｄにおいて入力される入力情報Ｄに基づいて実行され、サーバ１０から送信される対応するプレイヤの更新前の状態情報の更新を伴う。対応するプレイヤの更新後の状態情報は、所定のタイミングで（例えば、複数のエリアによって構成されるステージをクリアする都度等）、プレイヤ端末３０Ｄからサーバ１０に対して送信される。更新後の状態情報を受信したサーバ１０は、当該更新後の状態情報に基づいて、情報記憶管理部４１のプレイヤ情報テーブル４１１において管理されている状態情報を更新する。
【００５０】
図８は、処理モードが端末モードであるプレイヤ端末３０からのゲームの進行要求に応じてサーバ１０が実行する処理を例示するフロー図である。ゲームの進行要求は、所定のタイミング（例えば、クエストを開始するタイミング等）で行われる。処理モードが端末モードであるプレイヤ端末３０からゲームの進行要求を受け付けると、サーバ１０は、まず、図示するように、当該プレイヤ端末（以下、「本プレイヤ端末」と言うことがある。）３０において実行される演算処理を模擬的に実行する模擬演算処理用の他のプレイヤ端末３０を選択する（ステップＳ２００）。この例では、接続中の複数のプレイヤ端末３０の中から、以下の５つの条件の全てを満たす２台の模擬処理用プレイヤ端末３０が選択される。
（１）対応するプレイヤが、本プレイヤ端末３０のプレイヤのフレンドでない。
（２）対応するプレイヤが、ブラックリスト対象でない。
（３）通常アカウントでログインされている。
（４）処理モードがサーバモードである。
（５）模擬演算処理実行中でない（他のプレイヤ端末３０の演算処理を模擬的に実行中でない）。
【００５１】
これらの条件を満たすか否かは、プレイヤ情報テーブル４１１、又は、接続中プレイヤ管理テーブルを参照することによって判断される。なお、これらの条件に適合する複数のプレイヤ端末３０の中から２台の模擬処理用プレイヤ端末３０を選択する際に、処理性能が高いプレイヤ端末３０を優先するようにしても良い。プレイヤ端末３０の処理性能は、接続中プレイヤ管理テーブルの端末機種によって判断することができる。
【００５２】
そして、サーバ１０は、ゲームの進行要求を行った本プレイヤ端末３０、及び、選択された２台の模擬演算処理用プレイヤ端末３０に対して、本プレイヤ端末３０に対応するプレイヤの更新前の状態情報を提供する（ステップＳ２１０）。
【００５３】
続いて、サーバ１０は、本プレイヤ端末３０から更新後の状態情報を取得するまでの間（ステップＳ２３０においてＮＯ）、本プレイヤ端末３０においてプレイヤによって入力される入力情報を当該本プレイヤ端末３０から繰り返し取得して模擬演算処理用プレイヤ端末３０に対して提供する（ステップＳ２２０）。上述したように、処理モードが端末モードであるプレイヤ端末３０は、例えば、複数のエリアによって構成されるステージをクリアする毎に、対応するプレイヤの更新後の状態情報をサーバ１０に送信する。
【００５４】
図９は、図７に例示した処理モードが端末モードであるプレイヤ端末３０Ｄにおいて実行される演算処理４５１１を模擬的に実行する２台の模擬演算処理用プレイヤ端末３０として、プレイヤ端末３０Ａ、Ｂが選択された場合の通信を例示する。図示するように、プレイヤ端末３０Ｄにおいては、当該プレイヤ端末３０Ｄにおいて入力される入力情報Ｄに基づいてゲーム進行処理４５１Ｄ（演算処理４５１１及び描画処理４５１２）が実行される一方、模擬演算処理用プレイヤ端末３０Ａ、Ｂにおいては、サーバ１０から繰り返し提供（転送）される、プレイヤ端末３０Ｄにおける入力情報Ｄに基づいて、模擬的に演算処理４５１１が実行される（プレイヤ端末３０Ａ、Ｂにおいて、描画処理４５１２は実行されない）。また、演算処理４５１１の実行に応じて、プレイヤ端末３０Ａ、Ｂ、Ｄの各々において、プレイヤ端末３０Ｄに対応するプレイヤの状態情報が更新される。なお、処理モードがサーバモードであるプレイヤ端末３０Ａ、Ｂのためのゲーム進行処理４５１Ａ、Ｂは、上述したように、サーバ１０のゲーム進行制御部４５において引き続き実行される。
【００５５】
そして、本プレイヤ端末３０から更新後の状態情報を取得すると（ステップＳ２３０においてＹＥＳ）、サーバ１０は、プレイヤ情報テーブル４１１の状態情報を更新すると共に（ステップＳ２４０）、模擬演算処理用プレイヤ端末３０から、模擬的な演算処理の実行に伴って更新された更新後の状態情報（その時点の状態情報）を取得する（ステップＳ２５０）。
【００５６】
そして、サーバ１０は、本プレイヤ端末３０及び２台の模擬演算処理用プレイヤ端末３０からそれぞれ取得した更新後の状態情報を比較し（ステップＳ２６０）、不一致がある場合には（ステップＳ２６０においてＹＥＳ）、不正な処理が実行されたと判定し、当該不正な処理が実行されたプレイヤ端末３０を特定する（ステップＳ２７０）。ここで、模擬演算処理用のプレイヤ端末３０では、本プレイヤ端末３０と同様に、本プレイヤ端末３０における入力情報に基づいて演算処理４５１１が実行されているから、当該演算処理４５１１の実行に伴って更新された更新後の状態情報は一致するはずである。更新後の状態情報に不一致がある場合、例えば、演算処理４５１１に対応するプログラムに対する不正な改変等が想定される。なお、模擬演算処理用プレイヤ端末３０から更新後の状態情報のハッシュ値を取得すると共に、本プレイヤ端末３０から取得した更新後の状態情報のハッシュ値を演算し、これらのハッシュ値を比較することによって、更新後の状態情報の不一致を判定するようにしても良い。
【００５７】
不正な処理が実行されたプレイヤ端末３０の特定は、具体的には、３台のプレイヤ端末３０（本プレイヤ端末３０及び２台の模擬演算処理用プレイヤ端末３０）のうちの２台のプレイヤ端末３０における更新後の状態情報が一致している場合は、残りの１台のプレイヤ端末３０において不正な処理が実行されたと判定される。なお、この例では、３台のプレイヤ端末３０における更新後の状態情報の全てが異なる場合は、３台のプレイヤ端末３０の全てにおいて不正な処理が実行されたと判定される。
【００５８】
この例において、不正な処理が実行されたと判定された場合、所定の不正判定時処理が実行される。所定の不正判定時処理は、様々な処理が含まれ得る。例えば、不正な処理が実行されたプレイヤ端末３０として特定されたプレイヤ端末３０が本プレイヤ端末３０である場合はゲームの進行を中止させるようにしても良いし、本プレイヤ端末３０であるか否かにかかわらず特定されたプレイヤ端末３０におけるゲームの進行を中止させるようにしても良い。本プレイヤ端末３０が不正な処理を実行した場合には、ステップＳ２４０で更新したプレイヤ情報テーブル４１１の状態情報が更新前に戻される。このとき、模擬演算処理用プレイヤ端末３０での模擬的な演算処理の実行に伴って更新された更新後の状態情報に書き換えてもよい。また、特定されたプレイヤ端末３０はブラックリストに登録される。
【００５９】
図８に例示した処理は、処理モードが端末モードであるプレイヤ端末３０からのゲームの進行要求が行われる都度、繰り返し実行される。つまり、処理モードが端末モードである特定のプレイヤ端末３０からゲームの進行要求が行われる都度（例えば、クエストを開始する都度）、当該特定のプレイヤ端末３０において実行される演算処理４５１１を模擬的に実行するための模擬演算処理用プレイヤ端末３０が新たに選択され、これらのプレイヤ端末３０における更新後の状態情報の比較に基づいて、不正な処理の実行が判定される。
【００６０】
上述した例では、ログイン時における同時接続プレイヤ数に応じて、サーバモード又は端末モードの何れかの処理モードが設定されるようにしたが、その後、所定の時間間隔で同時接続プレイヤ数を確認し、ログイン時に端末モードが設定されたプレイヤ端末３０については、当該同時接続プレイヤ数が閾値Ｎ未満となったときに、端末モードからサーバモードに変更しても良い。また、プレイヤ端末３０のログイン時に当該プレイヤ端末３０の処理モードを設定する方法に代えて、所定の時間間隔で同時接続プレイヤ数を確認し、当該同時接続プレイヤ数が閾値Ｎ以上となったときに、その時点で接続中の全てのプレイヤ端末３０の中から端末モードに変更する一部のプレイヤ端末３０を選択するようにしても良い。
【００６１】
上述した例において、本プレイヤ端末３０のゲームの進行中に２台の模擬演算処理用プレイヤ端末３０の少なくとも一部が離脱（ログアウト、通信切断）してしまうことを想定して、予備の模擬演算処理用プレイヤ端末３０（例えば、１又は２台）を予め選択しておき、離脱時に予備の模擬演算処理用プレイヤ端末３０に切り替えるようにしても良い。又は、模擬演算処理用プレイヤ端末３０の離脱が発生したときに、代わりの模擬演算処理用プレイヤ端末３０を選択するようにしても良い。こうすれば、模擬演算処理用プレイヤ端末３０の少なくとも一部が離脱した場合であっても、３台のプレイヤ端末３０（本プレイヤ端末３０及び２台の模擬演算処理用プレイヤ端末３０）における更新後の状態情報の比較に基づいて不正な処理が実行されたプレイヤ端末３０を特定することを可能とする（２台のプレイヤ端末３０（本プレイヤ端末３０及び１台の模擬演算処理用プレイヤ端末３０）における更新後の状態情報の比較では、どちらのプレイヤ端末３０で不正な処理が実行されたのかを判定することができない）。
【００６２】
以上説明した本実施形態に係るゲーム提供サーバ１０は、ゲームを進行させるための所定の処理をプレイヤ端末３０側で実行する特定のプレイヤ端末３０において入力される入力情報に基づく当該所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末３０に依頼し、当該特定のプレイヤ端末３０及び１又は複数の他のプレイヤ端末３０における所定の処理の実行結果（例えば、特定のプレイヤの更新後の状態情報）の少なくとも一部が異なる場合に不正な処理が実行されたと判定するから、ゲームを進行させるための処理をプレイヤ端末３０側で実行する場合のチート行為等の判定を可能とする。つまり、本発明の実施形態は、ゲームを提供するサーバ側の処理負荷を適切に低減させる。
【００６３】
本発明の他の実施形態においては、複数のプレイヤ端末３０の一部が、ゲーム提供サーバ１０として機能するように構成され得る。
【００６４】
本明細書で説明された処理及び手順は、明示的に説明されたもの以外にも、ソフトウェア、ハードウェア又はこれらの任意の組み合わせによって実現される。例えば、本明細書で説明される処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク等の媒体に、当該処理及び手順に相当するロジックを実装することによって実現される。また、本明細書で説明された処理及び手順は、当該処理・手順に相当するコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
【００６５】
本明細書中で説明された処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理又は手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び／又は複数のモジュールによって実行され得る。また、本明細書において説明されたソフトウェア及びハードウェアの要素は、それらをより少ない構成要素に統合して、又はより多い構成要素に分解することによって実現することも可能である。
【００６６】
本明細書において、発明の構成要素が単数もしくは複数の何れか一方として説明された場合、又は、単数もしくは複数の何れとも限定せずに説明された場合であっても、文脈上別に解すべき場合を除き、当該構成要素は単数又は複数の何れであってもよい。
【符号の説明】
【００６７】
１０  ゲーム提供サーバ
２０  ネットワーク
３０  プレイヤ端末
４１  情報記憶管理部
４１１  プレイヤ情報テーブル
４３  基本機能制御部
４５  ゲーム進行制御部
４５１  ゲーム進行処理
４５１１  演算処理
４５１２  描画処理
４７  不正判定部
【図１】
2019154667.tif 000003
【図２】
2019154667.tif 000004
【図３】
2019154667.tif 000005
【図４】
2019154667.tif 000006
【図５】
2019154667.tif 000007
【図６】
2019154667.tif 000008
【図７】
2019154667.tif 000009
【図８】
2019154667.tif 000010
【図９】
2019154667.tif 000011
【手続補正書】
【提出日】平成30年7月19日(2018.7.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１又は複数のコンピュータプロセッサを備え、ゲームを提供するためのサーバであって、
前記１又は複数のコンピュータプロセッサは、読取可能な命令の実行に応じて、
前記ゲームを進行させるための所定の処理であってプレイヤ端末において入力される入力情報に少なくとも基づいて実行される前記所定の処理の実行モードとして、前記所定の処理をプレイヤ端末側で実行する第１のモードが設定されている特定のプレイヤ端末から、前記特定のプレイヤ端末において入力される特定の入力情報を取得するステップと、
前記特定の入力情報に少なくとも基づく前記所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末に依頼するステップと、
前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末において前記特定の入力情報に少なくとも基づいてそれぞれ実行される前記所定の処理の実行結果の少なくとも一部が異なる場合に、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末の少なくとも一部において不正な処理が実行されたと判定するステップと、を実行し、
前記１又は複数のコンピュータプロセッサは、更に、複数のプレイヤ端末の各々の前記所定の処理の実行モードを設定するステップを実行し、
前記設定するステップは、プレイヤ端末の同時接続数が所定の閾値未満である間は、複数のプレイヤ端末の各々の前記所定の処理の実行モードとして、前記所定の処理をサーバ側で実行する第２のモードを設定する一方、プレイヤ端末の同時接続数が前記所定の閾値以上となった場合に、複数のプレイヤ端末の少なくとも一部の前記所定の処理の実行モードとして、前記第１のモードを設定することを含む、
サーバ。
【請求項２】
複数のプレイヤの各々の状態情報を少なくとも記憶する記憶装置を更に備え、
前記所定の処理は、対応するプレイヤの状態情報の更新を伴って実行されるように構成されており、
前記１又は複数のコンピュータプロセッサは、更に、前記特定のプレイヤ端末に対して、前記特定のプレイヤ端末に対応する特定のプレイヤの更新前の状態情報を提供するステップと、前記特定のプレイヤ端末における前記所定の処理の実行に伴って更新される前記特定のプレイヤの更新後の状態情報に少なくとも基づいて前記記憶装置に記憶されている前記特定のプレイヤの状態情報を更新するステップと、を実行し、
前記依頼するステップは、前記特定のプレイヤの更新前の状態情報の提供を伴って、前記所定の処理の模擬的な実行を前記１又は複数の他のプレイヤ端末に依頼することを含み、
前記判定するステップは、前記所定の処理の実行結果としての前記特定のプレイヤの更新後の状態情報の少なくとも一部が異なる場合に、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末の少なくとも一部において不正な処理が実行されたと判定することを含む、
請求項１のサーバ。
【請求項３】
前記依頼するステップは、２以上の他のプレイヤ端末に依頼し、
前記判定するステップは、前記所定の処理の実行結果の少なくとも一部が異なる場合に、前記特定のプレイヤ端末及び前記２以上の他のプレイヤ端末のうち、前記所定の処理の実行結果が同一であるプレイヤ端末の数が最も少ないプレイヤ端末において不正な処理が実行されたと判定することを含む、
請求項１又は２のサーバ。
【請求項４】
前記１又は複数のコンピュータプロセッサは、更に、複数のプレイヤ端末の中から、所定のルールに従って、前記所定の処理の模擬的な実行を依頼する前記１又は複数の他のプレイヤ端末を選択するステップを実行する、
請求項１ないし３何れかのサーバ。
【請求項５】
前記所定のルールは、所定のブラックリストに含まれるプレイヤ端末を除外するというルールを含む、
請求項４のサーバ。
【請求項６】
前記所定のルールは、ゲストアカウントでログインされているプレイヤ端末よりも通常アカウントでログインされているプレイヤ端末を優先して選択するというルールを含む、
請求項４又は５のサーバ。
【請求項７】
前記所定のルールは、前記特定のプレイヤ端末に対応する特定のプレイヤと所定の関係を有する他のプレイヤのプレイヤ端末を除外するというルールを含む、
請求項４ないし６何れかのサーバ。
【請求項８】
前記所定のルールは、前記所定の処理の実行モードとして前記第１のモードが設定されているプレイヤ端末よりも、前記所定の処理の実行モードとして前記第２のモードが設定されているプレイヤ端末を優先して選択するというルールを含む、
請求項４ないし７何れかのサーバ。
【請求項９】
前記所定のルールは、模擬的に実行中の前記所定の処理の数が少ないプレイヤ端末を優先して選択するというルールを含む、
請求項４ないし８何れかのサーバ。
【請求項１０】
前記所定のルールは、処理性能が高いプレイヤ端末を優先して選択するというルールを含む、
請求項４ないし９何れかのサーバ。
【請求項１１】
１又は複数のコンピュータによって実行され、ゲームを提供するための方法であって、
前記ゲームを進行させるための所定の処理であってプレイヤ端末において入力される入力情報に少なくとも基づいて実行される前記所定の処理の実行モードとして、前記所定の処理をプレイヤ端末側で実行する第１のモードが設定されている特定のプレイヤ端末から、前記特定のプレイヤ端末において入力される特定の入力情報を取得するステップと、
前記特定の入力情報に少なくとも基づく前記所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末に依頼するステップと、
前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末において前記特定の入力情報に少なくとも基づいてそれぞれ実行される前記所定の処理の実行結果の少なくとも一部が異なる場合に、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末の少なくとも一部において不正な処理が実行されたと判定するステップと、を備え、
前記方法は、更に、複数のプレイヤ端末の各々の前記所定の処理の実行モードを設定するステップを備え、
前記設定するステップは、プレイヤ端末の同時接続数が所定の閾値未満である間は、複数のプレイヤ端末の各々の前記所定の処理の実行モードとして、前記所定の処理をサーバ側で実行する第２のモードを設定する一方、プレイヤ端末の同時接続数が前記所定の閾値以上となった場合に、複数のプレイヤ端末の少なくとも一部の前記所定の処理の実行モードとして、前記第１のモードを設定することを含む、
方法。
【請求項１２】
ゲームを提供するためのプログラムであって、
１又は複数のコンピュータ上で実行されることに応じて、前記１又は複数のコンピュータに、
前記ゲームを進行させるための所定の処理であってプレイヤ端末において入力される入力情報に少なくとも基づいて実行される前記所定の処理の実行モードとして、前記所定の処理をプレイヤ端末側で実行する第１のモードが設定されている特定のプレイヤ端末から、前記特定のプレイヤ端末において入力される特定の入力情報を取得するステップと、
前記特定の入力情報に少なくとも基づく前記所定の処理の模擬的な実行を１又は複数の他のプレイヤ端末に依頼するステップと、
前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末において前記特定の入力情報に少なくとも基づいてそれぞれ実行される前記所定の処理の実行結果の少なくとも一部が異なる場合に、前記特定のプレイヤ端末及び前記１又は複数の他のプレイヤ端末の少なくとも一部において不正な処理が実行されたと判定するステップと、を実行させ、
前記１又は複数のコンピュータに、更に、複数のプレイヤ端末の各々の前記所定の処理の実行モードを設定するステップを実行させ、
前記設定するステップは、プレイヤ端末の同時接続数が所定の閾値未満である間は、複数のプレイヤ端末の各々の前記所定の処理の実行モードとして、前記所定の処理をサーバ側で実行する第２のモードを設定する一方、プレイヤ端末の同時接続数が前記所定の閾値以上となった場合に、複数のプレイヤ端末の少なくとも一部の前記所定の処理の実行モードとして、前記第１のモードを設定することを含む、
プログラム。