FlexMatch ルールセットプロパティの定義 - Amazon GameLift

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

FlexMatch ルールセットプロパティの定義

このセクションでは、ルールセットスキーマ内の各プロパティを定義します。ルールセットの作成方法については、「FlexMatch ルールセットの構築」を参照してください。

name

ルールセットの説明ラベル この値は Amazon GameLift MatchmakingRuleSet リソースに割り当てられた名前には関連付けられていません。この値は、完了した試合を記述するマッチメーキングデータに含まれますが、Amazon GameLift プロセスでは使用されません。

許可される値: 文字列

必須? No

ruleLanguageVersion

使用されている FlexMatch プロパティ式言語のバージョン。

許可される値: 1.0

必須? Yes

playerAttributes

マッチメーキングリクエストに含まれ、マッチメーキングプロセスで使用されるプレイヤーデータの集合。また、マッチメーキングプロセスでデータが使用されていない場合でも、ゲームサーバーに渡されるマッチメーキングデータにプレイヤーデータを含めるように属性を宣言することもできます。

必須? No

name

マッチメーカーが使用するプレイヤー属性のユニークな名前。この名前は、マッチメーキングリクエストで参照されるプレイヤー属性名と一致する必要があります。

許可される値: 文字列

必須? Yes

type

プレイヤー属性値のデータ型。

許可される値:「string」 (文字列) 、「number」 (数値) 、「string_list」 (文字列リスト) 、「string_number_map」 (文字列番号マップ)

必須? Yes

default

マッチングリクエストをプレイヤーに提供しない場合、使用するデフォルト値。

許可された値:プレイヤー属性に許可される任意の値。

必須? No

algorithm

マッチメーキングプロセスをカスタマイズするためのオプションの構成設定。

必須? No

strategy

試合を構築するときに使用するメソッド。このプロパティが設定されていない場合、デフォルトの動作は「exhaustiveSearch」 (網羅的検索) です。

許可される値:

  • 「exhaustiveSearch」 (網羅的検索) — 標準的なマッチング方法。FlexMatch は、一連のカスタムマッチルールに基づいてプール内の他のチケットを評価することにより、バッチ内の最も古いチケットを中心に試合を形成します。この戦略は、40人以下のプレーヤーの試合に使用されます。この戦略を使用する場合、batchingPreference は「random」 (ランダム) または「sorted」 (ソート) のいずれかに設定する必要があります。

  • 「balanced」 (バランス) — 大きなマッチをすばやく形成するように最適化される方法 この戦略は、41から200人のプレーヤーの試合にのみ使用されます。チケットプールをあらかじめソートし、潜在的な試合を構築し、チームにプレーヤーを割り当てて、指定されたプレーヤー属性を使用して試合の各チームのバランスをとることで試合を形成します。たとえば、この戦略は、試合中の全チームの平均スキルレベルを均等化するために使用できます。この戦略を使用する場合、balancedAttributeを設定する必要があり、batchingPreferenceは「largestPopulation」 (最大人数) または「fastestRegion」 (最速リージョン) のいずれかに設定する必要があります。ほとんどのカスタムルールタイプは、この戦略では認識されません。

必須? Yes

batchingPreference

試合構築のチケットをグループ化する前に使用する事前ソート方法 チケットプールを事前にソートすると、特定の特性に基づいてチケットがまとめてバッチ処理され、最終試合のプレイヤー間で均一性が高まる傾向があります。

許可される値:

  • 「random」 (ランダム) — strategy =「exhaustiveSearch」 (網羅的検索) の場合のみ有効 事前ソートは行われません。プール内のチケットはランダムにバッチ処理されます。これは、網羅的検索戦略のデフォルトの動作です。

  • 「sorted」 (ソート) — strategy =「exhaustiveSearch」 (網羅的検索)の場合のみ有効。チケットプールは、sortbyAttributes に記載されているプレーヤー属性に基づいて事前にソートされています。

  • 「largestPopulation」 (最大人数) — strategy =「balanced」 (バランス) の場合のみ有効。チケットプールは、プレーヤーが許容可能なレイテンシー値を報告するリージョン別に事前にソートされています。これは、バランスのとれた戦略のデフォルトの動作です。

  • 「fastestRegion」 (最速リージョン) — strategy=「balanced」 (バランス) の場合のみ有効。チケットプールは、プレーヤーが許容可能なレイテンシー値を報告するリージョン別に事前にソートされています。結果の試合の完了には時間がかかりますが、すべてのプレイヤーのレイテンシーは低くなる傾向があります。

必須? Yes

balancedAttribute

バランスの取れた戦略で大規模対戦を構築する際に使用するプレイヤー属性の名前。

許可される値: playerAttributestype =「number」 (数字) で宣言された属性。

必須? はい、 strategy =「balaned」 (バランス) の場合。

sortByAttributes

バッチ処理前にチケットプールを事前ソートするときに使用するプレイヤー属性のリスト。このプロパティは、網羅的検索戦略で事前ソートする場合のみ使用されます。属性リストの順序によって、ソート順序が決まります。FlexMatch は、英数字と数値に標準のソート規則を使用します。

許可される値: playerAttributes で宣言された属性。

必須? はい、 batchingPreference =「sorted」 (ソート) の場合。

backfillPriority

バックフィルチケットを照合するための優先順位付け方法。このプロパティは、FlexMatch がバックフィルチケットをバッチで処理するタイミングを決定します。このプロパティは、網羅的検索戦略で事前ソートする場合のみ使用されます。このプロパティが設定されていない場合、デフォルトの動作は「normal」 (ノーマル) です。

