为何自研游戏引擎是游戏大厂必备的利器?

发表时间: 2024-06-25 14:06

我曾经向一个对游戏行业颇有研究的朋友请教过一些问题。


这位朋友回答了我很多,但最令我印象深刻的一句话是:


“中国网游的商业模式是世界上最先进的。”


这句话,很有味道。


因为从不同的角度去看这句话,你得到的感觉是完全不一样的。


如果你站在一个资深单机游戏玩家的角度,那么这句话在你眼里很可能就是十足的嘲讽——是啊,商业模式确实是先进,那么多人氪金,商业模式咋能不先进呢?呵呵,钱倒是赚了不少,结果一款3A大作都拿不出来,先进个锤子。



而如果你站在商业和投资的角度,这句话在你眼里就是百分百的赞许——论回报率,中国网游的营收能力确实冠绝全球,很多能做3A游戏的西方游戏大厂做梦都想开发几个这样的项目。


最有意思的地方则在于:这两个看似对立的观点,其实是统一的。


背后的核心原因在于:相当一部分中国网游和手游,本质上是互联网产品,根本没有工业属性。而不论是3A大作还是小型独立游戏,本质上都是工业品,几乎没有互联网属性——参与《荒野大镖客2》研发的正式员工1200余人,结果线上模式团队满打满算才68个人,纯纯边缘小团队。



所以,当财经媒体谈论游戏的时候,基本上大家的观察指标全都是互联网企业那一套的DAU、MAU,ARPU这些基于流量的数据,大家讨论的是赚钱能力——对某些游戏的评价自然是一片欢呼。


而如果是垂直细分的游戏媒体,那么大家的评判标准就变成了玩法多样性、物理效果、建模细节、光线反射等等这些更偏重制作能力的东西——对某些游戏的评价就大盘跳水了。


盈利能力VS制作水平。


而后者,就是纯纯的工业品逻辑。


因为不管什么工业品,从衬衣到飞机,都是要实打实看技术、工艺和制造水平的。


很多公司都说自己要搞“工业化”,但搞了半天也没搞成——不是因为他们不想搞,也不是因为他们没能力,而是因为“驴唇不对马嘴”——能力、资源、战术战法乃至kpi全都是互联网的,但却总想着玩儿“工业化”的那一套。


不是说不能搞,只是这样一定会让你特别痛苦就是了,有一种相扑选手苦练压水花的美。


但比较尴尬的是,现阶段,相扑选手可能也必须要练习一下压水花了。


在现实世界,玩家的口味是会随着自身成长和时代发展而变化的,不同的厂商之间是会激烈竞争的。当手游、网游也渐渐开始需要靠一定水平的制作水准来争夺流量的时候,互联网产品和工业品之间那个本来清晰的分界线也就开始模糊了——互联网流量思维极重的网游、手游产品,现在也必须要有一定的工业化水准了,或者说,也必须要有一些科技含量了。


换句话说:从今往后,如果想做一个品质上乘、营收优秀的网游/手游,互联网属性和工业品属性两者缺一不可。


互联网属性,这个指标我们可以说已经做到登峰造极了。但游戏的工业品属性上,我们的确还是有很长的路要走。


毕竟,当下的游戏行业已经不是“贪吃蛇”和“俄罗斯方块”就能满足的阶段了,制作精良的游戏离不开强大引擎的辅助——甚至中国游戏行业想要翻身,想要洗刷多年来的种种偏见,很可能都离不开游戏引擎的辅助。


那么,如何去评估一个游戏的“工业制作水准”高低呢?

我认为,很关键的一个点就是对游戏引擎的使用程度。


谁压榨游戏引擎性能压榨得越狠,

谁对游戏引擎性能的要求越高,

谁的工业化水准就越高。


这有点像是手机和芯片的关系——手机的先进程度和芯片的晶体管数量是正相关的。



举一个最简单的例子:过去到今天,3A大作里那些近乎真实的画面,普遍对游戏引擎的要求极高,而手游在这方面的要求就没有那么变态——从底层来说,这是因为当下手机芯片算力干不过4090显卡。反映在商业上就是:过去以及当下,手游的工业品属性要远远低于主机/单机游戏。


