

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon GameLift Servers FlexMatch とは
<a name="match-intro"></a>

Amazon GameLift Servers FlexMatch は、マルチプレイヤー ゲーム用のカスタマイズ可能なマッチメーキングサービスです。FlexMatch を使用すると、ゲームのマルチプレイヤーによる対戦がどのように見えるかを定義するカスタムルールセットを構築し、各対戦で互換性のあるプレイヤーを評価して選択する方法を決定できます。ゲームのニーズに合わせてマッチメーキングアルゴリズムの主要な側面をファインチューニングすることもできます。

FlexMatch をスタンドアロンのマッチメーキングサービスとして使用したり、Amazon GameLift Servers ゲームホスティングソリューションと統合したりできます。例えば、ピアツーピアアーキテクチャのゲームや、他のクラウドコンピューティングソリューションを使用するゲームでは、FlexMatch をスタンドアロン機能として実装できます。または、Amazon GameLift Serversマネージド EC2 またはマネージドコンテナホスティング、または Amazon GameLift Servers Anywhere によるオンプレミスホスティングに FlexMatchを追加することもできます。このガイドでは、特定のシナリオに対する FlexMatch マッチメーキングシステムの構築方法について詳述します。

FlexMatch は、ゲームの要件に応じてマッチメーキングの優先順位を設定する柔軟性を提供します。例えば、次のオペレーションを実行できます。
+ 試合のスピードとクオリティのバランスを見つけましょう。マッチルールを設定して、十分に良いマッチを素早く見つけたり、最適なプレイヤーエクスペリエンスのためにプレイヤーが最適なマッチを見つけるのに少し長く待たせます。
+ よくマッチした選手やよくマッチしたチームに基づいて試合を行います。スキルや経験など、すべてのプレイヤーがよく似た特性を持つ対戦を作成します。または、各チームの特性を組み合わせて共通の基準を満たすような対戦を組みます。
+ プレイヤーのレイテンシーがどのようにマッチメーキングに影響するかを優先します。すべてのプレイヤーに対してハードな制限をかけるのか、または対戦者全員が似たようなレイテンシーであれば、より高いレイテンシーを許容するかを決定します。

**FlexMatch の作業をスタートする準備はできましたか？**  
FlexMatch でゲームを起動して実行するためのステップバイステップのガイダンスについては、以下のトピックを参照してください。  
[ロードマップ: Amazon GameLift Servers ホスティングソリューションにマッチメーキングを追加する](match-tasks.md)
[ロードマップ: を使用してスタンドアロンマッチメーキングソリューションを作成する FlexMatch](match-tasks-safm.md)

## FlexMatch の主な特徴
<a name="match-intro-features"></a>

次の機能は、FlexMatch をスタンドアロンサービスとして、または FlexMatch ゲームホスティングで使用するかどうかにかかわらず、すべての Amazon GameLift Servers シナリオで使用できます。
+ **[Customizable player matching.]**（カスタマイズ可能なプレイヤーマッチング。） プレイヤーに提供するすべてのゲームモードに合わせてマッチメーカーをデザインして構築しましょう。キープレイヤー属性 (スキルレベルやロールなど) と、ゲームにおいてよいプレイヤーマッチングを形成するための地理的なレイテンシー データを評価するためのカスタムルールを構築します。
+ **[Latency-based matching]**（レイテンシーに基づくマッチング） プレイヤーのレイテンシー データを提供し、試合中のプレイヤーが同様の応答時間を持つことを要求する対戦ルールを作成します。この特徴は、プレイヤーのマッチメーキングプールが複数の地理的地域にまたがる場合に便利です。
+ **最大 200 人のプレイヤーの試合規模のサポート。**ゲーム用にカスタマイズされた対戦ルールを使用して、最大 40 人のプレイヤーの試合を作成します。合理化されたカスタムマッチングプロセスを使用して、プレイヤー待ち時間を管理しやすくするマッチングプロセスを使用して、最大200人のプレーヤーの試合を作成します。
+ **プレイヤーの承諾。**試合を確定してゲームセッションを開始する前に、提案された試合へのオプトインをプレイヤーに要求します。この特徴を使い、試合の新しいゲームセッションを作成する前に、独自の承諾ワークフローを開始し、FlexMatch プレイヤーの反応を報告します。すべてのプレイヤーがマッチを受け入れるわけではない場合、提案されたマッチは失敗し、承諾したプレイヤーは自動的にマッチメーキングプールに戻ります。
+ **プレイヤーパーティのサポート。**同じチームでプレイすることを希望するプレイヤーのグループに対してマッチングを生成します。FlexMatch を使って、マッチングを満たす追加のプレイヤーを必要に応じて見つけます。
+ **拡張可能なマッチングルール。**成功した試合を見つけることなく一定の時間が経過すると、徐々に試合の要件を緩和します。プレイヤーがより迅速にプレイ可能なゲームに参加できるように、ルール拡張によって最初のマッチのルールを緩和する場所と時期を決めることができます。
+ **バックフィルの一致。**既存のゲームセッションの空のプレイヤースロットを、最適な新しいプレイヤーで満たします。新しいプレイヤーをリクエストするタイミングと方法をカスタマイズし、同じカスタムマッチルールを使用して追加のプレイヤーを探します。

