热门问题
时间线
聊天
视角
Godot
用於製作2D與3D遊戲的自由與開放原始碼跨平台遊戲引擎 来自维基百科,自由的百科全书
Remove ads
Godot是一款多功能、跨平台的2D与3D开源游戏引擎。可运行于Windows、macOS、Linux等多种操作系统。而其创建的游戏可运行于PC、Android、iOS、HTML5等平台。
此条目的语调或风格或许不适合百科全书。 (2019年5月22日) |
Remove ads
特性
Godot在MIT许可证下完全自由开源,且受到软体自由保护组织的支持。改编过的游戏乃至引擎的每一行代码,都属于用户自己所有。Godot的开发是完全独立且由社区驱动的,允许使用者按照自己的期望去雕塑他们的引擎。
引擎的架构是围绕“节点”树设计的。节点组织在“场景”中,场景可以复用、实例化、继承。包括脚本和图形资产在内的所有游戏资源都是作为文件系统中的文件保存的,不依赖于数据库,可以方便使用版本控制的开发团队进行协作。
Godot支持进行多平台部署,能够针对不同的平台指定不同的纹理压缩方法和分辨率等设置。官方网站上仅提供适用于编辑器平台的二进制文件,导出到其他平台需要通过编辑器进行。
用于开发游戏的Godot编辑器支持如下平台:
- Linux、macOS、Windows等桌面平台。通过官网、Steam、Itch.io分发。支持BSD,但必须手动编译。
- HTML5平台,提供有Web编辑器。 [3]
- 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游戏导出到主机平台。
Remove ads
Godot支持使用不同的编程语言开发游戏,比如Godot自己的GDScript语言、C#、C++等。引擎还提供了GDExtension接口(3.x版本时期为GDNative),可用于创建其他语言的绑定。官方提供的C、C++支持就是通过GDExtension实现的。社区支持的语言包括Rust、Nim、JavaScript、Haskell、Clojure、Swift、D。
Godot内置的GDScript脚本语言是一种高级动态类型编程语言,语法与Python类似。与Python不同,GDScript是针对Godot的场景架构设计的,一个文件就是一个类,并且可以为变量限定类型。
开发GDScript之前,Godot的开发者尝试使用过Lua、Python、Squirrel等第三方脚本语言,但最终为了优化和编辑器集成选择使用自定义的语言。
简单的Hello World程序如下:
func _ready():
print("Hello World")
而更为复杂的,用于生成斐波那契数列的程序可以写为:
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)
Remove ads
Godot的图形引擎主要使用Vulkan(自4.0来),也具备对OpenGL与OpenGL ES的兼容选项。并可以通过MoltenVK支持Metal。
着色器语言使用的是一种自定义的语言,与GLSL类似。着色器可用于材质和渲染。
Godot的2D图形引擎与3D图形引擎是独立的。可以使用“视口节点(Viewport node)”混合2D和3D内容。
Godot拥有强大的动画系统,可以通过可视化的方式实现骨骼动画、混合、动画树、实时过场动画。游戏实体上的几乎所有变量都能够进行动画。
其他特性包括:
历史
Juan 'reduz' Linietsky 与 Ariel 'punto' Manzur 在 1999 年共同创立了 Codenix,一家游戏开发顾问公司。早在 2001 年,他们便开始开发一套代号为“Larvotor”的引擎,并授权给阿根廷的第三方公司使用。[4][5][6][7] 在接下来的十年间,该引擎数度更名,包括“Legacy”、“NG3D”、“Larvita”,最后定名为“Godot”。选用“Godot”这个名称是参考 Samuel Beckett 的剧作《等待果陀》,象征著不断想加入更多功能、使引擎更趋完整的永无止境愿望,即使永远无法真正达到。[8] Linietsky 与 Manzur 加入 OKAM 后,公司在封闭原始码时代与多家工作室合作,其中包括 Square Enix。然而,Linietsky 表示,他们的工作受到当时阿根廷政治与经济不稳定 的影响。[9]
Remove ads
到了 2014 年,Linietsky 计画离开阿根廷,他便在 GitHub 上以 MIT License 将 Godot 的 原始码 公开释出。[10] Godot 在 2015 年 11 月 4 日加入 Software Freedom Conservancy(SFC)。[11] 2016 年 6 月 22 日,Godot 获得了来自 Mozilla 的 20,000 美元 MOSS“Mission Partners”补助,用于加入 WebSocket、WebAssembly 与 WebGL 2.0 支援。[12]
Godot 3.0 的更新涉及大量需求已久的功能,需对引擎进行重大重构,这在封闭原始码时代难以实现。在 Miguel de Icaza 的支持下,Godot 在 2017 年收到微软 24,000 美元捐款,用于在 Godot 中加入 C# 脚本语言支援。[13] 同时启动的 Patreon 让 Linietsky 与 Verschelde 能全职投入专案开发。3.0 版本于 2018 年正式推出。后续的 3.1 版本加入了针对行动装置硬体的 OpenGL ES 2.0 渲染器,当时行动装置对 ES 3.0 的支援仍有限。[14]
2019 年起,Godot 形成两个团队:Linietsky 的团队负责 Vulkan 分支(后来成为 4.0),而 Verschelde 的团队维护 3.x 分支。Linietsky 指出其中一个问题是,3.x 分支仍采用较老的架构理念,例如单核心处理器,因此 4.0 的目标是重新打造核心架构,以符合现代需求。[15] 2020 年,Godot 获得 Epic Games 25 万美元补助,用于提升图形渲染与改进引擎内建脚本语言 GDScript,该补助让 Linietsky 与 George Marques 得以投入两年工作,并将捐款释放给其他用途。[16][17] Godot 也在 2020 与 2021 年获得来自 Meta Platforms 的 Reality Labs 补助。[18][19][20] 4.0 分支于 2022 年初推出 alpha 版本,并在同年持续打磨。[15] 8 月,Linietsky 与多位 Godot 团队成员成立 W4 Games,提供基于该引擎的商业服务,包括由于授权原因无法纳入开源程式码库的主机平台移植服务。[21][22] 11 月,Godot 宣布从 SFC 过渡至新成立的 Godot Foundation。[23][24][25][26]
4.0 的 Vulkan 支援版本于 2023 年正式推出,同年 Godot 引擎登上 Epic Games Store。Epic 版本的内容与授权皆与其他版本相同,仅作为分发与更新管道使用。[27] 不过,.NET/C# 版本并未在 Epic Games Store、Itch 或 Steam 上提供。[28] 同年 9 月,Unity Technologies 宣布对 Unity 引擎 授权模式做出重大更动,包括新增基于安装数量的“执行时费用”。因此,Re-Logic 宣布捐赠 100,000 美元给 Godot,并承诺之后每月再捐 1,000 美元,以支持作为 Unity 替代方案的开源引擎。[29]
版本历史
Godot 于 2014 年 12 月 15 日达到 1.0 版本,标志著首次稳定版发布,并加入了lightmap 灯光贴图、导航网格(navmesh)支援,以及更多 shader 著色器。[30] 1.1 版于 2015 年 5 月 21 日发布,新增改良后的程式码编辑器自动完成、视觉化著色器编辑器、一个用于管理萤幕与视窗的作业系统新API、改良的 2D 物理与重写后的 2D 引擎、更好的 Blender Collada 支援,以及新的深色主题。[31]
Godot 2.0 于 2016 年 2 月 23 日发布,加入了更好的场景实例化与继承、新的档案系统浏览器、多场景编辑,以及强化的除错器。[32][33] 随后在 2016 年 8 月推出的 2.1 版中,引入了资产资料库、效能分析器(profiler),以及外挂 API。[34]
- Godot 3
3.0 版于 2018 年 1 月 29 日发布,加入新的PBR 渲染器(基于 OpenGL ES 3.0 实作)、虚拟实境相容性,以及透过 Mono 实作的 C# 支援,[35]这要感谢微软捐赠的 24,000 美元。[36] 3.0 版也在内建 3D 物理后端之外加入了 Bullet 物理引擎,并成为第一个被纳入 Debian 的 Godot 版本。
Godot 3.1 于 2019 年 3 月 13 日发布,其最显著的功能包括加入静态型别 § GDScript、GDScript 的脚本类别系统,以及OpenGL ES 2.0 渲染器。[37] Godot 3.2 于 2020 年 1 月 29 日发布,最重要的变化包括大幅度改善的文件、显著提升的 C# 支援,以及对 glTF 2.0 档案的支援。[38]
首席开发者 Juan Linietsky 将大部分时间投入在一个独立的 Vulkan 分支上,该分支后来合并进主分支作为 4.0 的基础,[39]因此 3.2 的开发主要由其他贡献者完成。3.2 也作为一个为期一年的长期支援版本持续更新,[38]其中包括于 2020 年 6 月 26 日发布的 3.2.2,这是一次大型修补版本,加入了OpenGL ES 2.0 批次渲染,以及 iOS 的 C# 支援。[40] 2021 年 3 月 17 日,版本策略被调整以更贴近语意化版本控制,引入 3.3 稳定分支以及用于未来 3.4 功能向后移植的 3.x 分支。[41]
Godot 3.3 于 2021 年 4 月 21 日发布,新增功能包括 macOS 的 ARM 支援、Android App Bundle 支援、MP3 支援、Autodesk FBX 支援、WebXR 支援,以及一个网页版编辑器。[42]
Godot 3.4 于 2021 年 11 月 6 日发布,经过六个月的开发,补上对使用 Godot 3 制作的 2D 与 3D 游戏至关重要的缺失功能与修复 bug,使既有功能更加优化与稳定。[43]
Godot 3.5 于 2022 年 8 月 5 日发布,经历九个月的开发。与 Godot 3.4 类似,此版本聚焦于补上对 2D 与 3D 游戏重要的缺失功能与修复。[44] 其功能包括 3D 物理插值、非同步著色器编译等。[44]
Godot 3.x 在 4.0 beta 初次释出后进入更缓慢的开发节奏,因此 Godot 3.6 于 2024 年 9 月 9 日发布,经过两年开发。此更新加入 2D 物理插值与阶层式裁剪,以及 3D 网格合并、细节层次(LOD)、更紧密的阴影裁剪、ORM 材质等新功能。[45]
- Godot 4
Godot 4 于 2023 年 3 月 1 日发布。此为一次重大更新,全面翻新渲染系统、加入 Vulkan graphics API 支援、改善 GDScript 的效能与可用性、强化物理与动画系统,并加入许多其他功能与修复。Godot 4 的开发始于 2019 年,由 Linietsky 进行渲染器重写以使用 Vulkan。2020 年起,多位贡献者加入开发团队,致力于 GDScript 改进、物理引擎重构、动画系统重写、编辑器可用性增强等部分。
Godot 4 的第一个 alpha 版本于 2022 年 1 月提供给先行测试者使用。[46] 其中包含许多新功能,例如基于 SDF 的全域照明、GPU 粒子系统,以及动态柔和阴影。2022 年 9 月,Godot 4 进入 beta 阶段,并带来更佳稳定性与效能。[47] 此外也加入 WebXR 支援、Android 与 iOS 的 C# 支援,以及新的音讯功能。2023 年 3 月 1 日,Godot 4 在多个 beta 版本及错误修正后正式作为稳定版发布。它提升了图形品质、渲染最佳化技术,并加入无障碍功能。[48]
接下来于 2023 年稍晚推出的 Godot 4.1,加入了实验性的场景多执行绪、编辑器改良,以及 C# 的进一步增强。[49]
Godot 4.2 于 2023 年 11 月 30 日发布,重作了动画工具与粒子系统、加入 GDExtension、改进汇入流程,并加入 FSR 2.2 支援。[50]
Godot 4.3 于 2024 年 8 月 15 日发布,新增透过非循环图(acyclic graphs)的 GPU 同步、渲染管线合成器效果,以及改良的 3D 动画重定向。[51]
Godot 4.4 于 2025 年 3 月 5 日发布,并引入 Jolt 物理引擎整合。此版本聚焦于持续提升开发者体验与跨平台效能。[52]
Godot 4.5 于 2025 年 9 月 15 日发布,新增多项功能,例如模板测试(stencil buffer)支援,以及重新设计的 TileMapLayer 碰撞系统,该系统会在可能时将多个 cell 的碰撞形状合并成较大的碰撞体。[53]
Remove ads
旧版本
旧版本,仍被支援
当前版本
最新预览版本
未来版本
旧版本,仍被支援
当前版本
最新预览版本
未来版本
Remove ads
游戏作品
- RPG in a Box (2019)
- Brotato (2022)
- Lumencraft (2022)
- Dome Keeper (2022)
- HAYAI (2022)
- Swords and Sandals Immortals (2022)
- Endoparasitic (2022)
- 魔导书幸存者 (2022)
- 文字游戏 (2022)
- 租户赌财运 (2023)
- 周五放克夜 (VR)
- Cruelty Squad (页面存档备份,存于互联网档案馆)
- Kingdoms of the Dump (页面存档备份,存于互联网档案馆)
- Gawr Gura: Quest for Bread
- 刺猬索尼克 缤纷色彩(采用部分引擎原始码)
争议
Apparently game engines are woke now? Well then, we won't complain 🌈
Show us your #Wokot games below 👇
27 Sept 2024[60]
2024年9月27日,Godot团队在X上发布了一条引起争议的帖文。
另见
参考资料
外部链接
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads
