基于事件的信息与游戏管理的统计信息的比较

正如玩家数据概述中所述,统计是用于跟踪玩家表现(如爆头最快单圈时间)的关键信息。 在允许玩家与其好友和作品社区中每个其他玩家比较精力和技能的场景中,使用统计信息来生成排行榜。

Xbox 服务拥有和维护统计信息;根据您的游戏将用户操作事件发送到 Xbox 服务来更新统计信息。

配置的统计信息显示在游戏的排行榜中,玩家在这里将看到他们在好友(也在玩该游戏)之间的排名。 有关 GameHub 排行榜的详细信息,请参阅设计 Xbox 服务体验

对于 Xbox 服务,有两种用户统计信息实现方法:

  • 基于事件的统计信息(以前称为统计信息 2013
  • 游戏管理的统计信息(以前称为统计信息 2017

注意

建议在配置新游戏时使用基于事件的统计信息。

基于事件的统计信息和游戏管理的统计信息具有完全不同的运行原理,如下所示。

基于事件的统计信息

在使用基于事件的统计信息时,游戏将事件发送到包含用户所执行动作的某些信息的 Xbox 服务。

这些事件中的信息用于相应更新统计信息。 在基于事件的统计信息中,服务跟踪并更新您的所有统计值,以使服务成为某个玩家或一组玩家的统计值的信任来源。

游戏管理的统计信息

在使用游戏管理的统计信息时,您发送服务器要使用的实际统计值。

在游戏管理的统计信息中,服务器几乎不会对发送给它的值进行验证,因此,是由您的游戏决定如何跟踪正确的统计值;您的游戏是统计值的信任来源。 在使用游戏管理的统计信息时,建议您使用云存储在云中跟踪和存储统计信息。

游戏管理的统计信息类似于一种报告服务:您将游戏的正确统计信息发送到服务器,然后,您的统计信息位于服务器中,等待显示在请求中或更新。

历史记录

随着 Xbox One 的推出,Xbox 服务引入了基于事件的统计信息。这带来了很多好处 - 通过游戏中的单个事件即可更新多个 Xbox 功能的数据,如排行榜和成就;Xbox 服务配置依赖于服务器而不是客户端,等等。

在 Xbox One 发布后的数年中,开发者要求提供更简化的统计服务,以使他们能够避开基于事件的系统所带来的复杂性,并允许他们使用已练习的任何统计跟踪方法。

根据开发者的反馈,新的简化的统计信息版本已经创建,它会将统计信息逻辑的控制归还给开发者。 这个系统就是游戏管理的统计信息,一项只采用游戏传递给它的值的服务,它让开发者可以控制如何确定统计值的逻辑。

在基于事件的统计信息和游戏管理的统计信息中如何处理统计信息

让我们来看一看配置以及更新基于事件的统计信息和游戏管理的统计信息的统计信息。比如说,我们将从一些通用 RPG 中做统计并且想跟踪击杀怪物数量。

基于事件的统计信息

对于基于事件的统计信息,您的游戏会发送包含玩家所执行动作的信息的事件

在此事件中,动作是杀死一个兽人,玩家配备了一把剑。 此事件中包含的部分信息可能是:采取了杀死动作,杀死的是兽人,战斗类型是格斗,使用的武器是剑。

基于事件的统计信息将通过您(开发者)在 Partner Center(合作伙伴中心)配置的一些规则运行此信息,并根据事件更新统计信息(也是由您配置的)。

在基于事件的统计信息中,服务将跟踪杀死统计信息应该显示的值。 “用剑杀死兽人”事件可以更新多个统计信息,如杀死次数、被杀死的兽人数、用剑杀死次数。

游戏管理的统计信息

在游戏管理的统计信息中,您将发送统计信息的实际值。

对于“用剑杀死兽人”示例,您的游戏将单独跟踪总杀死数、用剑杀死数和杀死的兽人数,并向服务发送每个统计信息的更新数量。 服务将进行最低程度的验证检查以确保您发送的是有意义的数字,因此,发送正确的统计信息完全取决于您的游戏。

尽管您可以使用游戏管理的统计信息服务在游戏会话开始时重新调用统计信息的值,但您不应该使用游戏管理的统计信息服务在会话正在进行时确认统计信息的值。

下图显示了两种统计信息如何运行:

  • 基于事件的统计信息(以前称为统计信息 2013)在左侧
  • 游戏管理的统计信息(以前称为统计信息 2017)在右侧

基于事件的信息与游戏管理的统计信息的比较

这两种方法之间的其他差异

对于托管的合作伙伴,在决定您的游戏是使用基于事件的统计信息还是游戏管理的统计信息时,还有几个不同之处需要注意。

基于事件的统计信息允许有更多排行榜视图。 基于事件的统计信息让您可以更轻松地向下钻取统计信息的元数据。 在我们的“杀死兽人”示例中,整体统计信息跟踪杀死次数。 基于事件的统计信息让您可以向下钻取统计信息来了解杀死对象和使用的武器,以及您可能配置的任何其他杀死定义信息。

基于事件的统计信息具有本机“游戏时间”统计信息。基于事件的统计信息让您可以访问玩家在游戏中的游戏时间,无需配置统计信息。 在游戏管理的统计信息中,任何游戏时间统计信息都必须由您的游戏跟踪。

更新频率

对于基于事件的统计信息,即使设备处于脱机状态且未连接到 Internet,事件也会在本地写入设备。 设备处于联机状态并连接后,设备上运行的服务会批处理事件并将其上传到 Xbox Player Data Platform。 通常,如果设备处于联机状态并已连接,则更新基于事件的统计信息需要 5 到 20 秒,即从事件在本地写入设备到事件的更新信息反映在 Xbox 服务上的时间。

对于游戏管理的统计数据,统计数据的实际值会更新,然后定期从系统直接刷新到 Xbox Player Data Platform(如果设备处于联机状态并已连接到 Internet)。 更新的统计数据会以 5 分钟的间隔自动从系统中刷新。 可以手动将系统中的统计数据刷新到 Xbox 服务,但手动刷新的间隔至少为 30 秒。 通常,如果设备处于联机状态并已连接,则更新游戏管理的统计数据需要 2 到 10 秒,即从系统刷新更新的值到更新的值反映在 Xbox 服务上的时间。

基于事件的统计信息可以支持其他 Xbox 服务。 在基于事件的统计信息中,您可以使用统计信息来解锁成就、作出匹配决定。 游戏管理的统计信息仅可用于生成精选统计信息和排行榜。

将基于事件的统计数据与游戏管理的成就搭配使用

游戏搭配使用基于事件的统计数据与游戏管理的成就是非常常见的,也是推荐的,并且这种组合没有兼容性问题。

进一步阅读

有关基于事件的统计信息的更深入说明,请参阅基于事件的统计信息概述

有关游戏托管型统计信息的更深入说明,请参阅游戏托管型统计信息概述