FlexMatchルールタイプ - Amazon GameLift

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

FlexMatchルールタイプ

バッチ距離ルール

batchDistance

バッチ距離ルールは 2 つの属性値の差を測定します。バッチディスタンスルールタイプは、マッチの規模が大きい場合と少ない場合の両方で使用できます。バッチ距離ルールには次の 2 種類があります。

  • 数値属性値を比較します。たとえば、このタイプのバッチ距離ルールでは、マッチに参加しているすべてのプレーヤーが互いに 2 つのスキルレベル以内にいることが求められる場合があります。このタイプでは、batchAttributeすべてのチケット間の最大距離を定義します。

  • 文字列の属性値を比較します。たとえば、このタイプのバッチ距離ルールでは、マッチに参加しているすべてのプレイヤーが同じゲームモードをリクエストする必要がある場合があります。このタイプでは、batchAttributeFlexMatchバッチの作成に使用する値を定義します。

バッチ距離ルールのプロパティ

  • batchAttribute— バッチの作成に使用されるプレイヤー属性値。

  • maxDistance— マッチが成功するまでの最大距離値。数値属性の比較に使用されます。

  • partyAggregation— 複数のプレイヤー(パーティ)FlexMatchのチケットの処理方法を決定する値。有効なオプションには、チケットのプレイヤーの最小値 (max)、最大値 (avg)、平均値 () が含まれます。minデフォルトは avg です。

{ "name":"SimilarSkillRatings", "description":"All players must have similar skill ratings", "type":"batchDistance", "batchAttribute":"SkillRating", "maxDistance":"500" }
{ "name":"SameGameMode", "description":"All players must have the same game mode", "type":"batchDistance", "batchAttribute":"GameMode" }

比較ルール

comparison

比較ルールは、プレイヤーの属性値を別の値と比較します。比較ルールには次の 2 種類があります。

  • 参考値と比較してください。たとえば、このタイプの比較ルールでは、マッチしたプレーヤーが一定以上のスキルレベルを持っていることが求められる場合があります。このタイプでは、プレーヤー属性、参照値、および比較演算を指定します。

  • プレイヤー間で比較してください。たとえば、このタイプの比較ルールでは、マッチに参加しているすべてのプレーヤーが異なるキャラクターを使用する必要がある場合があります。このタイプでは、プレイヤー属性と equal (=) または not-equal (!=) 比較演算のいずれかを指定します。参照値を指定しないでください。

注記

プレーヤーの属性を比較するには、バッチ距離ルールの方が効率的です。マッチメイキングのレイテンシーを減らすには、可能であればバッチ距離ルールを使用してください。

比較ルールのプロパティ

  • measurements— 比較するプレイヤーの属性値。

  • referenceValue— 測定値を比較して、一致する見込みがあるかどうかを調べる値。

  • operation— 測定値を参照値と比較する方法を決定する値。有効な操作には<、、<==!=>、などがあります>=

  • partyAggregation— 複数のプレイヤー(パーティ)FlexMatchのチケットの処理方法を決定する値。有効なオプションには、チケットのプレイヤーの最小値 (max)、最大値 (avg)、平均値 () が含まれます。minデフォルトは avg です。

距離ルール

distance

距離ルールは、プレイヤーのスキルレベル間の距離など、2 つの数値の差を測定します。たとえば、距離ルールでは、すべてのプレーヤーが少なくとも30時間ゲームをプレイしていることが求められる場合があります。

注記

プレーヤーの属性を比較するには、バッチ距離ルールの方が効率的です。マッチメイキングのレイテンシーを減らすには、可能であればバッチ距離ルールを使用してください。

距離ルールのプロパティ

  • measurements— 距離を測定するプレーヤー属性値。これは数値の属性でなければなりません。

  • referenceValue— マッチ候補の距離を測る基準となる数値。

  • minDistance/maxDistance— マッチが成功した場合の最小距離値または最大距離値。

  • partyAggregation— 複数のプレイヤー(パーティ)FlexMatchのチケットの処理方法を決定する値。有効なオプションには、チケットのプレイヤーの最小値 (max)、最大値 (avg)、平均値 () が含まれます。minデフォルトは avg です。

コレクションルール

collection

コレクションルールは、プレーヤーの属性値のグループをバッチ内の他のプレーヤーの属性値または参照値と比較します。コレクションには、複数のプレーヤーの属性値、文字列リストとしてのプレーヤー属性、またはその両方を含めることができます。たとえば、コレクションルールでは、チーム内のプレーヤーが選択したキャラクターを対象とする場合があります。その場合、そのルールでは、チームに特定のキャラクターが少なくとも1人いることが求められる場合があります。

収集ルールのプロパティ

  • measurements— 比較するプレイヤー属性値のコレクション。属性値は文字列リストでなければなりません。

  • referenceValue— 測定値を比較して一致するかどうかの判断に使用する値(または値の集まり)。

  • operation— 一連の測定値を比較する方法を決定する値。有効な操作には以下が含まれます。

    • intersection— このオペレーションは、すべてのプレイヤーのコレクションで同じ値の数を測定します。交差演算を使用するルールの例については、を参照してください例 4: 明示的な並べ替えを使用して最適なマッチングを見つける

    • contains— このオペレーションは、指定された参照値を含むプレイヤー属性コレクションの数を測定します。contains オペレーションを使用するルールの例については、を参照してください例 3: チームレベル要件とレイテンシーの制限を設定する

    • reference_intersection_count— この操作では、プレーヤー属性コレクション内のアイテムのうち、基準値コレクション内のアイテムと一致するアイテムの数を測定します。この操作を使用して、複数の異なるプレーヤー属性を比較できます。複数のプレイヤー属性コレクションを比較するルールの例については、を参照してください例 5: 複数のプレイヤー属性間の交差を見つける

  • minCount/maxCount— マッチが成功した場合の最小または最大カウント値。

  • partyAggregation— 複数のプレイヤー(パーティ)FlexMatchのチケットの処理方法を決定する値。unionこの値を使うと、パーティー内のすべてのプレイヤーのプレイヤー属性を組み合わせることができます。または、intersectionパーティーに共通するプレイヤー属性を使用することもできます。デフォルトは union です。

