Microsoft DirectX 8.0 (C++)

クライアント/サーバー トポロジ

クライアント/サーバー ゲームは、中央のサーバー コンピュータに接続された各プレーヤーのコンピュータによって構成される。4 人のプレーヤーによるクライアント/サーバー ゲームのトポロジを図解すると、次のようになる。

ゲームプレイは、各ユーザーのゲーム クライアントをサーバーと通信させることによって処理される。サーバーは、責任を持って、ほかのユーザーに情報を渡す。たとえば、あるユーザーが移動すると、メッセージがサーバーに送信される。するとサーバーは、ほかのプレーヤーにメッセージを送信して、ゲームの状態の変更を知らせる。サーバーには、いくつかの役割を割り当てることができる。

普通、クライアント/サーバー ゲームは、ユーザーのコンピュータ上に常駐するロビー クライアント アプリケーションによってアレンジされ、起動する。ロビー クライアントは、ゲームをホストしているコンピュータと同じリモート コンピュータ上で実行されているロビー サーバー アプリケーションへのリンクとして機能する。ゲームが起動すると、ゲーム サーバー アプリケーションがホストとなり、新しいユーザーへの参加許可などのタスクを処理する。

クライアント/サーバー ゲームには、いくつかの利点がある。

ただし、ピアツーピア ゲームは開発して出荷すれば実質上仕事が終わる。ゲーム クライアントはほとんど自己完結型である。クライアント/サーバー ゲームでは、通常のサポート サービスを提供する以外に、ユーザーに対してゲームの進行中もかかわることになる。また、ゲーム サーバー コンピュータや関連ソフトウェアと共に、すべてのメッセージ送信を処理するためのネットワーク リンクを、アプリケーションの製品寿命が続く限り、提供し、維持しなければならない。大量のデータを使用するマルチプレーヤー ゲームの場合、ほとんど、またはまったく休みなくサーバーを運用する必要があり、ユーザーのゲームプレイを中断するとユーザーを怒らせるというリスクもある。