多人游戏是对许多游戏的一个很好的补充,PlayFab 提供了多种专注于多人游戏场景的服务:
服务 | 说明 |
---|---|
大厅 | 创建大厅以协调游戏前或赛后组之间的游戏玩法 |
匹配 | 快速向分组参与者部署自定义匹配规则 |
相关方 | 通过网络和可访问的游戏聊天连接播放器 |
Servers | 在 Azure 中动态扩展自定义多人游戏服务器 |
标题可结合使用所有这些服务,但也可单独使用,这十分常见。 例如,标题可能使用 PlayFab matching,但从备用服务器托管解决方案分配服务器。 或者游戏可能使用 PlayFab 服务器进行托管,但使用其自己的匹配系统将播放器汇集在一起。
现在,游戏正在构建 跨网络 体验,参与者从不同的标识域(例如,Xbox Live 播放器与与自定义身份系统交互的项交互)相互交互。 PlayFab 的服务旨在支持跨进度和跨网络播放。
示例应用方案
PlayFab 旨在支持各种设置模式。 下面列出了可能会集成到单个相当复杂的标题中的模式。 本节将简要介绍如何使用 PlayFab 服务实现这些体验。
游戏模式 | 最大参与者数 | 匹配 | 回填 | 邀请好友 | 未请求的联接正在进行 | 聊天 | 服务器模型 |
---|---|---|---|---|---|---|---|
单人战役游戏 | 1 | 否 | 否 | 否 | 否 | 否 | 否 |
市场活动 | 4 | 否 | 否 | 是 | 是 | 是 | P2P |
规则参与方 | 8 | 否 | 否 | 是 | 是 | 是 | P2P |
小型小型会议 | 8 | 是 | 是 | 是 | 是 | 是 | P2P |
轻松大型会议 | 32 | 是 | 是 | 是 | 是 | 是 | 云服务器 |
竞争规模较小的会议 | 8 | 是 | 否 | 是 | 否 | 是 | 云服务器 |
竞争规模巨大的会议 | 32 | 是 | 否 | 是 | 否 | 是 | 云服务器 |
规则参与方和未请求加入的各方
玩家通常希望控制他们和谁一起玩,优先选择朋友或志同道而行的玩家。 PlayFab 大厅旨在促进玩家的运行时分组,内置了可发现性和可加入性的访问控制。 无论玩家是想加入好友还是玩特定游戏模式,都可以搜索并加入满足其需求的开放大厅。
玩家也可以同时是多个 Lobbies 的成员。 这允许你创建灵活的玩家分组,例如允许三个朋友在与其他人匹配多个匹配时保持分组。
借助内置的 实时通知,当发生更改(例如成员加入或离开)或将数据写入大厅时,大厅的成员可以接收实时消息。 相同的实时通知机制可用于跨平台邀请,允许玩家侦听邀请,无论他们是否是大厅的成员。 平台可能会提供内置的邀请和状态系统,用于启动祝酒和其他有益的体验(从玩家个人资料卡加入),如果适用,您应该考虑集成。
虽然可以使用大厅进行信号和其他有限的数据共享,但 PlayFab Party 最适合实时数据传输和聊天。 PlayFab 大厅可用于将 PlayFab Party 网络描述符或 PlayFab 多人游戏服务器会话详细信息共享到组的数据存储。 此会话信息共享允许参与者未请求加入好友的会话。 如果使用非 PlayFab 服务进行实时网络或游戏托管,则这些系统通常具有标识信息,你可以使用大厅在玩家之间发出类似信号。
匹配和回填充
参与者可能想要与不认识的新人一起播放,而平衡的匿名匹配体验是许多游戏的核心。 PlayFab Matchmaking 旨在使用您自定义的规则快速将玩家聚集在一起。
当一个玩家或一组玩家想要一起玩时,一个玩家为自己或整个团队创建匹配票。 借助 PlayFab Match如果用户作为一个团队进行匹配,则允许提交用户,并创建一个联接流,确保组内的所有参与者同意进行匹配。 该服务还允许回填门票,可用于替换在游戏中途离开的玩家。 加入进行中和回填充功能是使轻松游戏会话尽可能完整的有用的机制。
结合使用大厅和匹配在 匹配的玩家之间进行运行时分组和发出信号。 PlayFab Match则与 PlayFab 用户服务器集成,可简化已完成票证的服务器分配和改进匹配安全性。 此外,PlayFab Match< 匹配票证会触发 CloudScript 的 PlayStream 事件,这有助于将匹配对象与您自己的服务器系统集成。
聊天
除了游戏数据的网络传输外,PlayFab Party 还包括实时语音和文本聊天功能,以快速将玩家通信添加到任何基于会话的游戏。 PlayFab Party 允许玩家同时出现在多个网络中,并为每个网络定制静音规则。 这可提供实现频道和复杂聊天关系的灵活性。
Party 利用 Azure 认证服务转录玩家语音聊天以及将文本合成为语音。 此功能具有多种用途,但是主要设计为辅助功能助手。 Party不仅可以转录玩家聊天内容,还可以实时翻译聊天内容。 在匿名匹配和国际竞争性游戏中,这些转录和翻译功能有助于营造更具吸引力的多人游戏体验。
游戏托管
实时多人游戏通常选择特定的玩家设备来托管游戏状态(也称为“点对点”)或使用专用的多人服务器。 如果在播放器设备上托管游戏,PlayFab Party 是理想的低延迟设备到设备网络系统,可在会话参与者之间同步此游戏状态。
当设备数量增加时,很难扩展对等游戏。 虽然 PlayFab Party 提供网络加密并使用中继来保护玩家 IP 地址,但让设备作为主机运行仍然为作弊开辟了道路。
PlayFab 用户服务器提供简单、高效的跨 Azure 全局云的扩展。 使用小型服务器,例如在 F2v2 Linux 虚拟机上加载 10 个会话,每个会话 10 个玩家,与 P2P 实现相比,可以有效且显着地简化您的多人游戏设计并提高其可靠性。 可以通过设置服务器的构建配置为会话分配更多 Azure 资源来实现复杂的多人游戏计算,可能使用 8 个或更多内核以获得 200 个玩家的体验。
另请参阅
- 使用排行榜跟踪和共享玩家排名
- 使用 组 跟踪长时间的玩家组。
- 使用 CloudScript 通过基于云的灵活代码实时响应玩家活动