Microsoft 游戏开发工具包可下载内容 (DLC) 包

Microsoft游戏开发工具包的可下载内容 (DLC) 包 (GDK) 是独立于main游戏的包。 DLC 包可以独立于游戏的其余部分或作为购买捆绑包的一部分进行出售和下载。

创建、发布和使用 DLC 包的过程在概念上与用于 Xbox One 主机游戏的对应过程是相同的,但某些包装文件的格式和运行时 API 已更新且更容易使用。

在电脑上使用相同的包装结构支持 DLC 包,并可以同时在主机和电脑使用相同的运行时 API 访问 DLC。

使用 Xbox Series X|S 和 Xbox One 主机,可生成一个 DLC 包存根文件,该文件可用于这两个平台。 如果 DLC 包包含实际内容差异,请使用 TargetDeviceFamilyForDLC 元素生成特定于平台的 DLC 包。

设置你的主程序包标识

  1. 在主游戏产品的游戏设置页面中查找主应用程序包的 Microsoft Store ID(由 12 个字符构成的字母数字字符串)。 (示例:9PNX12345AAA)

  2. StoreId 元素添加到main包的 MicrosoftGame.config 文件。

<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">
    <!-- Content omitted for brevity. -->
    <StoreId>**REPLACE WITH STOREID**</StoreId>
</Game>

创建 DLC 包

  1. 在合作伙伴中心内您的主要产品下的附加内容菜单中创建您的 DLC 包附加内容。

  2. 将 DLC 包的所有内容放入单个目录中。

  3. 使用下面的示例数据在与你的 DLC 包内容相同的目录中创建 MicrosoftGame.config 文件。

  4. 在 字段中指定要为其TargetDeviceFamilyForDLC创建此 DLC 包的目标设备系列。 允许的值为 Xbox One、Xbox Series X|S或电脑。 需要为 Xbox One 和 Xbox Series X|S指定它,并且只要在生成 DLC 时使用 标志,/pc它就可以在电脑上进行选择。使用 makepkg.exe 的 MSIXVC 文件。

  5. 在合作伙伴中心的“游戏设置”页中查找main应用程序包的“包/标识/名称”字段,然后将“标识名称”放在 字段中MainPackageDependency。 例如,MyPackageName

  6. 从合作伙伴中心查找加载项/DLC 包的 Microsoft Store ID (12 个字符的字母数字字符串) ,然后将其放入 StoreId 字段中,如下所示。

  7. 在主游戏产品的游戏设置页面中查找主应用程序包的 Microsoft Store ID(由 12 个字符构成的字母数字字符串)。 将它放入字段中, AllowedProduct 如下所示。 例如,9PNX12345AAA

<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">
    <Identity Name="**REPLACE**"
        Publisher="**REPLACE**"
        Version="1.0.0.0"/>
    <ShellVisuals DefaultDisplayName="**REPLACE**"
                  PublisherDisplayName="**REPLACE**"
                  StoreLogo="Storelogo.png"
                  Square150x150Logo="Logo.png"
                  Square44x44Logo="SmallLog.png"
                  Description="**REPLACE**"
                  BackgroundColor="#000040"
                  SplashScreenImage="SplashScreen.png"/>
    <StoreId>**REPLACE WITH STOREID OF ADD-ON / DLC**</StoreId>
    <TargetDeviceFamilyForDLC>**REPLACE**</TargetDeviceFamilyForDLC>
    <AllowedProducts>
      <AllowedProduct>**REPLACE WITH STOREID OF BASE GAME**</AllowedProduct>
    </AllowedProducts>

<!-- The Desktop Registration section is for PC only. -->
    <DesktopRegistration>
      <MainPackageDependency Name="**REPLACE_WITH_IDENTITY_OF_PARENT_PRODUCT**" />
      <ProcessorArchitecture>x64</ProcessorArchitecture>
    </DesktopRegistration>
</Game>
  1. 在带有所有游戏内容的单个文件夹的文件夹中打开 Microsoft 游戏开发工具包 (GDK) 命令提示符,然后运行以下命令。
    MakePkg genmap /f layout.xml /d <Your_dlc_folder>

  2. 如果要为电脑创建 DLC,请使用以下命令。
    MakePkg pack /f layout.xml /lt /d <Your_dlc_folder_name> /pc /pd <Output_Folder_Name>

  3. 如果要为主机创建 DLC,请使用以下命令。
    MakePkg pack /f layout.xml /lt /d <Your_dlc_folder_name> /pd <Output_Folder_Name>

在以前的 SDK 中,你会使用 标志在命令行/ProductID上传递main游戏的产品 ID GUID。 使用配置 DLC 包关系的 MicrosoftGame.Config 模型,请不要使用 /ProductID 参数。 MakePkg 会基于 MicrosoftGame.config 文件中列出的 StoreID 将相应信息自动放置到您的程序包中。

在运行时从您的游戏访问 DLC

使用 DLC 包中的内容的基本步骤如下。

  1. 枚举此包
  2. 检查目标包的有效用户许可
  3. packageIdentifier从枚举结果中获取 并将其传递给 XPackageMount API。

在Xbox Series X|S主机上,只能使用带有Xbox Series X|STargetDeviceFamilyForDLC的 DLC 包,除非在 MicrosoftGame.config 中指定XboxOne字段DlcCompatibility

    <VirtualMachine>
        <DlcCompatibility>XboxOne</DlcCompatibility>
    </VirtualMachine>

Xbox Series X|S DLC 只能在快速存储上安装,而 Xbox One DLC 没有此类限制,因此请确保在选择加入游戏之前将其考虑在内。

部署和测试 DLC 包

请确保在安装 DLC 包之前安装main游戏包。

对于 Xbox 主机,请使用以下命令安装 DLC 包。 xbapp install <Your_DLC_Package.xvc>

对于电脑,请使用以下命令安装 DLC 包。 wdapp install <Your_DLC_Package.msixvc>

还可以从包含松散文件的目录注册 DLC 内容,还可以使用从 Microsoft Store 下载的包进行测试。

有关详细信息,请参阅 管理和许可可下载内容