0

ネットワーク小惑星ゲームのプロトコルを開発しています。最初のバージョンでは、各プレイヤーがスクロールする世界で敵を撃つ船を持つことができます。後で私は岩、多くの岩を追加します。

UDPの上にプロトコルを実装することは簡単ではないようですが、UDPは間違いなくリアルタイムゲームに参加する方法です。私はゲームのネットワーキングに関するGaffersの記事を研究したので、UDPに加えて以下を実装する必要があると思います。

  • 信頼性(確認応答を送信して特定のパケットが確実に到着するようにします。これは、確認応答が確実に到着することも意味します)。
  • 推奨されるUDPパケットサイズよりも大きいパケットの断片化と再構成。
  • 死んだクライアントの検出。

何か大きなことを忘れましたか?

4

1 に答える 1

1

問題は、単純に TCP / ストリーム ソケット機能を再発明することになるのでしょうか? ACK/NAK、パケットの順序付けと再構成、およびエンドポイントの整合性について検討し始めると、本質的に車輪の再発明になります。それだけでなく、カーネルによって提供される広範なパスの最適化とメモリ管理戦略なしで、ユーザー空間でそれを行っています。UDP が間違った選択だと言っているわけではありませんが、Q3 エンジンなどのマルチプレイヤー/ネットワーク コードのソースを見てください。ペイロードの内容と冗長性に大きく依存します。つまり、フレーム/パケットをドロップする余裕はありますか?

于 2012-04-24T15:29:28.630 に答える