Android 游戏开发基础知识

本指南旨在向新的游戏开发者介绍用于开发 Android 游戏的主要工具和库。Android 游戏开发指南针对的是已规划或设置完大部分游戏开发环境的开发者。例如,经验丰富的游戏开发者通常已有一款正在开发中的游戏,并且开发时使用了特定游戏引擎、IDE 和图形 API。

在大多数情况下,我们建议新手暂不采用能最大限度提升性能的高级方法,而是采用更简单易行的方法。如果您熟悉这些工具和库,则可以在概览页面上查找支持特定优化类型(例如高性能或电池续航时间)的指南。

游戏引擎

游戏引擎是一种软件框架,包含一组用于游戏开发的库和工具。您可以使用这些库向游戏中添加可助您专注于游戏内容和优化的各种功能。这些功能通常涵盖图形、动画、声音、游戏循环、输入设备支持等。

此外,游戏引擎通常还包含 IDE 和其他工具,以便您配置游戏功能、设计和开发游戏以及将游戏导出到 Android 平台。

在开发游戏时要做出的重要选择之一在于,是开发新的游戏引擎、自定义现有的游戏引擎,还是使用未经修改的游戏引擎。

预构建

如果您是游戏开发新手,我们建议您使用此方法。借助预构建的游戏引擎,您无需花时间开发游戏引擎或添加 AGDK 库;因此,这是最简单的 Android 游戏开发方法。不过,如要在不修改游戏引擎的情况下开发 Android 游戏,该游戏引擎必须已支持 Android 开发。

使用预构建的游戏引擎时,我们会提供额外的 Android 优化、工作流工具和最佳做法。此外,我们还提供 Google Play 服务,其中包含各种社交和分发工具。

下面是一些支持 Android 开发的现有游戏引擎:

  • Godot:一个支持多种编程语言(包括 GDScript、C# 和 C++)的开源游戏引擎。
  • Defold:一个使用 Lua 编程语言的开源游戏引擎。
  • Unity:一个使用 C# 编程语言的广泛使用的商业游戏引擎。
  • Unreal:一个专精于处理高端 3D 图形的商业游戏引擎。它使用蓝图可视化脚本系统和 C++。

如需了解详情,请参阅有关在 Android 上使用游戏引擎的指南。

自定义

最高级的游戏开发方法是,创建新的游戏引擎或向现有游戏引擎中添加 Android 支持。虽然复杂又耗时,但此方法让您可以开发完全按自己的需求优化并定制的引擎。例如,许多现有游戏引擎都包含额外的功能,这些功能会增加游戏大小并降低游戏性能;如果您排除这些功能,可以在此方面加以改进。

鉴于开发游戏引擎的复杂性和所需的时间,我们不建议新手游戏开发者采用这种方法。实际上,此方法最适合计划在多个游戏中使用该引擎的大型组织。

IDE

使用何种 IDE 来开发 Android 游戏取决于您使用的游戏引擎和工作流。最常见的游戏引擎包含用于设计和编辑代码的游戏编辑器;游戏开发者通常会将此类引擎与 Android Studio 搭配使用。在 Windows 上,我们还支持使用 Visual Studio 来调试 Android 游戏和分析其性能。

游戏编辑器

游戏编辑器通常会将游戏设计功能与编辑代码紧密集成,在某些情况下,这类编辑器可以帮助设计师无需编写代码就能完成开发任务。如果您正在开发您的第一款 Android 游戏,我们建议您将此方法与 Android Studio 结合使用。下面是采用此方法的一些好处:

  • 界面和工具集更侧重于游戏设计。
  • 整合了素材资源设计和代码编辑任务。
  • 着重于游戏引擎支持的编程语言或脚本语言。
  • 包含建模和渲染工具。

Android Studio

这是用于开发 Android 应用的官方 IDE。由于 Android Studio 侧重于 Android 开发,因此我们建议您将它与您使用的所有其他 IDE 一起安装。以下是您可以使用 Android Studio 完成的一些任务:

  • 调试使用 C/C++、Java 或 Kotlin 编写的代码。
  • 管理构建 Android 游戏所需的 Android SDK。
  • 构建、优化游戏和分析游戏性能。
  • 使用 Android NDK 编写 C/C++ 代码。
  • 配置应用软件包和 Google Play 设置。

如需了解详情,请参阅 Android Studio 概览

Visual Studio

如果您使用 Visual Studio 在 Windows 上开发游戏,可以使用适用于 Visual Studio 的 Android Game Development Extension (AGDE) 将 Android 添加为目标开发平台。此设置针对使用 Visual C++ 项目且已经在开发中的游戏,因此此方法适合较高级别的游戏开发者。您可以使用 AGDE 执行以下操作:

  • 使用现有的 Visual C++ 项目创建 Android 游戏。
  • 使用 Visual Studio 调试游戏和分析其性能。
  • 使用 Incredibuild 或 SN-DBS 等分布式构建系统。

如需了解详情,请参阅 AGDE 概览

Android NDK

Android NDK 是一组工具,可让您使用 C 或 C++ 以原生代码开发 Android 应用。它让游戏能够更直接地访问设备硬件,从而提高游戏性能。借助它,您还可以重复使用 C 和 C++ 库,并跨多个平台共享游戏代码。

在面向 Android 进行开发时,某些 AGDK 库、工具以及许多游戏引擎都需要使用该 NDK。原因之一在于,该 NDK 是一种常用且强大的方法,可用于访问 Android 设备支持的最常见的低级别图形 API。

如需详细了解该 NDK,请参阅 Android NDK 文档。

图形 API

为了实现最佳 2D 和 3D 图形性能,您的 Android 游戏需要使用低级别图形 API 与 GPU 进行通信。受支持范围较广且适用于 Android 游戏开发的选项是 OpenGL ES 和 Vulkan。

如果您使用未经修改的游戏引擎(支持 Android 开发),此类引擎很可能会使用 OpenGL ES 或 Vulkan。如果您使用 AGDK 以 C 或 C++ 来开发游戏,也需要使用 OpenGL ES 或 Vulkan。而且,AGI 图形性能分析工具只支持这两个图形 API。

OpenGL ES

OpenGL ES 具有以下优势:

  • 高性能。
  • 复杂性低,更易使用。
  • 支持更多类型的旧设备。

如需了解详情,请参阅针对 Android 的 OpenGL ES 概览。

Vulkan

Vulkan 具有以下优势:

  • 更高性能。
  • 对 GPU 拥有更多掌控权。
  • CPU 使用量较低。

如需了解详情,请参阅针对 Android 的 Vulkan 概览