祖传的游戏引擎:新三年,旧三年,修修补补又三年
- 触乐
2018-07-24 18:03
最近一段时间,Bethesda Softworks又向外界透露了些许有关《上古卷轴6》的新消息。B社向媒体这样透口风,在E3之后已经不止一次了,以前大多谈游戏,这次则谈到了技术层面。在接受外媒采访时,资深制作人、《上古卷轴5》《辐射4》的制作人Todd Howard回应了B社旗下游戏采用“祖传引擎”的问题,暗示在新一款“上古卷轴”系列作品中,他们也并不打算变“祖宗之法”。
从2011年的《上古卷轴5》到预计今年年底发售的《辐射76》,7年时间,B社几款主力大作使用的引擎依旧是他们魔改自Gamebryo引擎的Creation引擎。再向前回溯,B社用于《辐射3》《上古卷轴4》等游戏开发的Gamebryo引擎,也被他们从2002年一直用到了2010年。在可见的未来,Creation引擎还有可能肩负起开发《上古卷轴6》与《星空》(Starfield)的重任。
▲当然,祖传Bug也……
除B社之外,游戏行业中的祖传引擎,以及极具特色的引擎还有很多。制作“使命召唤”系列的IW引擎一用也是十几年;寒霜引擎(Frostbite Engine)满屏幕光污染与可破坏场景,在EA多款不同类型游戏的开发中已经使用了一段时间;P社专利、祖传单核优化的克劳维茨引擎(Clausewits Engine);还有被卡普空格外偏爱,有了新引擎还被拿出来用的MT Framework……这些都是业内耳熟能详的一些引擎工具。
先不说开发者了,即使对于玩家而言,引擎也是在讨论游戏时出现频率极高的词,特别是为PC游戏发烧的人更是如此,但也许你并不完全了解一个游戏引擎到底意味着什么。换引擎画面就会提升?使用同一个引擎的游戏美术风格大多相似?只有3D游戏需要用到引擎吗?这可能是一个玩家面对游戏引擎时最基础的疑问,可事实也许不像我们想的那么简单。
许多游戏载入时都会显示引擎Logo,以上有你熟悉的吗?
不如先谈一些基础问题:游戏引擎是什么?
要深入了解游戏引擎,必须从概念说起。简单来归纳,游戏引擎就是将各类工具、代码集成,让游戏开发变得更轻松、更快速的一套工具。汽车引擎可以为车辆提供基础动力,让驾驶者仅需转动方向盘就能随心所欲地行驶。游戏引擎存在的意义也是如此,就是让游戏开发者不用接触太多深层次的代码,只需要进行相对简单的操作,就能开发出一个可玩的游戏。
▲集成化和图形化让游戏开发变得更简单
在游戏行业最著名的几个游戏引擎当中,Epic Games开发的虚幻引擎知名度绝对位列前茅。虚幻引擎上手门槛较低、功能完善,上一世代主机上有一大批基于虚幻3引擎开发的3A大作,玩家们对它是非常熟悉的。虚幻3引擎的升级版虚幻4引擎拥有免费的民用版本,成为许多独立游戏开发者的不二之选。
大型厂商做商业开发的时候选择的多是授权版的虚幻引擎,前段时间大火的《绝地求生》以及近期引起无数讨论的《新高达破坏者》,都使用了虚幻4引擎。一些体量较小的厂商,特别是国内的厂商,有时会将采用虚幻引擎开发作为游戏的宣传卖点,以至于很多人以为更好的引擎就意味着更好的画面。
▲一些玩家把“换引擎”和“更好的画质”划上了等号
更好的引擎当然有可能意味着更好的画面,但不是绝对的。引擎升级的主要意义是给开发者提供更多方便实用的开发功能,画面提升只是其中之一。对一些以玩法为核心的作品而言,花高价买来的授权若是不能提升实际销量,那么还不如用更加便宜的引擎,这说明选择一个适合自己游戏开发的引擎才是最重要的。也是因为需要“适合自己”,最早的游戏引擎,实际上并不是像现在这样作为商品流通,大多都是开发者根据需求自己写出来的。
上个世纪90年代中期,随着第一人称射击游戏的兴起,游戏引擎的概念才随之出现。在此之前,由于硬件架构的制约,大多数厂商的游戏开发环境几乎都是独立的,只用于自家游戏的开发,缺乏流通与交流,因此历史上第一个可以称为“游戏引擎”的工具是何时出现的,现在几乎已经不可考。
为游戏引擎早期发展做出较大贡献的是约翰·卡马克和他编写的毁灭战士引擎(Doom Engine,即id Tech 1)。《毁灭战士》不仅开创了第一人称射击游戏百花齐放的时代,它所使用的引擎还大大降低了当时游戏开发的准入门槛,为未来游戏行业的大发展提升了效率。
▲《毁灭战士》初代和2代,还有很多同时期的其他游戏使用了这个引擎
毁灭战士引擎的出现奠定了开发商id Software在游戏圈内的地位,更重要的是它开创了一个全新的概念,即引擎授权。在《毁灭战士》面世一年之后,id Software将引擎授权给了Raven Software,后者将引擎修改之后开发出了剑与魔法风格的《异教徒》(Heretic)。自此之后,一些游戏厂商不再局限于靠游戏本体挣钱,游戏引擎迎来了一个快速发展的阶段。
Raven Software在历史上与id Software关系密切,1997年被动视收购后,部分开发者离开成立了Human Head Studios,开发了《掠食》等游戏;Raven Software近年来一直在参与“使命召唤”系列的开发。
随着行业的发展,一些游戏产品逐渐变成了推广游戏引擎的工具,“孤岛危机”就是十分典型的“卖引擎”游戏系列。开发商Crytek走硬件杀手路线,强调游戏配置与画面水准,成功为自己的CryENGINE引擎打出了名气。
除了画面上的优势之外,游戏引擎能不能卖好的最重要属性是它好不好用。一个优秀的程序员对游戏开发而言是不可替代的瑰宝,但这样的人才大多可遇不可求,因此不能否认,引擎的上手难易度是衡量其优劣的一个重要指标。这同样是虚幻引擎的优势之一。
当然,对于开发者而言,虚幻引擎最大的特点不是画面、不是物理效果,而是Epic选择对它进行了开源。
开源即开放源代码,开源了的虚幻引擎区别于其他引擎最大的特点就是,它允许开发者在引擎的底层框架下加入各种各样自定义功能,即所谓的“模块化设计”。而这些在开源基础上诞生的自定义功能,为游戏引擎的发展也做出了巨大的贡献。
▲当然,Unity也开源了
现在我们解答一些基础的问题:换引擎画面就一定会提升吗?为什么不换引擎画面也可以提升?
基于模块化的设计,在不更换引擎的前提下,当然是可以让游戏画面提升的,比较常见的手段就是对旧引擎进行各种修补。常见的修补方式有增强游戏内光照、增加建模多边形数等等。
▲《战地1943》(上图)到《战地1》(下图)使用的都是寒霜引擎,但画面天差地别
至于说认为同一引擎画面都相似,更是狭隘的观点。必须承认,每个引擎都有自身在画面表现上的不足,譬如虚幻3引擎的血液效果不甚理想,MT Framework的最初版本被认为充满了油腻感。随着厂商对这些引擎的熟悉、改善,调教程度不断提高,这些问题也将在一个个版本更新中得到不同程度的解决,至于有的开发组魔改画面,调教出多变的画风,那也不是不可实现的。
▲比起《生化危机6》那个“油腻的世界”,同样使用MT Framework的《怪物猎人:世界》清爽了不少
引擎的潜力不局限于画面
对于游戏引擎而言,开源具有十分重要的意义,它意味着游戏开发者在取得引擎的授权之后,能够对引擎进行各种个性化操作。如果继续用开头的汽车引擎作类比,就相当于厂家在卖给你引擎之后,还附带一份详细的引擎图纸,你可以根据这份图纸对引擎进行各种大修,加上液氮冷却、火箭喷射,甚至是人工智能。
▲你甚至能鼓捣出一辆高智能方程式赛车
举例来说,除Roguelike游戏外,大部分游戏的地形都是需要开发者进行自行设计的,但在恐怖游戏《沉没之城》(The Sinking City)中,开发者们使用授权获得的虚幻4引擎,做出了一个自动地形生成工具,大大降低了他们的工作强度。
开发现代游戏,最为困难的不是建模、地形这种高重复性的劳动,而是游戏AI编写这样需要较高技术含量的工作。千人有千面,千款游戏也有千种AI,无论是需要掌握各种战术的RTS游戏,还是需要对玩家行为作出及时反馈的潜入游戏,甚至就连单纯的突突突游戏,要是AI写得不好,游戏的品质就会受到极大的打击。最好的例子,就是前段时间被曝料的奇葩事,《异形:殖民军》这款游戏很可能因为AI代码中多写一个字母,就导致游戏品质极大地缩水。
游戏AI这种东西不可能在所有引擎中通用,不同类型和玩法有不同的需求,给Galgame里的美少女高中生们设置战斗逻辑也没啥意义,那么在AI方面,游戏引擎该如何让开发者们更轻松地开发游戏呢?这方面的问题,在真正的强人工智能出现前暂时无解,当然,一些厂商自用的引擎,因为大多只用于开发单一类型的游戏,因此能自带一套较为简单的AI系统,譬如《GTA5》使用的Rage引擎据说就拥有AI功能。
▲随着科技发展,引擎所能承载的功能将会越来越多
以上所有游戏,无论是使用自用引擎的,还是使用他家授权引擎的,无一例外都是3D游戏。我们都知道,游戏从2D时代进入3D时代不仅仅意味着画质的提升,游戏设计理念也迎来了一次革命。那么与3D游戏同一时期诞生的游戏引擎,3D功能是它们的标配吗?
不只是3D大作才需要引擎
先说结论:在如今这个时代,无论制作你做什么游戏,都需要游戏引擎的帮助。根据游戏类型的不同,选用的引擎也不同。游戏引擎在本质上是游戏的开发工具,它能做到的可不仅仅是让画面变得更精致、让物理特性变得更加真实这么简单而已,一些根本不以画面取胜、完全没有物理特性的游戏,有时候也得依靠游戏引擎。在这个领域,其实可以用一种最简单的游戏类型作答——Galgame。
在大多数游戏都拼了命想实现3D化的现在,大部分Galgame依旧顽强地使用2D画面。但缺乏3D功能,并没有让Galgame引擎的发展落后于一般引擎,反而因为这类游戏较低的开发门槛,Galgame游戏引擎发展得相当不错。吉里吉里(T Visual Presenter)就是一个非常易于上手的Galgame引擎,同时其功能也非常出色,既能制作出《Fate/stay night》这种Galgame界的“3A大作”,同时也支持各种同人社团开发游戏。
前几年的知名国产游戏《高考恋爱100天》也是基于吉里吉里开发的。作为一个开源引擎,吉里吉里自然也支持各类插件,在这一点上它和虚幻引擎没有什么差别。
▲吉里吉里使用界面
在欧美独立开发者,则更加偏爱Ren'Py引擎,这个基于Python开发的游戏引擎较之吉里吉里最大的不同是,它能够为游戏提供3D加速功能。当然,Ren'Py引擎也是开源的,这就意味着使用Ren'Py引擎的开发者也能像使用其他大作的开发者一样,为自己增添定制功能。其中,最好的例子就是《DokiDoki》。这个基于Ren'Py引擎开发的日式Galgame,却能够实现诸多带来恐怖效果的Meta功能。
▲或是恐怖元素
换言之,我们甚至可以认为,正是因为那些体量较小的游戏在画面上没有优势,需要在一些精巧的设计上更加用心,因此这些小成本游戏的开发者们会在引擎的模块化设计上搞出更多花样。
战略游戏也一样,瑞典厂商Paradox Interactive在开始大规模使用克劳维茨引擎之前,他们的几乎所有作品都是2D画面的,譬如《钢铁雄心2》《欧陆风云3》。在开始放弃了使用多年的欧罗巴引擎后,它们才开始慢慢走上了3D游戏之路。但即便是走上了3D之路,之前2D时代的一些臭毛病却依旧没能改变,新做的3D引擎已经用了一些年,要改善功能估计还要有很长的路走。
老毛病与老引擎,玩家口中的“祖宗之法”似乎越来越多了。
那么,为何祖宗之法不可变呢?
明确了引擎是如何而来的,也知道了现代引擎的功能都有什么,那么是时候把话题拉回到最初:为什么厂商要把祖传引擎一代代的用下去呢?
以P社游戏举例,他们更换引擎,最根本的原因是欧罗巴引擎不具备3D化功能,已经完全不能适应时代发展的需求。毕竟P社并不甘心于只做一个小众游戏公司,这一点从他们这几年新作风格的改变中就能看出。
▲2D时代的《钢铁雄心2》
可以看出,更换引擎这件事若想要被提上日程,其先决条件是旧引擎已经彻彻底底无法满足时代需求,无论是在画面还是其他功能上。另一方面,模块化的引擎设计大大延长了旧引擎的寿命。每一次更新,引擎的名字虽然不变(自用引擎顶多换个版本号),但是功能已经足以应付新的需求,最好的例子就是“使命召唤”系列的IW引擎。
▲《使命召唤4》与《使命召唤4:重制版》画面对比,区别也非常之大
最大的制约因素还是技术成本。我们已经知道,引擎最开始出现就是为了开发者能更加便捷地开发游戏,在早期游戏的开发过程中,游戏引擎的开发(当时还没有这个专门的名称)就耗费了游戏开发一半以上时间。就算迫于时代的压力,厂商真的重做了一个引擎,在适应期也会出现各种各样的问题。就算这些问题的负面影响能够靠着大厂的技术实力被压缩到最小,还有很多以现今科技难以解决的问题,譬如多核心优化就是P社从2D时代一直到现在难以解决的。直到今天,P社的许多游戏都会因为后期数据量过大而产生卡顿,但无论你的CPU有多少个核心、有多强的性能,真正进行运算的永远只有一个CPU。
▲就这种
说到这里,问题就相当明朗了。一个游戏引擎,通过模块化设计就能解决许多问题,更换引擎技术成本又高,还存在一定风险,还不能一劳永逸解决大部分问题,其后果就是,大多数公司在开发出一个用着舒服引擎之后,都不会想着去更换它,毕竟大部分公司的主要收益还是游戏而不是引擎授权——况且这些引擎一直在改善,只是没有换个名字让你感受更好而已。
▲用新引擎重制老游戏,也许只是因为老引擎完全不能用了
或许可以从另一个角度来讨论这个问题:玩家之所以会对游戏引擎如此敏感,主要还是因为今天的许多游戏厂商对创新越来越不上心。今天,许多3A大作的设计理念就像游戏引擎一样,不过是在原有基础上进行少量的修补和完善。21世纪的很多游戏产品,我们都能在20世纪的游戏中找到影子。
玩家总是渴望玩到新东西,新的设计理念、新的游戏方式总能激起玩家的兴奋点。引擎,作为现代游戏开发的根本资源之一,它的更新换代必然能为游戏本身带来新鲜血液。因此,我们渴望新引擎,归根结底,不过是希望技术上的更新换代能带来游戏设计理念和玩法上的革新。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。