回复
14
查看
1595
收藏
15

1

赠楼

12%

赠楼率

1068

蒸汽

52

主题

650

帖子

2108

积分
发表于 2025-1-17 10:45:06 · 广东 | 显示全部楼层 |阅读模式
本文为 其乐用户(UID:1213948) 发布的原创文章,转摘前请联系该用户获得许可
本帖最后由 1213948 于 2025-2-14 06:14 编辑


大家好,我是小七,一名独立游戏开发者,
目前正在用Godot这款游戏引擎开发著游戏,
填坑之余抽空写了这篇文章,
来简单谈一谈我使用了一年Godot的感受,
如果你打算入坑Godot的话,
那也许可以看看这篇长文。

考虑到有些人可能只对其中一些内容感兴趣,
但又不想看那么长一大段文字,
所以我会以问题的形式来区分我想讲的内容,
正在观看本文章的朋友,可以只看想看那部分。

> 我为什么选择Godot?
选择Godot之前:
选择Godot之前我是在用Unity开发游戏的,
没继续用Unity是因为我虽然学习了挺久Unity,
但在我做出游戏之前我就已经对这个引擎疲惫了,
因为你要做一个完整的游戏,
真的是需要学习相当多的东西的,
特别是在你游戏比较复杂情况下,需要看很多很多的教程,
投入很多很多的时间和精力去学习,只看官方文档就能自学的人,
那是真大佬了,这种大佬一般都会有数年其他引擎的开发经验。

我觉得我学Unity已经比那些真零基础的人容易了,
因为我以前有接触过编程,虽然也只有编程初学者那样的实力,
但做一些简单的游戏,也够用了,
很多东西都是引擎的函数、接口帮我们完成了,
但尽管如此,我还是没有在Unity做出过一个完整的游戏。

感觉最大原因,还是自己游戏开发经验太少了,
有些东西不知道应该怎么设计运用管理起来,
比如说你的游戏有剧情流程,
不同的时候有对话有演出,
你就需要写个场景类把这些东西管理好,
然后怎么设计这个场景类就成了个问题,
如果设计得不好,就会导致写了一大堆意粉代码,
让游戏变得非常难维护,这在你游戏如果是剧情向,
且流程复杂的时候是很致命的。

其次是Unity学的东西,拼凑起来,始终让我觉得有点无聊,
也没有开发出独特或者有趣的游戏机制出来,
这么说吧在Unity要让游戏有趣起来,要会的东西真的需要很多,
并不是随便入个门就能做出游戏来的。

还有个原因是我以前是用RPGMaker做游戏的,
也做了几款,其中一款还上架Steam了,
但我在这个引擎做的都是RPG,
我觉得这在一定影响我的学习和开发,
所以我一上来想学的东西,
反而是那种稍微困难,后面也难管理的功能,
比如说游戏对话,游戏背包、游戏存档,
这三个功能基本算是RPGMaker最核心的功能了,
当我掌握了这些功能之后,感觉有些疲倦,
好像我做的东西都是以前的引擎功能有的,
让我觉得没什么新意,然后学会这些功能,
我自己也不想做RPG了,于是就顺势放下了Unity这款引擎了。

契机:
我选Godot的契机,并不是因为易用性,
也并不是因为它开源,更不是因为什么强大的功能,
只能说是机缘巧合让我选择了它。
我只记得是在23年的某个时间,
不知道为什么要学Godot,
那个时候Godot已经是4.0版本了,
结果我又跑去学那种囊括了很多东西的教程,
这种教程时长一般都会有10~30H,
但很多时候,你看完也不知道自己到底学了什么,
也消化不了多少,好的地方就是能让你了解到,
引擎的一些基本概念,
但也仅此而已,那还不如去看官方文档,
一边看一边自己手动去做是最好的,
因为这个过程你自己会思考,
自己思考得出的结果印象会更加深刻,
而不是在那坐着听人灌输一通。
总之我大概也就看了课程的三分之一左右吧,
到了我觉得我可以开项目来做游戏的时候,我又放下了…
原因是感觉没什么好的想法去开新坑,
也不知道做什么了……
(所以我才说不要去看这种笼统的教程,
真会能把人送走,直接扼杀了做游戏的乐趣)
直到Unity“爆种”(安装次数收费事件),
Brackeys(YoutubeUnity大佬)又跑回来Godot发教程,
跟着他的教程,我又拿起了Godot,
做完教程之后,我就开始策划自己的游戏了。



