使用本主题准备要发布到 Microsoft Store 的 GameMaker 游戏。
- 所需软件
- GameMaker Studio 2
- GameMaker Studio 2 - GDK 扩展
- 正在生成 GDK 扩展
- 在合作伙伴中心创建产品
- 正在测试 GDK 扩展
- 正在更新 MicrosoftGame.config
- 将 GDK 扩展集成到自己的项目中
- 在游戏中测试 Xbox 服务
- 发布
所需软件
需要安装以下工具和 SDK 才能将 GameMaker Studio 2 与 GDK 配合使用:
- VS2022
- 2024 年 6 月 GDK
-
CMAKE
- 请务必设置安装程序以更新系统路径,否则扩展项目将无法找到 CMake。
最新的游戏运行时服务 (GRTS) 和电脑引导程序
从 2202 年 5 月 GRTS 版本开始,电脑引导程序已添加到电脑游戏启动体验中。 电脑引导程序依赖于游戏运行时服务(GRTS),如果开发电脑上的 GRTS 过期,则在尝试登录时可能会生成错误(E_FAIL)。 有关详细信息,请参阅“电脑引导程序”概述。
GameMaker Studio 2
如果尚未安装 GameMaker Studio 2,请从 https://www.yoyogames.com/ 中下载并安装。
GameMaker Studio 2 - GDK 扩展
将 GDK 与 GameMaker Studio 2 配合使用需要 GameMaker Studio 2 GDK 扩展。
此处提供了 GameMaker Studio 2 GDK 扩展的源及其设置说明:
https://github.com/YoYoGames/GMEXT-GDK
按照存储库根目录的 README 文件中列出的步骤操作。 克隆 GDKExtension 存储库时,请务必在尝试生成解决方案时使用 --recurse-submodules 开关来包含子模块或所需的文件。
此处提供了扩展的文档: https://github.com/YoYoGames/GMEXT-GDK/wiki
正在生成 GDK 扩展
拥有所有必需的软件并克隆 Game Maker Studio 2 GDK 扩展存储库后,可以使用 Visual Studio 2022 和 GDKExtension.sln (<project_root>/source/GDKExtension_gml/extensions/GDKExtension/gdkextension_windows/GDKExtension.sln) 生成扩展。 有关详细的生成说明,请参阅存储库根目录中的自述文件中的生成步骤。
在合作伙伴中心创建产品
需要先在合作伙伴中心创建启用 Xbox 服务的产品,然后才能测试 Xbox 服务功能或将游戏发布到 Microsoft Store。 有关合作伙伴中心的更多信息,请参阅在合作伙伴中心设置应用或游戏,用于托管合作伙伴。
正在测试 GDK 扩展
GDK 扩展存储库有一个示例项目,用于演示 GDK 插件与 Game Maker Studio 2 项目的集成。 示例项目文件位于 source/GDKExtension_gml/GDKExtension.yyp 下。 生成示例项目(生成 ->创建可执行文件)时,需要选择“打包为 Zip”选项,才可以访问安装应用所需的 MSIXVC 程序包。 将 包用作安装程序 不会生成 MSIXVC 包,并且应用将无法正确访问 Xbox 服务。
生成完成后,将打开一个文件资源管理器窗口,其中包含创建的.zip文件和一个子目录,其名称与包含 MSIXVC 程序包的包名称相同。 在 Game Maker Studio 输出窗口中,你还将看到一行包含 MSIXVC 程序包的输出路径。 例如:
C:\Users\your-user-name\XboxDeveloperExperienceTe.GamePassSampleGame_1.0.0.0_x64__pmsd8ndztetqc-pkg
若要运行示例项目以便它有权访问 Xbox 服务,需要使用具有包名称的 wdapp install
安装包。 例如:
wdapp install XboxDeveloperExperienceTe.GamePassSampleGame_1.0.0.0_x64__pmsd8ndztetqc.msixvc
安装程序包后,可以使用 Windows 按钮启动它。
正在更新 MicrosoftGame.config
示例项目使用默认的 MicrosoftGame.config 文件。 若要使用项目的合作伙伴中心配置信息测试示例或自己的 GameMaker Studio 项目,需要更新 MicrosoftGame.config 文件。
可以在 source/GDKExtension_gml/datafiles/MicrosoftGame.config中找到示例的配置文件。
若要使用 Xbox 服务功能,需要使用合作伙伴中心项目标识详细信息更新项目的 MicrosoftGame.config。
- 转到合作伙伴中心仪表板。
- 从产品列表中选择自己的游戏。
- 选择游戏设置选项卡,然后选择标识详细信息。
- 选择显示详细信息以展开标识详细信息部分。
- 使用标识详细信息部分的表中的以下值,然后将这些值从合作伙伴中心复制到 MicrosoftGame.config 中的相应元素和字段中。
合作伙伴中心中的名称 | MicrosoftGame.config |
---|---|
Xbox 游戏 ID | TitleId |
包/标识/名称 | 标识 ->名称 |
包/标识/发布者 | 标识 ->发布者 |
Xbox 服务 -> Xbox 设置 ->MSAAppId | MSAAppId |
例如,合作伙伴中心中的以下标识详细信息将导致你的 MicrosoftGame.config 看起来类似下面的示例:
合作伙伴中心中的名称 | 示例值 |
---|---|
Xbox 游戏 ID | 64353034 |
包/标识/名称 | 41336MicrosoftATG.Achievements2017Redux |
包/标识/发布者 | CN=A4954634-DF4B-47C7-AB70-D3215D246AF1 |
Xbox 服务 -> Xbox 设置 ->MSAAppId | 0000000000000000 |
<?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。
将 GDK 扩展集成到自己的项目中
生成 GameMaker Studio GDK 扩展并成功测试示例项目后,即可将扩展功能集成到自己的项目中。
项目至少需要调用以下函数才能与 GDK 集成:
- 需要调用 gdk_init 来初始化 GDK。 需要先调用 gdk_init 函数,然后才能使用任何其他 GDK 函数。
- GDK 处于活动状态时,每一帧都需要调用 gdk_update 一次。
- 使用 GDK 完成项目后,需要调用 gdk_quit 进行清理,并且不会使用其他 GDK 功能。
此外,GDK 扩展具有以下模块,提供对 GDK 功能的访问权限:
- 基模块提供用于控制玩家的用户/帐户选择的函数。
- 存储模块提供用于控制加载和保存与用户关联的数据的函数。
- Xbox 服务模块 提供函数以使用 Xbox 服务中的功能,包括统计信息、排行榜、成就和丰富状态。
- 应用内购买模块提供用于控制在项目中进行用户购买的函数。
扩展存储库中包含的指南提供了 GDK 扩展 API 部分中 GDK 函数的文档。 可以在 source/GDKExtension_gml/datafiles/GDK_Extension_Documentation.pdf中找到指南。
在游戏中测试 Xbox 服务
若要在游戏中测试 Xbox 服务功能(如成就),需要使用沙盒并测试有权访问该沙盒的帐户。
创建测试帐户
若要测试游戏中的任何 Xbox 服务功能,需要创建有权访问开发沙盒的测试帐户。 有关创建测试帐户的信息,请参阅创建测试帐户。
切换沙盒
创建测试帐户后,请使用该帐户通过以下步骤访问沙盒。
- 若要查找沙盒的 ID,请转到“合作伙伴中心”。
- 选择“Xbox 服务”,然后选择“游戏设置”。
注意
你的沙盒 ID 位于第一个选项卡上,并且其名称为"ABCDEF.0"。
- 打开开始菜单。
- 输入Microsoft GDK 命令提示符,然后在键盘上选择 Enter。
- 打开第一个命令提示符。
- 在命令提示符处,输入 XblPCSandbox.exe[你的沙盒 ID]。
- 命令提示符启动多个应用后,使用测试帐户登录到 Xbox 应用。
如果能够成功登录,则已创建测试帐户并更改为沙盒以开始测试。
有关沙盒的详细信息,请参阅 Xbox 服务沙盒概述。
发布
若要准备好发布游戏,需要:
- 已完成将游戏与 GDK 集成
- 使用在合作伙伴中心创建的项目中的正确值更新了 MicrosoftGame.config 文件
- 在 GameMaker Studio 中使用 Package as Zip 创建 MSIXVC 程序包
完成这两项要求后,即可发布。 转到“合作伙伴中心”并按照 UI 中的说明提交游戏。