在 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) 游戏中的动态链接库。 |
要访问这些模板:
- 打开 Visual Studio。
- 选择 文件 -> 新文件 -> 项目。 将显示“新建项目”对话框。
- 在“新建项目”对话框中,将“所有语言”筛选器设置为“C++”,将“所有平台”筛选器设置为“Xbox”或“Windows”,然后将“所有项目类型”设为“游戏”。 也可以搜索上面的项目名称。
- 从 Microsoft 游戏开发工具包(GDK)项目模板列表选择所需的项目模板。
- 单击确定。
选择模板
如果要启动新的 Microsoft 游戏开发工具包(GDK)项目,首先需要确定要使用的 Microsoft 游戏开发工具包(GDK)模板。 答案取决于您的游戏是面向电脑、Xbox 还是这两者。
仅面向电脑的游戏
Direct3D 12 桌面游戏模板是常见的起点。 下面是此模板的一些主要功能。
使用 Windows API 系列 WINAPI_FAMILY_DESKTOP_APP 和针对典型电脑库的链接,包括 kernel32.lib、user32.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.x64 和 Gaming.Xbox.XboxOne.x64 之间切换活动的配置时,工具设置将相应地更改(例如,要使用的调试程序和要链接的库)。
后续步骤
在通过创建新项目验证 GDK 安装之后,后续步骤取决于是在开发电脑游戏还是 Xbox 游戏。
如果你开发的是电脑游戏,则应按照电脑游戏开发入门中的步骤执行操作。
如果你开发的是 Xbox 游戏,则应按照 Xbox 主机开发入门(NDA 主题)要求授权中的步骤执行操作。
另请参阅
MicrosoftGameConfig 概述
Microsoft 游戏开发工具包 (GDK) 入门(NDA 主题)要求授权