p2pマルチプレーヤーゲームとクライアントサーバーの制限[終了]


12

マルチプレイヤーゲームのアーキテクチャについて読んでいます。

これまでのところ、私が見つけたほとんどの記事はクライアントサーバーモデルを扱っています。

p2pアーキテクチャを使用する場合の制限について教えてください。それを使用して実装できるゲームの「クラス」は何ですか(または、より一般的ですか)。どっち?そして、一般的に、クライアントサーバーモデルに対する主な違いと制限は何ですか。



真のP2Pゲームの例としては、Gunz:The Duelをご覧ください。これは、マルチプレイヤーで、このためにハッキングに大きな問題があります。
fhyve 2017年

回答:


11

これが私の2セントです。

P2P

  • 長所:
    • 中央サーバーは不要です。これにより、サーバーがはるかに安価になり、低予算のインディーズゲームでより実行可能になります。
    • 非常に適切にスケーリングします(平均的なクライアントが帯域幅を処理できない特定の時点まで)。
    • データ配信に非常に適しています:ユーザーが作成したコンテンツが動的に同期されるゲーム(トレントなど)に適しています
    • より安定:サーバーに問題があり、誰もプレイできない(実装に依存する)ことは決して起こり得ません。
  • 短所:
    • 実装が難しい:サーバークライアントよりも、堅固なP2Pアーキテクチャを作成するのがはるかに難しい。
    • 信頼できるピアを指定しない限り、このようなシステムでの不正行為を防ぐことは非常に困難です(P2Pから適切にスケーリングすることの利点を妨げる)。
    • セキュリティを達成することは困難です。
    • クライアントのインターネット接続は、他の人にもゲームに影響を与える可能性があります。
    • 待ち時間は通常、はるかに長くなります(たとえば、LANネットワークから複数の人が参加するインターネットゲームに参加する場合は、より良い場合があります)。
    • ポート転送が必要な場合があります:インターネット経由のP2Pにはポート転送が必要ですが、技術的にすべての人がそれを実行できるとは限りません。さらに、ISPはポート転送を妨げる可能性があり、参入障壁を高めます。

サーバークライアント

  • 長所:
    • 実装が簡単:簡単です。
    • 適切に実装されている場合、非常に適切に拡張されます(作業を複数のサーバーに分散できる場合)。
    • 不正行為は簡単に回避できます(P2Pと比較して)。
    • 低レイテンシ:サーバーの接続が安定している場合、レイテンシは非常に低くなる可能性があります。
    • プレーヤーのインターネット接続が他人のゲームに影響を与えることはありません。
  • 短所:
    • サーバーの実行にはお金がかかります。無料のゲームには適していません(プレーヤーに専用サーバーをセットアップさせない限り、セキュリティ上の問題になる可能性があります)。
    • サーバーに問題がある場合、誰もが問題を抱えています。

平均的なインターネット接続がどんどん良くなっているので、P2Pは良い選択だと思います。将来的には、P2Pレイテンシはまったく問題にならないかもしれません。また、P2Pの多くは特定の実装に依存します。

P2Pをサーバークライアントと組み合わせるいくつかのアーキテクチャもあります。


P2P短所:マッチメイキング。LANゲームでない限り、仲間を見つける方法がわかりません。CS:たとえば、ドイツにいるプレイヤーとオーストラリアにいるプレイヤーがいる場合、レイテンシ低くなることはありません。それはまだ6年後の問題です。CS:実際にはそれほどお金かかりません。サーバーはかなり安くなります。また、Webプロキシを使用して自分のPCでゲームをホストすることから始めることもできます。
badunius

2

ピアツーピアゲームの大きなリスクは、中立的なサーバーの形で中央の権限がなければ、不正行為を防止する方法がないことです。各クライアントは、必要に応じてゲームの結果を解釈できます。一部のゲームは、クライアントの1つをホストとして宣言し、彼を裁判官に任せますが、そのクライアントが不正行為者である場合、ゲーム全体の結果を決定します。

プレーヤーからの迅速な反応を必要とするすべてのゲームのように、低遅延と高帯域幅を必要とするゲームでは、ホストが高性能バックボーンのあるデータセンターに座っていない、コンシューマーグレードのインターネット接続を使用しているという問題もあります。接続。つまり、ユーザーエクスペリエンスが低下します。これは、より戦略志向の「遅い」ゲームではそれほど問題ではありません。


コンセンサスモデルを使用すると、不正行為はクライアントサーバーモデルの場合よりも問題になりません。
Jeroen、2017年

1

ピアツーピアマルチプレイヤーゲームの実装は簡単ではなく、現時点では適用できません。

あなたが抱えている問題は、どのピアも他のすべてのピアを認識していないため、各メッセージに複数のホップがあり、クライアントサーバーモデルと比較して待ち時間が長くなることです。詳細については、このペーパーを参照してください。

ラウンドベースのゲームは、待ち時間にあまり依存しないため、このようなプロトコルを簡単に使用できます。また、彼らは通常、セッションに少数のホストしかないため、他のすべてのプレーヤーにすべてのメッセージをブロードキャストできます。

ピアツーピアを使用する他のゲームは、ピアを動的に選択してゲーム(つまりCoD MW2)をホストするだけです。これにより、ホストが切断した場合にホストの移行などの問題が発生します。


3
「現時点では該当しない」とはどういう意味ですか?ネットワークにP2Pを使用するゲームはたくさんあります。また、「どのピアも他のすべてのピアを認識していない」という言葉は間違っています。実際には、堅牢性を向上させるためにリレーをサポートする必要がありますが、特にピア数が少ない場合や、NATルーターが干渉していないLANの場合は、完全な全員から全員へのネットワークトポロジを構築することが完全に可能です。
Tapio

@Tapioもちろんゲーム用のp2pネットワークを構築することは可能ですが、レイテンシ、ユーザー数、またはそれが使用される環境の点で制限されます。そのため、ほとんどのゲームはp2pアプローチを使用していません。
Horstinator 2013

@Horstinator私はFPSゲームのためのP2Pを使用してゲームを知っている、それはしっかりいかなる待ち時間の問題もなく、50〜100人のプレイヤーをサポートしています(誰誰の心配のためにその呼ばれるドラマーの戦争)。
akaltar

@akaltarオープンソースですか?彼らがどうやってそれを見ているのか知りたいのですが。
Horstinator 2013

@Horstinator残念ですが、私の知る限りではそうではありません。フォーラムで作成者に質問することもできます(非常に小さなプロジェクトなので、誰かが応答する必要があります)。
akaltar 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.