Amazon GameLift
开发人员指南 (版本 )
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

构建 FlexMatch 规则集

每个 FlexMatch 对战构建器必须拥有一个规则集。规则集可确定对战游戏的两个关键元素:(1) 团队结构和规模,以及 (2) 如何为玩家分组才能实现最佳对战游戏和游戏体验。

例如,规则集能够描述类似这样的对战游戏:创建包含两个团队的对战游戏,每个团队有 5 个玩家,一个团队是防守者,另一个团队是进攻者。这两个团队的所有玩家必须具备同等 (或差不多) 级别的游戏技能。所有玩家必须能够使用 20 毫秒或更少延迟时间玩游戏。如果在 30 秒后未找到匹配对象,则逐步放宽技能和延迟要求。

要创建对战规则集,您可以使用 Amazon GameLift 控制台或 AWS CLI。您可以创建多个规则集,并在不同对战构建器中使用这些规则集,或将相同规则集应用于多个对战构建器。

主题

规则集组件

每个规则集包含以下组件:

  • 名称(可选)– 这是规则集语法中的描述性标签,不能供 Amazon GameLift 以任何有意义的方式使用。不要将此值与规则集名称混淆,规则集名称在创建规则集时与规则集语法一同设置。

  • 规则语言版本(必需)– 这是用于创建 FlexMatch 规则的属性表达式语言的版本。此值必须等于“1.0”。

  • 玩家属性(可选)– 规则可能会根据各个玩家的特性选择对战游戏的玩家。如果您创建了依赖于玩家属性的规则,则必须在本部分中声明。这些玩家属性的值必须包含在使用此规则集发送对战构建器的每个对战请求中。在声明玩家属性时,请包含以下信息:

    • 名称(必需)– 此值在规则集中必须唯一。

    • 类型(必需)– 这是属性值的数据类型。有效数据类型为数字、字符串或字符串映射。

    • 默认(可选)– 如果未为玩家提供值,则输入要使用的默认值。如果没有声明默认值,玩家也没有提供值,则无法匹配该玩家。

  • 团队(必需)– 此部分定义对战游戏团队的结构和规模。

    • 您可以根据需要定义尽可能多的团队。

    • 每个团队必须具有唯一的名称

      Rule language version (必需):值必须等于 1.0

    • 每个团队必须包含最小和最大规模。如果您需要特定规模,则为每个团队使用相同的值。或者,如果您希望使用灵活的团队规模,则可设置范围。FlexMatch 将始终尝试为团队填充玩家规模上限。如果您使用范围,但希望对战游戏的所有团队都是具有同样规模的团队,您可以创建相应的规则。有关“EqualTeamSizes”规则的示例,请参阅 FlexMatch, 规则集示例主题。

    • 团队可以不对称。您可以根据适合您游戏的目的创建不同规模的团队。

  • 规则(可选)– 此部分包含一个或多个规则语句,此类语句用于定义如何评估可接受对战游戏的玩家。规则可以描述每个玩家的要求,或者描述整个团队或对战游戏的要求。每个规则包含以下元素:

    • 名称(必需)– 这是用于在规则集中唯一标识规则的有意义的名称。规则名称也可在跟踪与此规则相关的活动的事件日志和指标中引用。

    • 描述(可选)– 使用此元素可附加自由格式文本描述。此信息不可供对战构建器使用。

    • 类型(必需)– 类型元素标识处理规则时要使用的操作。每个规则类型需要一组额外的元素;例如,一些规则类型需要引用值来比较或测量玩家的属性。有关有效的规则类型和要求的列表,请参阅 FlexMatch 规则引用

    • 测量(必需)– 这是用于评估以确定玩家是否可接受对战游戏的玩家相关值。测量应符合规则类型要求。可以测量单个玩家的玩家属性或团队或整个对战游戏的属性集。测量语句使用属性表达式语言表示。有关属性表达式的更多信息,请参阅 FlexMatch 规则引用

  • 扩展(可选)– 您可以使用扩展功能随时间推移放松规则条件。此功能有助于确保在合理的时间段内进行对战游戏。通过放宽规则,您可以逐渐扩展可以进行对战游戏的玩家池。

本页内容: