Godot Engine是一款国际知名的游戏引擎,这款引擎开源免费,完全不需要你的游戏使用它们的启动界面,而且非常轻量,完全安装好的软件只占用30M的空间。对于中小型游戏开发企业来说,这款Godot Engine显然会是个不错的选择。
轻量级
构建好的 Godot 只需要占用你的硬盘的 30M 空间,包含(几乎)了所有内容。如果你需要构建手机版本,你需要下载额外的 200M 的构建模板,仅此而已。
这里我并不是因为下载速度快或者因为其他引擎占用了 3 到 30GB 的大空间而提出这点,而是为了说明 Godot 团队对性能的关注程度。 Godot 打开只需要一眨眼的功夫,我那用了 4 年的旧笔记本打开或者加载时间甚至都没超过 5 秒钟。我所等待过的最长时间大约是 1 分钟,那是发生在点击一个按钮发布到安卓手平台的 Debug 版本之间的时间开销。
当然,最重要的是:它能反应出你的游戏的性能。当我发现 Godot 引擎本身就是一个 Godot 开发的游戏的时候,我被深深地震惊了!
友好的版本控制
你是否曾经遇到过在使用 Unity 或者 Unreal 的时候发生了场景或者预制体或者其他的对象文件在仓库的版本冲突问题?如果有的话,难么你应该知道这是多么痛苦的一件事了,特别是在大型团队里。
在 Godot 中任何对象都是以文本文档的形式保存,对于合并冲突来说是绝对是一种非常友好而且可读性强的文件格式。因为我们能非常轻松地区别开多个场景中的多个对象(关于这个之后会谈论更多),使得每一个团队成员都能够专注于自己的工作。
动画系统
Godot 的动画系统是我见过的最强大而又简单易用的一个系统,我曾经使用过的所有动画工具具有的功能设置它都包含了。你可以对某个对象的任意属性进行动画设置,甚至包括函数的调用。除此之外,它还包含了一个非常简易的动画创建工具。
动手比解释更能体会它的工作原理,我推荐你访问 GDQuest 和 Heartbeast 的视频,两位大牛利用他们的业余时间讲授创建游戏相关经验的视频,大部分是免费的。
真实2D vs 假2D
经常会遇到 Rock Milk 的哲学理论问题。为了弄清楚这个东西,我们创建了一个小而简单的游戏,尝试突破未开发的那些区域和一些创新机制。由于我们是两个家庭的普通人,经常一天只能抽出个把小时来开发我们的游戏,所以我们只专注于 2D 游戏开发。
Godot 的 2D 引擎可圈可点,它不是假的 2D ,就像在 3D 空间把 Z 轴*平放*一样的假 2D 。对于 Godot 来说这意味着什么呢?
像素作为坐标和单位使用,包括物理引擎中的使用
更加高效、更加易用地 API ,无需在第三个轴上处理逻辑或者数学问题
某些其他引擎上的典型解决方案在这里都变得没必要(例如:把 1 个像素设为一个单元,完美像素渲染, Z 轴分层和相机缩放问题等)
换句话说,我们能很好的控制每个游戏物体的尺寸、位置、速度和碰撞,包括皮肤( HUD ),这经常是需要进行一个完整的 PITA 设置。(不过我们还是蛮喜欢 Unity 的新 GUI 系统的说)
GDScript 脚本和 API
GDScript 是 Godot 中代码处理的默认编程语言,能和引擎的相关特性非常吻合的结合在一起。
通常只需要编写一点点代码就能做出一大堆动作效果,这是由于它那丰富的 API 。我曾以为每个对象都需要从头开始创建,但是 Godot 已经帮我们做好了,包括每一个操作和我所需要的自定义功能。
另外,我觉得 GDScript 是让新用户拒而远之的最主要原因。我重点列举以下我所听见的抱怨中的几条:
我是不是必须要学习一门只能在 Godot 中使用的编程语言?
是的,朋友,但是这并不会多花费你多于两天的时间。这门语言非常简单,就像 Python 的兄弟版。
最糟糕的情况是:至少你也将会学会另一门编程语言,而且学习新的语言能有助于你进行和别人不一样的思考方式(那是更好的方式)。
我讨厌编程语言
好吧,没有理由一定要尝试,我也没有什么可抱怨的。但是,如果你愿意的话,你可以完全使用 C++ 模块来编写代码然后轻松地导出为 GDScript 脚本。
或许,你可能更希望等待 Godot 3.0 版本的发布(其实它就在 Godot 的社区……开个玩笑),因为 3.0 版将会支持 C# 以及 GDNative 脚本,也就是说到时候你可以使用Python , Go , D , Rust 甚至 Nim (或者任意其他你想绑定的编程语言)等语言编写代码。
那么它的性能怎样呢?游戏代码如何?额
一般对于你所能想到的 95% 的游戏我相信性能都足够满足了。如果你还是持有怀疑态度,那么像我刚才提到的,你完全可以使用 C++ 模块编写然后获得 C++ 的性能。
如果在你的游戏里,某个部分算法有着极高的性能需求,那么你可以在此部分上单独使用 C++ 进行编程,在其他部分继续采用 GDScript 脚本。
你可以阅读更多 Shin-Nil 的关于性能测试之类的文章。
我的编程工具和软件并支持 GDScript 脚本
Godot 有一个集成的代码编辑器,而且除了基本的脚本编写之外它还具有漂亮的智能代码提示功能(也就是说代码自动完成功能),以及强大的 debug 功能,另外包括运行时编辑功能,你可以看看 Juan Linietsky ( 也叫 Reduzio )的视频,他是 Godot 的主要开发者,视频地址在此:
https://www.youtube.com/embed/50Vw4e6JPOI
到目前为止,对于外部代码编辑器,完全支持的只有 Visual Studio Code ,使用的是Godot 工具,由 Geequlim 开发,但是其他软件包括 Sublime Text , Atom 以及GEdit 都能支持语法高亮功能。
我的建议是:在批评之前先尝试使用 GDScript 脚本吧。如果你在一周之后还是不能顺利上手,效率也不高,那我赔你一颗糖吧。哈哈。(?)
到这里还是不相信?那看一看 Juan 关于创造 GDScript 脚本的理由吧,或许它能让你改变主意:
https://www.redditmedia.com/r/gamedev/comments/36u80q/godot_engine_11_out/crhjrw6/?embed=true&context=0&depth=1&showedits=false&created=null&uuid=null&showmore=false
节点和场景系统
节点是游戏中能够进行属性编辑的一个基本对象。它可以使一个 2D 精灵,一个 3D 模型,一些 GUI 控件元素或者仅声音的播放功能。 Godot 包含了大量节点可供使用和扩展,因此你可以完全创建属于你自己的节点类型。场景是由一组节点有层次的组织在一起构建而成,如同一棵大树。
这也是我们最喜欢的特性,关于节点这个图做出了最好的解释:

