找回密码
 立即注册
查看: 1237|回复: 20

为什么我们不能开发出虚幻4一样厉害的游戏引擎?

[复制链接]
发表于 2020-11-27 15:00 | 显示全部楼层 |阅读模式
为什么我们不能开发出虚幻4一样厉害的游戏引擎?
发表于 2020-11-27 15:01 | 显示全部楼层
10年前,PC网游还是国内市场主流,此时各厂大多是在用自研引擎的,有的是在开源引擎基础上魔改加编辑器,有的干脆自己从头写底层——当时的开源引擎,多数现在看来不能算做“引擎”,那只是一个封装好的渲染库罢了,没有编辑器也没有各种配套工具,都得自己再去构建上层的逻辑;底层实现也跟不上时代,性能一塌糊涂,不支持多线程,不自带延迟管线,不支持DX11,更不要说跨平台之类的事,必须要自己魔改,所以改开源引擎也并非什么容易的事。其他大型商业引擎授权费用超级高,用起来也没多方便,而当时国内玩家对于图形质量要求并不高,所以权衡下来还是自研靠谱。
但接下来国内市场发展直接从PC跳到了移动端,这下子一堆自研引擎都无法快速适应了,从而Cocos2D和U3D脱颖而出,免费且简单易学,跨平台支持非常完善。这一代人有个不知该怎么评价的性格,骨子里就鄙视国产,国内游戏业界人员流动超频繁,又讲究快钱快速出产品,厂子里招的新人、开新项目,都不愿学和用繁琐且经常出bug的自研引擎,毕竟离职了也没用了。而这就变成一个恶性循环:项目不用、引擎开发人员分配到的资源越来越少,越来越跟不上其他商用引擎,项目就更不屑于用....很快自研引擎的部门人员就离职的离职转行的转行,剩下的大部分都转去做主流商业引擎的技术支持了。
于是没有人投资没有人看好,待遇就跟不上,而人总是要过活的。无论目前主流舆论吹得再天花烂坠、各种粉红带节奏,但实际上一般人员远没达到可以无视经济活出自己的水准,光活着都很艰难了,何况这东西难度和所需知识储备还要稍微高一些,且每年都在更新一大堆paper,需要不断学习。而国外商业引擎,首先起步就比国内早,其次我猜其人员流动不会比国内快,有心一直做下去的人也比例更高一些,而非国内不少人纯是奔着赚钱多来的——而这些奔着赚钱来的人里真的不乏大牛,一看风向不对跑路做别的了,那就是个大损失。
然后是现在商业引擎要求的东西越来越繁杂了:预渲染(烘焙)、跨平台、物理模拟、流式加载(无缝)、物理光照(PBR)、技能编辑(动画、特效)、数据流水线(所见即所得);使用人员对于无脑傻瓜式的需求也越来越高,UE的可视化编程,U3D的各种组件库,傻瓜式数据流(直接拖进编辑器),甚至连上层角色的一般逻辑都需要给你写好模板...这真的是有点超出我那代人理解的引擎范围了,这些功能和工具做起来是真的要耗费超大的人力物力的,而现实是人员都在跑路。反观当年我们弄的自研引擎,也就只包括渲染管线、场景管理、资源管理、材质管理、一个功能简陋的编辑器,其他上层功能都要使用引擎的人自己实现,然后还要学习用一堆导出插件、运行批处理导入数据等等...的确反人类了点。
主流社会理念也有一定影响因素,国内学院派出身的人,多数不屑于搞游戏(哪怕是引擎)这种毒害青少年的玩意儿,而类似CE这种代码风格明显是学院派做出来的引擎,就没有了出现的土壤。剩下的很多是类似我这样的菜鸡(参与自研引擎时24岁),理论基础差的要死,只能现学现卖,经常是在各种途径获得的国外引擎里面扒东西,以及照着人家现成的paper做实现,开发速度慢不说,理解不到位也是经常的事,创新啥的偶尔也有,可惜一对照人家早就有更好的。硬件发展和编程理念发展也是日新月异,10年前死抠硬件性能的做法貌似早已不是主流,看现在知乎就知道了,追求执行效率和优化在一些人看来已经成了异端,要被烧死的。
更何况CE这种按现在人的眼光,真是难用的很,哪怕其优化再牛逼、效果再好,没人敢用也是没意义的。另外国内玩家对于画面的要求,实际上并不是那么高。品味高的人有,但是比例少得很。决策者都是根据市场来制定策略的,不少人觉得既然随便搞搞就能赚钱,搞那么好效果、研究那么深有意义吗?国内用CE的几款PC网络游戏,结果貌似都亏了,多年心血落得如此,非常惨。除非国内突然风向转了,玩家口味倾向于主机市场那种游戏体验和质量至上的思维了,自研可能才有点救。
而且越新的技术(其实不新了,从2012年开始谈PBR都多少年了),需要美术制作流程也跟上,而搞引擎的估计都有类似体验,跟美术讲最新的流程,简直如同对牛弹琴一般,美术又是项目里面占比例最多的人员,且一般来讲理性思维能力稍弱些,学习能力通常赶不上程序员。于是这就需要TA来中介,而TA这种,能符合要求的人实在太少了。
最后就是2015年的诸多商业引擎开源,给了国内自研引擎致命的一击,人家有用户大环境又有技术又有人才积淀,你这边啥都没有,而且人家的还放开给你改... 基本是断了国内非一线大厂自研引擎的最后一条活路。很可能除了最老牌的网易、腾讯等,很难再有公司能聚起一堆人做真正能用的自研引擎了。
发表于 2020-11-27 15:05 | 显示全部楼层
有一种想法,我们经常听到,也觉得很自然:
外国人能做的,我们自己也要有。
这个说法是民族自信心的体现,但是有些场景适合,有些场景不适合。
比如卫星定位、5G通信标准、大型商用客机这方面,由于国家安全、外国公司垄断价格等原因,迫使我们必须要做一份自己的。
但这种想法套用在游戏引擎上,就不见得适用了。
前提:现代的游戏引擎早已不那么单纯,它是一连串的配套软件和规范

