大佬们是这样的,半年前我开始在下班后写独立游戏玩,用的是 Rust 的 Bevy 框架。
由于是初次使用 Rust 所以进度很慢,现在仅完成了基本玩法框架,还有非常非常多的地方需要调,但现在遇到一个问题:
需要输出 3D 游戏画面了,而不是只能用来 Debug 的 2D 纯色块和数字,现在只能我脑内渲染还原,对我调游戏细节帮助很有限。
但是我对渲染完全不懂,只做过服务器开发,也不在游戏行业,所以从 0 开始撸画面还是 3D 的对我来说不现实,
想找一个有非常多开箱即用的渲染工具,至少前期只有我一个人的情况下先用着,而 Bevy 能搜到的资料很少,且离 1.0 稳定版也还早(已经经历了从 0.7 迁移到 0.8 到 0.9)
所以我只想把它用作服务端,承担大部分业务逻辑,部署在服务器上还能多人联机,然后把客户端主要用作画面渲染表现,这就回到了标题的问题,选 Unity 还是 Godot 来做客户端:

Unity: 用的人多,资料文档都比较丰富,但我没接触过 C#
Godot: 开源,易上手,支持第三方语言,但资源估计要差很多

unity, 别给自己找麻烦。

听说 unity 可以用 js 写?效率怎么样

现在不支持

那我先研究下 Unity 吧。主要是感觉有点无从下手的感觉... 语言 编辑器 都没用过

C# 不是事儿
有 ide 给你帮忙

语言问题不大,没文档一个问题卡你半天

行。估计最大的问题还是上手 Unity 本身

u3d 的话他官方示例很快就出一个小游戏,但前提是人家各种美术资源都是预制好的,包括炫酷的动画等。如果没有美工,u3d 应该也不会帮助你太多吧?

美术模型这些估计只能在网上外包了吧大概 说实话我现在也不知道还会遇到哪些问题....

我说说我的感受
我会 C#,因为个人兴趣也去学习过 u3d ,但当前自我评价为 “会熟练安装卸载 u3d”。然后总结有以下几点

  1. 图形学+数学基础要有,否则一些动画或者效果变换等搞不定
  2. 语言基础(不需要每个特性都会,因为 runtime 不一样,截止 2022 ),u3d 官方后续会切换到 netcore ,当前还是 mono 。个人认为 C#上手很快,官方文档齐全,社区开放活跃。
  3. 编辑器要会用,vs 不说了,这个几乎没有上手难度,而且智能提示一流。u3d 的 editor ,老实说,我不太会用,也不太喜欢他的 ui
  4. 其他(比如发布特定平台有特定要求,典型的如 ios ,你要有开发者认证 66 刀 /年,等)

    感谢大佬。
    图形学这个水太深了,我估计是啃不动了,只能专业的事交给专业的人来搞了。我只期望初期能搜到一些简单的直接复用好了
    语言还好,最初是想尽量减少学习成本了,现在发现这个相对于其他的大概不算啥了,比如美术动效等等
    距离发布,可能还相当早,除非全职。但这个需要有个像样的成果才能说服自己和家人。现在连玩具都谈不上,笑)

搭车求一个 unity 实在点的教程,感觉网上的野路子太多了,不知道学哪个

Godot 也支持 c#啊.

godot 还可以 rust

提醒一下,玩 unity 假如用 vs 一定要去买一个 github copilot ,真正生产力提升。

我也是做游戏玩, 一开始玩了 unity, 但发现好多基础知识不够, 然后学习了 blender 做动画. 后面看了一下 games101 的图形学入门课程, 这个建议楼主学习.

c#很舒服, yyds. 楼主会 rust 肯定会 c++, python 肯定也了解. 这样上手 c#完全无难度的.

我这种 u3d 渣渣,愧对大佬一词。

反正既然其他也没有经验,不妨试一下 u3d ,实践才会遇到问题,不要先给自己构造无形的墙。
u3d 目前的问题在于很过国内中文资料都比较老(比如很多 u3d4 5 的资料),但是他现在版本迭代非常快,所以更多的需要找英文资料和官方文档。

先从他官方的 demo 入手,应该是个不错的方向

楼主有兴趣一起交流下吗,我现在也在尝试自己做独立游戏,目前正在自学 unity 和 blender

u3d 也好虚幻也好,都是有商店的,模型,代码都可以在上面买,也可以外包。他们本身游戏引擎是不赚钱的,赚钱的做平台抽成。

商业游戏引擎发展到现在,已经不需要开发者自己去写很多很复杂的底层代码。开发者主要需要写出关卡的逻辑脚本。

