> ## Documentation Index
> Fetch the complete documentation index at: https://docs.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](https://docs.xbox.com/es/home/setup-install/get-started.md) 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.

## 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] [Compile y ejecute su primer título de consola con GDKX](https://docs.xbox.com/es/home/build-first-title/first-console-title-walkthrough.md)
>
> 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.

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

> [card] [Portabilidad](https://docs.xbox.com/es/paths/porting/overview.md)
>
> Migre un título publicado desde otra plataforma.

> [card] [XBOX Play Anywhere](https://docs.xbox.com/es/paths/play-anywhere/overview.md)
>
> Una compra, PC y consola. Guardados compartidos.

> [card] [Consolas XBOX Series X|S](https://docs.xbox.com/es/paths/series-xs/overview.md)
>
> Consola primero: Quick Resume, DirectStorage y Smart Delivery.

> [card] [Windows y ROG XBOX Ally](https://docs.xbox.com/es/paths/windows/overview.md)
>
> Publique en PC con Windows y dispositivos portátiles.

> [card] [Unreal Engine](https://docs.xbox.com/es/paths/unreal/overview.md)
>
> Complementos del GDK y extensiones de plataforma para Unreal.

> [card] [Unity](https://docs.xbox.com/es/paths/unity/overview.md)
>
> Integración de Unity para PC y XBOX.

> [card] [Godot y motores de la comunidad](https://docs.xbox.com/es/paths/community-engines/overview.md)
>
> Notas sobre Godot, GameMaker y motores personalizados.

> [!TIP]
>
> La mayoría de los títulos emparejan el GDK con [PlayFab](https://docs.xbox.com/es/services/playfab/get-started.md) 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.

## Consulte también

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


## Related topics

- [Compilación y ejecución de su primer título de consola con GDKX](https://docs.xbox.com/es/home/build-first-title/first-console-title-walkthrough.md)
- [Guías de portabilidad del Microsoft Game Development Kit (GDK)](https://docs.xbox.com/es/home/build-first-title/porting-guides.md)
- [Inicio del desarrollo de un nuevo título con las plantillas de proyecto del GDK](https://docs.xbox.com/es/build/gdk-and-engines/guides/gdk-project-templates.md)
- [Modo de desarrollo](https://docs.xbox.com/es/services/playfab/pricing/development-mode.md)
- [Creación de juegos de XBOX con los nuevos complementos del GDK de Unreal Engine](https://docs.xbox.com/es/build/gdk-and-engines/unreal/unreal-xbox-pc.md)
