Android 遊戲開發基本概念

Stay organized with collections Save and categorize content based on your preferences.

本指南為新的遊戲開發人員介紹 Android 遊戲開發作業的主要工具和程式庫。Android 遊戲開發指南的適用對象是遊戲開發環境大多已規劃或設定完成的開發人員。舉例來說,經驗豐富的遊戲開發人員通常已有一款正在開發的遊戲,且在開發時使用了特定遊戲引擎、IDE 和圖形 API。

在多數情況下,我們會建議新手採用容易使用的入門選項,而非能將效能最大化的進階選項。如果您熟悉這些工具和程式庫,則可參閱總覽頁面,尋找支援特定最佳化類型 (例如高效能或電池續航力) 的指南。

遊戲引擎

遊戲引擎是一種軟體架構,包含一組遊戲開發專用的程式庫和工具。您可以使用程式庫,在遊戲中加入有助於專注在遊戲內容和最佳化的各式功能。這些功能通常包含圖形、動畫、音效、遊戲迴圈、輸入裝置支援等等。

此外,遊戲引擎通常包含 IDE 和其他工具,可用於設定功能、設計、開發遊戲,以及將遊戲匯出至 Android 平台。

開發遊戲時,最重要的是要決定是否要建立新的遊戲引擎、自訂現有的遊戲引擎,或使用未經修改的遊戲引擎。

預先建構

如果您是遊戲開發新手,我們建議使用這個方法。有了預先建構的遊戲引擎,您無需花時間開發遊戲引擎或新增 AGDK 程式庫,就能輕鬆開發 Android 遊戲。不過,如果想在不修改遊戲引擎的情況下開發 Android 遊戲,遊戲引擎必須已支援 Android 開發作業。

使用預先建構的遊戲引擎時,我們會提供額外的 Android 最佳化功能、工作流程工具和最佳做法。此外,我們也提供 Google Play 服務,其中包括各式各樣的社交和發布工具。

以下為支援 Android 開發作業的幾個現有遊戲引擎:

  • Godot:支援多種程式設計語言 (包含 GDScript、C# 和 C++ 等) 的開放原始碼遊戲引擎。
  • Defold:使用 Lua 程式設計語言的開放原始碼遊戲引擎。
  • Unity:使用 C# 程式設計語言且廣為使用的商業遊戲引擎。
  • Unreal:專精於處理高端 3D 圖形的商業遊戲引擎,採用 Blueprint 視覺指令碼系統和 C++。

詳情請參閱在 Android 上使用遊戲引擎的指南。

自訂

最進階的方式是建立新的遊戲引擎,或是在現有遊戲引擎中加入 Android 支援。這項作業既複雜又耗時,但可讓您開發出完全符合需求的客製化引擎。舉例來說,許多現有遊戲引擎所提供的額外功能會增加遊戲大小並降低遊戲效能,排除這些功能即可有所改善。

有鑒於開發遊戲引擎的複雜性和所需時間,我們不建議新遊戲開發人員採用這個方法。實際上,這個方法最適合計畫在多款遊戲中使用這個引擎的大型機構。

IDE

用於開發 Android 遊戲的 IDE 取決於所使用的遊戲引擎和工作流程。最常見的遊戲引擎包含用於設計和編輯程式碼的遊戲編輯器,遊戲開發人員通常會將這類引擎與 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 說明文件。

Graphics APIs

為達到最佳 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 總覽