FlexMatch 规则类型 - Amazon GameLift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

FlexMatch 规则类型

Batch 距离规则

batchDistance

Batch 距离规则用于测量两个属性值之间的差异。您可以将批量距离规则类型用于大小匹配项。有两种类型的批量距离规则:

  • 比较数值属性值。例如,某项距离规则可能要求所有玩家必须在相邻的两个级别内。对于这种类型,请定义所有票证之间的最batchAttribute大距离。

  • 比较字符串属性值。例如,这种类型的批量距离规则可能要求一场对战中的所有玩家都请求相同的游戏模式。对于此类型,请定义 FlexMatch 用于形成批次的batchAttribute值。

距离规则属性

  • batchAttribute– 用于形成批次的玩家属性值。

  • maxDistance– 成功匹配的最大距离值。用于比较数值属性。

  • partyAggregation – 该值决定 FlexMatch 如何处理多名玩家(多方)的票证。有效的选项包括票证玩家的最小值 (min)、最大值 (max) 和平均 (avg) 值。默认为 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

比较规则将一个玩家属性值与另一个值进行比较。有两种类型的比较规则。

  • 与@@ 参考值进行比较。例如,这种类型的比较规则可能要求匹配的玩家具有一定的技能等级或更高。对于此类型,请指定玩家属性、参考值和比较操作。

  • 比较不同玩家。例如,这种类型的比较规则可能要求对战中的所有玩家使用不同的角色。对于这种类型,请指定玩家属性以及等于 (=) 或不等于 (!=) 的比较操作。不要指定参考值。

注意

Batch 距离规则可以更有效地比较玩家属性。为了减少对战延迟,请尽可能使用批量距离规则。

比较规则属性

  • 要比较的玩家属性值。

  • referenceValue– 与预期匹配的测量值进行比较的值。

  • operation– 决定如何将测量值与参考值进行比较的值。有效操作包括:。

  • partyAggregation – 该值决定 FlexMatch 如何处理多名玩家(多方)的票证。有效的选项包括票证玩家的最小值 (min)、最大值 (max) 和平均 (avg) 值。默认为 avg

距离规则 ()

distance

距离规则用于度量两个数字值之间的差值,例如技能级别之间的差距。例如,距离规则可能要求所有玩家玩游戏至少 30 小时。

注意

Batch 距离规则可以更有效地比较玩家属性。为了减少对战延迟,请尽可能使用批量距离规则。

距离规则属性

  • measurements– 要测量距离的玩家属性值。这必须是带有数值的属性。

  • referenceValue &endash; 用于对照潜在对战游戏度量距离的数字值。

  • / 为了成功进行对战游戏而允许的最大或最小距离值。

  • partyAggregation – 该值决定 FlexMatch 如何处理多名玩家(多方)的票证。有效的选项包括票证玩家的最小值 (min)、最大值 (max) 和平均 (avg) 值。默认为 avg

收集规则 ()

collection

收集规则将一组玩家属性值与批次中其他玩家的属性值或参考值进行比较。一个集合可以包含多个玩家的属性值和/或采用集合格式 (字符串列表) 的一个玩家属性。例如,收集规则可能会考虑队伍中玩家选择的角色。然后,该规则可能会要求队伍至少拥有某个角色中的一个。

收集规则属性

  • measurements– 要比较的玩家属性值的集合。属性值必须采用字符串列表形式。

  • 值或值集合,用于对照潜在对战游戏评估测量值。

  • operation– 决定如何比较一组测量值的值。有效选项包含以下内容:

  • / 为了成功进行对战游戏而允许的最大或最小计数值。

  • partyAggregation – 该值决定 FlexMatch 如何处理多名玩家(多方)的票证。对于此值,您可以使用union合并队伍中所有玩家的玩家属性。或者,您可以intersection使用队伍的共同玩家属性。默认为 union

延迟规则

latency

延迟规则衡量每个位置的玩家延迟。延迟规则会忽略任何延迟时间高于最大值的位置。玩家在至少一个位置的延迟值必须低于最大值,延迟规则才能接受。通过指定maxLatency属性,您可以将此规则类型用于大型匹配项。

延迟规则属性

  • maxLatency-某个位置的最大可接受延迟值。如果工单没有延迟低于最大值的位置,则该票证不符合延迟规则。

  • maxDistance– 每张票证的延迟时间与距离参考值之间的最大值。

  • distanceReference– 用于比较工单延迟的延迟值。距离参考值的最大距离之内的票证将成功匹配。有效选项为玩家延迟的最小值 (min) 或平均值 (avg)。

  • partyAggregation – 该值决定 FlexMatch 如何处理多名玩家(多方)的票证。有效的选项包括票证玩家的最小值 (min)、最大值 (max) 和平均 (avg) 值。默认为 avg

注意

队列可以将游戏会话放置在与延迟规则不匹配的区域。有关队列延迟策略的更多信息,请参阅创建玩家延迟策略

绝对排序规则 ()

absoluteSort

绝对排序规则根据指定的玩家属性对一批对战票证进行排序,与添加到该批次的第一张票据进行比较。

绝对排序规则属性

  • sortDirection – 对对战票证进行排序的顺序。有效选项包括:

  • sortAttribute– 用于对票证进行排序的玩家属性。

  • mapKey– 如果是地图,则用于对玩家属性进行排序的选项。有效选项包括:

    • minValue– 值最低的密钥是第一个。

    • maxValue– 值最高的密钥是第一个。

  • partyAggregation – 该值决定 FlexMatch 如何处理多名玩家(多方)的票证。有效的选项包括最小值 (min) 玩家属性、最大值 (max) 玩家属性以及队伍中玩家所有玩家属性的平均值 (avg)。默认为 avg

示例

以下示例规则按技能等级对玩家进行排序,并对队伍的技能水平进行平均值。

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

距离排序规则 ()

distanceSort

距离排序规则根据指定玩家属性与添加到该批次的第一张票据之间的距离对一批对战票证进行排序。

距离排序规则属性

  • sortDirection – 对对战票证进行排序的方向。有效选项包括:

  • sortAttribute– 用于对票证进行排序的玩家属性。

  • mapKey– 如果是地图,则用于对玩家属性进行排序的选项。有效选项包括:

    • minValue– 对于添加到批次中的第一张票证,请找到值最低的密钥。

    • maxValue– 对于添加到批次中的第一张票证,请找到值最高的密钥。

  • partyAggregation – 该值决定 FlexMatch 如何处理多名玩家(多方)的票证。有效的选项包括票证玩家的最小值 (min)、最大值 (max) 和平均 (avg) 值。默认为 avg