Amazon GameLift ServersFlexMatch の仕組み - Amazon GameLift Servers

Amazon GameLift ServersFlexMatch の仕組み

このトピックでは、Amazon GameLift Servers FlexMatch サービスの概要を紹介し、FlexMatch システムの主要コンポーネントとそれらの相互作用について説明します。

Amazon GameLift Servers は、FlexMatch マネージドホスティングを利用するゲームや、他のホスティングソリューションを利用するゲームの両方で使用できます。Amazon GameLift Servers 上でホストされるゲーム (Amazon GameLift Servers Realtime を含む) は、統合された Amazon GameLift Servers サービスを使用して、利用可能なゲームサーバーを自動的に検出し、マッチのゲームセッションを開始します。Amazon GameLift Servers FleetIQ を含め、FlexMatch をスタンドアロンサービスとして利用するゲームは、既存のホスティングシステムと連携して、ホスティングリソースの割り当てやマッチのゲームセッションの開始を行う必要があります。

ゲーム向けに FlexMatch を設定する詳細な手順については、「FlexMatch の開始方法」を参照してください。

マッチメーキングコンポーネント

FlexMatch マッチメーキングシステムには、以下のいずれか、またはすべてのコンポーネントが含まれます。

Amazon GameLift Servers コンポーネント

これらは、FlexMatch サービスがゲームのマッチメーキングをどのように実行するかを管理するAmazon GameLift Servers リソースです。これらは、コンソールや AWS CLI などの Amazon GameLift Servers ツールを使用して作成および管理するか、あるいは AWS SDK for Amazon GameLift Servers を使用してプログラムによって作成および管理できます。

  • FlexMatch マッチメーキング設定 (マッチメーカーとも呼ばれます) — マッチメーカーとは、ゲームのマッチメーキングプロセスをカスタマイズする設定値のセットです。ゲームには、複数のマッチメーカーがあり、それぞれが異なるゲームモードまたはエクスペリエンスに応じて構成されます。ゲームが FlexMatch にマッチメーキングリクエストを送信するときに、使用するマッチメーカーを指定します。

  • FlexMatch マッチメーキングルールセット - ルールセットには、プレイヤーの潜在的なマッチを評価し、承認または拒否するために必要なすべての情報が含まれています。ルールセットは、試合のチーム構造を定義し、評価に使用されるプレーヤー属性を宣言し、受け入れ可能な試合の条件を記述するルールを提供します。ルールは、個別のプレイヤー、チーム、または試合全体に適用できます。例えば、ルールによって、試合内のすべてのプレイヤーが同じゲームマップを選択することを要求したり、すべてのチームが同程度のプレイヤースキル平均を有していることを要求する場合があります。

  • Amazon GameLift Servers ゲームセッション キュー (Amazon GameLift Servers マネージドホスティング専用のFlexMatch 向け) — ゲームセッションキューでは、利用可能なホストリソースを検索し、試合の新しいゲームセッションをスタートします。キューの設定は、Amazon GameLift Servers が利用可能なホスティングリソースをどこで探すか、そしてマッチに最適なホストをどのように選択するかを決定します。

カスタムコンポーネント

以下のコンポーネントは、ゲームのアーキテクチャに基づいて実装する必要がある、完全な FlexMatch システムに必要な機能を網羅しています。

  • マッチメーキング用のプレイヤーインターフェース - このインターフェースにより、プレイヤーは試合に参加できます。少なくとも、クライアントマッチメーキングサービスコンポーネントを通じてマッチメーキングリクエストを開始し、マッチメーキングプロセスに必要なスキルレベルやレイテンシー データなどのプレイヤー固有のデータを提供します。

    注記

    ベストプラクティスとして、FlexMatch サービスとの通信はゲームクライアントからではなく、バックエンドサービスを通じて行うべきです。

  • クライアントマッチメーキングサービス - このサービスは、プレイヤーインターフェースからのプレイヤー参加リクエストを受け取り、マッチメーキングリクエストを生成して FlexMatch サービスに送信します。処理中のリクエストについては、マッチメーキングイベントをモニタリングし、マッチメーキングステータスを追跡し、必要に応じてアクションを実行します。ゲームでのゲームセッションホスティングの管理方法によっては、このサービスはゲームセッションの接続情報をプレイヤーに返す場合があります。このコンポーネントは、AWS SDK と Amazon GameLift Servers API を使用して、FlexMatch サービスと通信します。

  • マッチプレースメントサービス (スタンドアロンサービスとしての FlexMatch の場合のみ) — このコンポーネントは、既存のゲームホスティングシステムと連携して、利用可能なホスティングリソースを見つけ、試合の新しいゲームセッションをスタートします。コンポーネントは、マッチメーキング結果を取得し、新しいゲームセッションのスタートに必要な情報 (試合内のすべてのプレイヤーのプレイヤー ID、属性、チーム割り当てなど) を抽出する必要があります。