为什么它很有用
- 一个完整的游戏,而非孤立的代码片段。 登录、会话发现、网络、语音、隐私、审核、成就和存档都连接在一个可以端到端运行的游戏中,因此你可以看到各 API 示例中未涉及的调用顺序、失败处理和生命周期工作。
- 保持 Godot 惯用风格的多人游戏。 PlayFab Party 被封装为可直接替换的 Godot
MultiplayerPeer,因此示例中的每个@rpc都是普通的 Godot RPC。只有对等方的构造是 PlayFab 特定的,从而保持现有网络代码不变。 - 抢先一步完成认证准备。 示例包括权限检查、按玩家静音、屏蔽和回避强制执行、在发布用户创作内容之前进行文本验证,以及玩家举报,并提供一个页面将每项 XBOX 要求映射到实现它的代码。
- 同一项目支持 PC 和主机。 同一项目面向 PC 上的 XBOX 和 XBOX Series X|S,包括挂起、恢复和受限处理,以及主机上的按用户 Game Save。
- 可直接复制的边界。 每个平台调用都位于单一服务外观之后,每个关注点一个文件,因此你可以直接提取所需的部分,而无需将其从游戏逻辑中剥离出来。
它演示的内容
- 将 GDK 登录交换为 PlayFab 标识,带有专用的进度屏幕和脱机回退。
- 使用 PlayFab Lobby 的加入码会话发现,以及可加入的好友、活动发布和从指南加入邀请。
- PlayFab Party 语音和比赛中的键入文本,静音和文本隐私分别强制执行。
- 多人游戏和通信权限检查,以及针对静音、屏蔽和回避的隐私强制执行。
- 由比赛事件驱动的一次性和增量成就进度。
- 主机上用于个人资料、历史记录和计数器的 Game Save。
- 在提供联机游戏之前进行连接检测,以及通过 GDK 用户和设备 API 进行控制器关联。
要求
- Godot 4.6 或更高版本。 GDK 插件是 GDExtension,因此标准版本即可。
- Windows,并安装 Visual Studio 2022 和某个 Microsoft GDK 版本,用于一次性生成插件。
- 导出到 XBOX Series X|S 还需要 W4 Games 的 Godot 主机分支。
[!NOTE] NetRumble 是基于 MIT 许可证的仅源代码参考,并非经过认证的游戏或产品。GDK 和 PlayFab 依赖项仍需各自安装并接受许可。
入门
- XBOX Godot NetRumble: microsoft/xbox-godot-netrumble - 连同子模块一起克隆,运行
tools\sync_addons.ps1,然后运行tools\deploy-pc.ps1 -Launch。 - XBOX Godot 示例: XBOX Godot 示例 - NetRumble 所基于的 GDK 和 PlayFab 插件,以子模块形式固定版本。
