2012-04-24 4 views
0

私のネットワークのためのプロトコルを開発しています小惑星ゲーム。最初のバージョンでは、各プレイヤーがスクロールワールドで対戦相手を撃ってもらうことができます。後で私は岩、多くの岩を追加します。UDPベースの小惑星ゲームのリストを行うには

UDPの上でプロトコルを実装することは些細なことではないようですが、UDPは確かにリアルタイムゲームに移行する方法です。私はゲームのためのネットワーク上のGaffers記事を研究しているので、私は、私はUDPの上に次のように実装する必要がありますと思う:。

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

メジャーアウトを残しましたか?

+0

どのように確認応答が届くようにしますか? – cnicutar

+0

ご注文の到着が気になりませんか? – Flexo

+0

@awoodlandメッセージの中には、注文が重要なものがあります。他のものでは、順序外のメッセージは破棄される。 – ScrollerBlaster

答えて

1

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

+0

の中でこれは非常に良い扱いです。いくつかのパケットでは、最新のもの失われたパケットまたは順序が狂ったパケットを更新し、無視する。特定のパケットの場合、それらは配信されなければなりません。私は車輪を再発明することでこれを実現します。これは趣味のことだからあまり気にしない。 – ScrollerBlaster

関連する問題