## FlexMatch Amazon GameLift Servers ホスティングを使用する
<a name="match-intro-hosting"></a>

FlexMatch でホスティングされているゲームの場合、Amazon GameLift Servers は次の追加機能を提供します。これには、カスタムゲームサーバーまたは Amazon GameLift Servers Realtimeを含むゲームが含まれます。
+ **ゲームセッションの配置。**試合が正常に行われた場合、FlexMatch は自動的に Amazon GameLift Servers から新しいゲームセッションの配置を要求します。マッチメーキング中に生成されたデータ (プレイヤー ID やチームの割り当てなど) がゲームサーバーに提供され、FlexMatch その情報を使用してマッチのゲームセッションを開始できます。試合中のプレイヤーが経験するレイテンシーを最小限に抑えるため、Amazon GameLift Servers でのゲームセッションプレイスメントでは、地域プレイヤーのレイテンシーデータも使用できます。
+ **自動的な試合のバックフィル。**この機能を有効にすると、FlexMatch は、新しいゲームセッションが未入力のプレイヤースロットでスタートするときに、自動的にマッチのバックフィルリクエストを送信します。マッチメーキングシステムは最低限のプレイヤー数でゲームセッションプレイスメントプロセスを開始し、残りのスロットをすばやく埋めます。自動バックフィルを使って、マッチしたゲームセッションから脱落したプレイヤーを置き換えることはできません。

Amazon Elastic Compute Cloud (Amazon EC2) リソースでホストされているゲームで Amazon GameLift Servers FleetIQ を使用する場合、スタンドアロンサービスとして FlexMatch を実装します。

## Amazon GameLift Servers FlexMatch の料金
<a name="match-intro-pricing"></a>

Amazon GameLift Servers では、インスタンスについては使用時間ごとに課金され、帯域幅については転送されたデータ量によって課金されます。Amazon GameLift Servers でゲームをホストする場合、FlexMatch の使用料は Amazon GameLift Servers の料金に含まれます。ゲームを別のサーバーソリューションでホストする場合、FlexMatch の使用は別途請求されます。Amazon GameLift Servers の課金および特定の料金の詳細な一覧については、「[Amazon GameLift Servers の料金](https://aws.amazon.com/gamelift/servers/pricing)」を参照してください。

Amazon GameLift Servers でのゲームのホスティングまたはマッチメーキングのコストの計算、または [AWS 料金見積りツール](https://calculator.aws/#/createCalculator/GameLift) の使用方法については、「[Amazon GameLift Servers 価格見積もりの生成](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/gamelift-calculator.html)」を参照してください。

# Amazon GameLift Servers FlexMatch の仕組み
<a name="gamelift-match"></a>

このトピックでは、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 の開始方法](match-getting-started.md)」を参照してください。

## マッチメーキングコンポーネント
<a name="gamelift-match-components"></a>

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、属性、チーム割り当てなど) を抽出する必要があります。

# FlexMatch マッチメーキングプロセス
<a name="gamelift-match-howitworks"></a>

このトピックでは、ベーシックなマッチメーキングシナリオと、さまざまなゲームコンポーネントと FlexMatch サービス間の相互作用について説明します。

**ステップ 1: プレイヤーのマッチメーキングをリクエストする**  
ゲームクライアントを使用しているプレイヤーが「ゲームに参加」ボタンをクリックします。このアクションにより、クライアントのマッチメーキングサービスが FlexMatch にマッチメーキングリクエストを送信します。リクエストは、リクエストを実行する際に使用する FlexMatch マッチメーカーを識別します。リクエストには、スキルレベル、プレイ設定、地理的なレイテンシー データなど、カスタムマッチメーカーが必要とするプレイヤー情報も含まれます。1 人のプレイヤーまたは複数のプレイヤーに対してマッチメーキングリクエストを行うことができます。

