0

バックグラウンド

オンラインのハイスコア リストを使用するゲームの問題の 1 つは、それらがしばしば悪用される可能性があることです。ゲームは現在のスコアをサーバーに送信し、狡猾なユーザーはプロトコル/スキームを分析して偽のスコアを送信できます。そのため、一部のハイスコア リストが 999999 のスコアでトップになっています。

この問題の一般的な解決策は、何らかの方法でスコアを暗号化し、その上に偽のスコアを認識する他のメカニズムを配置することです。しかし、これを行ったとしても、スコアを送信するのはクライアントであり、クライアントはユーザーのコンピューターに存在し、リバース エンジニアリングされる可能性があります。

私の考え

私は、タスクの実行方法に関する指示 (およびこれらの指示がいつ実行されるか) を使用してプレーヤー/ロボットを構成するゲームを設計/考えています (完成させます。そうです :))。「Go」ボタンが押されると、ゲームは命令を実行します。最後に結果が得られ、成功した場合はスコアが得られます。

では、これはどうでしょうか。スコアを送信する代わりに、実際の命令がサーバーに送信され、そこで同じ実装を使用して実行されます。次に、サーバーがスコアを計算し、ユーザーをハイスコア リストに配置します。

質問

この考えを悪用して誤ったスコアを得る方法はありますか?

これはおそらく新しい考えではないことは理解しています。しかし、それが機能する場合、すべてのユーザー アクションを記録できる他のゲームにも拡張することは不可能ではありません。

4

2 に答える 2

1

人々は常にカンニングする方法を見つけますが、これは妥当な対抗手段のように思えます。クライアントから送信されたハイ スコアを記録するだけの場合よりも多くのリソースが必要になるため、意図したトラフィック レベルを考慮する必要があります。

しかし、余談ですが、このゲームは私の仕事 (機械に指示を与えて何らかのタスクを実行させる) に非常によく似ています。ただし、ハイスコアボードはありません(ただし、それは素晴らしいことです)。

于 2011-09-21T07:20:45.877 に答える
0

ロボット プログラムの動作がコンピュータの速度に依存しない限り、問題はありません。また、プログラムが非常に小さく、せいぜい数キロバイトである場合、問題なく動作します。私が見ることができる唯一のチート方法は、ワークスペースのクローンを作成し、プログラムを実行してロボットに最適なプログラムを見つけ、それを入れて提出したか、誰かが解決策を投稿し、人々がそれを使用したかどうかです。これらの問題はランダム化で解決できます。

(速度に依存するゲームの問題に関する注意。コンピューターがフル スピードで実行できない場合、ゲームが一様に遅くなっても問題ありませんが、物理タイム ステップがフレーム レートに依存する場合、ジャンプなどの問題が発生する可能性があります。高さはフレームレートによって異なります)

于 2011-09-21T07:26:17.377 に答える