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

# Usar o GDK com o GameMaker

> Prepare um jogo do GameMaker Studio 2 para publicação na Microsoft Store usando a extensão GMEXT-GDK, o Visual Studio 2022, o CMake e a versão de junho de 2024 do GDK.

Este artigo descreve como preparar seu jogo do GameMaker para ser publicado na Microsoft Store.

* [Instalar o software necessário](#install-the-required-software)
* [Baixar e instalar o GameMaker Studio 2](#download-and-install-gamemaker-studio-2)
* [GameMaker Studio 2 - Extensão do Microsoft Game Development Kit (GDK)](#set-up-gamemaker-studio-2-gdk-extension)
* [Compilar a extensão do GDK](#build-the-gdk-extension)
* [Criar um produto no Microsoft Partner Center](#create-a-product-in-microsoft-partner-center)
* [Testar a extensão do GDK](#test-the-gdk-extension)
* [Atualizar o MicrosoftGame.config](#update-microsoftgame-config)
* [Integrar a extensão do GDK ao seu próprio projeto](#integrate-the-gdk-extension-into-your-project)
* [Testar os XBOX services no seu jogo](#test-xbox-services-in-your-game)
* [Publicar](#publish-your-game)

## Instalar o software necessário

Para usar o GameMaker Studio 2 com o Microsoft Game Development Kit (GDK), baixe o seguinte software:

* [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/)
* [GDK de junho de 2024](https://github.com/microsoft/GDK/releases/tag/June_2024_Update_2) ou posterior
* [CMake](https://cmake.org/download/)
  * Verifique se o instalador do CMake atualiza os caminhos do sistema. Caso contrário, o projeto da extensão não conseguirá encontrar o CMake.

## Atualizar o Gaming Runtime Services (GRTS) e o PC Bootstrapper

O PC Bootstrapper faz parte da experiência de inicialização de jogos no PC e foi introduzido na versão de maio de 2022 do GRTS. O PC Bootstrapper depende do GRTS para funcionar corretamente. Se o GRTS estiver desatualizado no seu PC de desenvolvimento, as tentativas de entrada poderão falhar e retornar um erro `E_FAIL`.

Para obter orientações detalhadas sobre o PC Bootstrapper, incluindo sua função no processo de inicialização do jogo e como ele interage com o GRTS, consulte a [Visão geral do PC Bootstrapper](/pt-BR/build/gdk-and-engines/guides/pc-bootstrapper).

## Baixar e instalar o GameMaker Studio 2

Se você não tiver o GameMaker Studio 2 instalado, baixe-o em [https://www.yoyogames.com](https://www.yoyogames.com/) e instale-o.

## Configurar a extensão do GDK para o GameMaker Studio 2

A extensão do GDK para o GameMaker Studio 2 é necessária para usar o GDK com o GameMaker Studio 2. Para obter o código-fonte da extensão e as instruções de configuração, consulte [https://github.com/YoYoGames/GMEXT-GDK](https://github.com/YoYoGames/GMEXT-GDK).

Siga as etapas do arquivo README na raiz do repositório. Essas etapas permitem configurar e compilar a extensão do GDK para o GameMaker Studio 2, habilitando a integração dos XBOX services e recursos aos projetos do GameMaker.

Ao clonar o repositório GDKExtension, use a opção `--recurse-submodules` para incluir os submódulos. Caso contrário, arquivos necessários estarão ausentes quando você compilar a solução.

Para obter informações sobre a extensão, consulte [https://github.com/YoYoGames/GMEXT-GDK/wiki](https://github.com/YoYoGames/GMEXT-GDK/wiki).

## Compilar a extensão do GDK

Compile a extensão no Visual Studio 2022 seguindo as instruções do arquivo README na raiz do repositório. O arquivo GDKExtension.sln é necessário (\<project\_root>/source/GDKExtension\_gml/extensions/GDKExtension/gdkextension\_windows/GDKExtension.sln). Para obter instruções detalhadas de compilação, consulte as etapas de compilação no arquivo README na raiz do repositório.

## Criar um produto no Microsoft Partner Center

Para criar seu produto habilitado para XBOX services no Partner Center, consulte [Configurar um aplicativo ou jogo no Partner Center, para Parceiros Gerenciados](/pt-BR/services/xbox-services/fundamentals/portal-config/live-setup-partner-center-partners). Depois de criar seu produto, você pode testar os XBOX services ou publicar um jogo na Microsoft Store.

## Testar a extensão do GDK

O repositório da extensão do GDK inclui um projeto de exemplo que demonstra como integrar o plug-in do GDK a um projeto do GameMaker Studio 2. O arquivo do projeto de exemplo está localizado em `source/GDKExtension_gml/GDKExtension.yyp`.

Ao compilar o projeto de exemplo no GameMaker (**Build**>**Create Executable**), selecione **Package as Zip** para gerar o pacote MSIXVC necessário para instalar o aplicativo. Se você selecionar **Package as Installer**, o build não produzirá um pacote MSIXVC. O aplicativo não poderá acessar os XBOX services.

Quando o build terminar, ele abrirá uma janela do Explorador de Arquivos que mostra o arquivo .zip criado e seu subdiretório. O subdiretório tem o mesmo nome do pacote e contém o arquivo MSIXVC.

Além disso, a janela de saída do GameMaker Studio 2 exibe uma linha de código com o caminho de saída completo do pacote MSIXVC, conforme mostrado no exemplo a seguir.

`C:\Users\your-user-name\XboxDeveloperExperienceTe.GamePassSampleGame_1.0.0.0_x64__pmsd8ndztetqc-pkg`

Para executar o projeto de exemplo com acesso aos XBOX services, instale o pacote usando `wdapp install` com o nome do seu pacote, conforme mostrado no exemplo a seguir.

`wdapp install XboxDeveloperExperienceTe.GamePassSampleGame_1.0.0.0_x64__pmsd8ndztetqc.msixvc`

Depois que o pacote for instalado, inicie-o usando o botão **Iniciar**.

## Atualizar o MicrosoftGame.config

O projeto de exemplo usa um arquivo MicrosoftGame.config padrão. Para testar o exemplo ou seu próprio projeto do GameMaker Studio 2 com as informações de configuração do seu projeto no Partner Center, atualize o arquivo MicrosoftGame.config.

O arquivo .config do exemplo está em source/GDKExtension\_gml/datafiles/MicrosoftGame.config.

Para usar a funcionalidade dos XBOX services, atualize o MicrosoftGame.config do seu projeto com os detalhes de identidade do seu projeto no Partner Center seguindo estas etapas.

1. Acesse o [painel do Partner Center](https://partner.microsoft.com/dashboard/windows/overview).
2. Selecione seu jogo na lista de produtos.
3. Selecione a guia **Game setup** e, em seguida, selecione **Identity details**.
4. Selecione **Show Details** para expandir a seção **Identity details**.
5. Use os seguintes valores da tabela na seção **Identity details**. Copie esses valores do Partner Center para o elemento e o campo correspondentes no MicrosoftGame.config.

| Nome no Partner Center | MicrosoftGame.config |
| - | - |
| XBOX Title ID | TitleId |
| Package/Identity/Name | Identity->Name |
| Package/Identity/Publisher | Identity->Publisher |
| XBOX services > XBOX Settings > MSAAppId | MSAAppId |

Os detalhes de identidade do Partner Center determinam o conteúdo do seu arquivo MicrosoftGame.config, conforme mostrado no exemplo a seguir.

| Nome no Partner Center | Valor de exemplo |
| - | - |
| XBOX Title ID | 64353034 |
| Package/Identity/Name | 41336MicrosoftATG.Achievements2017Redux |
| Package/Identity/Publisher | CN=A4954634-DF4B-47C7-AB70-D3215D246AF1 |
| XBOX services > XBOX Settings > MSAAppId | 0000000000000000 |

### Trecho de exemplo do arquivo MicrosoftGame.config

```xml theme={null}
<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">

  <Identity Name='41336MicrosoftATG.Achievements2017Redux' Version="1.1.0.0" Publisher='CN=A4954634-DF4B-47C7-AB70-D3215D246AF1' />


  <TitleId>64353034</TitleId>
  <MSAAppId>0000000000000000</MSAAppId>

  <ExecutableList>
    <Executable Name="Achievements2017_desktop.exe"
                TargetDeviceFamily="PC"
                Id="Game"/>
  </ExecutableList>

  <ShellVisuals DefaultDisplayName="Achievements2017 Desktop Sample"
                PublisherDisplayName="Xbox Advanced Technology Group"
                StoreLogo="Assets\StoreLogo.png"
                Square150x150Logo="Assets\Logo.png"
                Square44x44Logo="Assets\SmallLogo.png"
                Square480x480Logo="Assets\LargeLogo.png"
                Description="Achievements2017"
                ForegroundText="dark"
                BackgroundColor="#000000"
                SplashScreenImage="Assets\SplashScreen.png"/>
</Game>
```

Para obter uma visão geral do MicrosoftGame.config e informações sobre seus valores, consulte a [Visão geral do MicrosoftGame.config](/pt-BR/build/core-features/common/game-config/MicrosoftGameConfig-Overview).

## Integrar a extensão do GDK ao seu projeto

No mínimo, seu projeto precisa chamar as seguintes funções para se integrar ao GDK.

* Chame `gdk_init` para inicializar o GDK. Você deve chamar `gdk_init` antes de usar qualquer outra funcionalidade do GDK.
* Chame `gdk_update` uma vez por quadro enquanto o GDK estiver ativo.
* Chame `gdk_quit` para limpar o GDK quando seu projeto terminar e você não precisar mais de nenhuma funcionalidade do GDK.

Além disso, a extensão do GDK tem os seguintes módulos que fornecem acesso à funcionalidade do GDK.

* **Módulo Base:** fornece um conjunto de funções que controlam a seleção de usuário/conta para o jogador
* **Módulo Storage:** fornece um conjunto de funções que controlam o carregamento e o salvamento de dados associados a um usuário.
* **Módulo XBOX services:** fornece funções para usar recursos dos XBOX services, incluindo estatísticas, placares de líderes, conquistas e Rich Presence.
* **Módulo In-App Purchases:** fornece funções que integram projetos do GameMaker aos sistemas de comércio da Microsoft Store por meio do GDK.

O guia incluído no repositório GDKExtension fornece documentação para as funções do GDK na seção GDK Extension APIs. O guia, em formato .pdf, está em source/GDKExtension\_gml/datafiles/GDK\_Extension\_Documentation.pdf.

## Testar os XBOX services no seu jogo

Para testar a funcionalidade dos XBOX services (por exemplo, conquistas) no seu jogo, use uma área restrita e contas de teste que tenham acesso a essa área restrita.

### Criar uma conta de teste

Para testar qualquer recurso dos XBOX services no seu jogo, crie contas de teste que tenham acesso à sua área restrita de desenvolvimento. Para obter instruções, consulte [Criar contas de teste](/pt-BR/services/xbox-services/develop/test-accounts/live-setup-testaccounts).

### Alternar sua área restrita

1. Acesse o [Partner Center](https://partner.microsoft.com/dashboard/windows/overview).
2. Para encontrar o ID da sua área restrita, selecione **XBOX services** e, em seguida, selecione **Gameplay settings**.
   <Note>
     O ID da sua área restrita aparece na primeira guia da página **Gameplay settings**. Ele usa um nome como "ABCDEF.0".
   </Note>
3. Selecione o botão **Iniciar**.
4. Digite **Microsoft GDK Command Prompts** e pressione **Enter**.
5. Abra o primeiro prompt de comando e digite **XblPCSandbox.exe \<ID da sua área restrita>**.
6. Depois que o prompt de comando iniciar vários aplicativos, entre no aplicativo XBOX usando sua conta de teste.

Se você conseguir entrar com êxito, poderá começar a testar na sua área restrita.

Para obter mais informações sobre áreas restritas, consulte [Visão geral das áreas restritas dos XBOX services](/pt-BR/services/xbox-services/fundamentals/sandboxes/live-setup-sandbox).

## Publicar seu jogo

Para se preparar para publicar seu jogo, verifique se você:

* Criou um pacote MSIXVC usando **Package as Zip** no GameMaker Studio 2.
* Atualizou seu arquivo MicrosoftGame.config com os valores corretos do projeto que você criou no Partner Center.
* Integrou a extensão do GDK ao seu jogo.

Depois de concluir as etapas deste artigo, você estará pronto para publicar seu jogo. Para enviá-lo, acesse o [Partner Center](https://partner.microsoft.com/dashboard/windows/overview) e siga as instruções na interface do usuário.


## Related topics

- [Usar o GDK com Unity, Unreal e outros mecanismos](/pt-BR/build/gdk-and-engines/gdk-and-engines.md)
- [Visão geral de Godot e engines da comunidade](/pt-BR/paths/community-engines/overview.md)
- [Guias de portabilidade para o XBOX GDK](/pt-BR/home/build-first-title/porting-guides.md)
- [Visão geral de portabilidade](/pt-BR/paths/porting/overview.md)
- [Desenvolva um novo título GDK](/pt-BR/home/build-first-title/developing-new-titles.md)
