大規模なマッチアルゴリズムのカスタマイズ - Amazon GameLift Servers

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

大規模なマッチアルゴリズムのカスタマイズ

アルゴリズムコンポーネントがまだ存在しない場合は、アルゴリズムコンポーネントをルールセットに追加します。以下のパラメータを設定します。

  • strategy (必須)strategy プロパティを「バランス」に設定します。この設定は、FlexMatch をトリガーして、指定されたプレイヤー属性 (balancedAttribute プロパティで定義) に基づいて最適なチームバランスを見つけるために、追加のマッチ後チェックを実行します。バランスの取れた戦略は、均等に対戦しているチームを構築するためのカスタムルールの必要性を置き換えます。

  • balancedAttribute (必須)— 試合中のチームのバランスをとるときに使用するプレイヤー属性を識別します。この属性は、数値データ型 (倍精度または整数) でなければなりません。たとえば、プレイヤースキルのバランスをとることを選択した場合、FlexMatch はすべてのチームに可能な限り均等にマッチする合計スキルレベルを持つようにプレイヤーを割り当てようとします。ルールセットのプレイヤー属性で、必ずバランシング属性を必ず宣言してください。

  • batchingPreference (オプション)— プレイヤーにとって可能な限り低いレイテンシー マッチを形成する際にどの程度の重点を置きたいかを選択します。この設定は、試合を構築する前に対戦チケットをソートする方法に影響します。オプションには以下が含まれます。

    • FlexMatch では、共通する少なくとも 1 つのロケーションで許容されるレイテンシー値を持つプール内のすべてのチケットを使用してマッチを許可します。その結果、潜在的なチケットプールは大規模になる傾向があり、試合をより迅速に埋めることが容易になります。プレイヤーは、許容できるが、必ずしも最適ではないレイテンシーでゲームに参加することができます。batchingPreference プロパティが設定されていない場合、この動作は、strategy が「バランス」に設定されているときにデフォルトになります。

    • FlexMatch は、最も低いレイテンシー値を報告する場所に基づいて、プール内のすべてのチケットを事前にソートします。その結果、同じロケーションでレイテンシーが低いプレイヤーとのマッチが形成される傾向があります。同時に、各試合の潜在的なチケットプールが小さくなり、試合の完了に必要な時間が長くなります。また、レイテンシーに高い優先順位が設定されるため、マッチ中のプレイヤーは、バランシング属性に関して、より差が広がる可能性があります。

以下の例では、次のように動作するように対戦アルゴリズムを設定します。(1) チケットプールを事前にソートして、許容レイテンシー値を持つリージョン別にチケットをグループ化し、(2) ソートされた対戦チケットのバッチを形成し、(3) バッチ内に試合チケットを作成して、プレイヤースキルを平均化できるようにチームのバランスを取ります。

"algorithm": { "strategy": "balanced", "balancedAttribute": "player_skill", "batchingPreference": "largestPopulation" },