1人のプレイヤーがホストし、他のプレイヤーが接続するネットワークマルチプレイヤーゲームを設計するとき、私が知っている2つの戦略があります。
- ホストプレーヤーのゲームをオーソリティにし、他のすべてのプレーヤーがダムクライアントとして現在のゲーム状態に追いつくようにします。コードでは、現在のプレーヤーがホストかどうかに応じて、多くの特別なケースが必要になります。
- 別のスレッドで非表示の専用サーバーを実行することにより、ホストを他の全員と同様にダムクライアントにします。専用サーバーが権限となり、ホストは他のユーザーと同様に(localhostを介して)接続します。
これらのそれぞれの利点/欠点は何ですか?最もよく使用されるのはどれですか(またはゲームのタイプ/サイズによって異なりますか)?
最初に説明するケースは、P2Pネットワーキングの1つの形式(1つの信頼できるクライアントを使用)であり、通常ははるかに複雑で、実装と保守が困難です。
—
akaltar