电脑版 GameMaker 开发:入门

使用本主题准备要发布到 Microsoft Store 的 GameMaker 游戏。

所需软件

需要安装以下工具和 SDK 才能将 GameMaker Studio 2 与 GDK 配合使用:

最新的游戏运行时服务 (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。

  1. 转到合作伙伴中心仪表板
  2. 从产品列表中选择自己的游戏。
  3. 选择游戏设置选项卡,然后选择标识详细信息
  4. 选择显示详细信息以展开标识详细信息部分。
  5. 使用标识详细信息部分的表中的以下值,然后将这些值从合作伙伴中心复制到 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 服务功能,需要创建有权访问开发沙盒的测试帐户。 有关创建测试帐户的信息,请参阅创建测试帐户

切换沙盒

创建测试帐户后,请使用该帐户通过以下步骤访问沙盒。

  1. 若要查找沙盒的 ID,请转到“合作伙伴中心”。
  2. 选择“Xbox 服务”,然后选择“游戏设置”。

    注意

    你的沙盒 ID 位于第一个选项卡上,并且其名称为"ABCDEF.0"。

  3. 打开开始菜单。
  4. 输入Microsoft GDK 命令提示符,然后在键盘上选择 Enter
  5. 打开第一个命令提示符。
  6. 在命令提示符处,输入 XblPCSandbox.exe[你的沙盒 ID]
  7. 命令提示符启动多个应用后,使用测试帐户登录到 Xbox 应用。

如果能够成功登录,则已创建测试帐户并更改为沙盒以开始测试。

有关沙盒的详细信息,请参阅 Xbox 服务沙盒概述

发布

若要准备好发布游戏,需要:

  • 已完成将游戏与 GDK 集成
  • 使用在合作伙伴中心创建的项目中的正确值更新了 MicrosoftGame.config 文件
  • 在 GameMaker Studio 中使用 Package as Zip 创建 MSIXVC 程序包

完成这两项要求后,即可发布。 转到“合作伙伴中心”并按照 UI 中的说明提交游戏。