流式安装和智能交付:概述

在 Xbox One 上,所有游戏都从硬盘驱动器运行。 可以从任意数量的来源交付内容,但主要通过光盘和云(蓝光光盘和 Xbox 服务)交付。

为了让客户尽快开始玩游戏,Xbox One 使用一种称为流式安装的功能,此功能允许游戏在完全安装之前运行。 此功能还让游戏更改安装内容的顺序,以响应用户输入或其他事件。

流式安装和智能交付的优势

以下流式安装和智能交付功能可为第一次玩游戏的用户提供更流畅的体验。

只需一部分数据即可启动游戏

每个游戏可以指定启动游戏所需的数据子集。 系统可确保先将此内容复制到硬盘驱动器上,然后应用程序注册并可供启动。

仅当适当时才下载安装数据并进行安装

可以用说明符标记安装数据,以便仅当适当时才下载和安装此数据。 例如,您可以标记仅适用于特定语言的资产。 然后,这些资产仅交付到设置为此语言的主机。 此外,可以使用说明符标记仅用于特定分类的 Xbox One 主机上的资产,以便这些资产只安装在该分类的主机上。

在后台继续安装游戏

只要将启动游戏所需的最少量的数据复制到硬盘驱动器,游戏就会启动。 其余数据会在游戏运行时从安装源复制至硬盘驱动器。

即使用户在应用程序之间切换,也会在后台继续安装。 例如,如果用户玩一个游戏,然后决定观看电影,系统会在正在播放电影时在后台继续安装。

使用流式安装

要使用流式安装,请定义构成数据区块的文件列表;每个区块支持所玩游戏的特定部分。 您还定义各区块的默认安装顺序。 此顺序在映射区块布局的 XML 文件中指定。 例如,下面的示例显示一个简单的包文件。

  <Package>
    <Chunk Id="1000" Marker="Launch">
      <FileGroup DestinationPath="\" SourcePath="X:\bin" Include="*.*"/>
    </Chunk>
    <Chunk Id="1001">
      <FileGroup DestinationPath="\Data\Maps" SourcePath="Y:\Maps\Level1" Include="*.map"/>
      <FileGroup DestinationPath="\Data\Maps" SourcePath="Y:\Maps\Level2" Include="*.map"/>
      <FileGroup DestinationPath="\Data\Maps" SourcePath="Y:\Maps\Level3" Include="*.map"/>
      <FileGroup DestinationPath="\Data\Maps" SourcePath="W:\ExtraMaps" Include="*.map"/>
      <FileGroup DestinationPath="\Data\Textures" SourcePath="M:\MapTextures" Include="*.png"/>
      <FileGroup DestinationPath="\Data\Textures" SourcePath="W:\ExtraMapTextures" Include="*.png"/>
    </Chunk>
  </Package>  

要包装游戏数据以进行流式安装,请使用映射文件作为参数来运行命令行工具 Make Package (makepkg.exe)

创建应用程序包后,在主机上使用 xbappinstall 测试流式安装。 有关此命令的详细信息,请参阅应用程序管理 (xbapp.exe)(NDA 主题)要求授权

使用智能交付

要使用智能交付,请相应地在布局文件中标记区块。 下面的代码示例演示如何标记区块,以便区块仅安装在语言设置为法语的 Xbox One X 主机上。

  <Package>
    <Chunk Id="2002" Devices="Xbox-Scorpio" Languages="fr">
      ...
    </Chunk>
  </Package>  

对齐要求

早期版本的 MakePkg 工具需要使用特殊的对齐块,以避免更新内容超出预期。 此信息不再是必需的。

更新

通常,游戏更新在后台发生,用户不会注意到正在进行更新。 但是,在某些情况下,游戏可能会在进行更新时运行。 即使是这种情况,更新程序仍可以更新个别区块。 当区块正在进行更新时,有关其状态的查询表明此区块未安装。

在启动集中的区块已更新后,可以启动游戏。 系统的行为将与正在重新安装游戏相似。

本部分内容

动态区块重新排序
介绍游戏如何更改安装数据的顺序以响应用户输入。

创建、检查和测试内容更新 介绍如何在开发中创建、比较和测试内容更新

内容更新最佳做法 (NDA 主题) 要求授权
介绍如何创作用于内容更新的包。

流式安装:调试
介绍如何在调试程序连接到游戏之前暂停游戏的流式安装。

流式安装:状态
介绍游戏如何监视安装的进度。

多光盘功能
介绍如何创建跨多个光盘的 Xbox One 游戏。

开发期间的应用程序包装
介绍在开发过程中,应用程序包装具有三个阶段:未加密的包装、测试加密包装和生产加密包装。

智能交付
介绍如何使用智能交付来仅安装内容的子集。

创建测试光盘
介绍如何创建测试光盘。

在电脑上测试程序包
介绍如何在开发电脑上测试包。