2
マルチプレイヤーリアルタイムゲームで交換するデータは何ですか?
私は趣味のプログラマーであり、現在、マルチクラフトセッションでstarcraft 2のようなリアルタイムゲームでどのデータが交換されるのか知りたいです。たくさんの検索を行いました。私はgafferongames.comが検討すべき問題の非常に良い概要を提供しているのを見つけました。 Glennの記事とコメントでは、UDP over TCPを使用する非常に強力な例を示していますが、SC2は明らかにTCPを使用しています。グリーンをQouteするには、 ゲームにTCPを使用する場合の問題は、Webブラウザーや電子メールや他のほとんどのアプリケーションとは異なり、マルチプレイヤーゲームのパケット配信にリアルタイム要件があることです。ゲームの多くの部分、たとえばプレーヤーの入力やキャラクターの位置では、1秒前に何が起こったかは関係ありません。最新のデータのみに関心があります。 したがって、彼の発言から、彼のアプローチは各フレームのすべてのユニットの完全なゲーム状態を送信することだと思います。サーバーが現在のフレームでプレイヤー入力を受信しない場合、それはそのプレイヤーの幸運です。God of War:Acensionでは、彼はリードネットワーク開発者であり、これはかなりうまくいくと思います。 SC2の場合、再生機能があるため、基になるエンジンは確定的な固定タイムステップの「ユーザー入力再生マシン」であり、交換されるデータはプレーヤー入力のみです。したがって、グレンの発言はSC2とはまったく無関係です。プレーヤーの入力は重要であり、入力シーケンスはさらに重要です。SC2が200ユニット以上のゲーム状態を30〜60 FPSで送信するのは現実的ではないと思います。 質問:私は間違っている可能性がありますが、2種類のデータを特定しようとしました。他のテクニックは何ですか?あなたがするなら、ゲームをqouteするのが良いでしょう。 編集:スタークラフトネットワーキングモデルに関するこのリンクを見つけました