设计 FlexMatch 对战构建器 - Amazon GameLift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

设计 FlexMatch 对战构建器

本主题为如何设计适合游戏的对战构建器提供指导。

配置基本对战构建器

对战构建器至少需要具备以下元素:

  • 规则集可确定对战团队的规模和范围并定义用于评估玩家是否参加对战的规则集。每个对战构建器均配置为使用一个规则集。请参阅 构建 FlexMatch 规则集FlexMatch 规则集示例

  • 这些区域有:通知目标接收所有匹配事件通知。您需要设置 Amazon Simple Notification Service (SNS) 主题,然后将主题 ID 添加到对战构建器中。有关设置通知的更多信息,请参阅设置 FlexMatch 事件通知

  • 请求超时可确定对战请求留在请求池中以及被评估为潜在对战游戏的时长。一旦请求超时,则无法进行对战,并将从池中删除。

  • 使用 FlexMatch 与 GameLift 托管托管一起使用时,游戏会话队列可以找到为对战游戏托管游戏会话的最佳可用资源,并启动新的游戏会话。每个队列都配置了Amazon决定可放置游戏会话的位置的区域和资源类型(包括竞价型或按需实例)。有关队列的更多信息,请参阅使用多区域队列

选择一个Amazon为对战构建器的区域

决定您希望在哪里进行匹配活动,并在该地区创建您的匹配人(匹配配配置和规则集)。对于匹配者的所有请求都被发送到那里的票务池,在那里他们被排序和评估可行的匹配。一旦进行比赛,玩家可以被引导到任何支持您的托管解决方案的位置的游戏会话。

当选择Amazon选手的区域,请考虑位置如何影响他们的表现,以及如何优化目标球员的比赛体验。我们建议使用以下最佳实践:

  • 将一个火柴制作者放在Amazon区域,以及发送 FlexMatch 匹配请求的客户端服务。此方法可减少对匹配请求工作流程的延迟影响,并提高其效率。

  • 如果您的游戏到达全球受众,请考虑在多个区域创建匹配者,并将匹配请求传递给离玩家最近的匹配者。除了提高效率之外,这会导致门票池与地理位置相近的玩家形成,这提高了匹配者根据延迟要求匹配玩家的能力。

  • 使用 FlexMatch 与 GameLift 托管托管一起使用时,将您的对战构建器和游戏会话队列放在同一个Amazon区域。这有助于最大程度地减少对战构建器和队列之间的通信延迟。

FlexMatch 资源MatchmakingConfigurationMatchmakingRuleSet可以放置在以下 Gamelift 支持的Amazon区域:美国东部 (弗吉尼亚北部)、美国西部 (俄勒冈)、欧洲中部 (法兰克福)、欧洲西部 (爱尔兰)、亚太地区东南 (悉尼)、亚太地区 (首尔和东京) 和中国 (北京))。

添加可选元素

除了这些最低要求,您还可以为对战构建器配置以下附加选项。如果您将 FlexMatch 与 GameLift 托管解决方案一起使用,则内置了许多功能。如果您使用 FlexMatch 作为独立的匹配服务,则可能需要在系统中构建这些功能。

玩家接受

您可以将对战构建器配置为要求所有选定参加对战游戏的玩家都必须接受参与。如果您的系统需要接受,所有玩家都必须选择接受或拒绝建议的对战游戏。对战游戏必须收到建议对战游戏的所有玩家的接受信息,才能完成。如果任何玩家拒绝对战游戏或者未接受对战游戏,将会丢弃建议的对战游戏,并且会按以下方式处理。对战池中的所有玩家都接受对战游戏的票证将返回到对战池继续处理。如果至少有一个玩家拒绝或未能响应的对战游戏,则会将其处于失败状态并且不再处理。玩家接受需要设置时间限制;所有玩家都必须在限制时间内接受建议的对战游戏才能继续对战。

回填模式

使用 FlexMatch 回填来在游戏会话的整个生命周期内,让游戏会话始终有良好匹配的新玩家。在处理回填请求时,FlexMatch 使用与匹配原始玩家相同的对战构建器。您可以自定义如何使用新匹配的票证优先级,将回填票证放在线的前面或末尾。这意味着,当新玩家进入对战池时,他们被放到现有游戏中的可能性要高于新建游戏。

无论您的游戏使用 FlexMatch 与托管 GameLift 托管或与其他托管解决方案一起使用,手动回填都可以使用。手动回填让您能够灵活地决定何时触发回填请求。例如,您可能希望仅在游戏的某些阶段或仅存在某些条件时添加新玩家。

自动回填仅适用于使用托管 GameLift 托管的游戏。启用此功能后,如果游戏会话以打开的玩家插槽开始,GameLift 将开始自动生成回填请求。此功能允许您设置匹配,以便新游戏以最少数量的玩家开始,然后随着新玩家进入匹配池快速填充。您可以在游戏会话生命周期内随时关闭自动回填。

游戏属性

对于使用 FlexMatch 与 GameLift 托管托管的游戏,您可以在请求新游戏会话时提供附加信息,以便传递给游戏服务器。这可以是传递游戏模式配置的有用方法,这些配置是为正在创建的匹配类型启动游戏会话所需的。对战构建器创建的对战游戏会话的所有游戏会话都会收到相同的游戏属性集。您可以通过创建不同的匹配配置来改变游戏属性信息。

预留玩家位置

您可以指定为每个对战游戏预留的特定玩家位置,然后在日后占用这些位置。这可以通过配置对战配置的“额外玩家数量”属性完成。

自定义事件数据

使用此属性可在对战构建器的所有对战相关事件中包含一组自定义信息。此功能可用于跟踪您游戏独有的特定活动,包括跟踪对战构建器的性能。