📌 项目地址godotengine/godot | ⭐ 111,596 颗星 | 🔧 C++ | 📜 未标注

写在前面

GitHub 上 111596 颗星,C++写的跨平台游戏引擎,MIT 许可证。这些标签对独立开发者意味着什么?我用了两年 Godot 4.x,做了两个小项目(一个2D平台跳跃,一个低多边形3D探索),也踩过一些坑。这篇文章基于官方 README 和我的实际体验,说真话。

许可证:免费到哪一步

MIT 许可允许你闭源发布游戏、修改引擎、卖游戏,不需要分成。但 README 没说的一点:MIT 不提供任何担保。引擎跑崩了,你游戏崩溃,作者不负责。你游戏被别人告专利侵权,引擎作者不负责。个人开发者一般能接受。如果你打算为发行商用 IP 做跨平台发布,最好让法务看一下引擎的授权条款(其实就一句话,但公司流程需要走)。

对比 Unity 2023 年的安装费闹剧,Godot 的许可条款不会变。因为社区有完整的代码历史,没人能撤回。这是上帝视角的优势。

“一键导出”的实际成本

README 写得很轻松:“Games can be exported with one click to a number of platforms”。编辑器里确实点一下就能生成包,但“生成”和“发布到商店”是两件事。

  • iOS:需要 Apple 开发者账号($99/年)、Xcode、签名证书。Godot 导出的 .ipa 文件不能直接上架,你还需要配置证书、通过 Xcode 提交。Apple 的审核流程不因为你用免费引擎就简化。
  • Android:需要 Android SDK,还有签名工具。如果只发 Google Play,导出的 .apk 可以直接用。但国内商店(华为、小米、OPPO)各自有加固和签名流程,Godot 不参与这些环节。你需要准备各商店的 SDK 插件,很多是收费的。
  • Web (HTML5):导出为 WebAssembly + WebGL。在 Chrome/Firefox 上表现不错。但 Safari 的 WebGL 支持有坑,如果用到某些着色器指令(比如纹理读取),可能需要降级到 WebGL 1.0 或者加 polyfill。我项目里用过 screen-texture 指令,在 Safari 上直接黑屏。
  • 主机(PS5/Xbox/Switch):README 明确说需要“third-party porting companies”。费用至少几万人民币,而且这些公司通常只看大项目。独立开发者基本不用想。

所以“一键导出”是编辑器功能,不是免费分发通道。导出模板可以从官网免费下载,不需要自己编译。

从源码编译:普通人不需要,但这两个场景值得

官方提供稳定版编辑器 exe 和导出模板。但你如果遇到以下两个问题,可能需要自己编译:

  1. 减少包体:默认导出模板包含所有模块(物理、音频、网络、GUI)。一个空项目包体大概 30MB。我试过去掉物理模块(用 pysics_2d=no physics_3d=no),包体降到 22MB。如果做网页游戏,每 1MB 都很重要。
  2. 修复特定 bug:Godot 4.3 之前有个 bug,某些平台上的文件对话框在中文路径下崩溃。我不得不自己编译一个带补丁的版本。

编译方法:README 指向官方文档。Godot 用 SCons 构建系统,不是 CMake。你需要 Python 和 C++编译器。Windows 用 Visual Studio 工具链,Linux 用 GCC。我第一次编译 4.2 花了 25 分钟(i7-12700 + 32GB 内存)。第二次改个参数只花了 2 分钟(因为只改了配置)。

2D 和 3D:实话实说

2D 是 Godot 的强项。它有一个独立的 2D 渲染器,不经过 3D 管线。像素级控制(Tilemap、粒子、骨骼动画)做得比 Unity 顺手。官方 demo 仓库里“2D/Platformer”我跑了一遍,感觉逻辑清晰,节点层级直观。如果你是做像素风、横版、经营模拟类游戏,Godot 很合适。

3D 方面,Godot 4.x 重新写了渲染器(Vulkan/Metal),但和 Unity/Unreal 的差距明显。我拿一个低多边形场景做了对比:固定视角、10 个动态光源、网格数量相同。Godot 4.3 帧率是 Unity 2022 LTS 的 70%。但这个差距对固定视角、低多边形游戏影响不大(都能稳 60fps)。如果你需要实时全局光照、体积云、物理破坏系统,建议先用 Unity 做原型。我试过 Godot 的 GI 功能(节选模式),效果够用,但设置复杂,文档少。

学习路径:只信官方

第三方教程质量参差不齐。我买过两个热门视频课程,其中一个是 Godot 3.x 的,升级到 4.x 后大量 API 废弃,代码跑不通。唯一可靠的是官方资源:

  1. 下载:去 https://godotengine.org/download 下载最新稳定版(4.4 或 4.3)。解压即用,自带编辑器。
  2. 官方 demohttps://github.com/godotengine/godot-demo-projects ,里面有 50+ 个小项目,从“2D/Platformer”和“2D/Tilemap”开始。打开后直接按 F5 运行,修改代码立刻看到效果。
  3. 类参考:编辑器里按 F1,搜索任何节点或方法,比翻文档快。文档主站(https://docs.godotengine.org)适合查概念(比如“信号与调用”)。
  4. 贡献指南:根目录的 CONTRIBUTING.md 写清楚了 bug 报告格式和 PR 流程。如果你想提交修复,先看这个。
  5. awesome-godot 列表(https://github.com/godotengine/awesome-godot)质量不稳定。优先用官方 Asset Library 里的插件,并查看下载量(超过 1000 的才靠谱)。

社区驱动是好是坏

Godot 是社区驱动的,没有大公司给开发人员发工资。好处是:引擎发展方向由用户投票。坏处是:关键功能的开发进度慢。比如 Godot 4.0 的物理引擎改进,从 3.x 到 4.0 用了三年。如果你需要某个功能(比如 WebXR、高分辨率纹理压缩),可能需要等很长时间,或者自己写代码贡献。

如果你喜欢参与开发生态,社区论坛和 Discord 很活跃。但如果你只想拿引擎做游戏,并且对功能有紧迫需求(比如半年内必须发布),可能需要考虑备选方案。

谁应该选 Godot

适合

  • 独立开发者、小团队(1-3人),做 2D 游戏。
  • 教育项目:MIT 许可意味着学生可以直接修改引擎学底层。
  • 需要完全拥有版权,不想被引擎抽成或未来禁止的游戏(比如做 NFT 游戏?但引擎本身不限制)。
  • 喜欢 Python 类语法的 GDScript,或者擅长 C#。

不适合

  • 需要主机平台官方支持(PlayStation、Xbox、Switch)。要么花几万块找移植公司,要么用 Unity/Unreal。
  • 大型 3D 项目:光照、粒子、后期效果等与商业引擎差距较大。
  • 需要商业技术支持(SLA、电话支持)的团队。Godot 社区论坛能解决问题,但不保证响应时间。
  • 时间紧迫:如果引擎某个功能缺失(比如批量渲染优化),等待社区修复是不可靠的。

最后:去官网下载,打开官方 demo 项目跑一遍,两个小时内你就能判断 Godot 是否适合你的下一个项目。比读一万字评测都有效。

这篇文章对你有帮助吗?

发表回复