**ステップ 2: リクエストをマッチメーキングプールに追加する**  
FlexMatch がマッチメーキングリクエストを受信すると、マッチメーキングチケットを生成し、マッチメーカーのチケットプールに追加します。チケットは、試合が始まるか、それともマッチメーカーの制限時間に達するかまでプールに残ります。クライアントのマッチメーキングサービスには、チケットステータスの変更など、マッチメーキングイベントについて定期的に通知されます。

**ステップ 3: モデルを構築する**  
FlexMatch マッチメーカーは、プール内のすべてのチケットに対して次のプロセスを継続的に実行します。  

1. マッチメーカーはチケット年齢でプールをソートし、最も古いチケットから潜在的な試合の構築を開始します。

1. マッチメーカーは潜在的な試合に 2 番目のチケットを追加し、カスタムマッチメーキングルールに対して結果を評価します。潜在的な試合が評価に合格すると、チケットのプレイヤーはチームに割り当てられます。

1. マッチメーカーは次のチケットを順番に追加し、評価プロセスを繰り返します。すべてのプレイヤーのスロットがいっぱいになると、試合は準備完了です。
大規模な試合 (41 〜 200 人) のマッチメーキングでは、合理的な時間枠で試合を構築できるように、上記プロセスの修正バージョンを使用します。マッチメーカーは、各チケットを個別に評価する代わりに、事前にソートされたチケットプールを潜在的な試合に分割し、指定したプレイヤーの特性に基づいて各試合のバランスをとります。例えば、マッチメーカーが類似する低レイテンシーの場所に基づいてチケットを事前にソートし、試合後のバランシングを使用して、チームがプレイヤーのスキルで均等に試合するようにします。

**ステップ 4: マッチメーキングの結果を報告する**  
受け入れ可能な試合が見つかると、一致したすべてのチケットが更新され、一致したチケットごとに成功したマッチメーキングイベントが生成されます。  
+ スタンドアロンサービスとしての FlexMatch: ゲームはマッチメーキングイベントで試合結果を受け取ります。結果データには、マッチングしたすべてのプレイヤーとそのチームの割り当てのリストが含まれます。試合リクエストにプレイヤーのレイテンシー情報が含まれている場合、結果には試合に最適な地理的位置が示されます。
+ FlexMatch Amazon GameLift Serversホスティングソリューションを使用する: ゲームセッション配置のために、一致結果が Amazon GameLift Serversキューに自動的に渡されます。マッチメーカーは、ゲームセッションの配置に使用されるキューを決定します。

**ステップ 5: マッチ用のゲームセッションを開始する**  
提案された試合が正常に形成されると、新しいゲームセッションが開始されます。ゲームサーバーは、試合のゲームセッションを設定する際に、プレイヤー ID やチーム割り当てなどのマッチメーキング結果データを使用できます。  
+ スタンドアロンサービスとしての FlexMatch: カスタムマッチプレースメントサービスは、正常なマッチメーキングイベントから試合結果データを取得し、試合に使用可能なホスティングリソースを割り当てるために既存のゲームセッションプレースメントシステムに接続します。ホスティングリソースが見つかると、マッチプレースメントサービスは既存のホスティングシステムと調整して、新しいゲームセッションをスタートし、接続情報を取得します。
+ FlexMatch Amazon GameLift Serversホスティングソリューションを使用する: ゲームセッションキューは、マッチングに最適なゲームサーバーを見つけます。キューの構成方法に応じて、ゲームセッションを最低コストのリソースで配置し、プレイヤーのレイテンシーが低い場所 (プレイヤーのレイテンシーデータが提供されている場合) を配置しようとします。ゲームセッションが正常に配置されると、Amazon GameLift Servers サービスは、マッチメーキング結果やその他のオプションのゲームデータを渡して、新しいゲームセッションをスタートするようにゲームサーバーに要求します。

**ステップ 6: プレイヤーをマッチに接続する**  
ゲームセッションが開始されると、プレイヤーはセッションに接続し、チームの割り当てをクレームし、ゲームプレイを開始します。  
+ スタンドアロンサービスとしての FlexMatch: ゲームは既存のゲームセッション管理システムを使用して、接続情報をプレイヤーに返します。
+ FlexMatch Amazon GameLift Serversホスティングソリューションを使用する: ゲームセッションの配置が成功すると、 はマッチングされたすべてのチケットをゲームセッション接続情報とプレイヤーセッション ID でFlexMatch更新します。

# FlexMatch がサポートしている AWS リージョン
<a name="match-regions"></a>

Amazon GameLift Servers ホスティングソリューションで FlexMatchを使用している場合は、ゲームをホスティングしている任意の場所で、対戦するゲームセッションをホスティングできます。AWS リージョン の[完全なリストと Amazon GameLift Servers ホスティングのロケーションを参照してください。](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/gamelift-regions.html)