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

# Desenvolva um novo título GDK

> Crie um novo título GDK no Visual Studio usando modelos de projeto para Windows PC, consoles XBOX Series X|S ou uma build multiplataforma que tem como alvo ambos.

Esta é a etapa 3 do caminho guiado. Instale o GDK e compile um exemplo em [Configurar e instalar o GDK](/home/setup-install/get-started) antes de começar aqui.

Todo jogo GDK começa como um projeto do Visual Studio. Você seleciona um modelo com base em onde deseja que seu jogo seja executado: somente Windows PC, somente consoles XBOX ou ambos os alvos a partir do mesmo código. Você não precisa decidir isso definitivamente agora, porque pode adicionar outro alvo mais tarde.

<Tip>
  Se você não tem certeza de qual alvo escolher, comece com **Desktop** (`Gaming.Desktop.x64`) quando tiver um Windows PC e ainda não tiver um dev kit. Você pode testar tudo localmente. Adicione alvos XBOX depois de receber um dev kit.
</Tip>

## Modelos de projeto

A instalação do GXDK adiciona nove modelos de projeto GDK ao Visual Studio: cinco para PC e quatro para consoles XBOX.

| Alvo        | Modelo                             | Descrição                                                                       |
| ----------- | ---------------------------------- | ------------------------------------------------------------------------------- |
| **Desktop** | Direct3D 12 Desktop Game (Classic) | Jogo autônomo para PC na plataforma MSBuild x64 padrão.                         |
|             | Direct3D 12 Desktop Game           | Jogo autônomo para PC na plataforma MSBuild personalizada `Gaming.Desktop.x64`. |
|             | Direct3D 12 Desktop Game Makefile  | Jogo para PC compilado a partir de um makefile pelo prompt de comando.          |
|             | Desktop Static Library             | Biblioteca estática com alvo em `Gaming.Desktop.x64`.                           |
|             | Desktop DLL                        | DLL com alvo em `Gaming.Desktop.x64`.                                           |
| **Console** | Direct3D 12 XBOX Game              | Executável autônomo de jogo XBOX.                                               |
|             | Direct3D 12 XBOX Game Makefile     | Jogo XBOX compilado a partir de um makefile.                                    |
|             | XBOX Static Library                | Biblioteca estática com alvo nas plataformas XBOX.                              |
|             | XBOX DLL                           | DLL com alvo nas plataformas XBOX.                                              |

## Crie um projeto

1. Abra o Visual Studio.
2. Vá em **File** > **New** > **Project**.
3. Em **All Languages**, selecione **C++**. Em **All Platforms**, selecione **XBOX** ou **Windows**. Em **All Project Types**, selecione **Games**. Você também pode pesquisar pelo nome do modelo.
4. Selecione um modelo e selecione **OK**.

## Selecione um modelo

### Somente PC

Comece com **Direct3D 12 Desktop Game**.

* Usa `WINAPI_FAMILY_DESKTOP_APP` e faz o link com o conjunto completo de bibliotecas de PC, incluindo `kernel32.lib` e `user32.lib`.
* Inclui cabeçalhos e bibliotecas para D3D12. Fornece uma swap chain simples, um dispositivo D3D e um loop de atualização e renderização.
* Inclui `XGameRuntime.h` e faz o link com `XGameRuntime.lib`. Todas as capacidades do Gaming Runtime do GDK estão prontas.
* Biblioteca de extensão XSAPI disponível por padrão.
* Compila para a plataforma x64 padrão ou para a plataforma personalizada `Gaming.Desktop.x64`.
* Cria um arquivo `MicrosoftGameConfig.mgc` com espaços reservados para a sua identidade do Partner Center.

### Somente XBOX

Comece com **Direct3D 12 XBOX Game**.

* Usa `WINAPI_FAMILY_GAMES` e faz o link com `XGamePlatform.lib`.
* Inclui cabeçalhos D3D12 prontos para as extensões D3D12.x do XBOX.
* Inclui `XGameRuntime.h` e faz o link com `XGameRuntime.lib`.
* Biblioteca de extensão XSAPI disponível por padrão.
* Usa a plataforma MSBuild `Gaming.XBOX.XboxOne.x64` com expectativas de depuração remota.
* Cria um arquivo `MicrosoftGameConfig.mgc` com espaços reservados.

### PC e XBOX (base de código compartilhada)

Comece com um modelo, por exemplo **Direct3D 12 Desktop Game**, e adicione uma segunda configuração de build com alvo em `Gaming.XBOX.XboxOne.x64` (ou vice-versa).

Adapte o código-fonte com guardas `#define` ou `#ifdef`, ou particione o código específico de plataforma em DLLs separadas:

* A configuração de PC usa o D3D12 padrão.
* A configuração de XBOX usa o D3D12.x.

Alternar a configuração ativa muda automaticamente o depurador, as bibliotecas vinculadas e outras configurações de ferramentas.

## Lance de ponta a ponta em um dev kit

Antes de selecionar um caminho mais profundo, faça o passo a passo prático de console. Ele leva o modelo **Direct3D 12 XBOX Game** que você criou até uma implantação solta (loose) em execução em um dev kit XBOX. A partir daí, produz um XVC instalável.

<Card title="Compile e execute seu primeiro título de console com o GDKX" icon="gamepad" horizontal href="/home/build-first-title/first-console-title-walkthrough">
  Tutorial de 14 etapas: fixe a edição do GDK, adicione o DirectXTK12, compile para consoles XBOX Series X|S, implante em um dev kit, diagnostique falhas de inicialização e produza um XVC instalável.
</Card>

## Próximas etapas

Você tem um projeto compilando. Selecione o caminho selecionado que corresponde ao que você está lançando. O guia aponta para a documentação mais profunda (Build, Serviços, Otimização, Publicação e Referências de API) de que você precisará em seguida.

<CardGroup cols={2}>
  <Card title="Portabilidade" icon="arrow-right-arrow-left" href="/paths/porting/overview">
    Porte um título já lançado de outra plataforma.
  </Card>

  <Card title="XBOX Play Anywhere" icon="globe" href="/paths/play-anywhere/overview">
    Uma única compra, PC e console. Saves compartilhados.
  </Card>

  <Card title="Consoles XBOX Series X|S" icon="tv" href="/paths/series-xs/overview">
    Console em primeiro lugar: Quick Resume, DirectStorage e Smart Delivery.
  </Card>

  <Card title="Windows e ROG XBOX Ally" icon="laptop" href="/paths/windows/overview">
    Lance no Windows PC e em portáteis.
  </Card>

  <Card title="Unreal Engine" icon="gamepad" href="/paths/unreal/overview">
    Plugins do GDK e extensões de plataforma para Unreal.
  </Card>

  <Card title="Unity" icon="cube" href="/paths/unity/overview">
    Integração do Unity para PC e XBOX.
  </Card>

  <Card title="Godot e engines da comunidade" icon="code" href="/paths/community-engines/overview">
    Notas sobre Godot, GameMaker e engines personalizadas.
  </Card>
</CardGroup>

<Tip>
  A maioria dos títulos combina o GDK com o [PlayFab](/services/playfab/get-started) para identidade, multijogador, placares de líderes, economia e live-ops. Você pode integrá-lo a qualquer momento depois que seu projeto compilar.
</Tip>

## Consulte também

* [Guias de portabilidade](/home/build-first-title/porting-guides): índice técnico de tópicos de portabilidade (ERA para GDK, shaders, GameInput e mapeamento do Steamworks).
* [Visão geral do MicrosoftGame.config](/build/core-features/common/game-config/MicrosoftGameConfig-Overview).
* [Empacotando seu jogo](/build/core-features/common/packaging/overviews/packaging).


## Related topics

- [Compile e execute seu primeiro título de console com o GDKX](/pt-BR/home/build-first-title/first-console-title-walkthrough.md)
- [Guias de portabilidade para o XBOX GDK](/pt-BR/home/build-first-title/porting-guides.md)
- [Visão geral de Godot e engines da comunidade](/pt-BR/paths/community-engines/overview.md)
- [Guia passo a passo da certificação](/pt-BR/publishing/game-publishing/concepts/certification/certification-guide.md)
- [Notas de versão do SDK C++ do PlayFab Multiplayer](/pt-BR/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/lobby-and-matchmaking-release-notes.md)
