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

设计 FlexMatch 对战构建器

对战构建器配置

对战构建器至少需要具备三个元素:

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

  • 游戏会话队列可确定此对战构建器创建的对战游戏的托管位置。对战构建器使用队列为对战游戏查找可用资源和放置游戏会话。队列指定放置游戏会话时要使用的区域。有关创建队列的更多信息,请参阅创建队列

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

除了这些最低要求,您还可以为对战构建器配置以下附加选项。

玩家接受

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

对战通知

此功能会将所有与对战相关的事件发送到指定的 Amazon Simple Notification Service (SNS) 主题。由于对战请求是异步的,因此所有游戏必须采用一种方法跟踪对战请求的状态,并且简单高效地设置通知。有关跟踪请求的更多选项,请参阅将 FlexMatch 添加到游戏客户端。要使用通知,首先需要设置 SNS 主题,然后在对战配置中将主题 ARN 作为通知目标提供。有关设置通知的更多信息,请参阅设置 FlexMatch 事件通知

回填模式

FlexMatch 回填非常实用,可以在游戏会话的整个生命周期内,让游戏会话始终有良好匹配的新玩家。在处理回填请求时,FlexMatch 使用与匹配原始玩家相同的对战构建器和相同的过程来查找新玩家。通过在对战配置中设置回填模式,您可以选择使用自动回填或手动管理回填请求。在 利用 FlexMatch 回填现有游戏 中了解有关自动回填的更多信息。

将回填模式设置为“AUTOMATIC”(自动),每当游戏会话有空闲的玩家位置时,GameLift 都将触发新的回填请求。当游戏会话在游戏服务器上启动时,GameLift 即开始为有空闲位置的任何游戏会话生成回填请求。自动回填将继续,除非对游戏会话明确关闭此模式。如果您的对战构建器使用定义大型对战(超过 40 位玩家)的规则集,自动生成的回填请求将获得更高的优先级。这意味着,当新玩家到达并请求游戏位置时,他们被放到现有游戏中的可能性要高于全新游戏。

如果您不希望回填游戏,或者您想要为游戏手动触发回填请求,请将回填模式设置为“MANUAL”(手动)。手动回填让您能够灵活地决定何时触发回填请求。例如,您可能不希望在游戏的某些阶段或仅存在某些条件时添加新玩家。您可以从游戏服务器(推荐做法,因为游戏服务器具有最新的玩家计数)或从游戏客户端手动触发回填请求。

游戏属性

请求新游戏会话时,您可以将有关游戏会话的创建类型的其他信息传递给游戏服务器。游戏属性可通过任何类型的游戏会话请求提供,例如使用放置请求或对战请求。使用对战功能,游戏属性都包含在对战构建器配置中。使用对战构建器创建的所有游戏会话都使用相同的游戏属性。如果您需要改变游戏属性,请创建单独的对战构建器并将对战请求发送给具有相应游戏属性的对战构建器。

预留玩家位置

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

自定义事件数据

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

本页内容: