> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 새로운 GDK 타이틀 개발하기

> Windows PC, XBOX Series X|S 콘솔 또는 둘 다를 대상으로 하는 크로스 플랫폼 빌드를 위해 Visual Studio에서 프로젝트 템플릿을 사용하여 새 GDK 타이틀을 만듭니다.

이는 가이드 경로의 3단계입니다. 여기서 시작하기 전에 [GDK 설정 및 설치](/home/setup-install/get-started)에서 GDK를 설치하고 샘플을 빌드하세요.

모든 GDK 게임은 Visual Studio 프로젝트에서 시작합니다. 게임이 어디에서 실행될지에 따라 템플릿을 선택합니다: Windows PC 전용, XBOX 콘솔 전용, 또는 동일한 코드로 두 대상 모두. 나중에 다른 대상을 추가할 수 있으므로 지금 확정할 필요는 없습니다.

<Tip>
  어떤 대상을 선택해야 할지 확실하지 않다면, Windows PC가 있고 아직 개발 키트가 없는 경우 **Desktop**(`Gaming.Desktop.x64`)으로 시작하세요. 모든 것을 로컬에서 테스트할 수 있습니다. 개발 키트를 받은 후에 XBOX 대상을 추가하세요.
</Tip>

## 프로젝트 템플릿

GXDK를 설치하면 Visual Studio에 9개의 GDK 프로젝트 템플릿이 추가됩니다: PC용 5개와 XBOX 콘솔용 4개.

| 대상          | 템플릿                                | 설명                                                  |
| ----------- | ---------------------------------- | --------------------------------------------------- |
| **Desktop** | Direct3D 12 Desktop Game (Classic) | 표준 x64 MSBuild 플랫폼의 독립형 PC 게임.                      |
|             | Direct3D 12 Desktop Game           | `Gaming.Desktop.x64` 사용자 지정 MSBuild 플랫폼의 독립형 PC 게임. |
|             | Direct3D 12 Desktop Game Makefile  | 명령 프롬프트를 통해 makefile로 빌드하는 PC 게임.                   |
|             | Desktop Static Library             | `Gaming.Desktop.x64`를 대상으로 하는 정적 라이브러리.             |
|             | Desktop DLL                        | `Gaming.Desktop.x64`를 대상으로 하는 DLL.                  |
| **Console** | Direct3D 12 XBOX Game              | 독립형 XBOX 게임 실행 파일.                                  |
|             | Direct3D 12 XBOX Game Makefile     | makefile로 빌드하는 XBOX 게임.                             |
|             | XBOX Static Library                | XBOX 플랫폼을 대상으로 하는 정적 라이브러리.                         |
|             | XBOX DLL                           | XBOX 플랫폼을 대상으로 하는 DLL.                              |

## 프로젝트 생성

1. Visual Studio를 엽니다.
2. **File** > **New** > **Project**로 이동합니다.
3. **All Languages**에서 \*\*C++\*\*를 선택합니다. **All Platforms**에서 **XBOX** 또는 **Windows**를 선택합니다. **All Project Types**에서 **Games**를 선택합니다. 템플릿 이름으로 검색할 수도 있습니다.
4. 템플릿을 선택하고 **OK**를 클릭합니다.

## 템플릿 선택

### PC 전용

**Direct3D 12 Desktop Game**으로 시작하세요.

* `WINAPI_FAMILY_DESKTOP_APP`을 사용하며 `kernel32.lib` 및 `user32.lib`를 포함한 전체 PC 라이브러리와 링크됩니다.
* D3D12용 헤더와 라이브러리가 포함됩니다. 간단한 스왑 체인, D3D 디바이스, 업데이트/렌더 루프를 제공합니다.
* `XGameRuntime.h`가 포함되며 `XGameRuntime.lib`와 링크됩니다. 모든 GDK Gaming Runtime 기능을 바로 사용할 수 있습니다.
* XSAPI 확장 라이브러리를 기본적으로 사용할 수 있습니다.
* 표준 x64 플랫폼 또는 사용자 지정 `Gaming.Desktop.x64` 플랫폼으로 빌드합니다.
* Partner Center 신원용 자리 표시자가 포함된 `MicrosoftGameConfig.mgc` 파일을 만듭니다.

### XBOX 전용

**Direct3D 12 XBOX Game**으로 시작하세요.

* `WINAPI_FAMILY_GAMES`를 사용하며 `XGamePlatform.lib`와 링크됩니다.
* XBOX D3D12.x 확장에 사용할 준비가 된 D3D12 헤더가 포함됩니다.
* `XGameRuntime.h`가 포함되며 `XGameRuntime.lib`와 링크됩니다.
* XSAPI 확장 라이브러리를 기본적으로 사용할 수 있습니다.
* 원격 디버그 기대치가 있는 `Gaming.XBOX.XboxOne.x64` MSBuild 플랫폼을 사용합니다.
* 자리 표시자가 포함된 `MicrosoftGameConfig.mgc` 파일을 만듭니다.