> 使用Godot做游戏体验怎么样?
好的方面:
在我仅用过的三个游戏引擎中(RPGMaker、Unity、Godot),
我体验最好的是Godot,
因为他比我想象中的还要易用且有扩展性,
Godot有自己的脚本语言叫做GDScript,
GDScript学起来和用起来都比较容易,
比C#容易,因为C#需要记很多的语法和关键字,
语法也比较像Python,
但我不怎么喜欢用缩进来表示代码块,
不过现在习惯了也就那样了。
然后你要是不喜欢GDScript,
你也可以用C#作为脚本语言,
我的话,是因为我C#也忘得差不多,
重新开始就学点新的脚本语言,
要是不适应还是能转回C#的,
新手的话,但我个人还是建议用GDScript,
因为现在网上几乎所有Godot教程都是用GDScript的,
所以新手用GDScript会比较友好。

然后游戏场景是由工具点Node组成的,
有很多种不同的类型的工具点,
需要什么功能就用什么工具点,
工具点有很多,功能也比较齐全,
工具点功能用起来也比较简单、易用,
这方面真的对新手很友好,
然后我觉得比较好的一点是,
你鼠标移到工具点检查器的属性,
基本是都有提示的,
如果你选择中文版Godot还会提示中文,
很多东西属性这样移上去一看就搞懂了,
不懂的地方,你还可以点击打开该对象的文档,
就可以查看这个工具点所有的属性和方法,
还支持点击搜索帮助,
输入你想了解的工具点、属性、方法、关键字,
就可以跳至到该内容文档查看,
然后这个文档如果你选的是中文版Godot,
他里面的内容也会显示中文,
就这个点真的甩Unity几条街,
我用Unity体验比较差的地方,
就是自学的时候英文的问题,
然后文档也是英文的没有中文版,
且内容也没有Godot的清晰、详细,
翻了文档也看不懂。
总之我自学Godot基本就是这样来的,
搜索关键字,查看内置的文档,
这方面的体验真的不错。

还有就是输入映射,
这个我觉得比Unity好用,
只需要新建动作名然后输入动作就可以了,
包括手柄映射也是一样设置的。

然后Godot里是没有单例的,
但他有个工具打开类,
可以把你需要一直挂着的脚本或者场景挂在这上面,
就能跨场景调用和传送数据。

还有资源类Resources,
这个也是Godot里比较好用的功能,
这里我就不介绍了。

然后我觉得做得最好的地方,
应该是他内置了本地化翻译这个功能,
咋看之下这个功能好像也没什么,
但如果你想你的游戏支持多语言,
就绕不开本地化这件事了,
在今天这个时代,
就算是独立游戏本地化也是必不可少的存在,
因为能让更多人玩到你的游戏,
如果你游戏还需要上架平台售卖,
那本地化就显得更重要了,
然后这个本地化功能我也试过了,
运用起来真的很简单,
除了文本之外,图片也支持根据语言切换更改。

然后Godot里还有很多好用的插件,
好像几乎都是免费的,
如果用插件来做游戏会很方便,
比如说对话系统、背包系统、存档系统,
加上插件的Godot的易用程度,
堪比RPGMaker这种模块化功能的软件,
一点都不夸张的,
所以我也是很推荐在RM圈,
但受到RM这款引擎的限制,
而呈现不出自己想要的游戏效果的人,
试试Godot这款软件,
但有些插件可能不能互相兼容,
用之前最好还是备份一下项目。

坏的方面:
我开头学Godot那会闪退的概率遇到过不少次,
我应该是用的4.2,
每次闪退都感觉无症状找不到原因,
然后闪退的时候你要是忘记保存了,
那项目只能回到你未保存之前,
然后到现在我用4.3开头没什么,
到我装了插件之后,有时经常会无影响卡死,
不清楚是不是插件的锅,
然后现在开软件运行感觉也没有开头用那会快了,
也不清楚是不是我项目越来越复杂的原因,
但我做的只是横板2D游戏,
所以总体感觉这软件没有想象中那么稳定,
性能也没有那么好。

