私は、Javaで書かれた物理ベースの競争力のあるマルチプレイヤーゲームを計画しています。これには、サーバーの負荷の理由からクライアント側で実行したい衝突検出と流体シミュレーションがたくさん含まれます。各プレイヤーは1台の車両を制御でき、他の車両からかなり独立してシミュレートできます。
マルチプレイヤービリヤードゲームの物理シミュレーション(サーバー側をシミュレート!)で受け入れられている答えは、私の場合は完全に実用的ではありません。ほんの数台の車両をシミュレートすると、ミッドレンジPCのリソースの多くを消費します。
サーバーが結果を他のクライアントにブロードキャストし、衝突を仲介して、クライアントに自分の車をシミュレートさせることを考えています。サーバーの予備のCPUを使用して時折物理監査を行うことにより、不正行為をある程度防ぐことができます。とにかく必要な状態を送信しているため、クライアントはいつ監査されているかわかりません。
あなたならどうしますか?このプロジェクトはただの楽しみのためなので、人がカンニングをしても何も失うことはありません。