ネットコード:予想される最大レイテンシとパケットロスの目標は何ですか?


7

ビデオゲームのネットコードを作成する場合、どのようなレイテンシターゲットとパケット損失率を設計しますか?

具体的には、現時点ではローカルネットワークでのみネットコードが機能しています。WANEMを使用してパケット損失と遅延をシミュレートする予定ですが、最大値と平均値に何を使用すればよいかわかりません。


1
私よりもネットワーキングの経験が豊富な人を期待していますが、1つ注意すべき点は、プレーヤーベースの予想される地理です。LANパーティーゲームのレイテンシ要件は、インターネットを介して8〜16人のランダムプレーヤーで実行されるものとは異なり、台湾から接続されるボストンでホストされているグローバルMMOとは異なります。

推測されたパラメータを使用したシミュレーションを使用する代わりに、2つ以上の実際のインターネット接続で試してみることをお勧めします。
Hendrik Brummermann、2010

@ Joe Wreschnigそれは私が私の地下室で浮気しているだけで、予想されるプレーヤーのベースはありません。何を目指すのが現実的な目標なのかと思っていたところです。
ストーンメタル

回答:


5

パケット損失は推測が困難ですが、インターネットのレイテンシはおそらく最大750ミリ秒まで計画する必要がありますが、大部分は500ミリ秒未満です。最大の外れ値は、オーストラリア<->米国のpingと衛星インターネットです。ターゲット市場によっては、それらを無視できるかもしれません。あなたがモバイルデバイスのために何かをしている場合、それはさらに予測不可能になる可能性があります。パケットが少ない場合のランダムな推測として、せいぜい1〜5%程度を計画することをお勧めします。通常、これよりもはるかに少なく(最悪の場合は0.1%以下)、通常は英国のみです->ピーク時の米国のリンク(英国のピーク)。パケット損失自体は問題ではありませんが、大西洋横断のレイテンシをTCP再送信と組み合わせて投入すると、接続が非常に不安定になり、ネットワークバッファの管理に問題が生じる可能性があります(これはファイル転送用でしたが、


1
私は専門家ではありませんが、通常はそれよりもはるかに悪いパケットロス率でテストします。最低でも10-20%。一度、私は誤って人工的なパケットロスを残し、90%のパケットロスのゲームをデモしました(完全に機能しました);)
Martin

まれに50%に達するケースもありますが、テストする価値はありません。私が覚えている最高の(最悪ですか?)は、ホンジュラスのジャングルの軍事基地(複数の建物のWi-Fiを使用していた(バックホールのために衛星を経由した))だと思います。レイテンシは約1000ミリ秒、パケット損失は50%です。一般に、ウィンドウ処理は通常、リンクが輻輳するとTCPが送信しすぎないようにするため、遅延のバンプが表示されるだけです。UDPは別の話ですが、最近のゲームではUDPを使用すべきではありません。
coderanger、2010

2
ゲームには常に UDPを使用しますが、それはあなたが作っているゲームの種類に大きく依存します!
Martin

いいえ、実際にはありません。UDPは、最近のゲームの場ではありません。あなたがNODELAYを設定しない限り、TCPは本当に頭がおかしいと思っているようです。
coderanger 2010

1
@coderangerレイテンシについてです。場合によっては、パケットが失われた場合に、ping時間全体を再送信するのを待ちたくないことがあります。失われたパケットを忘れて、とにかく次のパケットを送信したい場合があります。テンポの速いシューティングゲームでは100ミリ秒のレイテンシが顕著であり、TCPの信頼性が最大1秒のスパイクを引き起こす可能性があることを覚えておいてください。
user253751 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.