然后其实很多功能都有缺陷,
刚入门不久后,我做了一个推箱交互,
本来推箱用rigidbody2d是比较合适的,
因为可以比较方便的模拟这种物理,
但是这个rigidbody2d不太稳定,
特别是受到力的作用之后,
推着推着突然会有一个力的冲量,
导致箱子突然推得很远,
然后我去网上搜教程,
他们也是用这种方法来实现推箱的,
但是他们没有提到这个问题,
因为这个问题要仔细测试才会出现,
这是做教程的人不会提及的,
所以面对这种问题,
你可能只能自己去解决。

还有就是可能有些功能达不到你的需求,
或者是效果没那么好,
像粒子系统(场景暂停时粒子上下抖动),
导航系统(有时会有奇怪的抖动且不够智能),
光照系统(效果不是那么好),
我就觉得一般般并且有点小毛病。

所以当需求达不到,
网上又没有解决方案的时候,
要么你就放弃这个功能,
或者自己去造轮子,
但造轮子也分等级,
有一些自己慢慢啃都能造的,
有一些是要回懂源码才能造的,
所以不会源码的话,
那可能轮子也不好造。

然后因为Godot国内少人用,
所以Godot的教学真的不多,
很多教程都是油管搬运过来的,
国外人家有他们的Godot社区,
有问题或者卡BUG了可以去问社区的人,
国内就没有这样的地方,
所以你如果项目卡了复杂的BUG,
自己解决不了的情况下,
发到网上可能没人帮你解决,
因为用Godot的人真的少,
隔壁Unity就不一样了。

现在Godot最新版本是4.4,
听说这个版本也多了很多不错的功能,
这引擎现在更新迭代越来越快了,
这本应该是好事,
但我听说他之前更新的版本并不总是好的,
每次添加新功能的时候,旧的一些功能可能会砍掉,
所以你只能在新旧版本做取舍,
比如我正式开始学习Godot是用的4.2,
然后4.3版本把Tilemap砍了,
改成TileMapLayer了,
当然你也可以留在旧版,
但有些新功能你就用不到了,
所以如果你在Godot做复杂且长期的项目,
我觉得是不太合适的,
我还听过Godot4.0版本的时候一团糟的,
有兴趣可以去网上考证一下。

Godot目前只支持导出PC和移动端,
不支持导出主机平台,
这点在你选择godot开发游戏时也是需要注意的,
因为也有越来越多的独立游戏上架主机平台,
在如今这个时代全平台并不是像以前那么困难的事了,
有的引擎就是不内置给你,或者需要收费,
UnityPro版就能支持导出主机平台了
我听说Godot的创始人确实是把移植Godot游戏的业务,
独立出来了,所以如果你想上主机平台,
要么自己搞定移植相关的技术问题,
要么向Juan(创始人)交钱获取额外支持,
当然也有其他的专门移植的公司,
反正应该都要花不少钱。


> 推荐大家用Godot吗?
虽然总体上我是推荐的,但具体我觉得还是要看你自己需求,
什么样的需求就用什么样的工具,
在做不复杂的2D游戏方面,
Godot确实是非常好用的,
至少我现在用下来是这么觉得的,
工具点的功能基本都囊括到了一些常见游戏的功能,
开发起来可以很快,不用造什么轮子,直接就是用。
然后现在市面上也有些3D游戏也是出自于Godot的,
有兴趣可以去看看,3D能用,但是关键是不是能达到自己的需求,
这才是重点,3D方面跟Unity肯定是比不了的,
画质渲染这些都算了,
但性能差距很大这块应该是没跑的……
听说有不少大佬过来摆弄一下Godot,
然后就离开了,
原因是这个引擎性能真的不太行,
只能期待他后面好好更新了,
然后Godot经过觉醒事件之后(有兴趣可以自己查查),
现在有两个分支Redot与Blazium,
如果官方后面拉跨了,
可能还能靠这俩救一救呢。