### PC 및 XBOX (공유 코드베이스)

예를 들어 **Direct3D 12 Desktop Game** 같은 템플릿 하나로 시작한 다음 `Gaming.XBOX.XboxOne.x64`(또는 그 반대)를 대상으로 하는 두 번째 빌드 구성을 추가합니다.

`#define` 또는 `#ifdef` 가드로 소스 코드를 조정하거나, 플랫폼별 코드를 별도의 DLL로 분리하세요:

* PC 구성은 표준 D3D12를 사용합니다.
* XBOX 구성은 D3D12.x를 사용합니다.

활성 구성을 전환하면 디버거, 링크된 라이브러리 및 기타 도구 설정이 자동으로 변경됩니다.

## 개발 키트에서 엔드-투-엔드 출시

더 깊은 경로를 선택하기 전에 실습형 콘솔 워크스루를 진행하세요. 방금 만든 **Direct3D 12 XBOX Game** 템플릿을 XBOX 개발 키트에서 실행되는 loose 배포까지 이어가고, 거기서 설치 가능한 XVC를 만들어 냅니다.

<Card title="GDKX로 첫 콘솔 타이틀 빌드 및 실행" icon="gamepad" horizontal href="/home/build-first-title/first-console-title-walkthrough">
  14단계 튜토리얼: GDK 에디션 고정, DirectXTK12 추가, XBOX Series X|S 콘솔용 빌드, 개발 키트에 배포, 실행 실패 진단, 설치 가능한 XVC 생성.
</Card>

## 다음 단계

프로젝트가 빌드됩니다. 여러분이 출시하려는 것에 맞는 큐레이팅된 경로를 선택하세요. 이 가이드는 다음에 필요한 더 깊은 문서(Build, Services, Optimize, Publishing, API References)로 안내합니다.

<CardGroup cols={2}>
  <Card title="포팅" icon="arrow-right-arrow-left" href="/paths/porting/overview">
    다른 플랫폼에서 출시된 타이틀을 포팅합니다.
  </Card>

  <Card title="XBOX Play Anywhere" icon="globe" href="/paths/play-anywhere/overview">
    한 번의 구매로 PC와 콘솔에서. 공유된 저장.
  </Card>

  <Card title="XBOX Series X|S 콘솔" icon="tv" href="/paths/series-xs/overview">
    콘솔 우선: Quick Resume, DirectStorage, Smart Delivery.
  </Card>

  <Card title="Windows 및 ROG XBOX Ally" icon="laptop" href="/paths/windows/overview">
    Windows PC 및 휴대용 기기에 출시합니다.
  </Card>

  <Card title="Unreal Engine" icon="gamepad" href="/paths/unreal/overview">
    Unreal용 GDK 플러그인 및 플랫폼 확장.
  </Card>

  <Card title="Unity" icon="cube" href="/paths/unity/overview">
    PC 및 XBOX용 Unity 통합.
  </Card>

  <Card title="Godot 및 커뮤니티 엔진" icon="code" href="/paths/community-engines/overview">
    Godot, GameMaker, 사용자 지정 엔진 관련 참고.
  </Card>
</CardGroup>

<Tip>
  대부분의 타이틀은 신원, 멀티플레이어, 리더보드, 경제 시스템, 라이브 옵스를 위해 GDK를 [PlayFab](/services/playfab/get-started)과 함께 사용합니다. 프로젝트가 빌드된 이후 언제든지 연결할 수 있습니다.
</Tip>

## 참고 자료

* [포팅 가이드](/home/build-first-title/porting-guides): 포팅 항목의 기술 색인 (ERA에서 GDK, 셰이더, GameInput, Steamworks 매핑).
* [MicrosoftGame.config 개요](/build/core-features/common/game-config/MicrosoftGameConfig-Overview).
* [게임 패키징](/build/core-features/common/packaging/overviews/packaging).


## Related topics

- [GDKX로 첫 콘솔 타이틀 빌드 및 실행](/ko/home/build-first-title/first-console-title-walkthrough.md)
- [크로스 제너레이션 게임](/ko/build/console-features/cross-gen/cross-gen-overview.md)
- [XDK 및 GDK 타이틀 버전에서의 멀티플레이어 초대](/ko/services/xbox-services/multiplayer/invites/concepts/live-multiplayer-xdkinvites.md)
- [XBOX GDK로의 포팅 가이드](/ko/home/build-first-title/porting-guides.md)
- [이벤트 기반 업적 개요](/ko/services/xbox-services/player-data/achievements/event-based/live-achievements-eb-overview.md)
