什么是游戏存档
通过使用游戏存档,玩家可以在跨平台、跨设备和跨商店切换时保持游戏进度并继续游戏。游戏存档负责处理文件同步和冲突解决。它帮助玩家维护统一的进度节点,并完全支持离线游玩。优势
- 将玩家进度与您的游戏关联,而不是与单个设备或平台关联。
- 消除实现跨平台同步的复杂性。
- 支持在线和离线游玩,并可控制这些状态之间的转换。
- 最大限度减少版本冲突的可能性。
- 帮助玩家在设备和平台之间无缝切换,以保持一致的进度节点。
- 提供上下文提示,在需要时协助玩家做出明智的冲突解决决策,并维持统一的进度节点。
- 通过版本回滚支持,将玩家从错误状态中恢复。
- 发出 PlayStream 事件,用于跟踪整个玩家群体中的存档活动、冲突和回滚。
- 在可用的情况下,与后台上传器和作品可调用的 UI 协同工作。
当前支持的游戏平台
- XBOX(One、Series S/X、PC、云)
- Steam(PC、Steam Deck)
- Windows(其他商店和启动器)
- PlayStation 5
当前支持的语言和游戏引擎
- C++
- Unreal Engine
示例实现
GitHub 上提供了适用于 Windows 的端到端参考实现,演示了初始化、云同步(下载/上传)、冲突处理、活动设备管理和 UI 回调: 游戏存档示例 – PlayFabGameSaveSample-Windows 使用此示例可以:- 了解初始化、添加用户和上传操作在上下文中的顺序。
- 查看最小的错误处理模式和 UI 回调连接方式。
- 在将 API 集成到生产项目之前快速进行实验。
实现要求
身份验证要求
- 身份关联:为确保游戏存档在平台之间无缝转换,作品必须使用共享或关联的用户身份。PlayFab 支持在两个已认证的提供程序之间进行帐户关联。
平台特定注意事项
- 非 XBOX/Windows 平台:在 Windows 和 XBOX 之外的平台上(例如 Steam Deck),游戏必须提供 UI。游戏存档会触发游戏可以响应的 UI 回调。
- 非 XBOX/Windows 平台上的上传处理:在 Windows 和 XBOX 之外的平台上(例如 Steam Deck),游戏存档上传发生在与游戏相同的进程中。这意味着游戏必须警告用户在上传完成之前不要退出,否则游戏存档不会上传到云端。
多平台部署
- 跨商店兼容性:计划在多个商店发行的游戏应考虑非同步发布的作品更新如何影响共享的云游戏存档数据。
- 稳健的存档实现:虽然并非必需,但为了获得最大可靠性,游戏应实现双缓冲方案,在两个本地磁盘存档文件之间交替,以确保在写入操作失败时始终有一个已知良好的备用文件可回退。这一最佳实践与云存档无关,有助于防止在游戏异常终止期间存档损坏。
