マルチプレイヤーゲームのアーキテクチャについて読んでいます。
これまでのところ、私が見つけたほとんどの記事はクライアントサーバーモデルを扱っています。
p2pアーキテクチャを使用する場合の制限について教えてください。それを使用して実装できるゲームの「クラス」は何ですか(または、より一般的ですか)。どっち?そして、一般的に、クライアントサーバーモデルに対する主な違いと制限は何ですか。
マルチプレイヤーゲームのアーキテクチャについて読んでいます。
これまでのところ、私が見つけたほとんどの記事はクライアントサーバーモデルを扱っています。
p2pアーキテクチャを使用する場合の制限について教えてください。それを使用して実装できるゲームの「クラス」は何ですか(または、より一般的ですか)。どっち?そして、一般的に、クライアントサーバーモデルに対する主な違いと制限は何ですか。
回答:
これが私の2セントです。
P2P:
サーバークライアント:
平均的なインターネット接続がどんどん良くなっているので、P2Pは良い選択だと思います。将来的には、P2Pレイテンシはまったく問題にならないかもしれません。また、P2Pの多くは特定の実装に依存します。
P2Pをサーバークライアントと組み合わせるいくつかのアーキテクチャもあります。
ピアツーピアゲームの大きなリスクは、中立的なサーバーの形で中央の権限がなければ、不正行為を防止する方法がないことです。各クライアントは、必要に応じてゲームの結果を解釈できます。一部のゲームは、クライアントの1つをホストとして宣言し、彼を裁判官に任せますが、そのクライアントが不正行為者である場合、ゲーム全体の結果を決定します。
プレーヤーからの迅速な反応を必要とするすべてのゲームのように、低遅延と高帯域幅を必要とするゲームでは、ホストが高性能バックボーンのあるデータセンターに座っていない、コンシューマーグレードのインターネット接続を使用しているという問題もあります。接続。つまり、ユーザーエクスペリエンスが低下します。これは、より戦略志向の「遅い」ゲームではそれほど問題ではありません。
ピアツーピアマルチプレイヤーゲームの実装は簡単ではなく、現時点では適用できません。
あなたが抱えている問題は、どのピアも他のすべてのピアを認識していないため、各メッセージに複数のホップがあり、クライアントサーバーモデルと比較して待ち時間が長くなることです。詳細については、このペーパーを参照してください。
ラウンドベースのゲームは、待ち時間にあまり依存しないため、このようなプロトコルを簡単に使用できます。また、彼らは通常、セッションに少数のホストしかないため、他のすべてのプレーヤーにすべてのメッセージをブロードキャストできます。
ピアツーピアを使用する他のゲームは、ピアを動的に選択してゲーム(つまりCoD MW2)をホストするだけです。これにより、ホストが切断した場合にホストの移行などの問題が発生します。