而未来,如果手机也可以提供不弱于主机的算力,那么手游产品的工业水准,一定也会大幅度提高。这个趋势,其实已经在路上了——因为显而易见的是:不管是米哈游的《原神》还是腾讯的《天涯明月刀》,从人物建模、场景设计、动作捕捉等等角度看,制作水平都已经到了一个比较复杂的、乃至超越很多非3A单机游戏的高度。


《天涯明月刀-M》游戏画面


明摆着的现实就是:网游/手游产品里和游戏表现本身相关的技术含量上来了,手游/网游将会成为一种集合了工业属性和互联网属性于一体的产品。


这种转型升级的核心,归根结底,离不开游戏引擎。


今天,我们就来聊聊一直隐藏在游戏产品背后的“游戏引擎”。


越来越重要的游戏引擎


在游戏行业的初始阶段,其实是没有什么游戏引擎的。“贪吃蛇”和“俄罗斯方块”这种游戏的制作往往一个人就能搞定,哪怕到了红白机的时代,游戏引擎的地位也没有多突出。


这个时期的游戏行业,有点像是古代的手工业:

靠的是人的劳动和简易工具而不是利用机器去提高效率。


但后来,时代变了。因为游戏行业的“瓦特”诞生了。


这个“瓦特”就是大名鼎鼎的约翰·卡马克——1992年,他开发出了世界上第一款3D游戏《重返德军总部3D》。



严格来说,此时所谓的“3D”其实是通过“障眼法”搞出来的“伪3D”,但这并不要紧,因为这款游戏呈现出来的视觉效果已经足够让玩了很多年2D游戏的玩家和友商们大呼牛逼了。



此后的1993年和1996年,卡马克又先后推出了《Doom》(毁灭战士)和《Quake》(雷神之锤)两款游戏——和之前的作品不同,这回卡马克拿出手的可就是真正的3D游戏了。


关于这个,我甚至有亲身的体验:因为1998年我上二年级的时候,我真的在我爸单位的电脑上玩过Quake——虽然画质和手感没办法和现在的FPS比,但回想起来,不论是端着枪突突的玩法,还是“键盘控制前进后退”和“鼠标控制俯仰瞄准”的操作,其实都已经和今天没有本质差异了。


自然,没有悬念地,卡马克的这两款游戏在当年成为了业内超级大爆款。而值得注意的是,卡马克开发这些游戏所使用的东西,就是他自己研发的一整套专门的开发工具。


后来,这些帮了大忙的工具有了一个专门的称呼——游戏引擎。


卡马克的成功给所有游戏厂商都传达出了两个明确的信号:


第一,2D游戏的表现力一定会被3D游戏吊打。

第二,3D游戏工作量巨大,需要专业的开发工具。


几年后,2004年3月25日的游戏开发者大会上,一向不善言辞的卡马克更是罕见地公开发表演讲,其核心的观点就是:游戏的复杂度越来越大,难度和成本直线上升,之前两个程序员两个月就能做出一款游戏,源代码少到一个程序员就能搞定全部细节,随时修改bug。但现在,别说一个两个程序员了,小一点团队都搞不定。游戏开发成为了庞大的复杂工程。


不过,甭管再复杂精密的机器,最后都是要靠零件拼装在一起的。而一个个零件,都是要靠各种机床加工出来的。说到底,哪怕是光刻机,拆到最后不可细分的阶段,也不过是金属器件、塑料、玻璃、各种电子元器件等等零部件。


游戏引擎之于游戏,就像是机床对于机械——游戏引擎本身是一种开发工具,它的功能就是去提供各种“函数库”和“模块组件”这样的“基础零部件”来帮助人们开发游戏,帮助游戏制作者把想象中的那个世界呈现到现实中来。


说白了,游戏引擎的出现,让之前处于“手工业”阶段的游戏开发工作迈入了“工业化”阶段,让游戏开发的诸多技术实现了标准化、模块化、通用化,开发者只需要在这个平台上根据自己的需要,导入不同的资源,进行相应的调整即可。


