私は小規模なマルチプレイヤー レーシング ゲームの開発を始めました。もちろん、Half Life、Quake、Unreal で使用されているすべてのプレイヤー予測、推測航法、ラグ補償技術を使用していますが、ゲーム内に数十台の AI 車も含める予定です。 .
最初は、ランダム シードをすべてのクライアントに単純に送信し、AI の位置などを計算することにしましたが、次の問題に達しました。
- すべてのクライアントは、AI 車を実行するためのシードを受け取ります
- クライアントは、視線内にいるプレーヤーの動きの更新のみを受け取ります
- プレイヤー A が NPC の車にぶつかる
- プレーヤー B がプレーヤー A のフレームに入る
プレイヤー B はプレイヤー A の動きを受信していないため、AI 車がまだ正常に動いていると想定し、プレイヤー A がそれらの車の 1 つに衝突したという事実を計算しません...
要するに、プレイヤーの影響を受けた AI ユニットを同期するにはどうすればよいでしょうか?