游戏引擎Unity与Godot二者都非常受欢迎,都有很多游戏作品,要在Unity和Godot之间选择任何一个都不太容易。如果您作为一个游戏入门开发者来说,我们可以分析对比一下二者的差异,也许就可以根据您的需求来进行最佳的选择。
现在的大多数游戏都是使用游戏引擎开发,并不是从最原生的做起。有了游戏引擎,游戏开发人员就可以专注于游戏本身的设计与开发,而不是去花大量的人力物力去适配多样的底层系统。所以如果你想自己开发一款游戏,选择一款适合自己的游戏引擎至关重要。
本文我们将探讨一下Unity和Godot,二者都能用于2D和3D游戏,非常强大也非常受欢迎。
什么是游戏引擎?
游戏引擎,也可以叫游戏开发框架,是一种软件开发包,集成了各种编程语言,可以进行视频游戏的开发与优化。它包括2D/3D的图形渲染引擎,模拟真实世界的物理引擎,人工智能能力,音效等。
如上所述,游戏引擎主要目的就是为了让你生活得更容易,把精力聚焦到游戏的设计与实现上。如果没有游戏引擎,你不仅需要对游戏机制进行架构,还要了解计算机底层接口如何访问,如何播放声音,如何高效地绘制图形等。开发游戏的门槛指数级提升,让你开门即劝退。游戏引擎大大降低了游戏开发的门槛,提升了效率,在此基础上出现了数不胜数的3A大作。
总之,游戏引擎是一个强大的游戏开发工具库,让你不被琐碎的细节所困扰。除非你是一个想折腾的人,否则完全可以把时间聚焦在游戏设计本身上,做出更完美的作品。
回到Unity与Godot的对比,假如你想开发的游戏类型有很多,从2D游戏,3D游戏到虚拟现实。一个好的游戏引擎可以支持程序员创建各种各样的游戏,Unity和Godot二者都能做到:
2D。支持2D游戏开发应该是所有游戏引擎最基础的能力了,当然Unity和Godot也不例外,它们都提供了广泛的工具集。Godot 4版本中的更新更显著提升了2D游戏能力,包括2D光照、2D材质、2D光影支持以及2D遮罩与裁剪。值得注意的是,Godot提供了真正的专门服务2D引擎,而Unity在技术上仍然使用其3D引擎来渲染2D游戏,这对于某些场景也许有性能的损失。
3D。虽然Godot可以制作3D游戏,但它功能不如Unity强大。因此从图形保真度而言,Unity是最佳选择。另外一方面Unity引擎较为重,在旧的计算机上可能不如Godot运行得那么好。
AR。Unity在VR方面是一款出色的游戏引擎,其插件用途广泛,可集成到XR基础设施。虽然Godot 4改进了VR功能,但由于许可问题,使用有诸多不便。在这一块应用上,当前最佳选择仍然是Unity。
移动设备。二者都具有移动设备运行功能。但Unity在实际开发中会提供更多的工具,例如模拟器等。
多人游戏。二者都支持多人游戏功能。Godot 4尤其提升了制作复杂度高的多人游戏能力,包括场景复制,RSET和状态等方面的改进。Unity也发布了多人游戏网络功能,使开发比以往更加容易。这方面,双方都具备了比较良好的工作基础。
编码在游戏开发中也是非常重要的,如果你熟悉一种编码语言,会很大影响到你最后的选择。Unity使用C#来实现脚本逻辑,C#是一种优秀的语言。与C++相比,C#可读性更强,开发更容易,也有很多其他高级语言无法提供的优势。
如果你不喜欢编码,Unity还提供了可视化脚本,你可以通过图形化的拖拽就完成游戏逻辑。
相比之下,虽然Godot兼容几种语言,但主要语言是GDScript和C#。虽然也有C#,但实际GDScript可能才是Godot的主要语言。GDScript与Python语言比较类似,由Godot团队自己开发。虽然不具备C#的多功能性,但确实具有一定优势让游戏开发更容易。
另外,专业开发人员使用的游戏引擎也是判断其受欢迎程度且好用的一个方法。Unity和Godot都是流行的游戏引擎,都可以用于开发市面上流行的游戏。然而,它们也有不同的用途。
Unity因其丰富的资源深受3A开发者和独立游戏开发者的欢迎。这些资源包括游戏资源,在线社区支持,教程以及各种工具等。它有大量的开发人员支持,有很多共性问题解决的库(俗称不用再造轮子),大量的配套服务,使其成为许多用户的一站式商店。Unity甚至还应用到了更多行业,例如电影,建筑等等。
很多热门游戏作品都使用了Unity引擎,例如国内路人皆知的《王者荣耀》,《炉石传说》,《城市:天际线》,《Rust》等等。
相比之下,Godot显得比较稚嫩了许多。然而,它正在迅速崛起。最近Unity的收费问题也闹得沸沸扬扬,也不免让更多开发者更加关注到Godot引擎,Godot也成为了Unity的主要竞争对手。Godot还有一个Unity没有的优势:开源。是的,这才是开发者的不被绑架的核心逻辑。Unity终归是商业引擎,它是需要赚钱的,要撑股价的。(国内还有Cocos引擎,也是开源,当然是另外一个话题,本期并未引入是因为cocos主要来移动端上发力)。
尽管Godot相对稚嫩,但它也有很多成功的游戏,例如《Kingdoms of the Dump》、《Cruelty Squad》、《Dungeondraft》和《Brotato:土豆兄弟》等等。
选择游戏引擎时,有一个强大的支持性社区也很重要。Godot和Unity的社区都不错,可以在社区获得技术上的支持和帮助。
Unity和Godot都有一个资源商店,有许多资源售卖,例如3D模型,纹理、工具等,有免费和付费的。这支持使开发人员聚焦游戏设计,不用为游戏图片,特效等发愁。
如果必须选择的话,Unity社区会更大,因为它足够久,覆盖足够广泛。
最后,一个重要的点就是:钱。使用这些引擎会花多少钱?
Unity有一个免费计划。除非你收入超过10万美元(未来可能会变化),否则就不用购买许可。大多数用户都会接受免费计划,毕竟绝大多数都赚不到大钱(这句话有些不好听,但是事实,让你足够冷静是否要入这一行)。但免费计划功能比较少,游戏规模不大尚且够用。至于其他套餐费用,本文不再赘述,有兴趣可去Unity官网了解,毕竟最近Unity的新收费计划闹得沸沸扬扬,未来如何变化还不得而知。
相比之下,开源Godot的完全免费,没有任何附加条件。当然,其服务肯定不能和商业化引擎相提并论,开发者需要自己解决的问题,但好处不会有被坑的压力(或者会更加小),开发者完全掌握自己的游戏命运。
结论:Unity和Godot哪个更好?
也许读者自己已经有了答案。这完全取决于你的需求,要做什么样的游戏?风格?学习成本?等。
例如,对于3D、AR和VR游戏,Unity更佳。而2D游戏方面,Godot更胜一筹,因为它更加专用且高性能。
但以上并不是绝对,你也许有自己的更长远的考虑。无论如何二者都是不错的选择。
最后,祝有志于游戏的读者做出适合自己的选择。