游戏开发流程


发展到今天,一个游戏引擎基本都会包括渲染、物理、骨骼动画、音效、视觉效果、人工智能、网络引擎、场景管理等核心功能模块。其中,负责呈现出足够真实的画面和游玩体验的渲染引擎和物理引擎则是核心竞争力的所在。


游戏引擎功能模块列表


要如何理解渲染引擎的作用呢?

看看R星用自家Rage引擎制作的《荒野大镖客2》吧。



为了实现这样的画面,首先需要将各种人物、马匹、建筑、武器、植物、云朵、地形的模型导入引擎,然后渲染引擎再根据特定的光照设计和动画设计,实时计算出效果并展示在屏幕上:


房屋上的模板和地面上的泥浆分别应该有什么样的反射率?

主角衣服上的血污在太阳光下看上去应该是什么感觉?

主角手中的步枪怎么样才能看上去更厚重真实?

远方天空中的云雾是应该更浓厚还是更通透?

......


渲染引擎的终极目标就是为了给玩家呈现出足够一个足够真实的画面,但这背后,是无数的细节以及为了实现这些细节而做出的技术创新——某种意义上讲,这个领域,其实是一个艺术和科学的交叉学科,因为你所要做的事情,是去用计算机图形学的技术,根据美学上的需要,来绘制一个会实时变化的场景。


举个例子:2019年,R星公司就在全球计算机图形学的顶级会议Siggraph上介绍了他们是如何利用Rage引擎实现极度逼真的云雾和天气效果的——具体的数学原理我就不介绍了,我们只看最后带来的不同效果即可。


R星之云


而最新的Unreal5(虚幻5)引擎,在渲染模块上已经实现了真假莫辨的程度——用虚幻5引擎打造的第一人称视角射击游戏《Unrecord》的游戏视频当初刚刚发布时,无数资深的游戏玩家都在争辩这玩意儿到底是实拍还是游戏。


Unrecord的画面


而虚幻5能实现如此效果的底气,就是它的Lumen系统——和之前多数游戏制作光线只有一次反射的处理方式不同,Lumen可以实时计算光线的多次反射,最大限度地还原了现实世界里光线的传播过程,尤其是在动态的游戏场景里,Lumen的实时计算让整个画面变得更真实。


渲染引擎提供足够以假乱真的画面后,接下来就是物理引擎来真实呈现各种物理效果。



还是以《荒野大镖客2》为例,当玩家在游戏中经过一片泥泞道路时,根据玩家当时的状态,无论是步行、骑马、还是驾驶马车,泥巴路上会呈现出脚印、马蹄印、车轮印等不同的痕迹。玩家骑马在积雪中艰难前进的时候,游戏里的积雪也会根据玩家的动作产生不同的效果。在战斗场景内,炸弹爆炸和马匹冲击则会让敌方目标受到大力冲击而被撞飞,还会折断树枝、栅栏、木桶等物体。



......


这些物理效果,无疑让游戏变得更加贴近真实的物理世界,也就让玩家们能够在游玩过程中获得更有带入感的体验。而想实现这些物理效果,你就需要打磨你的引擎,做各种各样的测试,最后敲定一个能够表达想要效果的函数。


这不是技术是什么?

这不是工业是什么?


实际上,发展到了今天,开发一款足够高端的游戏引擎的难度丝毫不亚于开发一款工业仿真软件——甚至虚幻5、Unity等等游戏引擎早就已经被工业界使用,成为了工程仿真的重要工具。


因此,在我看来,一款游戏,不论是网游/手游,还是单机/主机,对玩法的评价可以因人而异,而剧情的设计则是编剧的自由,这都是“智者见智,仁者见仁”的自由解读。但画面和游玩体验中的真实感却是客观的——这是检验一款游戏制作水平的核心指标,是没办法用任何方式糊弄过去的硬实力体现。


而想在这个指标上做出成绩,强悍的游戏引擎就是必要条件。


我们需要自研游戏引擎吗?


从今天的游戏市场来看,随着技术发展、代码开源和各种免费的资源公开,市面上的游戏引擎可以说是成百上千,甚至还有很多人自己在家都可以搓出来一套游戏引擎。


