多光盘功能
借助 Xbox One 上的多光盘功能,一个或多个 XVC 包可在一组光盘上交付(作为用户的单一可玩游戏许可证)。
平台在单个光盘组中支持最多 15 张光盘。 但是,实际制造和包装物流目前对于每个零售包仅支持发布两张光盘。 如果您需要更多光盘,请与您的开发者客户经理 (DAM) 合作。
在一个光盘组中,光盘 1 充当游戏光盘,并且包含用于该组中所有 XVC 的许可证。 最终用户通过插入光盘 1 开始安装/玩游戏过程。 Xbox Shell 会提示用户插入后续光盘。 当游戏从光盘主动安装时,如果在短时间内插入同一组中的另一张光盘,弹出光盘时不会关闭游戏。
没有用于触发光盘交换的游戏 API。 但是,如果游戏更改主动运行的游戏的 XVC 包内各区块的安装顺序,则多光盘安装系统会提示用户响应游戏的数据请求。
在游戏已完成安装和停止玩游戏后,游戏的后续启动始终要求光盘 1 位于主机中。
要设计包布局以实现多光盘支持,请更新 DiscLayout.xml 文件,如下面的示例所示。 这指示包装和控制过程允许创建两个 MSIXVC 文件,每个光盘对应于一个文件。
<Packages>
<Package Name="GameDisc" MaxDiscs="2">
</Package>
</Packages>
注意
不要将拆分包(splitpkg.exe )输出 XDC 提交到 Microsoft 合作伙伴中心发布系统。 您将提交主 XVC 以及 DiscLayout.xml 文件。 Splitpkg.exe 将作为发布和光盘控制过程的一部分运行。
平台也支持更复杂的布局说明。 例如,您可以指示具有某个特定指定符的所有资产都将放入特定的光盘中。下面的示例指定特定于 Xbox One X 主机的所有资产都布设在光盘 2 上。 这种相同的方法可用于某些语言,或针对光盘 2 到光盘 n 上的自定义开发者说明符对内容进行分组。
<Packages>
<Package Name="GameDisc" MaxDiscs="2">
<Include Devices="Xbox-Scorpio" Disc="2"/>
</Package>
</Packages>
重要
如果可能,游戏 DiscLayout.xml 文件之前具有Marker="launch"
属性 ((即游戏的启动集) 中的任何区块)始终包含在光盘 1 上,因此不会在光盘 2 上放置Xbox One X特定资产。
非常重要的一点是:当使用诸如此类的光盘布局时,游戏会在功能获得验证后才提交以供发布。 这将有助于避免发布时出现错误,而导致延迟和需要对测试光盘重新排序。
使用 SplitPkg
命令以及通过生成包 (makepkg.exe) 生成的 XVC 和您的 DiscLayout.xml 文件,以生成测试光盘 XVC 文件。 我们强烈建议您刻录测试光盘来验证安装体验。
可以通过使用 xbapp 安装(NDA 主题)要求授权或 Xbox 管理器(NDA 主题)要求授权旁加载由拆分包生成的各个文件。 假设使用上述示例布局,以下命令会安装光盘 1:
Xbapp install PackageName_1.0.0.0_x64__8wekyb3d8bbwe.GameDisc.1
在完成从光盘 1 安装内容后,Xbox shell 将通知用户插入光盘 2,这可以通过类似的方法实现:
Xbapp install PackageName_1.0.0.0_x64__8wekyb3d8bbwe.GameDisc.2