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

# GameMaker で GDK を使用する

> GMEXT-GDK 拡張、Visual Studio 2022、CMake、June 2024 GDK リリースを使用して、GameMaker Studio 2 ゲームを Microsoft Store 公開向けに準備します。

この記事では、GameMaker ゲームを Microsoft Store に公開するための準備方法について説明します。

* [必要なソフトウェアをインストールする](#install-the-required-software)
* [GameMaker Studio 2 をダウンロードしてインストールする](#download-and-install-gamemaker-studio-2)
* [GameMaker Studio 2 - Microsoft Game Development Kit (GDK) Extension](#set-up-gamemaker-studio-2-gdk-extension)
* [GDK Extension をビルドする](#build-the-gdk-extension)
* [Microsoft Partner Center でプロダクトを作成する](#create-a-product-in-microsoft-partner-center)
* [GDK Extension をテストする](#test-the-gdk-extension)
* [MicrosoftGame.config を更新する](#update-microsoftgame-config)
* [GDK 拡張を自分のプロジェクトに統合する](#integrate-the-gdk-extension-into-your-project)
* [ゲームで XBOX services をテストする](#test-xbox-services-in-your-game)
* [公開する](#publish-your-game)

## 必要なソフトウェアをインストールする

GameMaker Studio 2 で Microsoft Game Development Kit (GDK) を使用するには、次のソフトウェアをダウンロードしてください。

* [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/)
* [June 2024 GDK](https://github.com/microsoft/GDK/releases/tag/June_2024_Update_2) 以降
* [CMake](https://cmake.org/download/)
  * CMake インストーラーがシステム パスを更新することを確認してください。そうでない場合、拡張プロジェクトが CMake を見つけられません。

## Gaming Runtime Services (GRTS) と PC Bootstrapper を更新する

PC Bootstrapper は PC ゲーム起動体験の一部で、May 2022 GRTS リリースで導入されました。PC Bootstrapper は GRTS に依存し、正常に機能するためには GRTS が必要です。開発 PC で GRTS が古いと、サインインの試行が失敗し `E_FAIL` エラーが返されることがあります。

PC Bootstrapper のゲーム起動プロセスでの役割や、GRTS との相互作用も含む詳細なガイダンスについては、[PC Bootstrapper 概要](/build/gdk-and-engines/guides/pc-bootstrapper) を参照してください。

## GameMaker Studio 2 をダウンロードしてインストールする

GameMaker Studio 2 がインストールされていない場合は、[https://www.yoyogames.com](https://www.yoyogames.com/) からダウンロードしてインストールしてください。

## GameMaker Studio 2 GDK Extension をセットアップする

GameMaker Studio 2 で GDK を使用するには GameMaker Studio 2 GDK Extension が必要です。拡張のソース コードとセットアップ手順については、[https://github.com/YoYoGames/GMEXT-GDK](https://github.com/YoYoGames/GMEXT-GDK) を参照してください。

リポジトリのルートにある README ファイルの手順を使用してください。これらの手順により、GameMaker Studio 2 GDK Extension をセットアップおよびビルドし、GameMaker プロジェクトに XBOX services と機能を統合できるようになります。

GDKExtension リポジトリをクローンする際は、サブモジュールを含めるために `--recurse-submodules` スイッチを使用してください。そうでない場合、ソリューションをビルドする際に必要なファイルが不足します。

拡張の詳細については、[https://github.com/YoYoGames/GMEXT-GDK/wiki](https://github.com/YoYoGames/GMEXT-GDK/wiki) を参照してください。

## GDK Extension をビルドする

リポジトリのルートにある README ファイルの手順に従って、Visual Studio 2022 で拡張をビルドしてください。GDKExtension.sln ファイルが必要です（\<project\_root>/source/GDKExtension\_gml/extensions/GDKExtension/gdkextension\_windows/GDKExtension.sln）。詳細なビルド手順については、リポジトリのルートにある README ファイルのビルド手順を参照してください。

## Microsoft Partner Center でプロダクトを作成する

Partner Center で XBOX services 対応プロダクトを作成するには、[Setting up an app or game in Partner Center, for Managed Partners](https://learn.microsoft.com/gaming/gdk/_content/gc/services/fundamentals/portal-config/live-setup-partner-center-partners) を参照してください。プロダクトを作成後、XBOX services のテスト、または Microsoft Store へのゲームの公開のいずれかを行えます。

## GDK Extension をテストする

GDK Extension リポジトリには、GDK プラグインを GameMaker Studio 2 プロジェクトに統合する方法を示すサンプル プロジェクトが含まれています。サンプル プロジェクト ファイルは `source/GDKExtension_gml/GDKExtension.yyp` にあります。

GameMaker でサンプル プロジェクトをビルド（**Build** > **Create Executable**）する際は、アプリのインストールに必要な MSIXVC パッケージを生成するために **Package as Zip** を選択してください。**Package as Installer** を選択すると、ビルドは MSIXVC パッケージを作成せず、アプリは XBOX services にアクセスできません。

ビルドが完了すると、作成された .zip ファイルとそのサブディレクトリを示すエクスプローラー ウィンドウが開きます。サブディレクトリはパッケージと同じ名前で、MSIXVC ファイルを含んでいます。

さらに、GameMaker Studio 2 の出力ウィンドウには、次の例のように MSIXVC パッケージの完全な出力パスを示すコード行が表示されます。

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

サンプル プロジェクトを XBOX services にアクセスできる形で実行するには、次の例のように、パッケージ名を指定して `wdapp install` を使用してパッケージをインストールしてください。

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

パッケージがインストールされたら、**Start** ボタンから起動します。

## MicrosoftGame.config を更新する

サンプル プロジェクトはデフォルトの MicrosoftGame.config ファイルを使用します。プロジェクトの Partner Center 構成情報でサンプルまたは独自の GameMaker Studio 2 プロジェクトをテストするには、MicrosoftGame.config ファイルを更新してください。

サンプルの .config ファイルは source/GDKExtension\_gml/datafiles/MicrosoftGame.config にあります。

XBOX services 機能を使用するには、次の手順でプロジェクトの MicrosoftGame.config を Partner Center プロジェクトのアイデンティティ詳細で更新してください。

1. [Partner Center dashboard](https://partner.microsoft.com/dashboard/windows/overview) に移動します。
2. プロダクトのリストからゲームを選択します。
3. **Game setup** タブを選択し、次に **Identity details** を選択します。
4. **Show Details** を選択して **Identity details** セクションを展開します。
5. **Identity details** セクションの表から次の値を使用します。それらの値を Partner Center から MicrosoftGame.config の対応する要素とフィールドにコピーします。

| Partner Center 上の名前                      | MicrosoftGame.config |
| ---------------------------------------- | -------------------- |
| XBOX Title ID                            | TitleId              |
| Package/Identity/Name                    | Identity->Name       |
| Package/Identity/Publisher               | Identity->Publisher  |
| XBOX services > XBOX Settings > MSAAppId | MSAAppId             |

Partner Center のアイデンティティ詳細により、次の例のように MicrosoftGame.config ファイルの内容が決定されます。

| Partner Center 上の名前                      | 例の値                                     |
| ---------------------------------------- | --------------------------------------- |
| XBOX Title ID                            | 64353034                                |
| Package/Identity/Name                    | 41336MicrosoftATG.Achievements2017Redux |
| Package/Identity/Publisher               | CN=A4954634-DF4B-47C7-AB70-D3215D246AF1 |
| XBOX services > XBOX Settings > MSAAppId | 0000000000000000                        |

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

MicrosoftGame.config の概要と値の詳細については、[MicrosoftGame.config overview](https://learn.microsoft.com/gaming/gdk/_content/gc/features/common/game-config/MicrosoftGameConfig-Overview) を参照してください。

## GDK 拡張を自分のプロジェクトに統合する

プロジェクトが GDK と統合するには、少なくとも次の関数を呼び出す必要があります。

* `gdk_init` を呼び出して GDK を初期化します。他の GDK 機能を使用する前に、必ず `gdk_init` を呼び出してください。
* GDK がアクティブな間、フレームごとに 1 回 `gdk_update` を呼び出します。
* プロジェクトが完了し、GDK 機能が不要になったら、`gdk_quit` を呼び出して GDK をクリーンアップします。

さらに、GDK 拡張には GDK 機能へのアクセスを提供する以下のモジュールが含まれています。

* **Base モジュール:** プレイヤーのユーザー / アカウント選択を制御する関数群を提供します
* **Storage モジュール:** ユーザーに関連するデータの読み込みと保存を制御する関数群を提供します。
* **XBOX services モジュール:** 統計、リーダーボード、実績、リッチ プレゼンスなど、XBOX services の機能を使用する関数を提供します。
* **In-App Purchases モジュール:** GameMaker プロジェクトを GDK を通じて Microsoft Store のコマース システムと統合する関数を提供します。

GDKExtension リポジトリに含まれるガイドは、GDK Extension APIs セクションに GDK 関数のドキュメントを提供しています。ガイドは .pdf ファイルとして source/GDKExtension\_gml/datafiles/GDK\_Extension\_Documentation.pdf にあります。

## ゲームで XBOX services をテストする

ゲーム内で XBOX services 機能（例: 実績）をテストするには、サンドボックスと、そのサンドボックスへのアクセスを持つテスト アカウントを使用してください。

### テスト アカウントを作成する

ゲーム内の XBOX services 機能をテストするには、開発サンドボックスへのアクセスを持つテスト アカウントを作成してください。手順については、[Creating test accounts](https://learn.microsoft.com/gaming/gdk/_content/gc/services/develop/test-accounts/live-setup-testaccounts) を参照してください。

### サンドボックスを切り替える

1. [Partner Center](https://partner.microsoft.com/dashboard/windows/overview) に移動します。
2. サンドボックス ID を確認するには、**XBOX services** を選択し、次に **Gameplay settings** を選択します。
   <Note>
     サンドボックス ID は **Gameplay settings** ページの最初のタブに表示されます。「ABCDEF.0」のような名前が使用されます。
   </Note>
3. **Start** ボタンを選択します。
4. **Microsoft GDK Command Prompts** と入力し、**Enter** を選択します。
5. 最初のコマンド プロンプトを開き、**XblPCSandbox.exe \<サンドボックス ID>** と入力します。
6. コマンド プロンプトが複数のアプリを起動したら、テスト アカウントを使って XBOX アプリにサインインします。

正常にサインインできれば、サンドボックスでテストを開始できます。

サンドボックスの詳細については、[XBOX services Sandboxes overview](https://learn.microsoft.com/gaming/gdk/_content/gc/services/fundamentals/sandboxes/live-setup-sandbox) を参照してください。

## ゲームを公開する

ゲームを公開する準備を整えるには、次を確認してください。

* GameMaker Studio 2 で **Package as Zip** を使用して MSIXVC パッケージを作成します。
* Partner Center で作成したプロジェクトの正しい値で MicrosoftGame.config ファイルを更新します。
* GDK 拡張をゲームに統合します。

この記事の手順を完了したら、ゲームを公開する準備が整いました。ゲームを送信するには、[Partner Center](https://partner.microsoft.com/dashboard/windows/overview) にアクセスし、UI 内の指示に従ってください。


## Related topics

- [Unity、Unreal、その他のエンジンで GDK を使用する](/ja-jp/build/gdk-and-engines/gdk-and-engines.md)
- [Godot で GDK を使用する](/ja-jp/build/gdk-and-engines/godot.md)
- [Unity で GDK を使用する](/ja-jp/build/gdk-and-engines/unity/unity.md)
- [GDK で Clang/LLVM を使用する](/ja-jp/tools/tools-pc/visualstudio/gr-vs-clang.md)
- [Unreal Engine で GDK を使用する](/ja-jp/build/gdk-and-engines/unreal/unreal.md)
