Godot Engine是一个功能丰富的跨平台游戏引擎,可从统一的界面创建 2D 和 3D 游戏。它提供了一套完善的常用工具,让用户可以专注于制作游戏,而无需重新发明轮子。游戏可以一键导出到多个平台,包括主要的桌面平台(Linux、macOS、Windows)、移动平台(Android、iOS),以及基于Web的平台(HTML5)和 控制台。
免费、开源和社区驱动
Godot 在非常宽松的MIT 许可下是完全免费和开源的。没有附加条件,没有版税,什么都没有。用户的游戏是他们的,直到最后一行引擎代码。Godot 的开发完全独立且由社区驱动,使用户能够帮助塑造他们的引擎以满足他们的期望。它得到了 非营利软件自由保护协会的支持。
在 2014 年2 月开源之前,Godot 已由Juan Linietsky和Ariel Manzur(两人仍在维护该项目)作为内部引擎开发了数年,用于发布多个雇佣作品。
Godot 使用SCons来构建。我们喜欢它,我们不会为了其他任何东西而改变它。我们甚至不确定其他构建系统是否能够胜任构建 Godot 的任务。我们不断收到将构建系统迁移到 CMake 或 Visual Studio 的请求,但这不会发生。我们选择 SCons 而不是其他替代方案的原因有很多,例如:
- Godot 可以针对十几种不同的平台进行编译:所有 PC 平台、所有移动平台、许多控制台和 WebAssembly。
- 开发者经常需要同时为多个平台编译,甚至是同一平台的不同目标。他们负担不起每次都重新配置和重建项目。SCons 可以毫不费力地做到这一点,而不会破坏构建。
- 无论有多少更改、配置、添加、删除等,SCons 都不会破坏构建。与需要在 SCons 中清理和重建相比,您有更多的机会被闪电击中。
- Godot 构建过程并不简单。一些文件由代码生成(绑定器),其他文件被解析(着色器),还有一些需要提供定制(插件)。这需要复杂的逻辑,更容易用实际的编程语言(如 Python)编写,而不是使用仅用于构建的主要基于宏的语言。
- Godot 构建过程大量使用交叉编译工具。每个平台都有特定的检测过程,所有这些都必须作为特定案例处理,并为每个平台编写特殊代码。
因此,如果您打算自己构建 Godot,请尽量保持开放的心态并至少熟悉它。
SCons:软件构建工具
什么是 SCons?
SCons 是一个开源软件构建工具。将 SCons 视为经典 Make 实用程序的改进的跨平台替代品,具有类似于 autoconf/automake 和编译器缓存(如 ccache)的集成功能。简而言之,SCons 是一种更简单、更可靠、更快速的软件构建方式。
是什么让 SCons 变得更好?
- 配置文件是 Python 脚本——使用真正的编程语言的力量来解决构建问题。
- 为 C、C++ 和 Fortran 内置可靠、自动的依赖关系分析——不再需要“makedepend”或“make clean”来获取所有依赖关系。通过用户定义的其他语言或文件类型的依赖性扫描程序,依赖性分析很容易扩展。
- 内置支持 C、C++、D、Java、Fortran、Yacc、Lex、Qt 和 SWIG,以及构建 TeX 和 LaTeX 文档。通过用户定义的构建器可轻松扩展其他语言或文件类型。
- 从源代码和/或预构建目标的中央存储库构建。
- 对 Microsoft Visual Studio 的内置支持,包括生成 .dsp、.dsw、.sln 和 .vcproj 文件。
- 使用 MD5 签名可靠地检测构建更改;对传统时间戳的可选、可配置支持。
- 支持并行构建——比如 make -j ,但无论目录层次如何,都可以同时运行 N 个作业。
- 集成类似 Autoconf 的支持,用于查找#include 文件、库、函数和 typedef。
- 所有依赖项的全局视图——不再需要多次构建传递或重新排序目标来构建所有内容。
- 能够在缓存中共享构建文件以加速多个构建——例如 ccache,但适用于任何类型的目标文件,而不仅仅是 C/C++ 编译。
- 专为跨平台构建而设计,可在 Linux、其他 POSIX 系统(包括 AIX、BSD 系统、HP/UX、IRIX 和 Solaris)、Windows 7/8/10、MacOS 和 OS/2 上运行。