Godot

**Godot**是一款多功能、跨平台的2D與3D開源游戏引擎。可运行於Windows、macOS、Linux等多種操作系统。而其创建的游戏可运行於PC、Android、iOS、HTML5等平台。

## 特性
Godot在MIT許可證下完全自由开源，且受到軟體自由保護組織的支持。改編過的遊戲乃至引擎的每一行代碼，都屬於用戶自己所有。Godot的開發是完全獨立且由社區驅動的，允許使用者按照自己的期望去雕塑他們的引擎。

引擎的架构是围绕“节点”树设计的。节点组织在“场景”中，场景可以复用、实例化、继承。包括脚本和图形资产在内的所有游戏资源都是作为文件系统中的文件保存的，不依赖于数据库，可以方便使用版本控制的开发团队进行协作。

### 支持的平台

Godot支持进行多平台部署，能够针对不同的平台指定不同的纹理压缩方法和分辨率等设置。官方网站上仅提供适用于编辑器平台的二进制文件，导出到其他平台需要通过编辑器进行。

用于开发游戏的Godot编辑器支持如下平台：

* Linux、macOS、Windows等桌面平台。通过官网、Steam、Itch.io分发。支持BSD，但必须手动编译。
* HTML5平台，提供有Web编辑器。 
* Android手机和平板（实验性质，Godot 3.5起提供）。

使用Godot制作的游戏能够在更多的平台上运行。截止到3.5.1，除了编辑器所支持的平台外，还支持以下平台：

* 移动平台iOS。
* 桌面平台通用Windows平台。
* 虚拟/增强现实平台HTC Vive、Valve Index、Oculus Rift、Oculus Go、Oculus Quest，以及微软MR头戴式设备、苹果的ARKit等。

虽然Godot引擎能够在主机平台运行，但Godot无法提供官方支持。因为Godot是开源项目，无法获得公司授权，也无法将主机平台所需的相关代码按照開源授權发布。可以使用第三方公司的主机平台的移植服务将Godot游戏导出到主机平台。

### 脚本

Godot支持使用不同的编程语言开发游戏，比如Godot自己的GDScript语言、C#、C++等。引擎还提供了GDExtension接口（3.x版本时期为GDNative），可用于创建其他语言的绑定。官方提供的C、C++支持就是通过GDExtension实现的。社区支持的语言包括Rust、Nim、JavaScript、Haskell、Clojure、Swift、D。

#### GDScript

Godot内置的GDScript脚本语言是一种高级动态类型编程语言，语法与Python类似。与Python不同，GDScript是针对Godot的场景架构设计的，一个文件就是一个类，并且可以为变量限定类型。

开发GDScript之前，Godot的开发者尝试使用过Lua、Python、等第三方脚本语言，但最终为了优化和编辑器集成选择使用自定义的语言。

简单的Hello World程序如下：


```gdscript
func _ready():
	print("Hello World")
```


而更为复杂的，用于生成斐波那契数列的程序可以写为：


```gdscript
func _ready():
	var nterms = 5
	print("Fibonacci sequence:")
	for i in range(nterms):
		print(fibonacci(i))

func fibonacci(n):
	if n <= 1:
		return n
	else:
		return fibonacci(n - 1) + fibonacci(n - 2)
```


### 渲染

Godot的图形引擎主要使用Vulkan（自4.0来），也具备对OpenGL与OpenGL ES的兼容选项。并可以通过支持Metal。

着色器语言使用的是一种自定义的语言，与GLSL类似。着色器可用于材質和渲染。

Godot的2D图形引擎与3D图形引擎是独立的。可以使用“视口节点（Viewport node）”混合2D和3D内容。

### 其他特性

Godot拥有强大的动画系统，可以通过可视化的方式实现骨骼动画、混合、动画树、实时过场动画。游戏实体上的几乎所有变量都能够进行动画。

其他特性包括：

## 歷史
### 封閉原始碼時代（2001–2014）
Juan 'reduz' Linietsky 與 Ariel 'punto' Manzur 在 1999 年共同創立了 Codenix，一家遊戲開發顧問公司。早在 2001 年，他們便開始開發一套代號為「Larvotor」的引擎，並授權給阿根廷的第三方公司使用。 在接下來的十年間，該引擎數度更名，包括「Legacy」、「NG3D」、「Larvita」，最後定名為「Godot」。選用「Godot」這個名稱是參考 Samuel Beckett 的劇作《等待果陀》，象徵著不斷想加入更多功能、使引擎更趨完整的永無止境願望，即使永遠無法真正達到。 Linietsky 與 Manzur 加入 OKAM 後，公司在封閉原始碼時代與多家工作室合作，其中包括 Square Enix。然而，Linietsky 表示，他們的工作受到當時阿根廷政治與經濟不穩定 的影響。

### 自由與開源時代（2014–至今）
到了 2014 年，Linietsky 計畫離開阿根廷，他便在 GitHub 上以 MIT License 將 Godot 的 原始碼 公開釋出。 Godot 在 2015 年 11 月 4 日加入 Software Freedom Conservancy（SFC）。 2016 年 6 月 22 日，Godot 獲得了來自 Mozilla 的 20,000 美元 MOSS「Mission Partners」補助，用於加入 WebSocket、WebAssembly 與 WebGL 2.0 支援。

Godot 3.0 的更新涉及大量需求已久的功能，需對引擎進行重大重構，這在封閉原始碼時代難以實現。在 Miguel de Icaza 的支持下，Godot 在 2017 年收到微軟 24,000 美元捐款，用於在 Godot 中加入 C# 腳本語言支援。 同時啟動的 Patreon 讓 Linietsky 與 Verschelde 能全職投入專案開發。3.0 版本於 2018 年正式推出。後續的 3.1 版本加入了針對行動裝置硬體的 OpenGL ES 2.0 渲染器，當時行動裝置對 ES 3.0 的支援仍有限。

2019 年起，Godot 形成兩個團隊：Linietsky 的團隊負責 Vulkan 分支（後來成為 4.0），而 Verschelde 的團隊維護 3.x 分支。Linietsky 指出其中一個問題是，3.x 分支仍採用較老的架構理念，例如單核心處理器，因此 4.0 的目標是重新打造核心架構，以符合現代需求。 2020 年，Godot 獲得 Epic Games 25 萬美元補助，用於提升圖形渲染與改進引擎內建腳本語言 GDScript，該補助讓 Linietsky 與 George Marques 得以投入兩年工作，並將捐款釋放給其他用途。 Godot 也在 2020 與 2021 年獲得來自 Meta Platforms 的 Reality Labs 補助。 4.0 分支於 2022 年初推出 alpha 版本，並在同年持續打磨。 8 月，Linietsky 與多位 Godot 團隊成員成立 W4 Games，提供基於該引擎的商業服務，包括由於授權原因無法納入開源程式碼庫的主機平台移植服務。 11 月，Godot 宣布從 SFC 過渡至新成立的 Godot Foundation。

4.0 的 Vulkan 支援版本於 2023 年正式推出，同年 Godot 引擎登上 Epic Games Store。Epic 版本的內容與授權皆與其他版本相同，僅作為分發與更新管道使用。 不過，.NET／C# 版本並未在 Epic Games Store、Itch 或 Steam 上提供。 同年 9 月，Unity Technologies 宣布對 Unity 引擎 授權模式做出重大更動，包括新增基於安裝數量的「執行時費用」。因此，Re-Logic 宣布捐贈 100,000 美元給 Godot，並承諾之後每月再捐 1,000 美元，以支持作為 Unity 替代方案的開源引擎。

## 版本歷史

Godot 於 2014 年 12 月 15 日達到 1.0 版本，標誌著首次穩定版發布，並加入了lightmap 燈光貼圖、導航網格（navmesh）支援，以及更多 shader 著色器。 1.1 版於 2015 年 5 月 21 日發布，新增改良後的程式碼編輯器自動完成、視覺化著色器編輯器、一個用於管理螢幕與視窗的作業系統新API、改良的 2D 物理與重寫後的 2D 引擎、更好的 Blender Collada 支援，以及新的深色主題。

Godot 2.0 於 2016 年 2 月 23 日發布，加入了更好的場景實例化與繼承、新的檔案系統瀏覽器、多場景編輯，以及強化的除錯器。 隨後在 2016 年 8 月推出的 2.1 版中，引入了資產資料庫、效能分析器（profiler），以及外掛 API。

;Godot 3
3.0 版於 2018 年 1 月 29 日發布，加入新的PBR 渲染器（基於 OpenGL ES 3.0 實作）、虛擬實境相容性，以及透過 Mono 實作的 C# 支援，這要感謝微軟捐贈的 24,000 美元。 3.0 版也在內建 3D 物理後端之外加入了 Bullet 物理引擎，並成為第一個被納入 Debian 的 Godot 版本。

Godot 3.1 於 2019 年 3 月 13 日發布，其最顯著的功能包括加入靜態型別 、GDScript 的腳本類別系統，以及OpenGL ES 2.0 渲染器。 Godot 3.2 於 2020 年 1 月 29 日發布，最重要的變化包括大幅度改善的文件、顯著提升的 C# 支援，以及對 glTF 2.0 檔案的支援。

