다음을 통해 공유


Microsoft 게임 개발 키트 DLC(다운로드 가능한 콘텐츠) 패키지

GDK용 DLC(다운로드 가능한 콘텐츠) 패키지는 메인 게임과 분리되어 있는 패키지입니다. DLC 패키지는 게임의 나머지 부분과 별도로 또는 구입 번들의 일부로 판매되고 다운로드됩니다.

DLC 패키지를 만들고, 퍼블리싱하고, 소비하는 과정은 개념적으로 Xbox One 본체 타이틀과 동일하지만, 일부 패키징 파일 형식 및 런타임 API가 업데이트되고 사용이 더 편리해졌습니다.

DLC 패키지는 PC에서 동일한 패키징 구조를 사용하여 지원되며, 본체와 PC 모두에서 동일한 런타임 API로 액세스됩니다.

Xbox Series X|S 및 Xbox One 콘솔을 사용하면 DLC 패키지 스텁 파일을 생성하여 두 플랫폼 모두에 사용할 수 있습니다. DLC 패키지에 실제 콘텐츠 차이가 포함된 경우 TargetDeviceFamilyForDLC 요소를 사용하여 플랫폼 관련 DLC 패키지를 생성하세요.

메인 패키지 ID 설정

  1. 메인 게임 제품의 게임 설정 페이지에서 메인 애플리케이션 패키지의 Microsoft Store ID(12자리 영숫자 문자열)를 조회합니다. (예: 9PNX12345AAA)

  2. 메인 패키지의 MicrosoftGame.config 파일에 StoreId 요소를 추가합니다.

<?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 또는 PC입니다. XboxOne 및 Xbox Series X|S에 대해 지정해야 하며 makepkg.exe를 사용하여 DLC .MSIXVC 파일을 생성할 때 /pc 플래그를 사용하는 한 PC에서 선택 사항입니다.

  5. 파트너 센터의 게임 설정 페이지에서 메인 애플리케이션 패키지의 패키지/ID/이름 필드를 조회하고, MainPackageDependency 필드에 Identity Name을 넣습니다. 예: MyPackageName

  6. 파트너 센터에서 추가 콘텐츠/DLC 패키지의 Store ID(12자리 영숫자 문자열)를 조회하여 다음과 같이 StoreId 필드에 넣습니다.

  7. 메인 게임 제품의 게임 설정 페이지에서 메인 애플리케이션 패키지의 Microsoft 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 GDK(게임 개발 키트) 명령 프롬프트를 열고 다음 명령을 실행합니다.
    MakePkg genmap /f layout.xml /d <Your_dlc_folder>

  2. PC용 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 플래그를 사용하여 메인 게임의 제품 ID GUID를 전달했습니다. DLC 패키지 관계를 구성하는 MicrosoftGame.Config 모델에서는 더 이상 /ProductID 매개 변수를 사용하면 안 됩니다. MakePkg가 MicrosoftGame.config 파일에 나열된 StoreID를 기반으로 적절한 정보를 패키지에 자동으로 배치합니다.

런타임에 게임에서 DLC 패키지에 액세스

DLC 패키지 내에 있는 콘텐츠를 사용하는 기본 단계는 다음과 같습니다.

  1. 패키지 열거
  2. 대상 패키지에 대한 유효한 사용자 라이선스 확인
  3. 열거 결과에서 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에서 다운로드한 패키지를 사용하여 테스트할 수도 있습니다.

자세한 내용은 다운로드 가능한 콘텐츠 관리 및 라이선스 부여 문서를 참조하세요.