私は、クライアント/サーバーゲーム内プロトコルの設計と最適化におけるレイテンシ補償方法と呼ばれるYahn Bernierの2001年の論文から改編されたマルチプレイヤーネットワーキングに関する Valveの記事を読んでいます。socket.ioを介してクライアントに接続されたnode.jsサーバーを使用してリアルタイムのマルチプレイヤーゲームを作成していますが、以下に詳述する原則に関していくつか質問があります。
エンティティ補間
[補間]は、サーバーの更新をバッファリングし、それらのギャップをスムーズに補間して再生することにより、これが通常もたらす不安定な動きを防ぎます。また、パケット損失によるグリッチから保護することもできます。
クライアント側の予測
予測とは、サーバーが確認するのを待たずにローカルプレーヤーのアクションの効果をクライアントが予測するという概念です。エンティティの予測状態は、一致または不一致が検出されるまで、サーバーコマンドが到着するたびにサーバーコマンドに対してテストされます。
遅れ補償
ラグ補正は、コマンドが送信されたときにプレーヤーが見たものを見るために、[ユーザー入力]を処理するときにプレーヤーの待ち時間を使用してサーバーが巻き戻し時間を使用するという概念です。遅延補償は、予測と組み合わせることで、ネットワークの遅延を攻撃者の観点からほぼ排除する程度まで抑えるのに役立ちます。
原則はUDPに適用されるようにTCPにも適用されますか?また、実装に違いはありますか?エンティティの内挿はパケット損失から保護する必要はないが、それについてはそれが必要であることがわかります。
UDPとNode.jsを使用して、サーバーとWebブラウザー間で通信することもできますか?
このペーパーは10年以上前のものであるため、これらの原則は現在も使用されていますか、または他の技術が登場していますか?
どんな助けでも大歓迎です。