现在“游戏引擎”可不少,单论某一方面比如渲染、代码编写方便程度,UE4很可能不是第一。但是意识到大型通用引擎和中小型引擎的区别很重要,这是讨论的前提。
当我们说UE4的时候,其实包含了很多很多东西:
    优质的渲染引擎,让人联想到3A游戏大作。功能完整、内容丰富的编辑器界面。配套的工具库、蓝图、UI等等关键系统。动画、物理、材质、蓝图、地形、角色控制、资源管理器等等,许多重要模块,每个模块还有配套的编辑器。不计其数的小插件、模板、小工具。
在整体上看,UE4不好简单概括为“游戏引擎”,因为像Egret、MonoGame这些也算游戏引擎,而它们和UE4相比,体量差距已经不止一个数量级了。差距两个数量级的东西,根本就不像是同一类东西——就像蚯蚓和猴子。
这套庞杂的体系是随着游戏开发技术的历史进程一步一步走过来的,包含了大量的界面逻辑设计、工作流程设计和改进、渲染优化、逻辑优化,以及配套的大量工具和插件。
它绝不仅仅是一个可以运行游戏的框架,而是一整套配套工具链,而且每一块核心系统单拿出来,本身也是一个不小的体系。
这种规模的软件系统,在发展过程中必然会消耗海量的金钱、人力、时间成本。其综合开发成本之高,任何团队都不可能在有限时间内积累到这种规模。
不是“不能开发出来”,是缺乏动力和必要性

为什么非要做一个不同于UE4的引擎呢?可能有多种理由。
1、反垄断?
UE4基本不存在垄断问题。因为UE4虽然厉害,但不是垄断性的,也不是唯一厉害的引擎。
(这个图是某人利用爬虫分析出来的steam游戏使用引擎的分布情况,不是官方统计。我认为正确性存疑,但是大致可以提供一个参考。)
资料来源:https://www.reddit.com/r/gamedev/comments/8s20qp/i_researched_the_market_share_of_game_engines_on/
上图是steam上架游戏所采用的引擎的大致分布,Unreal全系列包括UE3、UE4、UDK加起来排第一位。由于Steam平台全是PC游戏,UE4占比最高可以理解,如果改为手游平台第一肯定是Unity了。
所以UE4不存在垄断问题。
2、封闭性?
UE4早已将引擎的核心模块开源,不存在太多技术保密的问题。
且腾讯是Epic的大股东,UE4部分算是中国的东西。按现有规则,任何人都可以免费学习使用它,而且只要交一部分分成就可以做商业用途。这样,其它公司就更没必要非做一套自己的引擎不可了。
3、有没有必要为某个大型项目定制引擎?
这个理由站得住脚~
游戏毕竟是五花八门什么样的都有,完全可以根据需求选择不同的引擎,甚至自研一套引擎。
自研引擎的好处就是可以完全为项目而定制。项目需要的部分可以做到最好,项目不需要的模块就完全不做。这样虽然前期成本高,但后期优化有很大优势,而且可以更好满足设计要求。
早年Unity、UE4火起来之前,中国很多公司都有自己的引擎,用在网游上虽然画面效果一般,但是从综合效率、最低配置要求来看很合适。
为项目定制一个合适的引擎不是太难的事情,但是要做到UE4这么庞大、通用,就不大可能。涉及到关键的非技术因素,下面详细说说。
本质:机缘巧合,马太效应