複合規則

compound

複合ルールでは、40 人以下のプレーヤーで論理的にマッチします。1 つのルールセットで複数の複合ルールを使用できます。複数の複合ルールを使用する場合、一致させるにはすべての複合ルールが満たされている必要があります。

拡張ルールを使用して複合ルールを拡張することはできませんが、基本ルールまたはサポートルールを拡張することはできます

複合ルールプロパティ

  • statement— 個々のルールを組み合わせて複合ルールを形成するために使用されるロジック。このプロパティで指定するルールは、ルールセットで以前に定義されている必要があります。batchDistance複合ルールではルールを使用できません。

    このプロパティは以下の論理演算子をサポートします。

    • and— 指定された 2 つの引数が当てはまる場合、この式は true になります。

    • or— 指定された 2 つの引数のいずれかが当てはまる場合、この式は true になります。

    • not— 式内の引数の結果を逆にします。

    • xor— 引数のうち 1 つだけが当てはまる場合、式は真です。

次の例では、選択したゲームモードに基づいて、さまざまなスキルレベルのプレイヤーをマッチングします。

{ "name": "CompoundRuleExample", "type": "compound", "statement": "or(and(SeriousPlayers, VeryCloseSkill), and(CasualPlayers, SomewhatCloseSkill))" }

レイテンシールール

latency

レイテンシールールは、ロケーションごとにプレイヤーのレイテンシーを測定します。レイテンシルールでは、レイテンシが最大値を超えるロケーションは無視されます。レイテンシールールで許可されるには、プレーヤーのレイテンシー値が少なくとも 1 か所で最大値を下回っている必要があります。maxLatencyプロパティを指定することで、一致率が高い場合にこのルールタイプを使用できます。

レイテンシールールのプロパティ

  • maxLatency— ロケーションの最大許容レイテンシー値。チケットにレイテンシーが最大値を下回るロケーションがない場合、そのチケットはレイテンシールールに一致しません。

  • maxDistance— 各チケットの待ち時間と距離参照値の間の最大値。

  • distanceReference— チケットのレイテンシーを比較するレイテンシー値。距離基準値の最大距離内にチケットがあると、マッチングが成功します。有効なオプションには、プレイヤーレイテンシーの最小値 (minavg) と平均 () があります。

  • partyAggregation— 複数のプレイヤー(パーティ)FlexMatchのチケットの処理方法を決定する値。有効なオプションには、チケットのプレイヤーの最小値 (max)、最大値 (avg)、平均値 () が含まれます。minデフォルトは avg です。

注記

キューを使用すると、レイテンシールールに一致しないリージョンにゲームセッションを配置できます。キューのレイテンシーポリシーの詳細については、「プレイヤーレイテンシーポリシーの作成」を参照してください。

絶対ソートルール

absoluteSort

絶対ソートルールでは、バッチに追加された最初のチケットと比較して、指定されたプレイヤー属性に基づいてマッチメーキングチケットのバッチをソートします。

絶対並べ替えルールのプロパティ

  • sortDirection—マッチメイキングチケットをソートする順序. 有効なオプションにはascending、およびが含まれますdescending

  • sortAttribute— チケットのソート基準となるプレイヤー属性。

  • mapKey— マップの場合、プレイヤー属性をソートするオプション。有効なオペレーションは以下のとおりです。

    • minValue— 最も低い値のキーが最初です。

    • maxValue— 最も値の大きいキーが最初です。

  • partyAggregation— 複数のプレイヤー(パーティ)FlexMatchのチケットの処理方法を決定する値。有効なオプションには、パーティー内のプレーヤーのすべてのプレーヤー属性の最小 (minmax)、最大 (avg) のプレーヤー属性、およびすべてのプレーヤー属性の平均 () が含まれます。デフォルトは avg です。

次のルール例では、プレイヤーをスキルレベル別にソートし、パーティーのスキルレベルを平均しています。

{ "name":"AbsoluteSortExample", "type":"absoluteSort", "sortDirection":"ascending", "sortAttribute":"skill", "partyAggregation":"avg" }

距離ソートルール

distanceSort

距離ソートルールは、指定されたプレイヤー属性と、バッチに追加された最初のチケットとの距離に基づいて、マッチメーキングチケットのバッチをソートします。

距離並べ替えルールのプロパティ

  • sortDirection—マッチメイキングチケットをソートする方向. 有効なオプションにはascending、およびが含まれますdescending

  • sortAttribute— チケットのソート基準となるプレイヤー属性。

  • mapKey— マップの場合、プレイヤー属性をソートするオプション。有効なオペレーションは以下のとおりです。

    • minValue— バッチに最初に追加されたチケットについて、最も低い値のキーを探します。

    • maxValue— バッチに最初に追加されたチケットについて、最も値の大きいキーを探します。

  • partyAggregation— 複数のプレイヤー(パーティ)FlexMatchのチケットの処理方法を決定する値。有効なオプションには、チケットのプレイヤーの最小値 (max)、最大値 (avg)、平均値 () が含まれます。minデフォルトは avg です。