独立开发者最常见的误区就是在“独立游戏引擎”上耗费时间。
独立游戏引擎常常能让开发者自己参与一部分引擎的实现,但是这些东西你自己写不一定有别人写的好,往往重复造轮子。遇到不完善的部分你翻遍全网也没有答案。这些都会消耗掉制作游戏的宝贵时间。

自己做着玩的话,unity 官网的教程就够了

其实如果对画面要求不大,那么为何不试试 文字游戏 呢(这里不是指 mud 游戏,当然 mud 也很符合要求)
steam 上就有一个,游戏名字就叫 文字游戏
很有创意

如果你这个项目是认真的,考虑到你只有一个人,其实你的选择只有 Unity ,C# 几乎不用花时间去学,可以直接上手

Godot 可以一边做游戏,一边给引擎修 BUG ,用 Unity 做得到吗?

Godot 今年用过一点,刚开始用 gdscript 的时候感觉很爽,学起来快,写代码很快很方便,后来代码越写越长,感觉越来越难维护, 尤其是 IDE 只能同时打开一个文件写代码,然后我换成 vs code 写代码,代码提示又成了问题
然后就换 C#版的。。用了不到几分钟,我觉得还不如用 unity 呢
最后就再也没有用过了。
我觉得 Godot 的使用场景,就是你想拿着一个笔记本,有闲暇的时间,做很小很小的游戏,或者做做小 demo 可以考虑

独立游戏要么不使用集成框架,要么使用 unity ,所以没得选

没人提 Unreal Engine 5 ?

建议等一手 Godot 4.x statble ,然后才去用 Godot ,用 Unity 主要是现存可参考的解决方案会多很多

Unity 吧,资源多,有问题至少能搜索到

推荐 UE5

我也想做个游戏玩玩,我想做 2D 多人在线的生活养成类游戏,准备 12 月开始动手,观摩下

如果只能二选其一,那我选第一个。

怎么说呢,C#很甜很好用,基本上没啥障碍,障碍在 Unity 本身。

你如果用过 Bevy 的话,再回头去用 Unity 的 DOTS 里的 ECS ,会很明显地感觉到落差。

然后如果退而求其次用传统 Unity 的话,你又会明显感觉到 OOP 的沉重感。

如果你再去用 Godot 的话,它几乎是纯 OOP 的,虽然套娃感觉会稍微比 Unity 轻量一点点。

所以建议的话,如果你对 Bevy 现在的那套 ClusteredForward 的管线和 ECS 比较熟悉,不妨继续用 Bevy ,因为你在上面两个引擎里是看不到这么新这么优雅的架构的。

但如果一定要选一个的话,Unity 就好。

补充一点,如果没有爬屎山的勇气和呼吸面罩的话,不要去尝试 UE ,它对于一个用惯了 Bevy 这样容不下半点额外渣滓的小引擎的人来说简直能熏死人。

感觉一开始没必要硬啃 ECS ,unity 现在 DOTS 才刚发 1.0 正式版不久,先把 Burst 和 Job 学会了

你没接触过 c#,难道就接触过 gdscript?

godot 感觉编辑器比较稳定,但我不知道改了啥配置游戏进程卡死了,资源占用都正常,只能强杀,都不知道怎么调试。
unity 只是编辑器有点不稳定,有时候没保存就卡死不响应了,游戏进程正常。
所以还是 unity 吧

godot 有 kotlin/golang/rust 等语言的绑定呀,只是大多数都不稳定,而且 3.5 用的 gdnative ,4.0 用的 gdextension ,到时候迁移会很麻烦,所以算了。所以一开始确实是打算用 gdscript 的,感觉和 python 差不多。
现在决定就 Unity 了。

好呀,我目前对 Unity 还是 0 了解

我和楼主一样是后端开发。
最近也在玩 unity ,目标是虚拟自己家的户型,模拟一些智能家居场景。
用一周学习 blender 建了户型白模。然后实现人物漫游,搞到人物骨骼,动画这一步了,目前还没遇到什么难点(资料多就是好),主要是很多东西都是第一次了解,需要踩坑。

(编辑器用 jb 家的 rider 就好,暴论:vs 一坨 shit

看你想做什麼,godot 開發比 unity 快,包體小,h5 支持比 unity 好太多。unity 的 h5 基本不能用。除非你有什麼效果 godot 做不了,非要 unity 才行,或者你想大陸找工作,那就 unity 。個人項目、獨立遊戲我選 godot 。