基于事件的成就与游戏管理的成就的比较

本主题说明基于事件的成就与游戏管理的成就之间的差异。

基于事件的成就以前称为“云支持的成就”或“成就 2013”。

游戏管理的成就以前称为“成就 2017”。

游戏管理的成就比基于事件的成就简单,它使用直接调用,配置简单,并在本地进行故障排除。 游戏管理的成就服务使用直接调用模型在 Xbox、Windows 10、Android 和 iOS 上为新 Xbox 服务游戏解锁成就。

注意

建议使用游戏管理的成就来配置新游戏。

简介

基于事件的成就使你能够通过仅仅发送游戏内遥测事件即可驱动 Xbox 服务功能的数据,例如用户统计数据、成就、丰富状态和多人游戏。 这具有很多好处。 比如,通过单个事件即可更新多个 Xbox 服务功能的数据,Xbox 服务配置依赖于服务器而不是客户端,等等。

发布基于事件的成就之后的几年中,开发人员始终分享以下反馈。

  1. 使用直接调用模式解锁成就会更容易。 许多开发人员为多个平台和多个世代构建游戏,直接调用模式使支持多个平台变得更容易。 支持直接解锁调用将缓解跨平台游戏开发需求,并减少开发时间。

  2. 配置基于事件的成就过于复杂。 要使用基于事件的成就服务,需要在 Xbox 服务中配置成就的解锁逻辑,以便服务知道如何解释游戏的统计数据以及何时解锁用户成就。 这是通过成就配置的新部分“成就规则”来完成的。 在云中配置解锁逻辑可以发挥非常强大的作用,但此额外配置要求会增加设计和创建游戏成就的复杂程度。

  3. 基于云的解锁机制难以排除故障。 尽管基于事件的成就服务推出了许多有用功能,但游戏开发者也更加难以验证和解决与成就相关的问题。 这是因为成就解锁是由服务上的规则间接触发,而不是由游戏本身直接控制。

游戏开发者也分享了一些反馈,即他们重视基于事件的成就所推出的某些功能,例如以下内容:

  1. 用户体验功能,如成就进度、实时更新、概念艺术奖励以及将解锁发布到活动源中。

  2. 配置改进,例如服务配置,而不是必须包括在游戏包中的本地配置(例如 gameconfig、XLAST 和 SPA)。

  3. 在游戏发布后可以轻松编辑成就字符串和图像。

游戏管理的成就是基于事件的成就服务的替代品,它使配置成就、将解锁和更新集成到游戏代码中以及验证成就是否按预期工作变得更加容易。

游戏管理的成就有何不同

功能 游戏管理的成就服务 基于事件的成就服务
解锁触发 通过 API 调用直接触发 通过遥测事件间接触发
解锁所有者 游戏 Xbox 服务
配置 字符串、图像、奖励 字符串、图像、奖励、解锁规则 [+ stats, +events]
进度 支持
通过 API 调用直接触发
支持
通过遥测事件间接触发
实时活动 (RTA) 支持 支持
挑战 不支持 支持

游戏要求

以下是对任何使用游戏管理的成就服务的游戏的要求。

  1. 不得使用基于事件的成就发布。 已发布并且使用基于事件的成就服务的游戏不符合要求。 有关详细信息,请参阅为何无法将现有游戏“迁移”到游戏托管的成就服务中?

  2. 必须使用 2016 年 8 月以及之后发布的 Xbox One 软件开发工具包。

  3. 必须是托管开发人员程序(例如 ID@Xbox)的一部分。 游戏管理的成就服务不适用于创意者计划或旧平台,包括 Xbox 360、Windows 8.x 或更早版本或者 Windows Phone 8 或更早版本。

常见问题解答

如果游戏使用基于事件的统计信息,我是否也必须使用基于事件的成就?

不会。 建议将游戏管理的成就与基于事件的统计信息并行使用。

为什么在游戏管理的成就服务中不支持挑战?

Xbox 游戏中的使用情况数据表明,当前的挑战实现和呈现不符合大部分游戏开发者的需求。 我们将继续收集开发者的输入和反馈,以便未来提供符合开发者需求的功能。

如果游戏正在使用游戏管理的成就服务,我还可以添加内容更新的新成就吗?

可以。 所有服务的成就策略都是相同的。 有关详细信息,请参阅 Xbox Live 成就和奖励策略

为何无法将现有游戏“迁移”到游戏托管的成就服务中?

对于大多数现有游戏,“迁移”到游戏托管的成就服务的要求不只是更新其服务配置和换出成就解锁调用的事件写入。 这些更改本身就非常昂贵并且会带来重大错误风险和意外行为,可能导致成就受到无法修复的破坏。 此外,大部分现有游戏也让用户拥有现有数据。

如果尝试转换已经在使用基于事件的成就服务的实时游戏,对开发人员和 Xbox 而言都会耗费较高的成本,而且会显著损害现有用户的文件和游戏体验。

如果游戏是使用基于事件的成就服务发布的,该游戏的任何未来的可下载内容 DLC 是否能够切换至游戏管理的成就?

游戏的所有成就必须使用相同的成就服务。 基本游戏使用的成就服务必须用于游戏的所有未来成就。

在我的开发者沙盒中测试成就时,是否可以混合搭配使用游戏管理的成就服务和基于事件的成就服务?

不会。 游戏的所有成就必须使用相同的成就服务。

游戏管理的成就服务是否支持离线成就解锁?

如果游戏在设备离线的情况下解锁了一个成就,则 API 将自动将脱机解锁请求进行排队。 当设备重新建立网络连接时,解锁请求将自动同步到 Xbox 服务,这类似于基于事件的成就服务的离线体验。 用户处于脱机状态时不会发生成就解锁。

我在合作伙伴中心看到新的 AchievementUpdate 事件。 如果我的游戏使用此事件,这是否意味着它采用了游戏管理的成就?

出于后端目的,Xbox 服务需要使用 AchievementUpdate 基本事件。 可以放心地忽略此基本事件。

如果你的游戏使用此基本事件类型配置事件,则 Xbox 服务将会忽略这些事件写入操作。 在基于事件的成就服务上构建的游戏应该会继续使用其他基本事件类型配置其事件。 在游戏管理的成就服务上构建的游戏无需为成就配置任何事件。

如何重置测试用户的成就数据?

XblPlayerDataReset 工具可用于重置测试用户的 Xbox 玩家数据,包括成就。 有关如何使用该工具的详细信息,请参阅 XblPlayerDataReset 文档