Microsoft Game Development Kit ダウンロード コンテンツ (DLC) パッケージ
GDK のダウンロード コンテンツ (DLC) パッケージは、メイン ゲームとは別のパッケージです。 DLC パッケージは、ゲームの他の部分とは別に、または購入バンドルの一部として、販売およびダウンロードされます。
DLC パッケージを作成、公開、使用するプロセスは、Xbox One 本体タイトルの場合と概念的には同じですが、パッケージ ファイル形式とランタイム API によっては、更新されてより使いやすくなっている部分もあります。
DLC パッケージは、PC 上でも同じパッケージ構造体を使用してサポートされ、また、本体と PC のどちらでも、同じランタイム API でアクセスできます。
Xbox Series X|S と Xbox One 本体では、DLC パッケージのスタブ ファイルを生成し、両方のプラットフォームに使用することができます。 DLC パッケージに実際のコンテンツの違いが含まれる場合は、TargetDeviceFamilyForDLC 要素を使用してプラットフォーム固有の DLC パッケージを生成してください。
メイン パッケージ ID を設定する
メイン ゲーム製品の [ゲームのセットアップ] ページで、メイン アプリケーション パッケージの Store ID (12 文字の英数字文字列) を調べます。 (例: 9PNX12345AAA)
StoreId 要素をメイン パッケージの MicrosoftGame.config ファイルに追加します。
<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">
<!-- Content omitted for brevity. -->
<StoreId>**REPLACE WITH STOREID**</StoreId>
</Game>
DLC パッケージを作成する
メインの製品の下にある [アドオン] のメニューから、Microsoft パートナー センター内に DLC 追加コンテンツを作成します。
すべての DLC パッケージを 1 つのディレクトリに配置します。
次のようにサンプル データを使用して、DLC パッケージと同じディレクトリに、MicrosoftGame.config ファイルを作成します。
この DLC パッケージが作成される TargetDeviceFamilyForDLC フィールドのターゲット デバイス ファミリを指定します。 使用できる値は Xbox One、Xbox Series X|S または PC です。 これは XboxOne と Xbox Series X|S では指定が必須であり、PC では makepkg.exe を使用して DLC .MSIXVC ファイルを生成するときに /pc フラグが使用される限り、省略可能です。
パートナー センターの [ゲームのセットアップ] ページでメイン アプリケーション パッケージの [パッケージ/ID/名前] フィールドを調べて、MainPackageDependency フィールドに ID 名を追加します。 例: MyPackageName
パートナー センターから追加コンテンツ/DLC パッケージの Store ID (12 文字の英数字) を探し、次のように StoreId フィールドに配置します。
メイン ゲーム製品の [ゲームのセットアップ] ページで、メイン アプリケーション パッケージの Store ID (12 文字の英数字文字列) を調べます。 それを、次のように [AllowedProductId] フィールドに追加します。 例: 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 Game Development Kit (GDK) コマンド プロンプトを開き、次のコマンドを実行します。
MakePkg genmap /f layout.xml /d <Your_dlc_folder>
PC 用に DLC を作成している場合は、次のコマンドを使用します。
MakePkg pack /f layout.xml /lt /d <Your_dlc_folder_name> /pc /pd <Output_Folder_Name>
コンソール用に DLC を作成している場合は、次のコマンドを使用します。
MakePkg pack /f layout.xml /lt /d <Your_dlc_folder_name> /pd <Output_Folder_Name>
以前の SDK では、コマンド ラインでメイン ゲームのプロダクト ID GUID を /ProductID フラグと共に渡していました。 DLC パッケージの関係を構成する MicrosoftGame.Config モデルでは、/ProductID パラメーターを使用しません。 MakePkg は、MicrosoftGame.config ファイルに記載されている StoreID に基づいて、適切な情報をパッケージに自動的に配置します。
実行時にゲームから DLC パッケージにアクセスする
DLC パッケージ内のコンテンツを使用するための基本的な手順は次のとおりです。
- パッケージを列挙する
- ターゲット パッケージの有効なユーザー ライセンスを確認する
- 列挙結果から packageIdentifier を取得し、XPackageMount API に渡す
Xbox Series X|S 本体では、MicrosoftGame.config の DlcCompatibility フィールドに XboxOne を指定しない限り、Xbox Series X|S TargetDeviceFamilyForDLC の DLC パッケージだけを使用できます。
<VirtualMachine>
<DlcCompatibility>XboxOne</DlcCompatibility>
</VirtualMachine>
Xbox Series X|S DLC は高速ストレージにのみインストールできますが、Xbox One DLC にはそのような制限がないため、ゲームをオプトインする前にこの点を考慮してください。
DLC パッケージの展開とテスト
DLC パッケージをインストールする前に、必ずメイン ゲーム パッケージをインストールしてください。
Xbox 本体の場合は、次のコマンドを使用して、DLC パッケージをインストールします: xbapp install <Your_DLC_Package.xvc>
PC の場合は、次のコマンドを使用して、DLC パッケージをインストールします: wdapp install <Your_DLC_Package.msixvc>
DLC コンテンツは、ルーズ ファイルを使用してディレクトリから登録することもできます。また、Store からダウンロードしたパッケージでテストを実行することもできます。
詳細については、記事「ダウンロード可能なコンテンツの管理とライセンス」を参照してください。