(57)【要約】  サーバとクライアントとの間のオンラインゲームの不正防止方法を提供する。サーバは、発射体の発射パラメータをクライアントから受信する。該発射パラメータは、クライアントが取得したユーザ操作コマンドに基づいて決定される。サーバは、発射パラメータに基づいて、発射体の軌道を計算する。サーバは、クライアントが発射体の軌道に基づいて発射体の発射を表示するように、発射体の軌道をクライアントに送信する。
2015528317.tif 000002
【特許請求の範囲】
【請求項１】
サーバとクライアントとの間のオンラインゲームの不正防止方法であって、
前記サーバが、発射体の発射パラメータであって、前記クライアントからのユーザ操作コマンドに基づいて決定される発射パラメータを前記クライアントから受信するステップと、
前記サーバが、前記発射パラメータに基づいて前記発射体の軌道を計算するステップと、
前記サーバが、前記クライアントが前記発射体の前記軌道に基づいて前記発射体の発射を表示するように、前記発射体の前記軌道を前記クライアントに送信するステップと、
を含む、不正防止方法。
【請求項２】
前記サーバが、ビットによって配置されたゲームマップの地形データと、ビットによって配置された前記発射体による穴のマップデータとを記憶するステップと、
前記サーバが、前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとに基づいて、前記発射体の地形衝突パラメータを計算するステップと、
前記サーバが、前記クライアントが前記地形衝突パラメータに基づいて前記発射体の前記地形への影響を表示するように、前記地形衝突パラメータを前記クライアントに送信するステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ビットによって配置されたゲームマップの地形データとビットによって配置された前記発射体による穴のマップデータとを記憶するステップは、
地形を有するピクセルを１と設定し、地形を有さないピクセルを０と設定して、前記サーバが、前記ゲームマップの各ピクセルをビットとして記憶するステップと、
穴を開ける必要がある地形を表すビットを０と設定し、穴を開ける必要のない地形を表すビットを１と設定して、前記サーバが、前記ビットによって配置された前記発射体による前記穴のマップデータを記憶するステップと、
前記サーバが、前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとに基づいて、前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとのビット単位の論理ＡＮＤ演算を行うことによって、前記発射体の前記地形衝突パラメータを計算するステップと、
前記地形衝突パラメータに基づいて、前記地形への前記発射体の影響であって、前記地形の破壊を含む影響を表示するステップと、 
をさらに含む、請求項２に記載の方法。
【請求項４】
前記ビットによって配置されたゲームマップの地形データとビットによって配置された前記発射体による穴のマップデータとを記憶するステップは、
地形を有するピクセルを１に設定し、地形を有さないピクセルを０に設定して、前記サーバが、前記ゲームマップの各ピクセルをビットとして記憶するステップと、
埋める必要のある地形を表すビットを１に設定し、埋める必要のない地形を表すビットを０に設定して、前記サーバが、前記ビットによって配置された前記発射体による前記穴のマップデータを記憶するステップと、
前記サーバが、前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータに基づいて、前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとのビット単位の論理ＯＲ演算を行うことによって、前記発射体の前記地形衝突パラメータを計算するステップと、
前記地形への前記発射体の影響であって、前記地形を埋めることを含む影響を、前記地形衝突パラメータに基づいて、表示するステップと、
をさらに含む、請求項２に記載の方法。
【請求項５】
前記発射パラメータに基づいて前記発射体の前記軌道を計算するステップは、 
前記発射体の動きに関わる力を計算するステップと、 
前記発射体の初期状態を設定するステップと、
前記初期状態と前記発射体の動きに関わる前記力とに基づいて、積分によって、前記発射体の軌道の座標を計算するステップと、
をさらに含む、請求項１に記載の方法。
【請求項６】
前記発射体の動きに関わる力を計算するステップは、
シーンの予め設定した空気抵抗係数と前記発射体の予め設定した空気抵抗係数とに基づいて、空気抵抗を計算するステップと、
シーンの予め設定した風力と前記発射体の予め設定した風抵抗係数とに基づいて、風力を計算するステップと、
シーンの予め設定した重力加速度と前記発射体の予め設定した重力加速度係数とに基づいて、重力加速度を計算するステップと、
前記発射体の予め設定した質量と前記計算した重力加速度とに基づいて、前記発射体の重力を計算するステップと、
をさらに含む、請求項５に記載の方法。
【請求項７】
クライアントと、前記クライアントにインターネットを介して接続するサーバとを含む、オンラインゲームの不正防止システムであって、
前記クライアントは、 
ユーザ操作コマンドを取得し、
前記ユーザ操作コマンドに基づいて、発射体の発射パラメータを決定し、
前記発射パラメータを前記サーバに送信し、
前記発射体の軌道に基づいて、前記発射体の発射を表示するように構成され、
前記サーバは、 
前記発射パラメータに基づいて、前記発射体の前記軌道を計算し、
前記発射体の前記軌道を前記クライアントに送信するように構成される、
オンラインゲームの不正防止システム。
【請求項８】
前記サーバは、
ビットによって配置されたゲームマップの地形データと、ビットによって配置された前記発射体による穴のマップデータとを記憶し、
前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとに基づいて、前記発射体の前記地形への地形衝突パラメータを計算し、
前記地形衝突パラメータを前記クライアントに送信するように、さらに構成され、
前記クライアントは、前記地形衝突パラメータに基づいて、前記地形への前記発射体の影響を表示するように、さらに構成される、請求項７に記載のシステム。
【請求項９】
前記サーバは、 
地形を有するピクセルを１に設定し、地形を有さないピクセルを０に設定して、前記ゲームマップの各ピクセルをビットとして記憶し、
穴を開ける必要がある地形を表すビットを０に設定し、穴を開ける必要のない地形を表すビットを１に設定して、前記発射体の前記ビットによって配置された前記穴のマップデータを記憶し、
前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとのビット単位の論理ＡＮＤ演算を行って、前記地形衝突パラメータを取得するように、さらに構成され、
前記クライアントは、前記地形衝突パラメータに基づいて、前記発射体による前記地形を減じる影響を表示するようにさらに構成される、請求項８に記載のシステム。
【請求項１０】
前記サーバは、 
地形を有するピクセルを１に設定し、地形を有さないピクセルを０に設定して、前記ゲームマップの各ピクセルをビットとして記憶し、
埋める必要のある地形を表すビットを１に設定し、埋める必要のない地形を表すビットを０に設定して、前記ビットによって配置された前記発射体による前記穴のマップデータを記憶し、
前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとのビット単位の論理ＯＲ演算を行って、前記地形衝突パラメータを取得するように、さらに構成され、
前記クライアントは、前記地形衝突パラメータに基づいて、前記発射体による前記地形を埋める影響を表示するように、さらに構成される、請求項８に記載のシステム。
【請求項１１】
前記サーバは、
発射体の動きに関わる力を計算し、
前記発射体の初期状態を設定し、
前記初期状態と、発射体の動きに関わる前記力とに基づいて、積分によって、前記発射体の軌道の座標を計算するように、さらに構成される、請求項７に記載のシステム。
【請求項１２】
前記サーバは、
シーンの予め設定した空気抵抗係数と前記発射体の予め設定した空気抵抗係数とに基づいて、空気抵抗を計算し、
シーンの予め設定した風力と前記発射体の予め設定した風抵抗係数とに基づいて、風力を計算し、
シーンの予め設定した重力加速度と前記発射体の予め設定した重力加速度係数とに基づいて、重力加速度を計算し、
前記発射体の予め設定した質量と前記計算した重力加速度とに基づいて、前記発射体の重力を計算するように、さらに構成される、請求項１１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１２年８月７日出願の中国特許出願第２０１２１０２７７９５７．１号の優先権を主張し、その内容全体を参照により本明細書に援用する。
【０００２】
本発明は、一般的に、コンピュータ技術に関し、より詳細には、オンラインゲームの不正防止方法およびシステムに関する。
【背景技術】
【０００３】
電子ゲームは、電子機器（例えば、コンピュータ、ゲーム機など）を用いてプレイヤーがプレイすることができる対話型システムをもたらすビデオゲームを指す。
【０００４】
コンピュータ技術とネットワーキング技術との急速な発展に伴い、インターネットは、我々の日常生活、学習および仕事において、ますます重要な役割を果たすようになっている。マルチプレイヤーゲームのプラットフォームは、まるでローカルエリアネットワーク（ＬＡＮ）上でゲームをしているように、インターネットを介してユーザが簡単にゲームを行うインターネットのオンラインゲームサービスを複数のプレイヤーに提供する。ネットワークプロトコル変換技術を通して、マルチプレイヤーゲームのプラットフォームは、地理的に離れたプレイヤー同士を密接に結びつけ、また、リアルタイムの情報交換や通信を提供する。
【０００５】
ＬＡＮベースのゲームはいずれも、専用のサーバを必要とせず、複雑なＩＰアドレスを記憶する必要もなく、ローカルエリアネットワークを通して、マルチプレイヤーゲームのプラットフォームでプレイすることができる。従って、プレイヤーは、他のプレイヤーと、より便利にゲームすることができる。マルチプレイヤーゲームのプラットフォームの全ての部屋では、プレイヤーは皆、ローカルエリアネットワークを通すのと同じように、他のプレイヤーとゲームをすることができる。プレイヤーは、ローカルエリアネットワークを通して互いに対話し、いつでも他のプレイヤーと通信することができ、ゲームを楽しむことができる。
【０００６】
プラグインは、１つまたは複数のオンラインゲームの設計および構造を変えて、あるプレイヤーが他のプレイヤーより有利になるようにする不正プログラムである。
【０００７】
オンラインゲームには発射体の軌道の計算が含まれることが多い。既存の技術では、軌道は、一般に、クライアント側で計算される。複数のクライアントがいる場合、各クライアントは、個々に、軌道を計算する。そして、クライアントは、計算結果をサーバに送信する。サーバは、計算結果をチェックして、損害を計算した後、その結果をクライアントに送り戻す。しかしながら、この方法では、軌道がクライアント側で計算されるので、アルゴリズムがプラグインによって簡単に解読される可能性があり、誤った軌道情報が、パケットデータまたはオフラインハンギング（ｏｆｆｌｉｎｅ  ｈａｎｇｉｎｇ）などによって、サーバに送信される。従って、ゲームをするとき、あるプレイヤーが、他のプレイヤーより有利になる場合がある。ゲームの均衡に影響を与え、ゲームの公平性を失わせ、ゲームの正常な順位を妨げることになる。
【０００８】
開示の方法および装置は、上記の１つまたは複数の問題および他の問題の解決に関する。
【発明の概要】
【０００９】
本開示の一態様は、サーバとクライアントとの間のオンラインゲームの不正防止方法を含む。サーバは、クライアントから、発射体の発射パラメータを受信する。該発射パラメータは、クライアントが取得したユーザ操作コマンドに基づいて決定される。サーバは、発射パラメータに基づいて、発射体の軌道を計算する。サーバは、クライアントが発射体の軌道に基づいて発射体の発射を表示するように、発射体の軌道をクライアントに送信する。
【００１０】
本開示の別の態様は、サーバとクライアントとの間のオンラインゲームの不正防止システムを含む。クライアントは、ユーザ操作コマンドを取得し、該ユーザ操作コマンドに基づいて、発射体の発射パラメータを決定するように構成される。クライアントは、また、サーバに発射パラメータを送信し、発射体の軌道に基づいて発射体の発射を表示するように構成される。サーバは、発射パラメータに基づいて発射体の軌道を計算し、該発射体の軌道をクライアントに送信するように構成される。 
【００１１】
本開示の明細書、請求項および図面を踏まえて、当業者は、本開示の他の態様を理解することができる。
【図面の簡単な説明】
【００１２】
本発明の特徴および利点を当業者が理解できるように、本発明の例示の実施形態を添付の図面を参照して、詳細に述べる。
【００１３】
【図１】開示の実施形態に従った、オンラインゲームの不正防止方法の例のフロー図である。
【図２】開示の実施形態に従った、地形を表すための多数の正方形に分割されたオンラインゲームマップの例の概略図である。
【図３】開示の実施形態に従った、オンラインゲームマップの例のデータ記憶図である。
【図４】開示の実施形態に従った、発射体による穴のマップの例のデータ記憶図である。
【図５】開示の実施形態に従った、地形データと発射体による穴のマップデータとのＡＮＤ演算の例の概略図である。
【図６】開示の実施形態に従った、地形データと発射体による穴のマップデータとのＡＮＤ演算結果の例の概略図である。
【図７】開示の実施形態に従った、地形データと発射体による穴のマップデータとのＯＲ演算の例の概略図である。
【図８】開示の実施形態に従った、地形データと発射体の穴のマップデータとのＯＲ演算結果の例の概略図である。
【図９】開示の実施形態に従った、オンラインゲームのゲームシステムの例を示す図である。
【図１０】クライアントおよび／またはサーバを実施することができるコンピュータシステムの例のブロック図である。
【発明を実施するための形態】
【００１４】
ここで、添付の図面に示す本発明の例示の実施形態を詳細に説明する。
【００１５】
ターン制戦争ゲームに関しては、プレイヤーの具体的な操作に基づいて、クライアントは、発射体の発射角度、発射体の発射力、発射体の初期発射速度を含む、発射体の発射パラメータを決定し、その発射パラメータをサーバに送信する。サーバは、受信した発射パラメータに基づいて、軌道と、地形の破壊および損害とを計算し、計算結果をクライアントに送信する。次に、クライアントは、受信した軌道と、地形の破壊および損害とに基づいて、具体的な画像を表示する。このように、サーバが、主要な論理演算を行って、演算結果をクライアントに送信し、クライアントは、主要な論理演算を行わずに、結果のみを表示する。従って、プラグインを防止し、ゲームの公平性をさらに向上させる。
【００１６】
図９は、一部の開示の実施形態を組み込む例示のゲームシステム９００を示す。図９に示すように、ゲームシステム９００は、クライアント９０１およびサーバ９０２を含んでよい。クライアント９０１は、サーバ９０２が提供する一定のゲームサービスを求めて、インターネットを通してサーバ９０２にアクセスしてよい。ゲームシステム９００には１つのサーバ９０２および１つのクライアント９０１のみを示しているが、任意の数のクライアント９０１またはサーバ９０２を含んでよく、他の装置も含んでよい。
【００１７】
インターネット（参照番号なし）は、クライアント９０１およびサーバ９０２に、または、複数のクライアント９０１および複数のサーバ９０２間に、ネットワーク接続を提供するための、任意の適切な種類の通信ネットワークを含んでよい。例えば、インターネットは、有線または無線の、インターネット、または、他のタイプのコンピュータネットワークもしくは電気通信網を含んでよい。
【００１８】
本明細書において、クライアントとは、パーソナルコンピュータ（ＰＣ）、ワークステーションコンピュータ、サーバコンピュータ、ハンドヘルドコンピュータデバイス（タブレット）、スマートフォンもしくはモバイルフォン、または、任意の他のユーザ側コンピュータデバイスなどの、一定のコンピュータ機能を持つ任意の適切なユーザクライアントを指してよい。一部の実施形態においては、クライアント９０１は、スマートフォン、タブレットコンピュータ、またはモバイルフォンなどの、無線クライアントであってよい。
【００１９】
本明細書において、サーバとは、一定の個人化されたサービスを提供するための一定のウェブサーバ機能を提供するように構成された１つまたは複数のサーバコンピュータを指してよい。そのサービスにアクセスしようとするユーザは、アクセス前に、サーバへの認証を必要とする場合がある。ウェブサーバは、１つまたは複数のプロセッサを含んで、コンピュータプログラムを並行して実行してよい。
【００２０】
クライアント９０１および／またはサーバ９０２は、任意の適切なコンピュータプラットフォームで実施してよい。図１０に示すように、コンピュータシステム１０００は、プロセッサ１００２、記憶媒体１００４、モニタ１００６、通信モジュール１００８、データベース１０１０、および、周辺機器１０１２を含んでよい。一部の装置は省いてよく、他の装置を含んでよい。
【００２１】
プロセッサ１００２は、１つまたは複数の任意の適切なプロセッサを含んでよい。さらに、プロセッサ１００２は、マルチスレッド処理または並列処理のために複数のコアを含んでよい。記憶媒体１００４は、ＲＯＭ、ＲＡＭ、フラッシュメモリモジュール、消去可能で書き換え可能なメモリ等のメモリモジュールと、ＣＤ−ＲＯＭ、Ｕディスク、ハードディスク等の大容量記憶装置とを含んでよい。記憶媒体１００４は、プロセッサ１００２によって実行されると、様々なプロセスを実施するコンピュータプログラムを記憶してよい。
【００２２】
さらに、周辺機器１０１２は、キーボードおよびマウス等の入出力装置を含んでよく、通信モジュール１００８は、通信ネットワークを介して接続を確立するネットワーク装置を含んでよい。データベース１０１０は、一定のデータを記憶し、データベース検索などの、記憶したデータに対する一定の操作を行うための、１つまたは複数のデータベースを含んでよい。
【００２３】
操作において、クライアント９０１およびサーバ９０２は、強化されたオンラインゲームサービスをクライアント９０１の一人または複数のユーザに提供するために、互いに対話してよい。図１は、開示の実施形態に従った、オンラインゲームの不正防止方法の例のフロー図を示す。
【００２４】
図１に示すように、方法は、次のステップを含む。
【００２５】
ステップ１０１：クライアントは、ユーザ操作コマンドを取得し、ユーザ操作コマンドに基づいて発射体の発射パラメータを決定し、発射パラメータをサーバに送信する。 
【００２６】
様々なオンラインゲームにおいて、ゲーム操作は、物体の発射を含むことが多い。例えば、戦車は、発砲し、航空機はミサイルを発射し、ゲームの登場人物は銃撃する。それらのゲーム操作は、発射体の発射プロセスに関連している。
【００２７】
発射体の発射に関連するオンラインゲームは、プレイヤー対プレイヤー（ＰｖＰ）ゲームと、プレイヤー対環境（ＰｖＥ）ゲームとの両方を含んでよい。ＰｖＰゲームは、二人以上がライブで参加して行われる一種のマルチプレイヤー対話型ゲームであり、ＰｖＥゲームは、プレイヤーが、モンスターやボスなどの、コンピュータが制御するプレイヤー以外のキャラクタ（ＮＰＣ）と戦うゲームである。
【００２８】
最初に、クライアントは、ユーザ操作コマンドを取得する。次に、クライアントは、ユーザ操作コマンドに基づいて、発射体の発射パラメータを決定する。
【００２９】
クライアントは、操作コマンドと発射パラメータとの間の対応関係を前もって設定してよい。そうすると、クライアントがユーザ操作コマンドを取得することによって、発射体の発射パラメータが決定される。例えば、ユーザ操作コマンドは、ユーザが前もって設定された特定のキーを押すこと、ユーザがマウスを押すこと、ユーザが所定の時間キーを押すこと、ユーザが所定の時間マウスをクリックすること、ジョイスティック操作、等を含んでよい。
【００３０】
発射パラメータは、発射体の発射角度、発射体の発射力、発射体の初期発射速度などをさらに含んでよい。クライアントは、ユーザ操作コマンドに基づいて、発射体の発射パラメータを決定し、その発射パラメータをサーバに送信する。
【００３１】
ステップ１０２：サーバは、発射パラメータに基づいて、発射体の軌道を計算し、その軌道をクライアントに送信する。
【００３２】
発射体の軌道は、実際の物理的積分公式によって計算されてよい。計算原理は、発射体の動きに関わる力を計算すること、発射体の初期状態を設定すること、発射体の初期状態、および動きに関わる力などに基づいて、積分によって発射体の軌道の座標を計算することを含んでよい。
【００３３】
計算プロセスは、さらに、下記を含む。
【００３４】
計算ステップ１：発射体の動きに関わる様々な力を計算する。
【００３５】
実際の世界では、飛行中の発射体は、空気抵抗、風力、重力などの影響を受ける。オンラインゲームにおいては、それらの力をシミュレートしてよい。例えば、空気抵抗は、シーンの予め設定した空気抵抗係数と発射体の予め設定した空気抵抗係数とに基づいて、計算してよく、風力は、シーンの予め設定した風力と発射体の予め設定した風抵抗係数とに基づいて、計算してよく、重力加速度は、シーンの予め設定した重力加速度と発射体の予め設定した重力加速度係数とに基づいて、計算してよく、発射体の重力は、発射体の予め設定した質量と計算した重力加速度などに基づいて、計算してよい。
【００３６】
例えば、これらの力の計算は、次のように行ってよい。
【００３７】
ＡｉｒＦｏｒｃｅ=ＳｃｅｎｅＡｉｒＲｅｓｉｓｔａｎｃｅ＊ＢｏｍｂＡｉｒＲｅｓｉｔＦａｃｔｏｒ  （１）
ここで、Ａｉｒｆｏｒｃｅは空気抵抗、ＳｃｅｎｅＡｉｒＲｅｓｉｓｔａｎｃｅは、シーンの空気抵抗係数、ＢｏｍｂＡｉｒＲｅｓｉｔＦａｃｔｏｒは、発射体の空気抵抗係数である。
【００３８】
ＷｉｎｄＦｏｒｃｅ=ＳｃｅｎｅＷｉｎｄ＊ＢｏｍｂＷｉｎｄＦａｃｔｏｒ  （２）
ここで、ＷｉｎｄＦｏｒｃｅは風力、ＳｃｅｎｅＷｉｎｄは、シーンの風力、ＢｏｍｂＷｉｎｄＦａｃｔｏｒは、発射体の風抵抗係数である。
【００３９】
Ｇ=ＳｃｅｎｅＧｒａｖｉｔｙ＊ＢｏｍｂＧｒａｖｉｔｙＦａｃｔｏｒ  （３）
ここで、Ｇは重力加速度、ＳｃｅｎｅＧｒａｖｉｔｙは、シーンの重力加速度、ＢｏｍｂＧｒａｖｉｔｙＦａｃｔｏｒは、発射体の重力加速度係数である。
【００４０】
ＷｅｉｇｈｔＦｏｒｃｅ＝Ｇ＊ＢｏｍｂＭａｓｓ  （４）
ここで、ＷｅｉｇｈｔＦｏｒｃｅは、発射体の重力、Ｇは重力加速度、ＢｏｍｂＭａｓｓは、発射体の質量である。
【００４１】
上記の式において各パラメータを変更することによって、飛行中に発射体に働く様々な力を調整してよく、その結果、発射体の軌道は影響を受ける。
【００４２】
計算ステップ２：発射体の初期位置および／または初期速度など、発射体の初期状態を設定。
【００４３】
（Ｘｏ，Ｙｏ）：発射体の初期位置、すなわち、プレイヤーが発射体を発射する位置
（Ｖｘ，Ｖｙ）：発射体の初期速度（ベクトル）、すなわち、発射体の初期の飛行方向と速度
【００４４】
計算ステップ３：発射体の初期状態と外力の影響とに基づいて、発射体の軌道の座標を積分によって繰り返し計算する。ここで、積分間隔の固定長はｄｔ、発射体の新しい速度と座標はそれぞれ、前の速度と座標に基づいて計算される。より詳細には、
Ａｘ=（ＷｉｎｄＦｏｒｃｅ−ＡｉｒＦｏｒｃｅ＊Ｖｘ）／ＢｏｍｂＭａｓｓ  （５）
ここで、Ａｘは、発射体のＸ軸の加速度である。
【００４５】
Ｖｘ＝Ｖｘ＋Ａｘ＊ｄｔ  （６） 
ここで、Ｖｘは、発射体のＸ軸の速度である。
【００４６】
Ｘ＝Ｘ＋Ｖｘ＊ｄｔ  （７） 
ここで、Ｘは、発射体のＸ軸の座標である。
【００４７】
Ａｙ＝（ＷｅｉｇｈｔＦｏｒｃｅ−ＡｉｒＦｏｒｃｅ＊Ｖｙ）／ＢｏｍｂＭａｓｓ  （８） 
ここで、Ａｙは、発射体のＹ軸の加速度である。
【００４８】
Ｖｙ＝Ｖｙ＋Ａｙ＊ｄｔ  （９） 
ここで、Ｖｙは、発射体のＹ軸の速度である。
【００４９】
Ｙ＝Ｙ＋Ｖｙ＊ｄｔ  （１０）
ここで、Ｙは、発射体のＹ軸の座標である。
【００５０】
各積分計算を行った後、発射体の取得した座標（Ｘ，Ｙ）に基づいて、サーバは、地形図上の対応するビット値が１かどうかを判断する。その判断に基づいて、次に、サーバは、発射体が地形に衝突するかどうかを決定する。発射体が地形に衝突する場合、積分計算プロセスを中止する。衝突しない場合、次の積分計算を行う。積分計算プロセス中、ｄｔ値が小さいほど、発射体の軌道の計算結果はより正確になるが、ＣＰＵリソースの消費が増える。
【００５１】
上記計算結果に基づいて、発射体の軌道の座標を取得する。サーバは、取得した発射体の軌道の座標をクライアントに送信する。 
【００５２】
ステップ１０３：クライアントは、発射体の軌道に基づいて、発射体の発射を表示する。
【００５３】
クライアントは、発射体の軌道の座標をサーバから受信すると、当該発射体の軌道の座標に基づいて、発射体の動きの具体的な画像を示す。
【００５４】
一部のオンラインゲームにおいては、発射体は地形に影響を与える。例えば、発射された戦車砲弾が地面に穴を開ける、および、発射された航空機ミサイルが丘に穴を開ける。従って、発射体は、衝突後、ゲームマップのゲームの地形にも影響を与える。
【００５５】
戦闘ゲームの地形データは、サーバに予め記憶しておいてよい。地形データは、必要に応じて、メモリから呼び出してよい。戦闘ゲームの地形データをメモリに記憶するとき、ゲームマップの各ピクセルは、ビットとしてメモリに記憶される。例えば、地形を有するピクセルは１に設定してよく、地形を有さないピクセルは０に設定してよい。０と１で表すデータは、ビットによって配置される。そして、配置されたデータは、バイトのメモリで記憶してよい。実際には、データは、各ピクセルに基づいて計算される。
【００５６】
図２は、開示の実施形態に従った、地形を表すための多数の正方形に分割したオンラインゲームマップの例の概略図を示す。図２に示すように、ゲームマップは、地形を表すための多数の正方形に分割してよい。ここで、地形を有する正方形は１として記憶してよく、地形を有さない正方形は０として記憶してよい。
【００５７】
図２に示す地形に基づいて、図３は、開示の実施形態に従った、オンラインゲームマップの例のデータ記憶図を示す。図３に示すように、サーバに記憶された地形データの値は、（０ｘ０ＦＦ０，０ｘ３ＦＦＣ，０ｘ３ＦＦＣ，０ｘ０ＦＦ０）である。
【００５８】
戦闘ゲームにおける発射体による穴のマップデータもサーバに予め記憶されてよい。該データは、必要に応じてメモリから呼び出してよい。発射体が地形に衝突したとき、地形を破壊または埋めるために、発射体による穴のマップデータを用いて、地形データを減じる、または、埋める。
【００５９】
発射体による穴のマップデータを記憶することは、地形データを記憶する場合と同様である。発射体による穴のマップの各ピクセルは、０または１で表してよい。発射体による穴のマップデータは、各ビットが異なる意味を表すバイト列によってメモリに記憶される。例えば、１は、穴を開ける必要のない地形を表し、０は、穴を開ける必要のある地形を表す。
【００６０】
図４は、開示の実施形態に従った、発射体による穴のマップの例のデータ記憶図を示す。図４に示すように、穴のマップは、真ん中に２０ピクセルの穴が開いた、破壊された穴のマップである。サーバに記憶された発射体による穴のマップデータの値は、（０ｘＦＣ３Ｆ，０ｘＦ８１Ｆ，０ｘＦ８１Ｆ，０ｘＦＣ３Ｆ）である。
【００６１】
ビットにより配置されたオンラインゲームの地形データ、およびビットにより配置された発射体による穴のマップデータは、サーバに記憶される。さらに、サーバは、オンラインゲームの地形データと発射体による穴のマップデータとに基づいて、地形に対する発射体の地形衝突パラメータを計算し、その地形衝突パラメータをクライアントに送信する。クライアントは、さらに、その地形衝突パラメータに基づいて、発射体の地形への影響を表示する。
【００６２】
地形衝突パラメータは、発射体の地形への影響を表す。該影響は、通常、地形の破壊（例えば、発射体は、爆発後、地面に穴を開ける）や地形を埋めること（例えば、発射体が地面に衝突すると、その地面の地形の一部が埋められる）を含む。
【００６３】
発射体の影響が地形の破壊である場合、ゲームマップの各ピクセルは、ビットとしてサーバに記憶される。ここで、地形を有するピクセルは１と設定してよく、地形を有さないピクセルは０と設定してよい。ビットによって配置された発射体による穴のマップデータは、サーバに記憶される。ここで、穴を開ける必要がある地形を表すビットは０に設定してよく、穴を開ける必要のない地形を表すビットは１に設定してよい。次に、サーバは、オンラインゲームの地形データと発射体による穴のマップデータとのビット単位の論理ＡＮＤ演算を行って、地形衝突パラメータを取得する。
【００６４】
図５は、開示の実施形態に従った、オンラインゲームの地形データと発射体による穴のマップデータとのＡＮＤ演算の例の概略図を示す。図６は、開示の実施形態に従った、オンラインゲームの地形データと発射体による穴のマップデータとのＡＮＤ演算結果の例の概略図を示す。
【００６５】
図５および図６に示すように、入力は、それぞれ、（０ｘ０ＦＦ０，０ｘ３ＦＦＣ，０ｘ３ＦＦＣ，０ｘ０ＦＦ０）、（０ｘＦＣ３Ｆ，０ｘＦ８１Ｆ，０ｘＦ８１Ｆ，０ｘＦＣ３Ｆ）である。ビット単位のＡＮＤ演算を行うと、結果は、（０ｘ０Ｃ３０，０ｘ３８１Ｃ，０ｘ３８１Ｃ，０ｘ０Ｃ３０）となる。すなわち、結果は、真ん中に２０ピクセルの穴が開いた地形となる。
【００６６】
発射体の影響が地形を埋めることである場合、ゲームマップの各ピクセルがビットとしてサーバに記憶される。ここで、地形を有するピクセルは１と設定してよく、地形を有さないピクセルは０と設定してよい。ビットによって配置された発射体による穴のマップデータは、サーバに記憶される。ここで、埋める必要がある地形を表すビットは１に設定してよく、埋める必要のない地形を表すビットは０に設定してよい。次に、サーバは、オンラインゲームの地形データと発射体による穴のマップデータとのビット単位の論理ＯＲ演算を行って、地形衝突パラメータを取得する。
【００６７】
図７は、開示の実施形態に従った、地形データと発射体による穴のマップデータとのＯＲ演算の例の概略図を示す。図８は、開示の実施形態に従った、地形データと発射体による穴のマップデータとのＯＲ演算結果の例の概略図を示す。
【００６８】
図７および図８に示すように、入力は、それぞれ、（０ｘ０Ｃ３０，０ｘ３８１Ｃ，０ｘ３８１Ｃ，０ｘ０Ｃ３０）、（０ｘ０３Ｃ０，０ｘ０７Ｅ０，０ｘ０７Ｅ０，０ｘ０Ｃ３０）である。論理ＯＲ演算を行った後、地形の穴は埋められる。
【００６９】
地形への損害および埋めるための上記の具体的なビット値および論理演算は、例示的なものにすぎない。上記の実施形態は、本発明の具体的な実施形態にすぎず、本発明の保護範囲は上記実施形態に制限されないことを、当業者には理解されよう。実際には、ビット値および論理演算を一部変更しても、同様の効果を得ることができ、本発明に開示の技術範囲内で当業者が容易に想到し得るいずれの変更または置き換えも、本発明の保護範囲に入るものとする。
【００７０】
図９に戻る。ゲームシステム９００は、開示の実施形態に従った、オンラインゲームの例示の不正防止システムを実施してよい。図９に示すように、オンラインゲームの不正防止システムは、クライアント９０１およびサーバ９０２を含む。
【００７１】
クライアント９０１（例えば、クライアント９０１のプロセッサ１００２）は、ユーザ操作コマンドを取得し、該ユーザ操作コマンドに基づいて、発射体の発射パラメータを決定するように構成される。クライアント９０１は、また、該発射パラメータをサーバに送信し、発射体の軌道に基づいて、発射体の発射をユーザに提示するよう構成される。
【００７２】
サーバ９０２（例えば、サーバ９０２のプロセッサ１００２）は、発射パラメータに基づいて発射体の軌道を計算し、該発射体の軌道をクライアントに送信するように構成される。
【００７３】
より詳細には、サーバ９０２は、ビットによって配置されたオンラインゲームの地形データおよびビットにより配置された発射体による穴のマップデータを記憶し、オンラインゲームの地形データと発射体による穴のマップデータとに基づいて、発射体による地形への地形衝突パラメータを計算し、計算した地形衝突パラメータをクライアントに送信するように構成される。
【００７４】
サーバ９０２からの地形衝突パラメータを受信すると、クライアント９０１は、さらに、その地形衝突パラメータに基づいて、発射体の地形への影響をユーザに提示する。
【００７５】
一部の実施形態においては、地形データおよび穴のマップデータは、他のデータと共に、任意の適切な方法で、サーバ９０２に記憶してよい。例えば、サーバ９０２は、ゲームマップの各ピクセルをビットとして記憶してよい。ここで、地形を有するピクセルは１に設定してよく、地形を有さないピクセルは０に設定してよい。サーバ９０２は、ビットによって配置された発射体による穴のマップデータを記憶してよい。ここで、穴を開ける必要がある地形を表すビットは０に設定してよく、穴を開ける必要がない地形を表すビットは１に設定してよい。さらに、地形衝突パラメータを取得するために、サーバ９０２は、オンラインゲームの地形データと発射体による穴のマップデータとのビット単位の論理ＡＮＤ演算を行ってよい。そうすると、クライアント９０１は、その地形衝突パラメータに基づいて、発射体の地形へのを減じる影響を表示することができる。
【００７６】
一部の他の実施形態においては、サーバ９０２は、ゲームマップの各ピクセルをビットとして記憶してよい。ここで、地形を有するピクセルは１に設定してよく、地形を有さないピクセルは０に設定してよい。サーバ９０２は、ビットによって配置された発射体による穴のマップデータを記憶してよい。ここで、埋める必要のある地形を表すビットは１に設定してよく、埋める必要のない地形を表すビットは０に設定してよい。さらに、地形衝突パラメータを取得するために、サーバ９０２は、オンラインゲームの地形データと発射体による穴のマップデータとのビット単位の論理ＯＲ演算を行ってよい。そうすると、クライアント９０１は、その地形衝突パラメータに基づいて、発射体の地形への埋める影響を表示することができる。
【００７７】
一部の実施形態においては、サーバ９０２は、発射体の動きに関わる力を計算し、発射体の初期状態を設定し、発射体の初期状態と発射体の動きに関わる力とに基づいて、積分演算によって発射体の軌道の座標を計算してよい。
【００７８】
より詳細には、サーバ９０２は、シーンの予め設定された空気抵抗係数と発射体の予め設定された空気抵抗係数とに基づいて、空気抵抗を計算し、シーンの予め設定された風力と発射体の予め設定された風抵抗係数とに基づいて、風力を計算し、シーンの予め設定された重力加速度と発射体の予め設定された重力加速度係数とに基づいて、重力加速度を計算し、発射体の予め設定された質量と該計算された重力加速度等に基づいて、発射体の重力を計算してよい。
【００７９】
本明細書に開示の実施形態は、例示に過ぎず、本開示の範囲を制限するものではない。本発明の精神および範囲から逸脱することなく、開示の実施形態への他の変更、等価物、改良は、当業者には明らかであり、それらは、本開示の範囲に含まれるものとする。
【産業上の利用可能性】
【００８０】
いずれの請求項および／または明細書の範囲も制限することなく、産業上の利用可能性および開示の実施形態の一定の有利な効果の例を、例証の目的で挙げている。開示の実施形態の技術的な解決法に対する様々な変更、修正、または等価物は、当業者には明らかであり、本開示に含み得る。
【００８１】
任意のオンラインアプリケーションに開示の方法およびシステムを用いることによって、クライアントは、ユーザ操作コマンドを取得し、そのユーザ操作コマンドに基づいて、発射体の発射パラメータを決定して、サーバに送信し、サーバは、その発射パラメータに基づいて、発射体の軌道を計算し、その発射体の軌道をクライアントに送信する。そうすると、クライアントは、発射体の軌道に基づいて、発射体の発射を表示することができる。このように、サーバが、主要な論理演算を行い、その演算結果をクライアントに送信する。クライアントは、主要な論理演算を行わずに、その結果を表示するだけである。従って、プラグインを防止することができ、ゲームの公平性を向上させることができる。
【００８２】
さらに、サーバが地形衝突パラメータと発射体の座標とを計算するので、クライアントコンピュータの計算のための消費を減らすことができ、オンラインゲームの速度をさらに向上させることができる。
【図１】
2015528317.tif 000003
【図２】
2015528317.tif 000004
【図３】
2015528317.tif 000005
【図４】
2015528317.tif 000006
【図５】
2015528317.tif 000007
【図６】
2015528317.tif 000008
【図７】
2015528317.tif 000009
【図８】
2015528317.tif 000010
【図９】
2015528317.tif 000011
【図１０】
2015528317.tif 000012
【手続補正書】
【提出日】平成27年2月6日(2015.2.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１２年８月７日出願の中国特許出願第２０１２１０２７７９５７．１号の優先権を主張し、その内容全体を参照により本明細書に援用する。
【０００２】
本発明は、一般的に、コンピュータ技術に関し、より詳細には、オンラインゲームの不正防止方法およびシステムに関する。
【背景技術】
【０００３】
電子ゲームは、電子機器（例えば、コンピュータ、ゲーム機など）を用いてプレイヤーがプレイすることができる対話型システムをもたらすビデオゲームを指す。
【０００４】
コンピュータ技術とネットワーキング技術との急速な発展に伴い、インターネットは、我々の日常生活、学習および仕事において、ますます重要な役割を果たすようになっている。マルチプレイヤーゲームのプラットフォームは、まるでローカルエリアネットワーク（ＬＡＮ）上でゲームをしているように、インターネットを介してユーザが簡単にゲームを行うインターネットのオンラインゲームサービスを複数のプレイヤーに提供する。ネットワークプロトコル変換技術を通して、マルチプレイヤーゲームのプラットフォームは、地理的に離れたプレイヤー同士を密接に結びつけ、また、リアルタイムの情報交換や通信を提供する。
【０００５】
ＬＡＮベースのゲームはいずれも、専用のサーバを必要とせず、複雑なＩＰアドレスを記憶する必要もなく、ローカルエリアネットワークを通して、マルチプレイヤーゲームのプラットフォームでプレイすることができる。従って、プレイヤーは、他のプレイヤーと、より便利にゲームすることができる。マルチプレイヤーゲームのプラットフォームの全ての部屋では、プレイヤーは皆、ローカルエリアネットワークを通すのと同じように、他のプレイヤーとゲームをすることができる。プレイヤーは、ローカルエリアネットワークを通して互いに対話し、いつでも他のプレイヤーと通信することができ、ゲームを楽しむことができる。
【０００６】
プラグインは、１つまたは複数のオンラインゲームの設計および構造を変えて、あるプレイヤーが他のプレイヤーより有利になるようにする不正プログラムである。
【０００７】
オンラインゲームには発射体の軌道の計算が含まれることが多い。既存の技術では、軌道は、一般に、クライアント側で計算される。複数のクライアントがいる場合、各クライアントは、個々に、軌道を計算する。そして、クライアントは、計算結果をサーバに送信する。サーバは、計算結果をチェックして、損害を計算した後、計算した損害結果をクライアントに送り戻す。しかしながら、この方法では、軌道がクライアント側で計算されるので、アルゴリズムがプラグインによって簡単に解読される可能性があり、誤った軌道情報が、パケットデータまたはオフラインハンギング（ｏｆｆｌｉｎｅ  ｈａｎｇｉｎｇ）などによって、サーバに送信される。従って、プラグインを使用してゲームをするとき、あるプレイヤーが、他のプレイヤーより有利になる場合がある。ゲームの均衡に影響を与え、ゲームの公平性を失わせ、ゲームの正常な順位を妨げることになる。
【０００８】
開示の方法および装置は、上記の１つまたは複数の問題および他の問題の解決に関する。
【発明の概要】
【０００９】
本開示の一態様は、サーバとクライアントとの間のオンラインゲームの不正防止方法を含む。サーバは、クライアントから、発射体の発射パラメータを受信する。該発射パラメータは、クライアントが取得したユーザ操作コマンドに基づいて決定される。サーバは、発射パラメータに基づいて、発射体の軌道を計算する。サーバは、クライアントが発射体の軌道に基づいて発射体の発射を表示するように、発射体の軌道をクライアントに送信する。
【００１０】
本開示の別の態様は、サーバとクライアントとの間のオンラインゲームの不正防止システムを含む。クライアントは、ユーザ操作コマンドを取得し、該ユーザ操作コマンドに基づいて、発射体の発射パラメータを決定するように構成される。クライアントは、また、サーバに発射パラメータを送信し、発射体の軌道に基づいて発射体の発射を表示するように構成される。サーバは、発射パラメータに基づいて発射体の軌道を計算し、該発射体の軌道をクライアントに送信するように構成される。 
【００１１】
本開示の明細書、請求項および図面を踏まえて、当業者は、本開示の他の態様を理解することができる。
【図面の簡単な説明】
【００１２】
本発明の特徴および利点を当業者が理解できるように、本発明の例示の実施形態を添付の図面を参照して、詳細に述べる。
【００１３】
【図１】開示の実施形態に従った、オンラインゲームの不正防止方法の例のフロー図である。
【図２】開示の実施形態に従った、地形を表すための多数の正方形に分割されたオンラインゲームマップの例の概略図である。
【図３】開示の実施形態に従った、オンラインゲームマップの例のデータ記憶図である。
【図４】開示の実施形態に従った、発射体による穴のマップの例のデータ記憶図である。
【図５】開示の実施形態に従った、地形データと発射体による穴のマップデータとのＡＮＤ演算の例の概略図である。
【図６】開示の実施形態に従った、地形データと発射体による穴のマップデータとのＡＮＤ演算の例の結果の概略図である。
【図７】開示の実施形態に従った、地形データと発射体による穴のマップデータとのＯＲ演算の例の概略図である。
【図８】開示の実施形態に従った、地形データと発射体による穴のマップデータとのＯＲ演算の例の結果の概略図である。
【図９】開示の実施形態に従った、オンラインゲームのゲームシステムの例を示す図である。
【図１０】クライアントおよび／またはサーバを実施することができるコンピュータシステムの例のブロック図である。
【発明を実施するための形態】
【００１４】
ここで、添付の図面に示す本発明の例示の実施形態を詳細に説明する。
【００１５】
ターン制戦争ゲームに関しては、プレイヤーの具体的な操作に基づいて、クライアントは、発射体の発射角度、発射体の発射力、発射体の初期発射速度を含む、発射体の発射パラメータを決定し、その発射パラメータをサーバに送信する。サーバは、受信した発射パラメータに基づいて、軌道と、地形の破壊および損害とを計算し、計算結果をクライアントに送信する。次に、クライアントは、受信した軌道と、地形の破壊および損害とに基づいて、具体的な画像を表示する。このように、サーバが、主要な論理演算を行って、演算結果をクライアントに送信し、クライアントは、主要な論理演算を行わずに、演算結果のみを表示する。従って、プラグインによる妨げを防止し、ゲームの公平性をさらに向上させる。
【００１６】
図９は、一部の開示の実施形態を組み込む例示のゲームシステム９００を示す。図９に示すように、ゲームシステム９００は、クライアント９０１およびサーバ９０２を含んでよい。クライアント９０１は、サーバ９０２が提供する一定のゲームサービスを求めて、インターネットを通してサーバ９０２にアクセスしてよい。ゲームシステム９００には１つのサーバ９０２および１つのクライアント９０１のみを示しているが、任意の数のクライアント９０１またはサーバ９０２を含んでよく、他の装置も含んでよい。
【００１７】
インターネット（参照番号なし）は、クライアント９０１およびサーバ９０２に、または、複数のクライアント９０１および複数のサーバ９０２間に、ネットワーク接続を提供するための、任意の適切な種類の通信ネットワークを含んでよい。例えば、インターネットは、有線または無線の、ＴＣＰ／ＩＰプロトコルに基づくインターネット、または、他のタイプのコンピュータネットワークもしくは電気通信網を含んでよい。
【００１８】
本明細書において、クライアントとは、パーソナルコンピュータ（ＰＣ）、ワークステーションコンピュータ、サーバコンピュータ、ハンドヘルドコンピュータデバイス（タブレット）、スマートフォンもしくはモバイルフォン、または、任意の他のユーザ側コンピュータデバイスなどの、一定のコンピュータ機能を持つ任意の適切なユーザクライアントを指してよい。一部の実施形態においては、クライアント９０１は、スマートフォン、タブレットコンピュータ、またはモバイルフォンなどの、無線クライアントであってよい。
【００１９】
本明細書において、サーバとは、一定の個人化されたサービスを提供するための一定のウェブサーバ機能を提供するように構成された１つまたは複数のサーバコンピュータを指してよい。そのサービスにアクセスしようとするユーザは、アクセス前に、サーバによって認証されることを必要とする場合がある。ウェブサーバは、１つまたは複数のプロセッサを含んで、コンピュータプログラムを並行して実行してよい。
【００２０】
クライアント９０１および／またはサーバ９０２は、任意の適切なコンピュータプラットフォームで実施してよい。図１０に示すように、コンピュータシステム１０００は、プロセッサ１００２、記憶媒体１００４、モニタ１００６、通信モジュール１００８、データベース１０１０、および、周辺機器１０１２を含んでよい。これらの一部の装置は省いてもよく、他の装置をさらに含んでもよい。
【００２１】
プロセッサ１００２は、１つまたは複数の任意の適切なプロセッサを含んでよい。さらに、プロセッサ１００２は、マルチスレッド処理または並列処理のために複数のコアを含んでよい。記憶媒体１００４は、ＲＯＭ、ＲＡＭ、フラッシュメモリモジュール、消去可能で書き換え可能なメモリ等のメモリモジュールと、ＣＤ−ＲＯＭ、Ｕディスク、ハードディスク等の大容量記憶装置とを含んでよい。記憶媒体１００４は、プロセッサ１００２によって実行されると、様々なプロセスを実施するコンピュータプログラムを記憶してよい。
【００２２】
さらに、周辺機器１０１２は、キーボードおよびマウス等の入出力装置を含んでよく、通信モジュール１００８は、通信ネットワークを介して接続を確立するネットワーク装置を含んでよい。データベース１０１０は、一定のデータを記憶し、データベース検索などの、記憶したデータに対する一定の操作を行うための、１つまたは複数のデータベースを含んでよい。
【００２３】
操作において、クライアント９０１およびサーバ９０２は、強化されたオンラインゲームサービスをクライアント９０１の一人または複数のユーザに提供するために、互いに対話してよい。図１は、開示の実施形態に従った、オンラインゲームの不正防止方法の例のフロー図を示す。
【００２４】
図１に示すように、方法は、次のステップを含む。
【００２５】
ステップ１０１：クライアントは、ユーザ操作コマンドを取得し、ユーザ操作コマンドに基づいて発射体の発射パラメータを決定し、発射パラメータをサーバに送信する。 
【００２６】
様々なオンラインゲームにおいて、ゲーム操作は、物体の発射を含むことが多い。例えば、戦車は、発砲し、航空機はミサイルを発射し、ゲームの登場人物は銃撃する。それらのゲーム操作は、発射体の発射プロセスに関連している。
【００２７】
発射体の発射に関連するオンラインゲームは、プレイヤー対プレイヤー（ＰｖＰ）ゲームと、プレイヤー対環境（ＰｖＥ）ゲームとの両方を含んでよい。ＰｖＰゲームは、二人以上がライブで参加して行われる一種のマルチプレイヤー対話型ゲームであり、ＰｖＥゲームは、プレイヤーが、モンスターやボスなどの、コンピュータが制御するプレイヤー以外のキャラクタ（ＮＰＣ）と戦うゲームである。
【００２８】
最初に、クライアントは、ユーザ操作コマンドを取得する。次に、クライアントは、ユーザ操作コマンドに基づいて、発射体の発射パラメータを決定する。
【００２９】
クライアントは、操作コマンドと発射パラメータとの間の対応関係を前もって設定してよい。そうすると、クライアントは、取得したユーザ操作コマンドから、発射体の発射パラメータを決定する。例えば、ユーザ操作コマンドは、ユーザが前もって設定された特定のキーを押すこと、ユーザがマウスを押すこと、ユーザが所定の時間キーを押すこと、ユーザが所定の時間マウスをクリックすること、ジョイスティック操作、等から取得してよい。
【００３０】
発射パラメータは、発射体の発射角度、発射体の発射力、発射体の初期発射速度などをさらに含んでよい。クライアントは、ユーザ操作コマンドに基づいて、発射体の発射パラメータを決定し、その発射パラメータをサーバに送信する。
【００３１】
ステップ１０２：サーバは、発射パラメータに基づいて、発射体の軌道を計算し、その軌道をクライアントに送信する。
【００３２】
発射体の軌道は、実際の物理的積分公式によって計算されてよい。計算原理は、発射体の動きに関わる力を計算すること、発射体の初期状態を設定すること、発射体の初期状態、および動きに関わる力などに基づいて、積分によって発射体の軌道の座標を計算することを含んでよい。
【００３３】
計算プロセスは、さらに、下記を含む。
【００３４】
計算ステップ１：発射体の動きに関わる様々な力を計算する。
【００３５】
実際の世界では、飛行中の発射体は、空気抵抗、風力、重力などの影響を受ける。オンラインゲームにおいては、それらの力をシミュレートしてよい。例えば、空気抵抗は、シーンの予め設定した空気抵抗係数と発射体の予め設定した空気抵抗係数とに基づいて、計算してよく、風力は、シーンの予め設定した風力と発射体の予め設定した風抵抗係数とに基づいて、計算してよく、重力加速度は、シーンの予め設定した重力加速度と発射体の予め設定した重力加速度係数とに基づいて、計算してよく、発射体の重力は、発射体の予め設定した質量と計算した重力加速度などに基づいて、計算してよい。
【００３６】
例えば、これらの力の計算は、次のように行ってよい。
【００３７】
ＡｉｒＦｏｒｃｅ=ＳｃｅｎｅＡｉｒＲｅｓｉｓｔａｎｃｅ＊ＢｏｍｂＡｉｒＲｅｓｉｔＦａｃｔｏｒ  （１）
ここで、Ａｉｒｆｏｒｃｅは、発射体に適用される空気抵抗、ＳｃｅｎｅＡｉｒＲｅｓｉｓｔａｎｃｅは、シーンの空気抵抗係数、ＢｏｍｂＡｉｒＲｅｓｉｔＦａｃｔｏｒは、発射体の空気抵抗係数を示す。
【００３８】
ＷｉｎｄＦｏｒｃｅ=ＳｃｅｎｅＷｉｎｄ＊ＢｏｍｂＷｉｎｄＦａｃｔｏｒ  （２）
ここで、ＷｉｎｄＦｏｒｃｅは、発射体に適用される風力、ＳｃｅｎｅＷｉｎｄは、シーンの風力、ＢｏｍｂＷｉｎｄＦａｃｔｏｒは、発射体の風抵抗係数を示す。
【００３９】
Ｇ=ＳｃｅｎｅＧｒａｖｉｔｙ＊ＢｏｍｂＧｒａｖｉｔｙＦａｃｔｏｒ  （３）
ここで、Ｇは重力加速度、ＳｃｅｎｅＧｒａｖｉｔｙは、シーンの重力加速度、ＢｏｍｂＧｒａｖｉｔｙＦａｃｔｏｒは、発射体の重力加速度係数を示す。
【００４０】
ＷｅｉｇｈｔＦｏｒｃｅ＝Ｇ＊ＢｏｍｂＭａｓｓ  （４）
ここで、ＷｅｉｇｈｔＦｏｒｃｅは、発射体の重力、Ｇは重力加速度、ＢｏｍｂＭａｓｓは、発射体の質量を示す。
【００４１】
上記の式において各パラメータを変更することによって、飛行中に発射体に働く様々な力を調整してよく、その結果、発射体の軌道は影響を受ける。
【００４２】
計算ステップ２：発射体の初期位置および／または初期速度など、発射体の初期状態を設定。
【００４３】
（Ｘｏ，Ｙｏ）：発射体の初期位置、すなわち、プレイヤーが発射体を発射する位置
（Ｖｘ，Ｖｙ）：発射体の初期速度（ベクトル）、すなわち、発射体の初期の飛行方向と速度
【００４４】
計算ステップ３：発射体の初期状態と外力の影響とに基づいて、発射体の軌道の座標を積分によって順次計算する。ここで、積分間隔の固定長はｄｔとして示し、発射体の新しい速度と座標はそれぞれ、前の速度と座標に基づいて計算される。より詳細には、
Ａｘ=（ＷｉｎｄＦｏｒｃｅ−ＡｉｒＦｏｒｃｅ＊Ｖｘ）／ＢｏｍｂＭａｓｓ  （５）
ここで、Ａｘは、発射体のＸ軸の加速度を示す。
【００４５】
Ｖｘ＝Ｖｘ＋Ａｘ＊ｄｔ  （６） 
ここで、Ｖｘは、発射体のＸ軸の速度を示す。
【００４６】
Ｘ＝Ｘ＋Ｖｘ＊ｄｔ  （７） 
ここで、Ｘは、発射体のＸ軸の座標を示す。
【００４７】
Ａｙ＝（ＷｅｉｇｈｔＦｏｒｃｅ−ＡｉｒＦｏｒｃｅ＊Ｖｙ）／ＢｏｍｂＭａｓｓ  （８） 
ここで、Ａｙは、発射体のＹ軸の加速度を示す。
【００４８】
Ｖｙ＝Ｖｙ＋Ａｙ＊ｄｔ  （９） 
ここで、Ｖｙは、発射体のＹ軸の速度を示す。
【００４９】
Ｙ＝Ｙ＋Ｖｙ＊ｄｔ  （１０）
ここで、Ｙは、発射体のＹ軸の座標を示す。
【００５０】
各積分計算を行った後、発射体の取得した座標（Ｘ，Ｙ）に基づいて、サーバは、地形図上の対応するビット値（すなわち、発射体の取得した座標に対応するビット値）が１かどうかを判断する。その判断に基づいて、次に、サーバは、発射体が地形に衝突するかどうかを決定する。発射体が地形に衝突する場合、積分計算プロセスを中止する。衝突しない場合、次の積分計算を行う。積分計算プロセス中、ｄｔ値が小さいほど、発射体の軌道の計算結果はより正確になるが、ＣＰＵリソースの消費が増える。
【００５１】
上記計算結果に基づいて、発射体の軌道の座標を取得する。サーバは、取得した発射体の軌道の座標をクライアントに送信する。 
【００５２】
ステップ１０３：クライアントは、発射体の軌道に基づいて、発射体の発射を表示する。
【００５３】
クライアントは、発射体の軌道の座標をサーバから受信すると、当該発射体の軌道の座標に基づいて、発射体の動きの具体的な画像を示す。
【００５４】
一部のオンラインゲームにおいては、発射体は地形に影響を与える。例えば、発射された戦車砲弾が地面に穴を開ける、および、発射された航空機ミサイルが丘に穴を開ける。従って、発射体は、衝突後、ゲームマップのゲームの地形にも影響を与える。
【００５５】
戦闘ゲームの地形データは、サーバに予め記憶しておいてよい。地形データは、必要に応じて、メモリから呼び出してよい。戦闘ゲームの地形データをメモリに記憶するとき、ゲームマップの各ピクセルは、ビットとしてメモリに記憶される。例えば、地形を有するピクセルはメモリ内で１に設定してよく、地形を有さないピクセルはメモリ内で０に設定してよい。０と１で表す地形データは、ビットによって配置される。そして、配置されたデータは、バイトのメモリで記憶してよい。実際には、上記計算は、ピクセルによって行うことができる。
【００５６】
図２は、開示の実施形態に従った、地形を表すための多数の正方形に分割したオンラインゲームマップの例の概略図を示す。図２に示すように、ゲームマップは、地形を表すための多数の正方形に分割してよい。ここで、地形を有する正方形は１として記憶してよく、地形を有さない正方形は０として記憶してよい。
【００５７】
図２に示す地形に基づいて、図３は、開示の実施形態に従った、オンラインゲームマップの例のデータ記憶図を示す。図３に示すように、サーバに記憶された地形データの値は、（０ｘ０ＦＦ０，０ｘ３ＦＦＣ，０ｘ３ＦＦＣ，０ｘ０ＦＦ０）である。
【００５８】
戦闘ゲームにおける発射体による穴のマップデータもサーバに予め記憶されてよい。該データは、必要に応じてメモリから呼び出してよい。発射体が地形に衝突したとき、地形を破壊または埋めるために、発射体による穴のマップデータを用いて、地形データを減じる、または、埋める。
【００５９】
発射体による穴のマップデータを記憶することは、地形データを記憶する場合と同様である。発射体による穴のマップの各ピクセルは、０または１で表してよい。発射体による穴のマップデータは、各ビットが異なる意味を表すバイト列によってメモリに記憶される。例えば、１は、穴を開ける必要のない地形を表し、０は、穴を開ける必要のある地形を表す。
【００６０】
図４は、開示の実施形態に従った、発射体による穴のマップの例のデータ記憶図を示す。図４に示すように、穴のマップは、真ん中に２０ピクセルの穴が開いた、破壊された穴のマップである。サーバに記憶された発射体による穴のマップデータの値は、（０ｘＦＣ３Ｆ，０ｘＦ８１Ｆ，０ｘＦ８１Ｆ，０ｘＦＣ３Ｆ）である。
【００６１】
ビットにより配置されたオンラインゲームの地形データ、およびビットにより配置された発射体による穴のマップデータは、サーバに記憶される。さらに、サーバは、オンラインゲームの地形データと発射体による穴のマップデータとに基づいて、地形に対する発射体の地形衝突パラメータを計算し、その地形衝突パラメータをクライアントに送信する。クライアントは、さらに、その地形衝突パラメータに基づいて、発射体の地形への影響を表示する。
【００６２】
地形衝突パラメータは、発射体の地形への影響を表す。該影響は、通常、地形の破壊（例えば、発射体は、爆発後、地面に穴を開ける）や地形を埋めること（例えば、発射体が地面に衝突すると、その地面の地形の一部が埋められる）を含む。
【００６３】
発射体の影響が地形の破壊である場合、ゲームマップの各ピクセルは、ビットとしてサーバに記憶される。ここで、地形を有するピクセルは１と設定してよく、地形を有さないピクセルは０と設定してよい。発射体による穴のマップデータは、ビットによってサーバに記憶される。ここで、穴を開ける必要がある地形を表すビットは０に設定してよく、穴を開ける必要のない地形を表すビットは１に設定してよい。次に、サーバは、オンラインゲームの地形データと発射体による穴のマップデータとのビット単位の論理ＡＮＤ演算を行って、地形衝突パラメータを取得する。
【００６４】
図５は、開示の実施形態に従った、オンラインゲームの地形データと発射体による穴のマップデータとのＡＮＤ演算の例の概略図を示す。図６は、開示の実施形態に従った、オンラインゲームの地形データと発射体による穴のマップデータとのＡＮＤ演算の例の結果の概略図を示す。
【００６５】
図５および図６に示すように、ＡＮＤ演算についてのオンラインゲームの地形データと発射体による穴のマップデータの入力は、それぞれ、（０ｘ０ＦＦ０，０ｘ３ＦＦＣ，０ｘ３ＦＦＣ，０ｘ０ＦＦ０）、（０ｘＦＣ３Ｆ，０ｘＦ８１Ｆ，０ｘＦ８１Ｆ，０ｘＦＣ３Ｆ）である。ビット単位のＡＮＤ演算を行うと、結果は、（０ｘ０Ｃ３０，０ｘ３８１Ｃ，０ｘ３８１Ｃ，０ｘ０Ｃ３０）となる。すなわち、結果は、真ん中に２０ピクセルの穴が開いた地形となる。
【００６６】
発射体の影響が地形を埋めることである場合、ゲームマップの各ピクセルがビットとしてサーバに記憶される。ここで、地形を有するピクセルは１と設定してよく、地形を有さないピクセルは０と設定してよい。発射体による穴のマップデータは、ビットによってサーバに記憶される。ここで、埋める必要がある地形を表すビットは１に設定してよく、埋める必要のない地形を表すビットは０に設定してよい。次に、サーバは、オンラインゲームの地形データと発射体による穴のマップデータとのビット単位の論理ＯＲ演算を行って、地形衝突パラメータを取得する。
【００６７】
図７は、開示の実施形態に従った、地形データと発射体による穴のマップデータとのＯＲ演算の例の概略図を示す。図８は、開示の実施形態に従った、地形データと発射体による穴のマップデータとのＯＲ演算の例の結果の概略図を示す。
【００６８】
図７および図８に示すように、ＯＲ演算についての地形データと発射体による穴のマップデータの入力は、それぞれ、（０ｘ０Ｃ３０，０ｘ３８１Ｃ，０ｘ３８１Ｃ，０ｘ０Ｃ３０）、（０ｘ０３Ｃ０，０ｘ０７Ｅ０，０ｘ０７Ｅ０，０ｘ０Ｃ３０）である。論理ＯＲ演算を行った後、地形の穴は埋められる。
【００６９】
地形への損害および埋めるための上記の具体的なビット値および論理演算は、例示的なものにすぎない。上記の実施形態は、本発明の具体的な実施形態にすぎず、本発明の保護範囲は上記実施形態に制限されないことを、当業者には理解されよう。実際には、ビット値および論理演算を一部変更しても、同様の効果を得ることができ、本発明に開示の技術範囲内で当業者が容易に想到し得るいずれの変更または置き換えも、本発明の保護範囲に入るものとする。
【００７０】
図９に戻る。ゲームシステム９００は、開示の実施形態に従った、オンラインゲームの例示の不正防止システムを実施してよい。図９に示すように、オンラインゲームの不正防止システムは、クライアント９０１およびサーバ９０２を含む。
【００７１】
クライアント９０１（例えば、クライアント９０１のプロセッサ１００２）は、ユーザ操作コマンドを取得し、該ユーザ操作コマンドに基づいて、発射体の発射パラメータを決定するように構成される。クライアント９０１は、また、該発射パラメータをサーバに送信し、発射体の軌道に基づいて、発射体の発射をユーザに提示するよう構成される。
【００７２】
サーバ９０２（例えば、サーバ９０２のプロセッサ１００２）は、発射パラメータに基づいて発射体の軌道を計算し、該発射体の軌道をクライアントに送信するように構成される。
【００７３】
より詳細には、サーバ９０２は、ビットによって配置されたオンラインゲームの地形データおよびビットにより配置された発射体による穴のマップデータを記憶し、オンラインゲームの地形データと発射体による穴のマップデータとに基づいて、発射体による地形への地形衝突パラメータを計算し、計算した地形衝突パラメータをクライアントに送信するように構成される。
【００７４】
サーバ９０２からの地形衝突パラメータを受信すると、クライアント９０１は、さらに、その地形衝突パラメータに基づいて、発射体の地形への影響をユーザに提示する。
【００７５】
一部の実施形態においては、地形データおよび穴のマップデータは、他のデータと共に、任意の適切な方法で、サーバ９０２に記憶してよい。例えば、サーバ９０２は、ゲームマップの各ピクセルをビットとして記憶してよい。ここで、地形を有するピクセルは１に設定してよく、地形を有さないピクセルは０に設定してよい。サーバ９０２は、ビットによって配置された発射体による穴のマップデータを記憶してよい。ここで、穴を開ける必要がある地形を表すビットは０に設定してよく、穴を開ける必要がない地形を表すビットは１に設定してよい。さらに、地形衝突パラメータを取得するために、サーバ９０２は、オンラインゲームの地形データと発射体による穴のマップデータとのビット単位の論理ＡＮＤ演算を行ってよい。そうすると、クライアント９０１は、その地形衝突パラメータに基づいて、発射体の地形へのを減じる影響を表示することができる。
【００７６】
一部の他の実施形態においては、サーバ９０２は、ゲームマップの各ピクセルをビットとして記憶してよい。ここで、地形を有するピクセルは１に設定してよく、地形を有さないピクセルは０に設定してよい。サーバ９０２は、ビットによって配置された発射体による穴のマップデータを記憶してよい。ここで、埋める必要のある地形を表すビットは１に設定してよく、埋める必要のない地形を表すビットは０に設定してよい。さらに、地形衝突パラメータを取得するために、サーバ９０２は、オンラインゲームの地形データと発射体による穴のマップデータとのビット単位の論理ＯＲ演算を行ってよい。そうすると、クライアント９０１は、その地形衝突パラメータに基づいて、発射体の地形への埋める影響を表示することができる。
【００７７】
一部の実施形態においては、サーバ９０２は、発射体の動きに関わる力を計算し、発射体の初期状態を設定し、発射体の初期状態と発射体の動きに関わる力とに基づいて、積分演算によって発射体の軌道の座標を計算してよい。
【００７８】
より詳細には、サーバ９０２は、シーンの予め設定された空気抵抗係数と発射体の予め設定された空気抵抗係数とに基づいて、空気抵抗を計算し、シーンの予め設定された風力と発射体の予め設定された風抵抗係数とに基づいて、風力を計算し、シーンの予め設定された重力加速度と発射体の予め設定された重力加速度係数とに基づいて、重力加速度を計算し、発射体の予め設定された質量と該計算された重力加速度等に基づいて、発射体の重力を計算してよい。
【００７９】
本明細書に開示の実施形態は、例示に過ぎず、本開示の範囲を制限することを意図しない。本発明の精神および範囲から逸脱することなく、開示の実施形態への他の変更、等価物、改良は、当業者には明らかであり、それらは、本開示の範囲に含まれるものとする。
【産業上の利用可能性】
【００８０】
いずれの請求項および／または明細書の範囲も制限することなく、産業上の利用可能性および開示の実施形態の一定の有利な効果の例を、例証の目的で挙げている。開示の実施形態の技術的な解決法に対する様々な変更、修正、または等価物は、当業者には明らかであり、本開示に含み得る。
【００８１】
任意のオンラインアプリケーションに開示の方法およびシステムを用いることによって、クライアントは、ユーザ操作コマンドを取得し、そのユーザ操作コマンドに基づいて、発射体の発射パラメータを決定して、サーバに送信し、サーバは、その発射パラメータに基づいて、発射体の軌道を計算し、その発射体の軌道をクライアントに送信する。そうすると、クライアントは、発射体の軌道に基づいて、発射体の発射を表示することができる。このように、サーバが、主要な論理演算を行い、その演算結果をクライアントに送信する。クライアントは、主要な論理演算を行わずに、その結果を表示するだけである。従って、プラグインを防止することができ、ゲームの公平性を向上させることができる。
【００８２】
さらに、サーバが地形衝突パラメータと発射体の座標とを計算するので、クライアントコンピュータの計算のための消費を減らすことができ、オンラインゲームの速度をさらに向上させることができる。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
サーバとクライアントとの間のオンラインゲームの不正防止方法であって、
前記サーバが、発射体の発射パラメータであって、前記クライアントが取得したユーザ操作コマンドに基づいて決定される発射パラメータを前記クライアントから受信するステップと、
前記サーバが、前記発射パラメータに基づいて前記発射体の軌道を計算するステップと、
前記サーバが、前記クライアントが前記発射体の前記軌道に基づいて前記発射体の発射を表示するように、前記発射体の前記軌道を前記クライアントに送信するステップと、
を含む、不正防止方法。
【請求項２】
前記サーバが、ゲームマップの地形データと、前記発射体による穴のマップデータとを記憶するステップと、
前記サーバが、前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとに基づいて、前記発射体の地形衝突パラメータを計算するステップと、
前記サーバが、前記クライアントが前記地形衝突パラメータに基づいて前記発射体の地形への影響を表示するように、前記地形衝突パラメータを前記クライアントに送信するステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ゲームマップの地形データと前記発射体による穴のマップデータとを記憶するステップは、
地形を有するピクセルを１と設定し、地形を有さないピクセルを０と設定して、前記サーバが、前記ゲームマップの各ピクセルをビットとして記憶するステップと、
穴を開ける必要がある地形を表すビットを０と設定し、穴を開ける必要のない地形を表すビットを１と設定して、前記サーバが、前記発射体による前記穴のマップデータを記憶するステップとを含み、
前記サーバが、前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとに基づいて、前記発射体の前記地形衝突パラメータを計算するステップは、
前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとのビット単位の論理ＡＮＤ演算を行うステップを含み、
前記発射体の影響は、前記地形の破壊を含む、請求項２に記載の方法。
【請求項４】
前記ゲームマップの地形データと前記発射体による穴のマップデータとを記憶するステップは、
地形を有するピクセルを１に設定し、地形を有さないピクセルを０に設定して、前記サーバが、前記ゲームマップの各ピクセルをビットとして記憶するステップと、
埋める必要のある地形を表すビットを１に設定し、埋める必要のない地形を表すビットを０に設定して、前記サーバが、前記発射体による前記穴のマップデータを記憶するステップとを含み、
前記サーバが、前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータに基づいて、前記発射体の前記地形衝突パラメータを計算するステップは、
前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとのビット単位の論理ＯＲ演算を行うステップを含み、
前記発射体の影響は、前記地形を埋めることを含む、請求項２に記載の方法。
【請求項５】
前記発射パラメータに基づいて前記発射体の前記軌道を計算するステップは、 
前記発射体の動きに関わる力を計算するステップと、 
前記発射体の初期状態を設定するステップと、
前記初期状態と前記発射体の動きに関わる前記力とに基づいて、積分によって、前記発射体の軌道の座標を計算するステップと、
をさらに含む、請求項１に記載の方法。
【請求項６】
前記発射体の動きに関わる力を計算するステップは、
シーンの予め設定した空気抵抗係数と前記発射体の予め設定した空気抵抗係数とに基づいて、前記発射体に適用される空気抵抗を計算するステップと、
シーンの予め設定した風力と前記発射体の予め設定した風抵抗係数とに基づいて、前記発射体に適用される風力を計算するステップと、
シーンの予め設定した重力加速度と前記発射体の予め設定した重力加速度係数とに基づいて、重力加速度を計算するステップと、
前記発射体の予め設定した質量と前記計算した重力加速度とに基づいて、前記発射体の重力を計算するステップと、
をさらに含む、請求項５に記載の方法。
【請求項７】
クライアントと、前記クライアントにインターネットを介して接続するサーバとを含む、オンラインゲームの不正防止システムであって、
前記クライアントは、 
ユーザ操作コマンドを取得し、
前記ユーザ操作コマンドに基づいて、発射体の発射パラメータを決定し、
前記発射パラメータを前記サーバに送信し、
前記サーバから受信した前記発射体の軌道に基づいて、前記発射体の発射を表示するように構成され、
前記サーバは、 
前記発射パラメータに基づいて、前記発射体の前記軌道を計算し、
前記発射体の前記軌道を前記クライアントに送信するように構成される、
オンラインゲームの不正防止システム。
【請求項８】
前記サーバは、
ゲームマップの地形データと、前記発射体による穴のマップデータとを記憶し、
前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとに基づいて、前記発射体の地形への地形衝突パラメータを計算し、
前記地形衝突パラメータを前記クライアントに送信するように、さらに構成され、
前記クライアントは、前記地形衝突パラメータに基づいて、前記地形への前記発射体の影響を表示するように、さらに構成される、請求項７に記載のシステム。
【請求項９】
前記サーバは、 
地形を有するピクセルを１に設定し、地形を有さないピクセルを０に設定して、前記ゲームマップの各ピクセルをビットとして記憶し、
穴を開ける必要がある地形を表すビットを０に設定し、穴を開ける必要のない地形を表すビットを１に設定して、前記発射体による前記穴のマップデータを記憶し、
前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとのビット単位の論理ＡＮＤ演算を行って、前記地形衝突パラメータを取得するように、さらに構成され、
前記クライアントは、前記地形衝突パラメータに基づいて、前記発射体による前記地形を減じる影響を表示するようにさらに構成される、請求項８に記載のシステム。
【請求項１０】
前記サーバは、 
地形を有するピクセルを１に設定し、地形を有さないピクセルを０に設定して、前記ゲームマップの各ピクセルをビットとして記憶し、
埋める必要のある地形を表すビットを１に設定し、埋める必要のない地形を表すビットを０に設定して、前記発射体による前記穴のマップデータを記憶し、
前記ゲームマップの前記地形データと前記発射体による前記穴のマップデータとのビット単位の論理ＯＲ演算を行って、前記地形衝突パラメータを取得するように、さらに構成され、
前記クライアントは、前記地形衝突パラメータに基づいて、前記発射体による前記地形を埋める影響を表示するように、さらに構成される、請求項８に記載のシステム。
【請求項１１】
前記サーバは、
前記発射体の動きに関わる力を計算し、
前記発射体の初期状態を設定し、
前記初期状態と、前記発射体の動きに関わる前記力とに基づいて、積分によって、前記発射体の軌道の座標を計算するように、さらに構成される、請求項７に記載のシステム。
【請求項１２】
前記サーバは、
シーンの予め設定した空気抵抗係数と前記発射体の予め設定した空気抵抗係数とに基づいて、前記発射体に適用される空気抵抗を計算し、
シーンの予め設定した風力と前記発射体の予め設定した風抵抗係数とに基づいて、前記発射体に適用される風力を計算し、
シーンの予め設定した重力加速度と前記発射体の予め設定した重力加速度係数とに基づいて、重力加速度を計算し、
前記発射体の予め設定した質量と前記計算した重力加速度とに基づいて、前記発射体の重力を計算するように、さらに構成される、請求項１１に記載のシステム。
【請求項１３】
オンラインゲームのサーバであって、
クライアントから発射体の発射パラメータを受信し、
前記発射パラメータに基づいて、前記発射体の軌道を計算し、
前記発射体の前記軌道を前記クライアントに送信するように構成されるサーバ。
【請求項１４】
ゲームマップの地形データと、前記発射体による穴のマップデータとを記憶し、
前記ゲームマップの前記地形データと、前記発射体による前記穴のマップデータとに基づいて、前記発射体の地形衝突パラメータを計算し、
前記地形衝突パラメータを前記クライアントに送信するようにさらに構成される請求項１３に記載のサーバ。
【国際調査報告】
2015528317.tif 000013
2015528317.tif 000014