在 Visual Studio 中使用 Microsoft 游戏开发工具包开发新游戏

本主题介绍如何在 Visual Studio 中创建新的 Microsoft 游戏开发工具包 (GDK) 项目。

在 Microsoft 游戏开发工具包(GDK)上开发的游戏可以面向电脑、Xbox 主机或两个平台(如果使用通用代码库)。 这些游戏还可以将功能设计为充分利用每个平台所独有的特性。 您选择目标平台以及是否(和如何广泛地)使用设备扩展。

开始在 Visual Studio 中使用 Microsoft 游戏开发工具包(GDK)项目模板

当您在配备 Visual Studio 的开发电脑上安装 Gaming eXtensions Development Kit (GXDK) 时,还会安装以下模板。

  • 五个面向电脑的项目模板
  • 四个面向 Xbox 主机的项目模板
目标平台 模板 说明
桌面 Direct3D 12 桌面游戏(经典) 在 Visual Studio 项目系统中,创建可使用游戏运行时和库存 x64 MSBuild 平台生成独立电脑游戏可执行文件的项目。
Direct3D 12 桌面游戏 在 Visual Studio 项目系统中,创建可使用 Gaming.Desktop.x64 自定义 MSBuild 平台生成独立电脑游戏可执行文件的项目。
Direct3D 12 桌面游戏生成文件 创建一个项目,此项目适合使用命令提示符从生成文件生成电脑游戏
桌面静态库 在 Visual Studio 项目系统中,创建一个项目,以使用 Gaming.Desktop.x64 自定义 MSBuild 平台生成适合包含在面向电脑的 Microsoft 游戏开发工具包 (GDK) 游戏中的静态库。
桌面 DLL 在 Visual Studio 项目系统中,创建一个项目,以使用 Gaming.Desktop.x64 自定义 MSBuild 平台生成适合包含在面向电脑的 Microsoft 游戏开发工具包 (GDK) 游戏中的动态链接库。
主机 Direct3D 12 Xbox 游戏 在 Visual Studio 项目系统中,创建可生成面向 Xbox 主机的独立游戏可执行文件的项目。
Direct3D 12 Xbox 游戏生成文件 创建一个适合于使用命令提示符从 makefile 生成 Xbox 主机游戏的项目。
Xbox 静态库 在 Visual Studio 项目系统中创建项目,用于生成适合包含在面向 Xbox 主机的 Microsoft 游戏开发工具包 (GDK) 游戏中的静态库。
Xbox DLL 在 Visual Studio 项目系统中创建项目,用于生成适合包含在面向 Xbox 主机的 Microsoft 游戏开发工具包 (GDK) 游戏中的动态链接库。

要访问这些模板:

  1. 打开 Visual Studio。
  2. 选择 文件 -> 新文件 -> 项目。 将显示“新建项目”对话框。
  3. 在“新建项目”对话框中,将“所有语言”筛选器设置为“C++”,将“所有平台”筛选器设置为“Xbox”或“Windows”,然后将“所有项目类型”设为“游戏”。 也可以搜索上面的项目名称。
  4. 从 Microsoft 游戏开发工具包(GDK)项目模板列表选择所需的项目模板。
  5. 单击确定

选择模板

如果要启动新的 Microsoft 游戏开发工具包(GDK)项目,首先需要确定要使用的 Microsoft 游戏开发工具包(GDK)模板。 答案取决于您的游戏是面向电脑、Xbox 还是这两者。

仅面向电脑的游戏

Direct3D 12 桌面游戏模板是常见的起点。 下面是此模板的一些主要功能。

  • 使用 Windows API 系列 WINAPI_FAMILY_DESKTOP_APP 和针对典型电脑库的链接,包括 kernel32.libuser32.lib 等。完整的电脑 API 集可用于游戏。

  • 包括所需的文件头和库。 模板已就绪,可以添加与电脑兼容的 Direct3D 12 图形实现。 该模板提供简单的交换链、Direct3D 设备和基本游戏更新和渲染循环。

  • 包括 XGameRuntime.h 和指向 XGameRuntime.lib 的链接。 所有 Microsoft 游戏开发工具包(GDK)游戏运行时功能都可供使用。

  • 默认情况下,还可使用 Xbox Live API (XSAPI) 扩展库。 还可以添加其他 Microsoft 游戏开发工具包 (GDK) 扩展库。

  • 声明基于“stock”x64 平台或自定义 MSBuild 平台 Gaming.Desktop.x64 的生成配置,这会生成一个 x64 目标,期望你在本地(在你的开发计算机上)使用本地调试程序对游戏进行迭代。

  • 创建一个包含占位符信息的 MicrosoftGameConfig.mgc 文件,可将你的合作伙伴中心的游戏信息填入其中。

面向 Xbox 的游戏

Direct3D 12 Xbox 游戏模板是常见的起点。 下面是此模板的一些主要功能。

  • 使用 Windows API 系列 WINAPI_FAMILY_GAMES 并链接 XGamePlatform.lib,将这组核心平台 API 限制为可确保在 Xbox 游戏操作系统上支持的那些 API。

  • 包括所需的文件头和库。 模板已准备好添加 D3D12 图形实现,以充分利用特定于 Xbox 设备的硬件扩展。

  • 包括 XGameRuntime.h 和指向 XGameRuntime.lib 的链接。 所有 Microsoft 游戏开发工具包(GDK)游戏运行时功能都可供使用。

  • 默认情况下,还可使用 Xbox Live API (XSAPI) 扩展库。 还可以添加其他 Microsoft 游戏开发工具包 (GDK) 扩展库。

  • 声明使用 MSBuild 自定义平台 Gaming.Xbox.XboxOne.x64 的生成配置,这会生成一个 x64 目标,期望你使用 Xbox One ERA 开发工具包集进行远程调试来迭代游戏。

  • 创建一个包含占位符信息的 MicrosoftGameConfig.mgc 文件,可将你的合作伙伴中心的游戏信息填入其中。

同时面向电脑和 Xbox 的游戏

我们建议从先前提到的两个模板之一开始,然后在项目中添加第二个生成配置。 例如,如果你以 Direct3D 12 桌面游戏项目开始(其中自动包括 Gaming.Desktop.x64 平台的生成配置),则你可以添加第二个生成配置,该配置将平台设置为 Gaming.Xbox.XboxOne.x64。 生成项目时,Visual Studio 面向电脑生成一个游戏版本,并面向 Xbox 主机生成另一个游戏版本。

这种建议方法要求你定制源代码(通过使用 #define/#ifdef 或将特定于平台的代码分区为单独的 DLL),以便游戏的电脑配置使用“储备”Direct3D 12,而游戏的 Xbox 配置使用设备扩展等效 Direct3D 12.x。 当你在 Gaming.Desktop.x64Gaming.Xbox.XboxOne.x64 之间切换活动的配置时,工具设置将相应地更改(例如,要使用的调试程序和要链接的库)。

后续步骤

在通过创建新项目验证 GDK 安装之后,后续步骤取决于是在开发电脑游戏还是 Xbox 游戏。

另请参阅

MicrosoftGameConfig 概述
Microsoft 游戏开发工具包 (GDK) 入门(NDA 主题)要求授权