首席開發者 Juan Linietsky 將大部分時間投入在一個獨立的 Vulkan 分支上，該分支後來合併進主分支作為 4.0 的基礎，因此 3.2 的開發主要由其他貢獻者完成。3.2 也作為一個為期一年的長期支援版本持續更新，其中包括於 2020 年 6 月 26 日發布的 3.2.2，這是一次大型修補版本，加入了OpenGL ES 2.0 批次渲染，以及 iOS 的 C# 支援。 2021 年 3 月 17 日，版本策略被調整以更貼近語意化版本控制，引入 3.3 穩定分支以及用於未來 3.4 功能向後移植的 3.x 分支。

Godot 3.3 於 2021 年 4 月 21 日發布，新增功能包括 macOS 的 ARM 支援、Android App Bundle 支援、MP3 支援、Autodesk FBX 支援、WebXR 支援，以及一個網頁版編輯器。

Godot 3.4 於 2021 年 11 月 6 日發布，經過六個月的開發，補上對使用 Godot 3 製作的 2D 與 3D 遊戲至關重要的缺失功能與修復 bug，使既有功能更加優化與穩定。

Godot 3.5 於 2022 年 8 月 5 日發布，經歷九個月的開發。與 Godot 3.4 類似，此版本聚焦於補上對 2D 與 3D 遊戲重要的缺失功能與修復。 其功能包括 3D 物理插值、非同步著色器編譯等。

Godot 3.x 在 4.0 beta 初次釋出後進入更緩慢的開發節奏，因此 Godot 3.6 於 2024 年 9 月 9 日發布，經過兩年開發。此更新加入 2D 物理插值與階層式裁剪，以及 3D 網格合併、細節層次（LOD）、更緊密的陰影裁剪、ORM 材質等新功能。

; Godot 4
Godot 4 於 2023 年 3 月 1 日發布。此為一次重大更新，全面翻新渲染系統、加入 Vulkan graphics API 支援、改善 GDScript 的效能與可用性、強化物理與動畫系統，並加入許多其他功能與修復。Godot 4 的開發始於 2019 年，由 Linietsky 進行渲染器重寫以使用 Vulkan。2020 年起，多位貢獻者加入開發團隊，致力於 GDScript 改進、物理引擎重構、動畫系統重寫、編輯器可用性增強等部分。

Godot 4 的第一個 alpha 版本於 2022 年 1 月提供給先行測試者使用。 其中包含許多新功能，例如基於 SDF 的全域照明、GPU 粒子系統，以及動態柔和陰影。2022 年 9 月，Godot 4 進入 beta 階段，並帶來更佳穩定性與效能。 此外也加入 WebXR 支援、Android 與 iOS 的 C# 支援，以及新的音訊功能。2023 年 3 月 1 日，Godot 4 在多個 beta 版本及錯誤修正後正式作為穩定版發布。它提升了圖形品質、渲染最佳化技術，並加入無障礙功能。

接下來於 2023 年稍晚推出的 Godot 4.1，加入了實驗性的場景多執行緒、編輯器改良，以及 C# 的進一步增強。

Godot 4.2 於 2023 年 11 月 30 日發布，重作了動畫工具與粒子系統、加入 GDExtension、改進匯入流程，並加入 FSR 2.2 支援。

Godot 4.3 於 2024 年 8 月 15 日發布，新增透過非循環圖（acyclic graphs）的 GPU 同步、渲染管線合成器效果，以及改良的 3D 動畫重定向。

Godot 4.4 於 2025 年 3 月 5 日發布，並引入 Jolt 物理引擎整合。此版本聚焦於持續提升開發者體驗與跨平台效能。

Godot 4.5 於 2025 年 9 月 15 日發布，新增多項功能，例如模板測試（stencil buffer）支援，以及重新設計的 TileMapLayer 碰撞系統，該系統會在可能時將多個 cell 的碰撞形狀合併成較大的碰撞體。

### 发布历史

## 游戏作品

* RPG in a Box（2019）
*  （2021）
* 刺猬索尼克 缤纷色彩（2021）（採用部分引擎原始碼）
* Lumencraft（2022）
* Dome Keeper （2022）
* HAYAI（2022）
* Swords and Sandals Immortals（2022）
* Endoparasitic（2022）
* 魔導書幸存者（2022）
* 文字遊戲（2022）
* Brotato（2023）
* 惡魔輪盤（2023）
* （2023） 
* 直到那時（2024）
* 背包亂鬥 (2024)
* 殺戮尖塔2（2026）
## 争议

2024年9月27日，Godot团队在X上发布了一条引起争议的帖文。

帖文称Godot接纳支持觉醒的开发者并将Godot称为Wokot，之后遭到部分游戏开发者和捐助者的批评。

Godot团队称此贴文是在评论另一条批评觉醒开发者使用现成游戏引擎的贴文。

## 另见

* 游戏引擎列表
* 电子游戏制作

## 參考資料

## 外部連結
*
*Godot Docs文件 
*Godot Docs文件 
*Godot Docs文件