但主流的、在公开市场上可以交易的引擎,无非那么几种。其中占了大多数市场份额的,只有两个:一个是Unreal(虚幻),一个是Unity。放在中国的游戏市场上我们可以看到:基于Unreal开发的游戏,包括但不限于:《黑神话:悟空》、《和平精英》、《暗区突围》。基于Unity开发的游戏,包括但不限于:《原神》、《王者荣耀》、《星穹铁道》。



中国国产的游戏引擎,说实话,市场份额还是小了。


是我们搞不出来好的游戏引擎吗?

开玩笑,怎么可能?


且不说腾讯拿着虚幻引擎40%的股份,腾讯的quicksilver引擎都已经投入实用很多年了。除此之外,腾讯在游戏行业里的竞争对手网易也开发了自己的Messiah引擎——Quicksilver和Messiah,这俩引擎一个孕育出了《天涯明月刀》,一个培养出了《暗黑破坏神:不朽》。


虽然说还不能和“大表哥2”这样的“工业奇迹”相比,但毫无疑问已经有了相当高的制作水准。


事实上,根本来说,不论是腾讯的Quicksilver还是网易Messiah,它们和R星的Rage一样,都属于是自研引擎,基本都是内部消化,本身就不是参与市场竞争的。


说到底,选择自研引擎还是选择外购商用引擎是一个相当需要辩证看待的事情。


毕竟,游戏引擎并不是大飞机和芯片,本身没有很强的安全要求。

关于游戏引擎的考虑,更多是成本和收益的博弈。


自研和外购,并没有什么高低之分,而是不同的策略选择。


外购引擎这件事,其实特别好理解——因为不论是Unity还是Unreal,现在都已经发展到了相当高的水准,不论是渲染还是物理,都绝对足够满足玩家的需要。而对于许许多多的游戏公司和团队来说,最终的目标不过是开发出一款优秀的游戏。这个目的,很多时候靠外购商用引擎就足够实现了。


除此之外,Unity和Unreal这样成熟的商用引擎已经成为了一种像PS、3Dsmax一样的工具,掌握这些工具的人很多,游戏公司在市场上很容易就能招到人,项目也就很快能跑起来。甚至有的企业,比如腾讯,虽然手中有自研Quicksilver引擎,但是具体到某些项目,如《王者荣耀》,开发时候依旧选择外购Unity引擎——因为成熟、普及的商用引擎极大降低了企业/项目组的学习成本,在后续开发和维护上的难度要小得多。



于是我们可以看到,不论是国产的《黑神话:悟空》和《原神》,还是外国的《原子之心》、《潜行者2》或者《上古卷轴6》,都走的是采购虚幻5的路子。


这就像是国内车企造车——明明电池市场上有宁德时代和比亚迪,智能方案市场上有华为了,新入局者还真的有必要从电池开始独立研发吗?


答案显然是否定的。


你当然可以选择自己从0开始搞,但是相关风险也请自己承担。


实际上,自研游戏引擎的企业,往往会呈现出两个极端:要么是特别大的巨头企业,要么就是特别小的小型工作室。


对于一些开发小型游戏的团队来说,你让他买Unreal或者Unity这种引擎基本就是让他自杀——首先,小型游戏可能根本不需要那么复杂的考虑,什么建模、什么光照反射......我本来做的游戏就没有那么复杂,何必采购那么强大功能的商用引擎呢?尤其是很多创新性玩法的游戏大多都诞生于小型游戏公司,创新性的功能很难靠现有引擎实现,所以必须自己独立搓出来一套。


其次,购买并学习商用引擎本身也是一个很花时间和金钱的事情,有那个时间,我还不如自己手搓一个引擎出来呢。


而对于巨头企业来说,购买、学习引擎的时间和金钱成本基本不用考虑,人家可以大量招聘精通主流引擎的技术人员,不存在什么学习问题。


促使巨头企业自研引擎的根本原因,其实是业务的需要——要么是志向比较远大,觉得外购的引擎带不动自己的野心;要么就是想将引擎本身作为一个平台,在开发过程中,吸引越来越多的人使用,收一笔过路费。