Godot 中一切都是场景。每一个场景都能包含其他场景和节点。你可以轻松地提取子节点作为一个场景,提高它的复用性, fracteed 先生在管道上就聪明地利用了这个特性:
开发者其他应用

逃跑吧少年正版最新版837.3M182777人在玩逃跑吧少年下载安装正版最新版是一款十分趣味的不对称对抗游戏,玩家将在逃跑吧少年正版最新版游戏中你可以不断提升自己的等级与技巧,在游戏中可以扮演逃生者或追捕者
下载
英雄联盟手游官方版1.82G2552399人在玩英雄联盟手游官方正版下载,LOL手游里面会逐渐的发布所有LOL里面的人物,这也就决定了玩家可以不断地开发配套装备玩法和对线玩法。英雄联盟手游官方版让你
下载
新射雕群侠传之铁血丹心最新版986.4M28人在玩新射雕群侠传之铁血丹心最新版是一款经典武侠类角色扮演手机游戏,新射雕群侠传之铁血丹心最新版集策略、养成、角色扮演、社交等多种元素为一体,使游戏更具趣味
下载
战神遗迹手游872.2M226458人在玩战神遗迹手游是一款非常好玩的大型欧美魔幻风格的角色扮演英雄战斗游戏,史诗魔幻画面呈现,经典的游戏职业可以选择,多人实时组队,副本PK,史诗级装备轻松打造
下载
梦幻新诛仙九游版1.90G117880人在玩梦幻新诛仙九游版是一款由完美世界最新推出的非常好玩的角色扮演修仙战斗游戏,3D高品质画面呈现,构建全新的诛仙世界,梦幻新诛仙九游版丰富的英雄角色可以选择,全新副本,自由组队挂机
下载
逃跑吧少年2022官方正版837.3M87308人在玩逃跑吧少年2022官方正版是一款对抗策略类手游,大家可以在逃跑吧少年正版游戏中扮演两个不同的阵容,进行逃生追捕大作战,不同的职业角色会有其独特的技能
下载
大话白蛇手游403.7M244441人在玩大话白蛇手游是一款国产仙侠MMORPG手游。带给玩家一场浪漫唯美的仙侠人妖之恋。另有特色妖兽系统全面开启,打造千人千面的游戏玩法体验
下载
完美世界手游腾讯版1.36G564人在玩完美世界手游腾讯版是一款由腾讯最新推出的根据同名端游移植而成的角色扮演修仙战斗手游,3Dunity引擎画面打造,场景非常精致,游戏完美复刻端游世界观
下载
龙族幻想官方版1.63G45508人在玩龙族幻想官方版是一款腾讯出品的大型魔幻题材类角色扮演手机游戏,龙族幻想官方版采用顶尖的UE4引擎打造超清游戏世界。精致的游戏场景和百变人物造型给玩家优质视觉体验
下载
渣渣辉传奇官方版176M55人在玩渣渣辉传奇是一款热门手热,我是古天乐,我是渣渣辉,贪玩蓝月让三位港星代言,但由于发音问题被网络中各种恶搞,而渣渣辉传奇就是其中一款,玩法简单,进入游戏
下载