1

現在、シンプルな MMORPG の構築を検討しています。

アイデアは、.NET サーバーとダウンロード可能なクライアント アプリを用意することです。

クライアントとサーバーのやり取りを整理する最も簡単で効率的な方法は何ですか?

私は Web サービスを考えましたが、クライアントが多くのゲーム アクション (移動、アイテムのピックアップ、他のプレイヤーへの攻撃など) をすばやく実行する必要がある限り、かなり非効率に見えます。

カスタム通信プロトコルの作成は非常に複雑な作業です。

既製のソリューションはありますか?

4

1 に答える 1

1

私はゲーム用の通信プロトコルの開発経験があまりありませんが、ここでしばらく回答が得られなかったので、意見を述べさせていただきます。

通信プロトコルの選択

次の 2 つの通信方法を組み合わせることができると思います。

  • 迅速に受信する必要があり、頻繁に送信する情報にはUDPを使用するため、1 つのパケットの損失は問題になりません。UDP を使用して、次のような情報を送信できます。 アニメーションの動きのプレーヤーの位置
  • 拾ったオブジェクト、プレイヤーが他のプレイヤーにぶつかる、クエストの開始/完了など、重要で確実に受信する必要がある情報のTCP 。

送信するデータの選択

覚えておくべきもう 1 つの重要なことは、最小量のデータを送信することです。したがって、プレーヤー オブジェクト全体をシリアル化するよりも、プレーヤー位置の X;Y のみを送信します ;)。

通信 API の設計とサーバーとクライアント間の責任の分割は、ゲームの種類や安全性とパフォーマンスなど、いくつかの要素に依存する可能性があります。より多くの計算を行い、より多くの責任をクライアント側に置くと、サーバーのパフォーマンスが向上する可能性がありますが、サーバーの安全性が低下します。誰かが不正行為を試みる可能性が高くなるためです)。

開始するためのサンプル リンク:

于 2012-05-07T18:07:27.783 に答える