4

私は、Javaで書かれた物理ベースの競争力のあるマルチプレイヤーゲームを計画しています。これには、サーバーの負荷の理由からクライアント側で実行したい衝突検出と流体シミュレーションがたくさん含まれます。各プレイヤーは1台の車両を制御でき、他の車両からかなり独立してシミュレートできます。

マルチプレイヤービリヤードゲームの物理シミュレーション(サーバー側をシミュレート!)で受け入れられている答えは、私の場合は完全に実用的ではありません。ほんの数台の車両をシミュレートすると、ミッドレンジPCのリソースの多くを消費します。

サーバーが結果を他のクライアントにブロードキャストし、衝突を仲介して、クライアントに自分の車をシミュレートさせることを考えています。サーバーの予備のCPUを使用して時折物理監査を行うことにより、不正行為をある程度防ぐことができます。とにかく必要な状態を送信しているため、クライアントはいつ監査されているかわかりません。

あなたならどうしますか?このプロジェクトはただの楽しみのためなので、人がカンニングをしても何も失うことはありません。

4

1 に答える 1

1

あなたが言及した条件下で、サーバーの負荷を軽減するためにできることは、各クライアントに独自の車両と、間隔でランダムに変化する1つ以上のランダムな車両をシミュレートさせることです.

これにより、監査に必要なサーバー リソースの数を減らすことができ、監査をより頻繁に行うことができます。異なるプレイヤーから報告された数値に矛盾がある場合、サーバーは誰が不正行為を行っているか (監査対象者また​​は監査者) を確認できます。各プレイヤーの変数を 2 人以上の他のプレイヤーが計算し、無作為に選択し、十分な頻度で変更する場合、プレイヤーがチームを組んでチートを行う可能性を減らします。

Java (JVM) 環境でサーバーをコーディングしている場合、計算の分散に大いに役立つライブラリはAkkaです。

于 2013-01-02T07:25:02.513 に答える