XR-003:游戏的提交质量
版本 1.0,2020/3/1
标题必须在提交认证时具有功能完整、可测试且满足 Xbox 控制台质量标准。
功能完整且可测试: 游戏提交必须包含所有客户端代码、提交工件以及可下载的内容。 必须提供合作伙伴服务且正确配置它们以便进行测试和认证。 提交给 Microsoft 时,必须使用当前版本的提交验证器将游戏干净打包,并且在提交时游戏必须包含提交验证器日志。
Xbox 质量标准:Xbox 主机上的游戏必须在各种游戏场景的游戏模式中正常运行,以满足玩家的要求。
- 游戏完整性: 用户必须能够完成所有游戏模式,同时游戏必须为玩家提供持续的可玩体验。 每个游戏的可玩体验各不相同,但通常意味着帧率无大幅下降,无冻结、僵局、导致主要进度障碍的漏洞或图像损坏。
- 选项和设置: 当在游戏中更新游戏设置时以及在终止和再次启动游戏后,选项、控件、语言等游戏设置得到正确应用。 如果适用,则遵循默认的主机设置。
- 导航和内容可用性: 内容中无死胡同、游戏菜单可导航,且所有内容均可用(如果适用)。
- 支持好友数少和多的玩家: 当玩家没有好友或拥有大量好友时,体验都能保持稳定并正常运行。 通常情况下,大量好友会导致统计信息发布/检索方面的问题
- 具有允许的本地或在线多人游戏数的游戏功能: 使用受支持的模式,游戏模式通过受支持的本地或在线玩家组合正常运行
- 保存游戏兼容性: 内容更新后,保存游戏和/或玩家进度会继续正常运行。 此外,在使用基本光盘版本加载已更新保存时,不得发生永久保存数据丢失。
- 挂起和继续:从连接的备用状态或挂起恢复时,将保留标题进度。
详细信息
将拒绝不准确和不完整的提交。 提交项目包括帮助内容、元数据等。 提交验证器的最新版本可以在“认证工具”页上找到。
提交验证程序在调用“makepkg.exe”包时自动运行。
提交验证器将检查:
- 调试文件 - 编译器或链接器生成的源代码或调试器支持文件。 这些文件不允许出现在编译后的包中。 不允许的文件类型包括:.PDB、.OBJ、.CPP、.C、.CS、.LIB、.H、.SYM、.MAP、debug_licensing_overrides.xml 和 Thumb.db。 此外,所有不是 AMD64 本机二进制代码的 EXE 或 DLL 也将标记为此检查的一部分。
- Xbox 背景音乐服务 - 尽管 Xbox One 支持背景音频,但是目前不允许游戏使用它。
- 启动链接处理程序 - 不允许游戏在 Xbox One 上注册新的启动链接处理程序(windows.protocol 注册)。 Xbox One 系统代表该应用注册一个默认协议关联。
- 每个包一个应用 - 只允许游戏在每个应用程序清单中有一个应用程序元素。
- 游戏功能 - 游戏必须注册其应用所需的功能,并且不能超过提供其宣传的体验的最小功能。 提交验证器将针对已知功能显示游戏中列出的功能,但不会验证相对于游戏代码是否使用了正确的功能。 有关功能的详细信息,请参阅白皮书应用清单 - 有关元数据的可靠信息(“开发者教育材料”>“所有 NDA 白皮书”)。
- 使用永久性本地存储系统 - 独占应用游戏名称必须在其清单中指示要使用的永久性本地存储空间大小。 游戏所占存储空间不能超过 4 GB。 意图:确保将游戏提交进行认证时,游戏已为启动做好了准备。
其他资源
测试用例
003-02 游戏完整性
测试步骤
- 登录到 Xbox 档案。
- 启动游戏。
- 在所有菜单和子菜单中导航,查看所有类型的媒体和/或功能,或进入并完成所有游戏模式。
- 游戏:导航、与之交互并完成所有菜单 UI、额外内容、单人游戏模式和多人游戏模式,包括任何其他功能。 在离线、在线、拆分屏幕和系统链接模式下测试(如果适用)。 使用尽可能的最大玩家数测试多人游戏模式。
- 应用:导航所有不同类型的媒体内容并与之交互,包括任何其他功能。
预期结果
所有游戏必须为用户提供可靠、公平、一致和完善的 Xbox 娱乐体验。
通过示例
- 可在所有模式下完成游戏。
失败示例
- 游戏在给定级别的末尾崩溃。
- 如果用户已完成另一模式,将无法完成特定模式。
003-03 选项
测试步骤
- 登录到 Xbox 档案。
- 启动游戏。
- 为测试团队设置各种选项,以便针对每个选项设置测试每个可用的值。
- 这必须涵盖游戏内的选项以及运行游戏时可以查看的任何系统设置。
- 检查游戏菜单中的所有设置和选项是否正确反映在最终用户体验中(例如,亮度、对比度、音量、难度等)。
- 终止游戏,然后在重新启动游戏后确保所有设置和选项仍有效。
- 让测试团队更改游戏所有方面的选项设置并验证它们是否准确反映在整个游戏中。
预期结果
游戏中的所有选项设置必须按预期方式工作,且在重新启动游戏后所有选项和设置值必须仍有效。
通过示例
- 如果将游戏内语言选项设置为荷兰语,则游戏只使用荷兰语字幕。
失败示例
- 如果用户使用暂停菜单反转水平或垂直摄像头控制信息,摄像头控制信息不影响游戏内设置。
- 在终止并重新启动游戏后,在玩游戏期间设置的所有选项值将重置为默认值。
003-04 语言支持
测试步骤
- 登录到 Xbox 档案。
- 启动游戏。
- 导航到主机的语言设置,并设置要与使用的主机区域设置匹配的语言。
- 按顺序测试每种语言,确保正确启动游戏并为游戏中每种支持的语言展示正确的本地化设置。
- 确保所有对于游戏进度非常重要的关键游戏文本清晰可辨。
预期结果
游戏必须在所有语言设置中正确启动,且必须为所有支持的语言在游戏内展示正确的本地化设置。 在显示受支持的语言文本区域中,无论显示设置如何,文本都必须保持清晰可辨。
通过示例
- 所有本地化设置在所有语言版本中正确显示。
- 将主机设置为不受支持的语言来启动游戏时,将仅显示英语文本。
失败示例
- 德国本地化设置显示为法语版本。
- 将主机设置为德语时发现重大本地化问题。
- 将主机设置为不受支持的语言来启动游戏时,不显示文本字符或显示 null 字符。
003-05 导航
测试步骤
- 登录到 Xbox 档案。
- 启动游戏。
- 使用控制器在所有菜单和选项屏幕(前端、游戏内和其他区域)中导航,确保所有导航按钮按预期方式工作。 如果在任何菜单 UI 中显示按钮标签或命令提示符,请验证可以正确发出每个命令。
- 如果支持且连接并启用了传感器,使用自然用户界面 (NUI) 重复步骤 [3]。
- 如果支持且连接并启用了传感器,使用语音用户界面 (VUI) 重复步骤 [3]。 如果可使用不是默认命令的其他 VUI 命令,请验证所有 VUI 命令在所有支持的语言中是准确的。
预期结果
导航命令必须按预期方式工作。
通过示例
- 游戏中的所有区域都可以按预期方式导航。
失败示例
- 进入某些菜单时,游戏在控制器上显示与按钮关联的图像,但是按该按钮时控制器没有任何反应。
003-07 排行榜
测试步骤
- 登录到 Xbox 档案。
- 启动游戏。
- 主机 A 和 B:登录到互为好友的档案。
- 主机 A:导航到可以发布排行榜的某个游戏区域(仅当游戏支持排行榜时)。
- 测试人员必须检查游戏内排行榜和系统中显示的排行榜。
- 满足必需的最低要求,执行所有步骤以发布到排行榜。
- 主机 A:发布分数后,验证已将统计信息正确发布到排行榜,且可以使用提供的筛选器对统计信息进行排序。
- 主机 B:导航到排行榜菜单,验证已将主机 A 的统计信息正确发布到排行榜,且可以使用提供的筛选器对统计信息进行排序。
- 对所有游戏模式重复步骤 2-7。
- 主机 A 和 B:如果可以在 Xbox Live 上玩竞争性合作游戏,对于每个游戏模式重复步骤 2-7。
- 如果可以在多个 Xbox Live 档案上玩单机多人拆分屏幕游戏,请确保可以执行以下操作之一:
- 用户可以发布到每个排行榜。
- 至少主角档案可以将分数发布到每个排行榜。
- 对于两个用户都可以将分数发布到排行榜的游戏,正确为每个参与者登记分数。
预期结果
游戏必须允许用户将统计信息发布到所有可用排行榜并使用提供的筛选器对这些排行榜进行排序。
通过示例
- 可以成功发布到所有排行榜。
失败示例
- 从排行榜 A 导航到排行榜 B 时游戏停止响应。
- 用户无法发布到特定排行榜。
003-08 低或高好友计数
测试步骤
- 登录到 Xbox 档案。
- 使用具有 100 个好友的档案登录。
- 启动游戏。
- 执行以下操作(如果适用):
a. 查看所有可用的排行榜并使用所有筛选选项。 b. 查看某好友的玩家卡片。 c. 查看某好友的丰富显示状态信息。 d. 邀请某好友加入游戏会话并玩游戏到结束。 - 使用没有好友的帐户重复步骤 4(如果支持,请使用“最近互动用户”列表来验证步骤 4.b-4.d)。
- 使用具有 100 个好友以上的档案重复步骤 4。
- 报告所有导航行为实例。
预期结果
档案在好友列表中包含的好友数不应对游戏功能造成不良影响。
通过示例
- 最小和最大好友计数对游戏都没有负面影响。
失败示例
- 使用支持 Xbox Live 的档案(好友数为零)时,如果用户进入排行榜且查看“仅好友”筛选器,将显示类似以下的消息:“错误。 未连接到 Xbox Live。”显示不正确。
- 任何查看好友的排行榜的尝试将导致空白页面。 将筛选器从“好友”切换回来,则显示类似以下的错误消息:“无法读取排行榜统计信息”。
- 使用好友数超过 100 的玩家档案并创建私人匹配时,如果进入多人游戏模式,游戏不提供对用户好友列表的访问。
003-14 本地多个玩家
测试步骤
- 确定游戏支持的每台主机的最大用户数。
- 主机 A 和 B:对于每台主机的最大用户数,连接相关的控制器数。
- 登录到 Xbox 档案。
- 启动游戏。
- 主机 A:使用足够的槽创建一个 Xbox Live 多人游戏会话,以允许在两台主机上加入最大用户数。
- 主机 B:找到主机 A 托管的多人游戏会话。
- 验证所有用户都可以加入多人游戏会话。
- 主机 A:启动游戏会话并验证以下事项:
- 所有用户都可以开始玩游戏。
- 速度没有变慢。
- 没有任何图形问题。
- 没有任何声音问题。
- 没有任何负面的玩游戏体验。
- 所有用户都可以完成游戏会话。
预期结果
游戏必须允许每台主机的最大用户数在所有支持 Xbox Live 的游戏模式下玩游戏而不会出错。
通过示例
- 单台主机上有两个玩家时,没有对帧速率造成负面影响。
失败示例
- 当任何参与的主机达到最大玩家数时,Xbox Live 游戏会话显示图形和音频响应变慢。
003-16 保存游戏的兼容性
测试步骤
- 登录到 Xbox 档案。
- 在未连接到 Xbox Live 时启动基本游戏。
- 开始玩一段时间的游戏以在每个模式下保存游戏进度(如游戏进度、选项和设置、虚拟形象创建等)。
- 重新启动游戏并验证您可以从加载并恢复从步骤 [3] 保存的游戏进度。
- 连接到 Xbox Live 并下载基本游戏的内容更新。
- 应用内容更新后,验证您仍然可以加载并恢复在步骤 [3] 中保存的游戏进度。
- 重新启动游戏,开始玩新游戏一段时间以再次保存游戏进度。
- 退出并卸载游戏。
- 在未连接到 Xbox Live 时启动基本游戏。
- 验证以下事项之一:
- 您可以在加载并恢复保存的游戏进度而不出错。
- 游戏显示一条消息,指示在未获取 Xbox Live 的内容更新前无法使用保存的游戏进度。
- 游戏不显示在 [6] 中保存的游戏信息。
- 重新启动游戏并连接到 Xbox Live 以接收内容更新。
- 应用内容更新后,验证您仍然可以加载并恢复保存的游戏进度。
预期结果
游戏的内容更新版本必须可以成功加载使用内容未更新版本保存的游戏。
通过示例
- 游戏的内容更新版本可以成功加载所有保存的信息。
- 启动基本版本加载更新的保存时,将通知用户丢失内容并给出无法加载保存的文件的原因,或在基本版本中看不到在内容更新版本中保存的信息。
失败示例
- 游戏的内容更新版本无法加载在步骤 [3] 中保存的游戏。
- 当使用游戏的内容更新版本加载存档信息时,游戏的基础版本崩溃。
003-17 耳机状态更改
测试步骤
- 在 Xbox 音频设置下启用适用于耳机的 Windows Sonic 作为耳机格式。
- 将一对耳机附加到控制器或将一对耳机无线附加到 Xbox。
- 启动标题和进度进行播放。
- 验证通过电视和耳机收听音频。
- 使用耳机,验证音频在一小段后是否返回。
- 重新插入耳机,验证音频是否通过电视和耳机收听。
- 重复整个标题中的步骤 [5]-[6]。
预期结果
继续听取音频,没有问题。
通过示例
- 当删除耳机时,音频将返回,而不会遇到问题。
- 耳机连接后,音频返回且没有问题。
失败示例
- 耳机状态更改后,将不会再听到音频。
- 耳机状态更改后,音频会失真或损坏。
以供参考: Xbox One 软件开发工具包和 Microsoft 游戏开发工具包的音频 API 的比较
暂停后 003-18 耳机状态更改测试步骤
- 在 Xbox 音频设置下启用适用于耳机的 Windows Sonic 作为耳机格式。
- 将一对耳机附加到控制器或将一对耳机无线附加到 Xbox。
- 启动标题和进度进行播放。
- 验证通过电视和耳机收听音频。
- 自然地暂停标题。
- 移动耳机。
- 继续标题,验证是否通过电视听到音频。
- 重新插入耳机,验证通过电视和耳机收听音频。
- 重复整个标题中的步骤 [5]-[8]。
预期结果
继续听取音频,没有问题。
通过示例
- 当删除耳机时,音频将返回,而不会遇到问题。
- 耳机连接后,音频返回且没有问题。
失败示例
- 耳机状态更改后,将不会再听到音频。
- 耳机状态更改后,音频会失真或损坏。
以供参考: Xbox One 软件开发工具包和 Microsoft 游戏开发工具包的音频 API 的比较
连接待机后 003-19 耳机状态更改配置:一个具有以下配置的主机:
- 在“设置”->“登录、安全和密钥”->“即时登录”中启用自动登录。
- “设置”->“电源启动”->“即时开启”中的“即时开启”设置。
测试步骤
- 在主机上启用“随开即用”设置和“即时登录”设置(请参阅“配置”)。
- 使用已设置为用户的常用主机并且具有游戏许可的主机登录到 Xbox 档案。
- 在 Xbox 音频设置下启用适用于耳机的 Windows Sonic 作为耳机格式。
- 将一对耳机附加到控制器或将一对耳机无线附加到 Xbox。
- 启动标题和进度进行播放。
- 验证通过电视和耳机收听音频。
- 使主机进入连接待机状态。
- 耳部耳机。
- 重新启用控制台,继续游戏。
- 验证通过电视听到音频。
- 重新插入耳机,验证音频是否通过电视和耳机收听。
- 重复整个标题中的步骤 [4-11]。
预期结果继续听到音频,没有任何问题。
通过示例
- 当删除耳机时,音频将返回,而不会遇到问题。
- 耳机连接后,音频返回且没有问题。
失败示例
- 耳机状态更改后,将不会再听到音频。
- 耳机状态更改后,音频会失真或损坏。
- 在 8 月的 QFE6 GDK 或更早版本中存在已知问题,会导致游戏在从连接待机状态快速恢复后错过某些系统通知。 对于音频,这意味着将错过关键音频客户端通知。 指南是更新到 6 月 QFE9 GDK 或更高版本或 8 月 QFE7 GDK 或更高版本。
以供参考: Xbox One 软件开发工具包和 Microsoft 游戏开发工具包的音频 API 的比较