> ## 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.

# Desarrollo de un nuevo título de GDK

> Cree un nuevo título de GDK en Visual Studio con plantillas de proyecto para PC con Windows, consolas XBOX Series X|S o una compilación multiplataforma que apunte a ambas.

Este es el paso 3 de la ruta guiada. Instale el GDK y compile un ejemplo desde [Configuración e instalación del GDK](/home/setup-install/get-started) antes de empezar aquí.

Todo juego del GDK comienza como un proyecto de Visual Studio. Seleccione una plantilla según dónde quiera que se ejecute su juego: solo PC con Windows, solo consolas XBOX o ambos destinos desde el mismo código. No es necesario que lo decida definitivamente ahora, porque puede agregar otro destino más adelante.

<Tip>
  Si no está seguro de qué destino elegir, comience con **Escritorio** (`Gaming.Desktop.x64`) cuando tenga un PC con Windows y todavía no disponga de un kit de desarrollo. Puede probar todo localmente. Agregue los destinos de XBOX después de recibir un kit de desarrollo.
</Tip>

## Plantillas de proyecto

La instalación del GXDK agrega nueve plantillas de proyecto de GDK a Visual Studio: cinco para PC y cuatro para consolas XBOX.

| Destino        | Plantilla                          | Descripción                                                                               |
| -------------- | ---------------------------------- | ----------------------------------------------------------------------------------------- |
| **Escritorio** | Direct3D 12 Desktop Game (Classic) | Juego de PC independiente en la plataforma de MSBuild x64 estándar.                       |
|                | Direct3D 12 Desktop Game           | Juego de PC independiente en la plataforma personalizada de MSBuild `Gaming.Desktop.x64`. |
|                | Direct3D 12 Desktop Game Makefile  | Juego de PC compilado a partir de un archivo makefile mediante el símbolo del sistema.    |
|                | Desktop Static Library             | Biblioteca estática que apunta a `Gaming.Desktop.x64`.                                    |
|                | Desktop DLL                        | DLL que apunta a `Gaming.Desktop.x64`.                                                    |
| **Consola**    | Direct3D 12 XBOX Game              | Ejecutable de juego de XBOX independiente.                                                |
|                | Direct3D 12 XBOX Game Makefile     | Juego de XBOX compilado a partir de un archivo makefile.                                  |
|                | XBOX Static Library                | Biblioteca estática que apunta a las plataformas de XBOX.                                 |
|                | XBOX DLL                           | DLL que apunta a las plataformas de XBOX.                                                 |

## Creación de un proyecto

1. Abra Visual Studio.
2. Vaya a **File** > **New** > **Project**.
3. En **All Languages**, seleccione **C++**. En **All Platforms**, seleccione **XBOX** o **Windows**. En **All Project Types**, seleccione **Games**. También puede buscar por el nombre de la plantilla.
4. Seleccione una plantilla y elija **OK**.

## Selección de una plantilla

### Solo PC

Comience con **Direct3D 12 Desktop Game**.

* Usa `WINAPI_FAMILY_DESKTOP_APP` y se vincula con el conjunto completo de bibliotecas de PC, incluidas `kernel32.lib` y `user32.lib`.
* Incluye encabezados y bibliotecas para D3D12. Proporciona una cadena de intercambio sencilla, un dispositivo D3D y un bucle de actualización o representación.
* Incluye `XGameRuntime.h` y vincula `XGameRuntime.lib`. Todas las funcionalidades de Gaming Runtime del GDK están listas.
* Biblioteca de extensión XSAPI disponible de forma predeterminada.
* Compila con la plataforma x64 estándar o con la plataforma personalizada `Gaming.Desktop.x64`.
* Crea un archivo `MicrosoftGameConfig.mgc` con marcadores de posición para su identidad de Partner Center.

### Solo XBOX

Comience con **Direct3D 12 XBOX Game**.

* Usa `WINAPI_FAMILY_GAMES` y se vincula con `XGamePlatform.lib`.
* Incluye encabezados de D3D12 listos para las extensiones D3D12.x de XBOX.
* Incluye `XGameRuntime.h` y vincula `XGameRuntime.lib`.
* Biblioteca de extensión XSAPI disponible de forma predeterminada.
* Usa la plataforma de MSBuild `Gaming.XBOX.XboxOne.x64` con expectativas de depuración remota.
* Crea un archivo `MicrosoftGameConfig.mgc` con marcadores de posición.

