几天前Unity收取安装费的事情闹得沸沸扬扬,不仅开发圈子,就连玩家圈子都知道了这件事。

很不巧我的游戏Demo也使用了Unity制作。目前手上这个项目已经做了一年多了,突然叫我换引擎我是不能接受的。况且我马上要靠这个项目找工作,换引擎时间上也来不及。

自从这个事情开始B站上突然多了好多“如何从Unity迁移Godot或者Unreal”的视频,弄的即将找工作的我是非常的焦虑。

我有关注一个游戏开发UP主,他们的几款游戏是RM做的,后来换到了Unity,并且已经在重置一些之前的游戏了,但突然整这么一出,他们直接紧急叫停了开发进度。另一位UP主在视频里连续喷了这个不合理的条款一分多钟,从来没有见他这么生气过。Unity推特官号下的评论区也已经被冲爆了,这个事情远远比想象中的要严重。

我自己已经学习Unity接近7年多了,突然要我换引擎是不太现实的。目前Unity还没有平替引擎可以选择,Unity最显著的优势是静态类型的C#编程语言简单易上手,多平台支持,以及方便的编辑器。以及无数的社区生态和经验积累,没法突然一下子全部换掉。

目前最接近Unity引擎的竞品就是Unreal和Godot引擎,这俩也是经常在各种视频里作为Unity的备选方案推荐的。

先说Unreal,Unreal应用场景多是PC,主机端这些高性能设备。移动端上性能优化的压力非常大。再者Unreal使用蓝图和C++来开发游戏逻辑,先说蓝图吧,这个东西看着很美好,即使不会代码的人也可以开发自己的游戏,小白也能轻松上手。但代码量或者说逻辑复杂度起来之后,整个蓝图会变成盘丝洞,非常难以阅读和维护。另一个编程的选择就是C++,但C++又是一门入门相对有门槛的语言,对小白不友好。

Godot我个人没有过多的深入,据目前的经验来看,Godot还处在开发阶段,社区生态也都待建设。可能遇到问题没有Unity和Unreal那么好找资料。其它方面看起来还是很好的,并且能同时开发2d游戏和3d游戏,也支持移动端。如果没有Unity出现的话,我想我首选的就是Godot引擎吧。从Godot 4开始,官方增加对C#编程语言的一级支持,这是好事情。我个人觉得在游戏这种重性能的场景下C#是一门非常合适的语言,既有结构体类型,又有unsafe操作。用C++开发太难以上手,而C#把开发难度和性能平衡的非常好,小白可以轻松上手,大佬也可以利用各种特性优化性能。(个人建议Godot赶紧丢掉GDScript换到C#,动态解释执行的语言就不适合开发大规模的游戏项目,像Unity刚开始就是同时支持Boo(Unity魔改的JS语法)语言和C#语言,最后C#一直沿用至今,而Boo则被弃用了。建议Godot别再踩一次这个坑了,直接一步到位C#

对于这个不合理的收费条款,我的看法是:实施起来很困难,安装量如何统计,怎么防止别人刷下载量这些都是待解决的问题。需要等待官方进一步的消息。

记得第一次看到Unity的LOGO是小时候玩游戏的时候,4399上专门有一个分区叫“U3D”分区,只要下载一个叫“Unity Web Player”的插件就可以免安装畅玩各种3D游戏。那时期其它游戏都还是Flash小游戏,Unity的出现像是一种降维打击的感觉,这是我第一次认识Unity。

后来安卓手机普及了,很多游戏的开屏都会闪一下Unity的LOGO,我才渐渐认识这款引擎的存在。

后来长大了,离开了Minecraft,感觉Minecraft的自由度仍然不够,无法承载我的想法和创意,便转而学习Unity,想追寻更多的可能性。因为有MC开发的经验,上手Unity时一些游戏通用的数学知识帮了我很大的忙。

其实我还是很高兴能遇到这么一款开发引擎的,除了这个引擎,生活中已经没有别的东西可以让我这么有奔头了。我愿意花相当多的精力和兴趣去研究这个引擎。我很庆幸我的这个兴趣爱好和我的工作如此靠近。

生活中我极少将自己的事情说给朋友听(都是我听别人叨叨),几乎没有人原因听我说话。生活中不管遇到什么过不去的砍,我只要想一想自己在生活中还有想要的游戏要做,心里就会平静下来。睡一觉又可以充满干劲。这就是我源源不断的能量来源了。我很怕某天自己的盼头没了,奔头无了,要做的游戏也不知道哪里去了。