为大型对战自定义匹配算法 - Amazon GameLift Servers
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为大型对战自定义匹配算法

向规则集添加算法组件(如果尚不存在)。设置以下属性:

  • strategy(必填)– 将 strategy 属性设置为“平衡”。此设置会触发 FlexMatch 进行额外的赛后检查,根据属性中定义的指定球员属性找到最佳的球队平衡。balancedAttribute平衡的策略取代了使用自定义规则来组建势均力敌的团队。

  • balancedAttribute(必填)– 确定在对战中平衡团队时要使用的玩家属性。此属性必须具有数字数据类型(双精度或整数)。例如,如果你选择平衡玩家技能,FlexMatch 尝试分配球员,以便所有队伍的总技能水平尽可能平衡。请务必在规则集的玩家属性中声明平衡属性。

  • batchingPreference(可选)– 选择您想在多大程度上强调为玩家打造尽可能低的延迟对战。此设置会影响在建立对战之前对对战票证的排序方式。选项包括:

    • 最大群体 FlexMatch 允许使用池中至少一个共同位置具有可接受延迟值的所有票证进行匹配。因此,潜在的票证池往往很大,这使得更容易更快地填补对战。玩家可能被放置在延迟可接受但并不总是最佳延迟的游戏中。如果未设置 batchingPreference 属性,则这是 strategy 设置为“平衡”时的默认行为。

    • 最快的位置。FlexMatch 根据池中所有票证报告最低延迟值的位置对其进行预排序。因此,往往会与报告相同位置低延迟的玩家进行对战。同时,每场对战的潜在票证池较小,这可能会增加填补对战所需的时间。此外,由于对延迟的优先级更高,因此对战中的玩家在平衡属性方面的差异可能更大。

以下示例将匹配算法配置为如下行为:(1) 对票池进行预排序,按票证具有可接受的延迟值的位置对票证进行分组;(2) 形成批量排序的票证进行匹配;(3) 批量创建带有票证的匹配并平衡队伍以平衡普通玩家技能。

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