总结一下就是,

如果你是零基础新人想做游戏,
那我无脑推荐你用Godot,
因为他太适合新手了,简单易用扩展性也好,
GDScript也很容易就能学会,还能添加强大的插件,
没有比这更适合的选择了,特别是做2D游戏。

如果你有过其他引擎经验,
想试试Godot,
那我也推荐试试Godot,
可能能带给你不一样的体验,
在做小型游戏,
可以很快很爽,
尽管他有不少瑕疵。

如果你想做3D游戏并且想要有很厉害渲染,
那就好好的去学Unity和虚幻就好了,
其他也没什么选择了。

如果你是为了发展前景的话,
那还是乖乖Unity和虚幻吧,
学好了甚至还能增加一份工作机会,
Godot目前只适合独立游戏用,
就业机会就不要想了。



> 入坑Godot有什么需要注意的
(1)不要去看那种囊括了很多东西,只讲概念又点到即止,时长十几个小时那种的教程,看了也没用,我前面也说过了,看完也消化不了,因为Godot真的简单,有些功能你只需要用到的时候去查去看,没必要听这种笼统的教程,不然就是纯浪费时间,最好是找个短一点,几个钟就能学完做出游戏的,比如Brackeys的Godot教程(B站有人搬),虽然只有两集,但入门足够了,如果你想看详细全面一点的入门教程,可以看Heartbeast的教程,我有搬运他的教程,然后看教程,一定要看4.0版本以上,其他的已经太旧了。或者看我的教程~我也做出一些Godot教程,特别是Godot的对话插件Dialogic的教程,看完基本就能用来做视觉小说了,如果有人需要教程链接可以评论留言。

(2)如果你在看教程的时候,理解不了其中的代码,我建议你先抄着代码,很多时候学编程也是这样的,等后面你想通了,问题自然迎刃而解,但要是等你做完整个教程,你还是不明白其中一些东西,那你就需要去问别人了,比如视频评论区、或者加各种交流群。

(3)如果你英文不好,可以在项目管理器界面切换中文,这样方便你自己使用和学习Godot。

(4)如果你一开始就计划有想把你的游戏移植到主机平台上,那就真要考虑要不要换引擎了,
因为Godot不支持导出主机平台,想要移植的话,需要找由主创成立的W4移植公司移植,或者去找其他游戏公司帮你移植,但无论如何都是一笔昂贵的钱,除非你能自己搞定,我觉得能自己搞定的人,应该就不用godot了吧……



好了这篇文章,我足足写了6千字!感谢观看!
希望本文能帮到正在观看的你!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

×
回复

使用道具 举报

浏览本版块需要:
1. 初阶会员或更高等级;
2. (点击此处)绑定Steam账号
您需要登录后才可以回帖 登录 | 注册

本版积分规则

欢迎发帖参与讨论 o(*≧▽≦)ツ,请注意
1. 寻求帮助或答案的帖子请发到问题互助版块,悬赏有助于问题解决的速度。发错可能失去在该板块发布主题的权限(了解更多
2. 表达观点可以,也请务必注意语气和用词,以免影响他人浏览,特别是针对其他会员的内容。如觉得违规可使用举报功能 交由管理人员处理,请勿引用对方的内容。
3. 开箱晒物交易中心游戏互鉴福利放送版块请注意额外的置顶版规。
4. 除了提问帖和交易帖以外,不确认发在哪个版块的帖子可以先发在谈天说地

  作为民间站点,自 2004 年起为广大中文 Steam 用户提供技术支持与讨论空间。历经二十余载风雨,如今已发展为国内最大的正版玩家据点。

列表模式 · · 微博 · Bilibili频道 · Steam 群组 · 贴吧 · QQ群 
Keylol 其乐 ©2004-2025 Chinese Steam User Fan Site.
Designed by Lee in Balestier, Powered by Discuz!
推荐使用 ChromeMicrosoft Edge 来浏览本站
广告投放|手机版|广州数趣信息科技有限公司 版权所有|其乐 Keylol ( 粤ICP备17068105号 )
GMT+8, 2025-4-28 19:14
快速回复 返回顶部 返回列表