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