これは私がよく見る質問です。ほとんどの人は、UDPはTCPよりもリアルタイムゲームの方が常に優れていると言います。私の理解では、UDPは気にしませんが、TCPは反対側がパケットを取得するまで何度もパケットを再送信しようとします。
私が読んだことの大部分は、UDPはどんなリアルタイムゲームにとっても必須であり、TCPはひどいということです。しかし、とにかく、ほとんどの人はUDPの上に何らかの形式のTCPを実装しているようです。そして、私たちはもう80年代ではなく、インターネットは今や非常に高速で信頼性が高いことを考えると、2つの違いは無視できると聞いています。
ここでの私の一般的な理解は間違っていますか?誰かが私のためにこれをクリアできますか?
t0
は、一度も受信されていないワールドステートを含むパケットを送信し、その後に新しいワールドステートを送信するt1
場合、クライアントが実際に最初のパッケージを受信するまで待つ必要がないことです。すでに廃止されています。
internet is now pretty fast and reliable
いいえ、ちがいます。帯域幅が劇的はい、増加しているが、レイテンシはまだかなり高いです。純粋なTCPでは、パケットスキッシングを行わない限り、サーバーティック時間が最大手頃なレイテンシーを超える必要があります。これは、UDPを介してクライアントで行うのが最適です。問題は、ゲーム内の一部の情報は信頼性が必要であり、その他の情報は高速である必要があることです。UDPの上のカスタムプロトコルは、それを可能にし、素敵なパッケージで必要なものすべてを提供する独自のプロトコルの束も可能にします。