|
|
游戏引擎的前世今生
|
|
作者:Kevin Normann 来源:CSDN 发布于 2016-4-20 |
|
|
最近的游戏产业,特别是视频游戏引擎的发展耐人寻味。虽然一股脑都说出来才痛快,但又想起我的空手道教练教过的:追求内心平静的“禅宗”境界,于是乎决定自我克制。作为在这一行摸爬滚打了20来年的“老兵”,看到新事物,仍然觉得无比欢欣鼓舞。但为了读者能更好理解这些新事物存在的意义,先看一下游戏引擎的发展史吧。这些回顾和思考也许能让你们明白,为什么我如此深爱着游戏产业,并对它的未来抱有十足的信心。
游戏引擎简史
在视频游戏产业有很多机会开发有趣的新游戏。初期阶段,开发者的全部心力都在游戏上,但随着硬件的提升,游戏变得越发复杂,他们转而专注于游戏背后的技术。于是90年代再到世纪之交的头十年,有着成功产品和技术成就的公司和个人开始将自己的游戏引擎开放给别人。如此走向不足为奇,也正因如此,开发者可以专注于游戏本身这一最重要的部分。
2004年,Xbox 360和PS3游戏机问世,游戏产业强势进入多核处理器时代,实现了视频游戏硬件的一次大跨越,而游戏工程师则学会了一个新词——“并发”。一夜之间,市场上现存的游戏引擎通通过时,即便曾经备受追捧的游戏或技术引擎也难以在新硬件上运行,更别提配合了。我们曾开玩笑说:将来软件使用效率只能用每秒几十亿“无操作”状态来衡量了,因为根本无法让所有处理器24小时运行。实际上,Xbox360和PS3发布了5、6年之后,引擎才跟上了硬件。话又说回来,不论游戏产业怎么努力,跟硬件的发展与时俱进并非易事。
软件已经落后
随着处理器的提增加,如今的硬件性能也在进步。除主CPU之外,图形卡(GPU)及其他处理器,专用物理芯片、视频压缩等协同处理器也功不可没。当下手机都有4个处理器了,很可能会按照笔记本和台式的路子发展。处理能力随处理器数量增长而提高固然是好事,但曾经作为技术发展驱动力的软件引擎却被落在了后面。
软件技术落后的原因有很多,仔细想想不难明白。
首先,游戏引擎自2009年之后就再也跟不上硬件的性能和功能了,原因是随着移动设备和网页/Facebook等流行起来,新技术的关注点变成了游戏的休闲/社交功能,而非视觉效果。当一大波休闲游戏玩家涌入市场,整个产业应接不暇,哪有功夫给引擎开发者施加压力,敦促他们开发更好的游戏引擎呢?
另外,免费游戏、免费增值、应用内购买等新盈利模式吸引了众多开发者,而擅长高端游戏引擎开发的工作室却难以适应这些新模式或满足新的市场需求,于是纷纷倒闭或利润缩水,高端游戏引擎的创新也受到抑制。
少数硬核游戏开发者(现有热门游戏续集开发者)只愿意在自保的前提下做适当的优化。他们躲开了激烈的竞争,也就不会着急想新点子了;换言之,如果给现有硬件加速就够了,何苦还要配合新硬件的性能呢?简单说,游戏开发者把适应新硬件的重任抛给了正忙于应付休闲游戏开发者需求的游戏引擎中件公司。
新平台层出不穷,玩家多样性愈发凸显,新的盈利模式、营销策略以及创新的游戏风格都带来了不同的市场需求,于是软件部门各种忙,单单忽略了硬件性能和功能;与此同时,硬件制造商一如既往地推动着硬件发展,软硬件之间的差距越拉越大。看当前的局势,硬件制造商辛辛苦苦做出一番成就,旁人却浑然不觉,他们恐怕才是被伤透了心呢。
未来的路该往哪里走?
刚刚说了这么多,其实重点是:数年备受追捧的游戏其实并不要求在软件技术上有多大提升。那么现在游戏产业的前景如何?难道玩家只满足于当下的游戏体验,不再渴求技术上突破了?难道已经开发出了他们梦寐以求的游戏了?游戏只要换汤不换药他们就会买账吗?过去三年游戏产业的变化以及“我的世界(Minecraft)”等游戏的成功让很多人真的产生了以上的幻觉。但我这个游戏产业的“老兵”有句忠告:虽然近几年来出现了很多有趣的新动向,但产业未来仍受同一驱动力的引导。玩家必然会渴求新体验,而这会鞭策开发者们不断用新技术去满足他们的需求。
当下VR(虚拟现实)和AR(增强现实)成为热门话题,这两者都要求更高层次的处理能力和更新的工程技术;游戏的规模和复杂性也在与日俱增,从2009年的“软核”游戏,到2012年的“中核”游戏,新玩家对复杂游戏越来越有胃口,于是他们与传统的硬核游戏玩家之间的界限也被模糊了。
未来的玩家可能跟如今的年轻人一样倾向于高端的“硬核”游戏。视频游戏市场规模已扩展到历史之最,而玩家们开始寻找“全新”的游戏体验。很多人一开始是休闲游戏玩家,但现在已经做好迎接新技术,新体验的准备了。
需要认清一个残酷的现实……
从很多重要层面来说,视频游戏引擎技术始终严重落后。而真正的行业创新者渐渐意识到,他们如今面临着两难的选择——要么委屈自己,拿现有的中间件引擎凑合着用,要么重新耗费时间和财力来实现自己设定好的愿景。
像Unity,Unreal和Hero等现代引擎是无法达到标准的……
视频游戏引擎所服务的软件已经存在了几十年,早都落后了,相比视频卡就失去了优势。现存引擎的核心架构要实现现代化,需要大量高成本的再构建,这一工程只有那种“不走寻常路”的人才才能做得来,但即使在技术驱动产业,这样的人打着灯笼也难找。
云计算和云储存能力不断发展,加上强大的数据带宽,无限前景从此被开启。开发游戏要利用好这一优势,就需要更高层次的组织、工具链、艺术效果和技术研发来构建纷繁复杂的游戏世界和绝妙的游戏体验。如果工具和处理能力都不够好,复杂的游戏工程就会轰然倒塌,这在之前游戏产业经历大变革时已经发生过了。想知道后果多严重,参考“中途岛战役(Midway)”即可——开发者费心竭力用2008年的“现代”技术打造跨平台版本,结果事与愿违,反而葬送了开发公司。
我曾经给美国艺电公司(Electronic Arts)的新雇员上过一堂课,在白板上列了一个PS1的处理能力vs RAM(随机访问内存)大小的图表,上面的小点不比一个屏幕像素大多少;然后将一张相似的PS2图表放在旁边,差不多1方寸大小;然后是PS3,差不多能填满三张8.5x11英寸的页面。
我用这个例子解释了硬件能力和二维处理能力vs RAM大小息息相关,但如果是游戏,可能需要更复杂的六维的配套支持,否则游戏的规模和细节、角色的细节和智力可能都无法充分发挥出来。
如果问一个视频游戏开发者:“等到你真的变得无所不能的时候,你最想做什么?”而这也是他们越来越需要纠结的一个问题,再过几年,估计他们压根都答不上来。游戏引擎须能迎合复杂游戏的需求,而现代游戏开发工具尚未做到这一点。
现代引擎在努力提升着游戏开发团队的工作,且已略见成效,不过一旦遇到大型团队做大型项目,理所应当提供的云端技术和操作支持就跟不上了。跟开发者们聊一聊你会发现,他们所面临的挑战和压力,根本原因还是手头的工具限制了他们的生产力。即使团队有可用的开发工具和引擎,成员之间工作的协同作用也会大大缩水。游戏要想进步,就需要大量的中层管理和保护个人成果的意识。如果游戏产业的现状就是如此,那么现存的游戏引擎如何服务于未来的游戏/游戏产业呢?更严重的问题是,大部分Unity3D这样备受追捧的现代游戏引擎都无法做到这一点——小团队可以用Unity3D以低成本开发跨游戏平台,还能为网页提供服务,但对于最新的VR、AR和云端游戏,其核心架构就无法满足开发者需求了,日后它的游戏开发中的重要性将与日俱减。
现代视频游戏引擎难以适应新环境的原因
难道现存的引擎无法适应市场需求的变化吗?——可能开发者有过尝试,但最终十有八九会失败,因为有太多干扰因素了。回顾一下历史,会学到很多教训。我们都知道视频游戏的生命周期是怎样的,成功的案例总是因为解决开发者当时的“痛点”。如果痛点太急切的话,那么第一个迎头直上的引擎最有可能大获成功,比如帮很多开发者将游戏搬上网页的Unity。但这其中有两个问题:首先,越是热门引擎,申请许可的团队越多;当太多团队使用同一种引擎,引擎开发者就会花越多时间来提供支持,如此一来,引擎重构就变得既昂贵又费时费力。
一项新技术会巩固稳定下来,同时游戏和技术创新也会不断推动着引擎的提升。资金充裕的小团队往往引领着技术革新,同时不断拉大领先游戏引擎和游戏产业愿景之间的差距。
所以,虽然热门引擎开发者从未停止创新及提供更好服务,但客户太多反而阻碍了他们的步伐。在资金方面,虽然可以通过频繁小幅更新引擎来赚钱,但重构的大工程要耗费时间和财力,对于开发者及客户来说,提供支持意味着风险。
当某一项技术受到追捧又无竞争者威胁时,很容易会滋生自满。对于视频游戏引擎开发者而言,除非有充分的理由,否则他们是不会费劲去重构自己的产品的。
当下引擎技术究竟处于哪一阶段?
看看现代FPS(第一人称射击游戏)引擎之王Unreal,中端游戏引擎Unity还有MMO(大型多人在线游戏)中件Hero就知道,软件技术实际发挥的作用和潜力之间是有差距的。现存引擎的核心架构已落后数年,需大量的重建工作来充分利用现代软件和云计算潜力。重申一下:大多数游戏都会用的Unity需要的重建工作量也是最大的。就算这些公司有动力,有意愿来承担成本,时间上也要数年才能开发出一个全新的引擎。他们的强大优势是拥有插件式架构,让开发者可以定制和加强引擎的功能,但最好只能做到这里了。最终核心架构还是会越来越跟不上开发者创造新游戏体验的需求。
不管如何,我对游戏产业前景仍然乐观!从刚刚提及的那些“痛点”可以察觉到游戏产业在很多方面急需改变。提供新的云端解决方案、平台架构、线上服务和并行计算的公司都在低调地开发技术,未来一片光明。这些公司背后都是你我这样已经厌倦了低效的解决方案,有志于帮助各种级别背景的开发者以最低成本来将创新理念转化为现实的人支持着。 |
|
|
|
|