匹配

概述

PlayFab 匹配功能提供了一种在游戏中构建匹配的绝佳方式,并提供了一种强大的简单系统来帮助用户相互查找。 此功能是 PlayFab 现有 Matchmaker(已弃用)的升级,使用 Xbox Live SmartMatch 的成熟功能。

这标志着首次可以在 Xbox Live 生态系统之外使用可靠的 Xbox Live 匹配技术,并且可通过 PlayFab 在任何位置 使用该技术。

当个人或组要参加比赛时,游戏会将请求提交给匹配服务。 进行请求后,服务会保留请求,并尝试将它与其他请求匹配。 服务随后会创建包含最兼容的玩家的比赛。

术语

我们需要定义一些在整个匹配系统中使用的常用术语。 它们是:

  • 票证 - 票证是匹配过程的核心资源。 票证由要在一起玩游戏的某个玩家或一组玩家及其属性(如游戏内级别、常用地图或技能)组成。

  • 队列 - 队列是要在一起进行匹配的票证集合,以及控制如何对票证进行匹配的规则集。

  • 规则 - 规则是确定票证是否有资格进行匹配的约束。 匹配算法会搜索满足队列定义的所有规则的一组票证来创建比赛。

  • 属性 - 属性是与玩家关联并且可以对其应用规则的值。 可以在票证或玩家的实体对象中指定属性。

  • 比赛 - 比赛是匹配过程的输出。 它是满足将票证提交到的队列的所有规则的票证集合。

基本信息

当某个玩家或玩家组要在一起玩游戏时,玩家会为自己或整个组创建票证,并通过游戏将它提交给匹配功能。 加入流程可确保组中的所有玩家都同意一起进行比赛。 玩家加入后,匹配过程会自动开始。 当匹配功能找到合适的比赛时,游戏必须将这些匹配的玩家分组在一起进入游戏。

票证会提交给匹配队列。 一个游戏可以有多个队列。 例如,一个游戏可以为排名游戏模式创建一个队列,并为社交游戏模式创建另一个队列。 票证只能与相同队列中的其他票证进行匹配,并且一个玩家一次只能处于一个票证中。

若要定义队列,必须创建队列配置。 最简单的配置由队列名称和比赛规模(最小和最大玩家数)组成。 匹配服务会尝试按提供的最大规模填充比赛,但是如果没有足够票证可用,则可以生成具有最小规模的比赛。

如果您的不同游戏模式具有不同的比赛规模,最好创建多个队列配置。 对于更高级的匹配方案,可以配置队列规则。

我们当前支持以下规则类型:

  • 字符串相等规则:确保比赛中所有票证中的字符串属性都相同。
  • 差异规则:确保比赛中任意两个票证之间的数字属性绝对差异小于配置的差异。
  • 设置交集规则:对于作为字符串列表的给定属性,确保比赛中的所有票证共享的值的数量至少与配置的值数量一样多。
  • 比赛总数规则:确保比赛中所有玩家的数字属性合计在配置的范围内。
  • 区域选择规则:确保相对于比赛中所有用户的公共数据中心的延迟小于配置的最大值。
  • 团队规模平衡规则:确保比赛中包含的团队包含类似的成员计数。
  • 团队差异规则:确保比赛中包含的团队的特定属性(如技能)在配置的差异内。
  • 团队票证大小相似性规则:强制大群的数量等于团队数量,或者为零。

可以定义规则以强制实施基本功能,如匹配具有相同地图、游戏模式或游戏版本的玩家。 更多高级用途允许约束随时间推移而放松,或是在一段时间之后禁用。 这类规则对于基于技能的匹配十分有用。 访问 Game Manager 可获取有关这些选项的更详细文档。

有关来自游戏客户端或服务的特定流程的详细信息,请参阅下面的文档。

快速入门指南

配置

教程

SDK 和工具