### PC y XBOX (base de código compartida)

Comience con una plantilla, por ejemplo **Direct3D 12 Desktop Game**, y agregue una segunda configuración de compilación que apunte a `Gaming.XBOX.XboxOne.x64` (o viceversa).

Adapte el código fuente con instrucciones de protección `#define` o `#ifdef`, o divida el código específico de la plataforma en archivos DLL independientes:

* La configuración de PC usa D3D12 estándar.
* La configuración de XBOX usa D3D12.x.

Al cambiar la configuración activa, cambian automáticamente el depurador, las bibliotecas vinculadas y otros ajustes de herramientas.

## Publicación de un extremo a otro en un kit de desarrollo

Antes de seleccionar una ruta más avanzada, complete el tutorial práctico de consola. Toma la plantilla **Direct3D 12 XBOX Game** que creó y la lleva hasta una implementación suelta en ejecución en un kit de desarrollo de XBOX. A partir de ahí, produce un XVC instalable.

<Card title="Compile y ejecute su primer título de consola con GDKX" icon="gamepad" horizontal href="/home/build-first-title/first-console-title-walkthrough">
  Tutorial de 14 pasos: fije la edición del GDK, agregue DirectXTK12, compile para consolas XBOX Series X|S, implemente en un kit de desarrollo, diagnostique errores de inicio y produzca un XVC instalable.
</Card>

## Pasos siguientes

Ya tiene un proyecto que compila. Seleccione la ruta seleccionada que coincida con lo que va a publicar. La guía le remite a la documentación más detallada (Compilación, Servicios, Optimización, Publicación y Referencias de API) que necesitará a continuación.

<CardGroup cols={2}>
  <Card title="Portabilidad" icon="arrow-right-arrow-left" href="/paths/porting/overview">
    Migre un título publicado desde otra plataforma.
  </Card>

  <Card title="XBOX Play Anywhere" icon="globe" href="/paths/play-anywhere/overview">
    Una compra, PC y consola. Guardados compartidos.
  </Card>

  <Card title="Consolas XBOX Series X|S" icon="tv" href="/paths/series-xs/overview">
    Consola primero: Quick Resume, DirectStorage y Smart Delivery.
  </Card>

  <Card title="Windows y ROG XBOX Ally" icon="laptop" href="/paths/windows/overview">
    Publique en PC con Windows y dispositivos portátiles.
  </Card>

  <Card title="Unreal Engine" icon="gamepad" href="/paths/unreal/overview">
    Complementos del GDK y extensiones de plataforma para Unreal.
  </Card>

  <Card title="Unity" icon="cube" href="/paths/unity/overview">
    Integración de Unity para PC y XBOX.
  </Card>

  <Card title="Godot y motores de la comunidad" icon="code" href="/paths/community-engines/overview">
    Notas sobre Godot, GameMaker y motores personalizados.
  </Card>
</CardGroup>

<Tip>
  La mayoría de los títulos emparejan el GDK con [PlayFab](/services/playfab/get-started) para identidad, multijugador, tablas de clasificación, economía y operaciones en directo. Puede integrarlo en cualquier momento después de que su proyecto compile.
</Tip>

## Consulte también

* [Guías de portabilidad](/home/build-first-title/porting-guides): índice técnico de temas de portabilidad (de ERA al GDK, sombreadores, GameInput y correspondencia con Steamworks).
* [Información general de MicrosoftGame.config](/build/core-features/common/game-config/MicrosoftGameConfig-Overview).
* [Empaquetado del juego](/build/core-features/common/packaging/overviews/packaging).


## Related topics

- [Compilación y ejecución de su primer título de consola con GDKX](/es/home/build-first-title/first-console-title-walkthrough.md)
- [Guías de portabilidad al GDK de XBOX](/es/home/build-first-title/porting-guides.md)
- [Modo de desarrollo](/es/services/playfab/pricing/development-mode.md)
- [Inicio de un nuevo título para PC con las plantillas de proyecto del GDK](/es/build/gdk-and-engines/guides/gdk-project-templates.md)
- [Lanzamientos de títulos](/es/services/playfab/pricing/title-launches.md)