腾讯的Quicksilver,网易的Messiah,育碧的Anvil,R星的Rage......

这些都是大厂们不甘寂寞搞出来的产物。


其中的典型代表就是R星。


R星在早期阶段其实也是外购引擎,甚至直到一代经典的《Vice city(罪恶都市)》,用的引擎都是EA开发的Renderware。



迫使R星自己研发引擎的因素,是因为外购引擎的性能跟不上R星的追求了——在开发《GTA4》和《荒野大镖客1》的时候,R星选择外购了一个非常小众但性能不俗的引擎Euphoria,虽然取得了很大的成功,但是R星也渐渐发现了Euphoria的弊端——物理效果有时候很生硬,游戏人物的肢体经常会出现诡异的扭曲,让玩家瞬间出戏。


于是,为了精益求精,R星搞出了自己的引擎——Rockstar Advanced Game Engine(RAGE,R星先进游戏引擎)——此时,已经是2012年了。


后面的事情,我们就都知道了:一个《GTA5》,一个《荒野大镖客2》,R星直接封神。


归根结底就是:自研引擎和商用引擎本身并没有什么高低之分——游戏的核心竞争力,终究还是在玩法和体验上,不管用什么样的引擎,能帮助开发者贯彻开发计划的才是好引擎。游戏引擎本身的核心竞争力,则是提高开发者的生产力,让大家能尽可能快、尽可能好地完成项目要求。


但在我个人看来,虽然自购和商用引擎没有高低之分,但对于有野心、有梦想的大厂而言,自研引擎是迟早的事情——因为这东西就像手机的操作系统,开放式的安卓很好,封闭的iOS用起来也不错,但各个手机厂商最后还是会或多或少自研一个出来——小米会拿出自己的“澎湃”,华为会拿出自己的“鸿蒙”。


原因就在于:当你发展到了一个足够的高度后,你会发现有的事情确实还是自己的好——别人开发的工具或许真的很好,但不一定能满足你的需求,不一定可以轻松按照你的思路去做定制和优化——这种时候,自己做一个自己的系统/引擎出来就成了必然选择了。


某种角度上说,游戏大厂自研引擎这件事儿本身就是一个很能体现出野心的信号。


不搞自研引擎,就别说自己是游戏大厂


既然今天我们聊的是游戏行业。


那么在当下,有一个游戏是绕不开的——游戏科学的《黑神话:悟空》。


从目前的各种资料和信息来看,虽然距离发售还有整整两个月,《黑神话:悟空》基本已经可以开香槟庆祝了——因为不论从画面、演出还是物理效果来看,这款国产3A游戏基本都已经达到了相当高的水准,已经到了和国际上拿奖拿到手软的3A大作来说也都能掰掰手腕的级别。


显然,虚幻5引擎在其中的作用是举足轻重的。


但未来呢?


在我看来,随着《黑神话:悟空》的成功,游戏科学公司以及整个中国的单机游戏产业都会迎来一波大发展——在这样的大背景之下,游戏科学公司的扩张和进一步研发都是大概率的事件。虽然今天游戏科学仍然是一个只有85人参保的小公司,但随着营收和知名度的提高,在未来的某日,它也会成为一个游戏巨头。


在这个过程中,你说游戏科学会不会萌生出自研引擎的想法呢?


我觉得,这恐怕是个大概率事件,短则三年,长则十年。


这么多年来,笼罩在中国游戏行业头上最大的负面标签无非三个:粗糙、低俗、骗钱。但我们都知道,随着技术进步和市场发育,中国游戏行业一定会转型升级的,这是不随人的意志而转移的大趋势。


这个转型升级的过程,或许就是中国游戏行业工业化的过程。


我们的游戏,不论单机还是联网,其技术含量是一定越来越大的——具体来说,游戏制作过程里越来越强的仿真技术,不论是渲染还是物理,就是核心的竞争赛道。


因此,对于任何一个有远大理想的游戏大厂而言,自研游戏引擎,不是你的选择,而是你必然的使命。