“罗马不是一天建成的”,同样,UE4这种级别的引擎也绝非一个引擎团队在有限时间内做出来的。它的出现要结合时代来看,充满了机缘巧合,并非某个人想做于是就做出来了。
UE4是从1998年开始,经历了UE、UE2、UE2.5、UE3、UDK直到UE4这么多大的分支和版本。当然名字还是保持着那个古老的游戏:《Unreal》,还记得《虚幻》1代以及《虚幻竞技场》1代的人恐怕不多了吧。
历史上比Unreal更优秀、更火爆的游戏和引擎可不少,iD公司的DOOM和QUAKE系列,大名鼎鼎的寒霜引擎,孤岛危机和CryEnging,网游界的BigWorld。把这些怪兽级的引擎放在一起,Unreal看起来并不出众,当年Unreal的地位并没有今天这么高。
到了今天,这些大型引擎大都还在使用中,但名气和地位已经完全无法和Unity、UE4相提并论了。
大型软件的发展和别的行业差不多,都会因为马太效应越来越集中、成本越来越高,因为各种机缘巧合死掉一部分、留下一部分,最后就是“剩者为王”。谁都说不准哪家最后会活到最后,而且活到最后的不一定就是一开始最好的那个,想去分析原因也都是事后诸葛亮而已。
几年前,很多人曾经一度以为Unity要吃掉UE的市场,结果现在二者有来有往。论数量,Unity在大量平台都扎下了根(特别是移动平台),但是UE4所擅长的一些领域Unity也不好进去。本来Unity在手游中已经是一家独大了,结果手游吃鸡的兴起又带动了UE4在手游大作中的流行,以后怎么发展根本说不清楚。可以肯定的是,无论Unity和UE4未来孰强孰弱,留给其它产品的空间会越来越小。
这种历史和商业发展的例子广泛存在于各种高科技产业中,更明显的例子要算CPU了。
为什么我们做不出Intel一样厉害的CPU?实际上大部分人不知道:以现在CPU的发展阶段,另一个公司要在已经成熟的市场上打败Intel几乎不可能。就算有人能做出比Intel更好的CPU(这也不大可能),几乎肯定也会栽在市场和专利上。(AMD和Intel共享了很多专利,软件也兼容,从大局看它们生产的是同一种可以互相替代的产品。)
换句话说,不仅别人打不过Intel,Intel自己也打不过自己——比如被Intel寄予厚望的新架构IA64也早就凉了。
同样的历史进程也发生在了手机芯片领域,而且由于资本助推,这种马太效应发生的更加迅猛,连Intel、Nvidia这种芯片大佬都被迅速踢出第一梯队。
总结

简单来说,在众多不涉及国家安全的科技领域,技术的发展主要是受市场支配的。新技术、新产品的产生和发展,都是一直处在市场竞争的环境之中,而市场具有自身运行的规则。
单独从技术角度去看一些综合的问题就显得片面了,得不出有价值的结论。而从市场经济层面去观察,可以发现更多规律、得到更多启发。

本帖子中包含更多资源

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