許可される値:

  • 「normal」 (ノーマル) — チケットのリクエストタイプ (バックフィルまたは新規対戦) は、試合を形成する際に考慮されません。

  • 「high」 (ハイ) — チケットバッチはリクエストタイプ (および経過時間) でソートされ、FlexMatch は最初にバックフィルチケットを照合しようとします。

  • 「low」 (ロー) — チケットバッチはリクエストタイプ (および経過時間) でソートされ、FlexMatch は最初にバックフィルではないチケットを照合しようとします。

必須? No

expansionAgeSelection

対戦ルール拡張の待機時間を計算する方法。拡張は、一定時間が経過しても試合が完了しなかった場合に、対戦要件を緩和するために使用されます。待機時間は、すでに部分的に満たされた試合にあるチケットの経過時間に基づいて計算されます。このプロパティが設定されていない場合、デフォルトの動作は「最新」です。

許可される値:

  • 「newest」 (最新) — 拡張待ち時間は、部分的に完了した試合で最新の作成タイムスタンプを持つチケットに基づいて計算されます。新しいチケットが待機時間クロックを再開できるので、拡張はゆっくりトリガーされる傾向があります。

  • 「oldest」 (最古) — 拡張待ち時間は、部分的に完了した試合で最古の作成タイムスタンプを持つチケットに基づいて計算されます。拡張はより迅速にトリガーされる傾向があります。

必須? No

teams

試合におけるチームの構成。各チームのチーム名とサイズ範囲を提供します。ルールセットでは、少なくとも 1 つのチームを定義する必要があります。

name

チームのユニークな名前。チーム名は、ルールおよび拡張で参照できます。試合が成功すると、マッチメーキングデータで選手はチーム名で割り当てられます。

許可される値: 文字列

必須? Yes

maxPlayers

チームに割り当てることができるプレイヤーの最大数。

許可される値: 数値

必須? Yes

minPlayers

対戦を実行する前に割り当てる必要があるプレイヤーの最小数。

許可される値: 数値

必須? Yes

quantity

試合で作成するこのタイプのチームの数。数量が1より大きいチームは、付加番号 (「赤_1」、「赤_2」など) で指定します。このプロパティが設定されていない場合、デフォルト値は、1 です。

許可される値: 数値

必須? No

rules

対戦するプレイヤーの評価方法を定義する一連のルールステートメントを作成します。

必須? No

name

ルールのユニークな名前。ルールセット内のすべてのルールにはユニークな名前が必要です。ルール名は、このルールに関連するアクティビティを追跡するイベントログとメトリクスでも参照されます。

許可される値: 文字列

必須? Yes

description

ルールに関してテキストで示された説明。この情報を使用して、ルールの目的を特定できます。マッチメーキングプロセスでは使用しません。

許可される値: 文字列

必須? No

type

ルールステートメントのタイプ。各ルールタイプには、設定する必要がある追加のプロパティがあります。各ルールタイプの構造と使用方法の詳細については、「FlexMatch ルールタイプ」を参照してください。

許可される値:

  • 「absoluteSort」 (絶対的ソート) — 数値を持つ指定されたプレイヤー属性と、バッチ内の最も古いチケットとの比較の両方に基づいて、バッチ内のチケットを並べ替える明示的なソート方法を使用するソート。

  • 「collection」 (集合体) — 集合体内のプレイヤー属性や、複数のプレイヤーの一連の値など、集合体内の値を評価します。

  • 「comparison」 (比較) — 2 つの値を比較します。

  • 「compound」(複合) — ルールセット内の他のルールを論理的に組み合わせて複合マッチメーキングルールを定義します。40 人以下のプレイヤーのマッチでのみサポートされます。

  • 「distance」 (距離) — 数値間の距離を測定します。

  • 「BatchDistance」(バッチ距離) — 属性値の差を測定し、それを使用してマッチリクエストをグループ化します。

  • 「distanceSort」 (距離ソート) — 数値を持つ指定されたプレイヤー属性と、バッチ内の最も古いチケットとの比較状況に基づいて、バッチ内のチケットを並べ替える明示的なソート方法を使用するソート。

  • 「latency」 (レイテンシー) — マッチメーキングリクエストについて報告されるリージョンのレイテンシーデータを評価します。

必須? Yes

expansions

試合を完了できない場合に、時間の経過とともに試合要件を緩和するためのルール。試合を見つけやすくするために、徐々に適用される一連のステップとして拡張を設定します。デフォルトでは、FlexMatch はマッチに追加された最新のチケットの経過時間に基づいて待機時間を計算します。algorithm プロパティ expansionAgeSelection を使用して、拡張待ち時間の計算方法を変更できます。

拡張待ち時間は絶対値であるため、各ステップの待機時間は前のステップより長くなければなりません。たとえば、一連の拡張を段階的にスケジュールするには、30 秒、40 秒、50 秒の待機時間を使用します。待機時間は、マッチメーキング設定で設定される、対戦リクエストで許可された最大時間を超えることはできません。

必須? No

target

緩和されるルールセット要素。チームサイズのプロパティやルールステートメントのプロパティは緩和できます。構文は 「<component name>[<rule/team name>] <property name>」です。たとえば、チームの最小サイズを変更するには、次のようにします。teams[Red, Yellow].minPlayers。「minSkill」という名前の比較ルールステートメントの最小スキル要件を変更するには、次の手順を実行します。rules[minSkill].referenceValue

必須? Yes

steps
waitTimeSeconds

ターゲットルールセット要素の新しい値を適用する前に待機する時間 (秒)。

必須? Yes

value

ターゲットルールセット要素の新しい値。