シューティング ゲームのサーバーはどのようにタイミングを処理できますか。
または、それらのほとんどで、プレーヤーが毎秒行うすべての詳細を確認し、両方のプレーヤーがクライアントでまったく同じ動きを見ますか? ゲームサーバーはどのようにしてこれらの動きをすべてのクライアント (プレーヤー) にまったく同時に送信することができますか?
シューティング ゲームのサーバーはどのようにタイミングを処理できますか。
または、それらのほとんどで、プレーヤーが毎秒行うすべての詳細を確認し、両方のプレーヤーがクライアントでまったく同じ動きを見ますか? ゲームサーバーはどのようにしてこれらの動きをすべてのクライアント (プレーヤー) にまったく同時に送信することができますか?
彼らはそれらをまったく同時に見ることはありません。
サーバーはショットがヒットしたかどうかを判断し、クライアントに更新を送信します。次に、クライアントは弾丸、血などを描画します。
そこにはタイミング ループがありますが、すべてのイベントが同期している必要はありません。これが、プレイヤーが高レイテンシーの下で飛び回るのを見る理由です。
彼らの観点からは、クライアントはスムーズに実行されていますが、待ち時間が原因で、クライアントは十分な速さで更新されていません。
ほとんどのパケットは、すべてが途切れ途切れに見えるほど大きな遅延で送信されます。クライアントが表示するものはすべて、パケットが同時に来ているように見せるために、遅延補正 (発射体、プレーヤーなどがフレーム間にある場所を予測する) を行います。