×
发表于 2020-11-27 15:11 | 显示全部楼层
引擎只是一种幻觉,非游戏行业的人,并不能理解引擎的意义并不仅仅在于画面多碉堡,而在于工作流路径依赖
实际上,UE4的各种技术和渲染算法,被各种所谓的独立引擎、项目引擎抄来抄去,但这些引擎有可能动摇UE4的江湖地位么?并不能。
因为渲染算法抄起来简单,但工具链你却抄不来。
现代化的游戏引擎,除了多媒体合渲染相关的工作,更多的是提供了一整套的解决方案,让你的各个工种的研发人员可以高效的协作开发,让全世界的外包团队可以快速介入你的项目,让你挖人招聘的时候可以有效的选择和筛选人才……
我给你打个比方,你以为游戏引擎是显卡,但实际上现代化的引擎是:显卡+内存+CPU+键盘+显示器+VS+PS+Windows+ArtStation……
说到这里,基本上可以回答题主的问题了,引擎的研发成本要远远大于大家认为的样子,并且因为引擎基本上是赢家通吃的领域,90分的引擎有饭吃,80分的引擎也有饭吃,但是70分以下的引擎就连汤都没得喝,你从0开始搞引擎,就算是天才,一出来就做了50分,然后就死了。
而且,想要得到这个50分的引擎,你需要付出5年时间,每年10亿人民币以上的成本,才有可能,但等你做出来了,UE都6了!
理论上自研引擎能不能达到并超过虚幻引擎呢?当然可能!只是没有资本投这么多钱给你去赌罢了。所以啊,题主这个问题并不是个技术问题,只是个商业问题。
发表于 2020-11-27 15:15 | 显示全部楼层
提供一个不一样的视角。
游戏引擎其实是一个生产工具平台软件,或者说是一个中间件的集合。
国内有像样的中大规模的中间件软件开发商吗?我反正想不出来。
国内的IT行业,是按照服务业的方式发展的。制造业这块在软件这个领域,感觉本身就是个洞。
所以。
发表于 2020-11-27 15:21 | 显示全部楼层
因为腾讯是虚幻的大股东,所以虚幻是国产引擎,美国人只是给我们打工。
所以问题不成立。
/狗头
发表于 2020-11-27 15:22 | 显示全部楼层
小白兔在森林的小路上快快乐乐的走着,从对面的路上来了一个大灰狼,大灰狼把小白兔打了一顿,说,你为什么不戴帽子?
第二天,小白兔又蹦蹦跳跳的去森林里面准备玩耍,又碰到了大灰狼。大灰狼又把小白兔打了一顿,说,你为什么要戴帽子?
小白兔到底要不要戴帽子,不如几位大王先交流交流?
为何要自主开发游戏引擎?
为何要自主开发游戏引擎?既然已经有开源的游戏引擎,为什么还要自研引擎呢?
既然已经有开源的游戏引擎,为什么还要自研引擎呢?当今游戏产业格局下,自己开发3D引擎还是否有必要?有的话有那些意义?
当今游戏产业格局下,自己开发3D引擎还是否有必要?有的话有那些意义?Unity 和 Cocos2d-x 越渐流行,国内公司开发自研游戏引擎的意义何在?
Unity 和 Cocos2d-x 越渐流行,国内公司开发自研游戏引擎的意义何在?为什么中国有钱,买得起设备,却不能开发出一个像样的像寒霜引擎之类的游戏引擎出来呢?
为什么中国有钱,买得起设备,却不能开发出一个像样的像寒霜引擎之类的游戏引擎出来呢?
发表于 2020-11-27 15:30 | 显示全部楼层
游戏行业的人员流动太频繁了,平均每个人在一个公司只会干两三年。
如果所有的公司都用Unity和Unreal,站在公司的角度来说,招人就很容易,新入职的员工可以立刻有产出;站在员工的角度来说,跳槽也很容易,只需要学一两套东西就可以在整个行业畅通无阻。所以无论是公司还是个人,使用成熟的商业引擎都是最优解。
反过来讲,如果公司坚持用自研的引擎,且不谈在渲染和管线上能不能赶上主流快速迭代的商业引擎,你招一个人进来,先得培训差不多半年,好不容易熟悉了人家可能要跳走了,不想跳走的人佛系养老的概率也更大,更何况很多人才一听说你用自研引擎就不愿意来了。
游戏引擎这个东西又不会影响国家安全,游戏行业又是完完全全的市场经济,当然是按照市场最优解来。而目前来看,做引擎的专门做引擎,做中间件的专门做中间件,做游戏的专门做游戏,做外包的专门做外包,才是效率最大化的体现。
发表于 2020-11-27 15:35 | 显示全部楼层
你说的“我们”是谁?你是资产阶级吗?
如果你是,你愿意做这项投资吗?
发表于 2020-11-27 15:40 | 显示全部楼层
有现成的不用,自己开发?
十年前倒是可以,因为那时候引擎门槛低。
现在就算了吧,你一个码农能写出别人几百个专业大佬(包括图形学美工等)的东西?有那个功夫,都能做好几个3A大作了。
CE3引擎负责人自己都说:假如早知道做引擎这么难成本这么高,我当初打死也不做。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-25 18:09 , Processed in 0.127257 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表