ゲームクライアントへの FlexMatch の追加
このトピックでは、ゲームクライアントサービスに FlexMatch マッチメーキング機能を追加する方法について説明します。
ゲームクライアントがバックエンドのゲームサービスを通してゲームクライアントのマッチメーキングリクエストを行うことを強くお勧めします。Amazon GameLift Servers サービスとの通信にこの信頼できるソースを使用することで、ハッキングの試みや不正なプレイヤーデータからより簡単に保護できます。ゲームがセッションディレクトリサービスを使用している場合、これはマッチメーキングリクエストを処理するための優れたオプションです。Amazon GameLift Servers ホスティング FlexMatch およびスタンドアロンサービスとして Amazon GameLift Servers を使用する場合、サービスへのすべての呼び出しにバックエンドゲームサービスを使用することがベストプラクティスです。
Amazon GameLift Servers マネージドホスティングで FlexMatch を使用している場合も、別のホスティングソリューションでスタンドアロンサービスとして を使用している場合も、クライアント側の更新が必要です。AWS SDK の一部である Amazon GameLift Servers 用サービス API を使用して、次の機能を追加します。
-
1 人以上のプレイヤーのマッチメーキングのリクエストを準備します (必須)。マッチメーキングルールセットによっては、このリクエストでプレイヤー属性やレイテンシーなど、特定のプレイヤー固有のデータが必要になる場合があります。
-
マッチメーキングリクエストのステータスを追跡します (必須)。一般的に、このタスクではイベント通知を設定する必要があります。
-
プレイヤーによる試合案 (オプション) の承諾をリクエストします。この機能では、マッチングの詳細を表示し、マッチングを承認または拒否するには、プレイヤーとの追加のインタラクションが必要です。
-
ゲームセッション接続情報を取得して、ゲームに参加します (必須)。新しいマッチングのゲームセッションが開始されたら、ゲームセッションの接続情報を取得し、それを使用してゲームセッションに接続します。
前提条件となるクライアント側のタスク
ゲームにクライアント側の機能を追加する前に、以下のタスクを実行する必要があります。
-
AWS SDK をバックエンドサービスに追加します。バックエンドサービスは AWS SDK の一部である Amazon GameLift Servers API の機能を使用します。SDKの詳細と最新バージョンのダウンロード方法についての詳細はこちら、「Amazon GameLift Servers クライアントサービス用 AWS SDK」を参照してください。API の説明と機能については、「Amazon GameLift Servers FlexMatch API リファレンス (AWS SDK)」を参照してください。
-
マッチメーキングチケットシステムをセットアップします。すべてのマッチメーキングリクエストに一意のチケット ID を割り当てる必要があります。一意のチケット ID を生成し、それを新しいマッチリクエストに割り当てるメカニズムが必要です。チケット ID には、最大 128 文字の文字列形式を使用できます。
-
マッチメーカーに関する情報を収集します。マッチメーキング設定とルールセットから次の情報を取得します。
-
マッチメーキング設定リソースの名前。
-
ルールセットで定義されているプレイヤー属性のリスト。
-
-
プレイヤーデータを取得します。マッチメーキングリクエストに含める各プレイヤーの関連データを取得する方法を設定します。プレイヤー ID とプレイヤー属性値が必要です。ルールセットにレイテンシルールが含まれている場合、またはゲームセッション配置時にレイテンシデータを使用する場合は、プレイヤーがゲームに配置される可能性のある各地理的ロケーションのレイテンシデータを収集してください。正確なレイテンシー測定値を取得するには、Amazon GameLift Servers の UDP ping ビーコンを使用します。これらのエンドポイントを使用すると、プレイヤーデバイスと潜在的な各ホスティングロケーション間の実際の UDP ネットワークレイテンシーを測定できるため、ICMP ping を使用するよりも正確な配置決定を行うことができます。UDP ping ビーコンを使用してレイテンシーを測定する方法の詳細については、「UDP ping ビーコン」を参照してください。