游戏引擎:过去,现在与未来 #1

作者:craft
2016-08-01
2 4 4

说明

本文译自此处,不代表 indienova 观点。本文作者 Kevin Normann 曾长期在 EA 工作,目前任职于他的双胞胎兄弟合办的游戏工作室 Midnight Studios。作者认为,技术是驱动游戏业界不断发展的关键核心,但移动端和页游市场的崛起与火热令游戏引擎的发展逐渐滞后于硬件性能的提升。但是,随着市场重心回归正常,游戏引擎的发展总的来说肯定会越来越好。目前来看,游戏业界前沿的两架马车:发掘技术可能性,不断提高游戏画面表现的顶级大作,以及受制于资金和成本制约,在内容玩法上却常会有闪亮之处的独立游戏作品,都各自面临着不同的挑战。顶级 3A 制作规模和成本越来越高,利润率越来越薄,风险越来越大;而专注于内容创作的独立游戏则面临商业模式探索的难题,游戏的平均质量和整体的技术积累水平也不尽如人意。对此,游戏引擎的发展也随之需要有相互的变革和挑战。本文作者的观点虽然是以技术驱动的商业大作为视角,但对各位独立开发者应该也会有一定的启发和帮助。

概述

时至今日,业界许多颇为有趣的进步有目共瞩,尤其是本文迫切想与大家谈论的游戏引擎业。但我并不急着开始正题……我想先聊点自我修养实践的话题,我大学时代的空手道教练曾传授给我名为禅的理念,对我这个已经步入业界 22 年的“老兵”产生过莫大影响,它令我觉察到自己会因为业界的这些进步而感到鼓舞和兴奋。想要全面地理解其重大意义,我们需要回顾一番游戏引擎的发展历史。我希望我的读者能从这些个人的感受中体会到一些熟悉和有用的感悟,从而理解我们为什么应该为我们深爱的这门手艺的未来抱有乐观积极的态度。

游戏引擎发展简史

对我们这些奋斗在游戏行业一线的开发者来说,总有许多机会参与到有趣的新游戏项目中。早年游戏开发的主要关注点就是游戏本身,但随着硬件性能的增长,游戏变得越来越复杂,我们不得不花费越来越多的精力去纠缠游戏背后的技术问题。随后,在上世纪90年代和本世纪00年代,一些开发过成功产品,对他们的技术成就十分自豪的游戏公司开始授权其他工作室使用他们的引擎来开发新游戏项目。这一转变过程十分自然,它得以让许多开发者重新将主要的注意力集中到游戏项目最重要的部分:游戏本身上来。

Image03

2004 秋天 Xbox360 和 PS3 悄然登场,游戏硬件又迎来一波升级换代,多核处理器的运用开始要求游戏开发工程师掌握一个名为“并发”的新术语。随即,市场上现存的游戏引擎就显得陈旧过时了。实际上,当时没有一个流行的引擎(甚至包括当时最新的引擎)的设计架构能够很好地适应新的硬件,完全发挥它的极限效果。业界甚至还编排了笑话,发明出一个专门的词:"Gigi-NOPS",即英文“每秒数以百万次的空操作”的缩写,来嘲笑这种现象:因为当时的游戏引擎没办法让多核处理器的每个核心都保持工作。但是,随着业界煞费苦心地追赶上硬件性能的提升,硬件厂商也随之将游戏的性能往前推动了一步。

软件已经面临落后

直到今天,我们依然能够目睹随着越多越多的“核”被加入处理器中,硬件性能仍在飞速地提升。不仅仅是 CPU,也包括显卡 GPU,以及一些能够收益于多核技术的专用物理计算芯片,视频压缩芯片等等。连现在的手机都普遍是四核处理器了,并且看起来也要继续追寻台式机和笔记本提升硬件的脚步。多核技术令硬件的处理性能得到了极大提高,但相对来说,软件方面,游戏引擎的发展,却稍微显得滞后了。

dribble-4

这种滞后是多重原因导致的,稍加思索其实就能看出来:

  1. 2009 年后的游戏引擎发展并未着急追逐硬件性能的提升,这很大程度是由于引擎开发者没有感受到业界所施加的压力。为什么呢?因为与此同时,业界正忙于关注那些由个人便携设备新开拓的休闲玩家市场(诸如移动端游戏和 Facebook 页游),这使得业界将注意力从视觉特效逐渐转移到悠闲社交玩法的体验上去了。
  2. 此外,像 F2P、内购这样的新商业变现模式分走了开发者大量的注意力,以往在高端游戏引擎开发上得心应手的那些工作室这一次通常是脚步最为缓慢的,难以适用新的商业模式和消费者预期,这导致了大量的营收损失和倒闭,进而表现为高端创新乏力。
  3. 那些为数不多,专注于硬核游戏(通常都是都是久负盛名的系列续作)的开发者乐于在安全范围内进行温和的技术升级。但缺乏竞争的环境意味着他们很难愿意去推动革命性创意的执行。因为即便不去挑战新硬件的性能提升,也能享受到硬件普遍提升到来的好处。简而言之,游戏开发者将新硬件性能发掘的难题抛给了负责游戏引擎中间件的公司,而这些公司则忙于应对休闲游戏开发者不断增长的开发需求。

总之,多种多样的新平台的增长,新的商业变现模式和市场策略,新的创意玩法等等这一系列的问题,让游戏业界相当繁忙,腾不出手脚来引对硬件性能的提升。同时,硬件厂商又一如既往地继续推送硬件性能的升级,令游戏引擎和硬件性能之间的鸿沟进一步加大。我敢肯定硬件厂商一定相当沮丧,他们专注于引领时代的成就却让我们其他人追赶不上。

这留下了什么问题?

我在上文中试图揭露的现象是:消费者花费大量时间沉迷的那些游戏,并不要求游戏引擎的发展去追赶硬件的巨大提升。那这留下了什么问题呢?这样的现象是说明玩家已经满足于当下的游戏体验,不再有兴趣去欣赏技术极限的推进了吗?我们业界总能做出满足玩家期待的产品了吗?难道只要像我们目前那样进行温和的技术迭代就足够了吗?如果有人只去注意这三年的技术空白或者只关注像 Minecraft 这样的游戏的成功崛起,可能真会这么认为。但是,作为业界的“老兵”,我想告诉诸位的是,我们这些年已经发展出了一些很有意思的新鲜玩意儿,新技术依旧会像过去那样成为推动业界变革的根源。特别是对全新体验的不懈追寻,将永远推送开发者去尝鲜新技术,为玩家体验带去变革。

Image01

这些日子关于虚拟现实(VR)和增强现实(AR)技术的讨论甚嚣尘上,若想要在这两个方向上取得优势,则务必要求掌握全新的工程技术。市场风向也从 09 年的休闲软核游戏转向到 12 年的“中核”游戏,复杂度和规模都有提升,这开始使得一些休闲游戏玩家很难同传统意义的硬核玩家区别开来。或许这些玩中核游戏的偏休闲玩家在未来孙子的眼中也会属于硬核玩家。如今,游戏市场前所未有的广大,玩家对新鲜事物的饥渴越来越严重。有些玩家一开始属于休闲游戏玩家,但他们如今和其他人一样准备好感受酷炫的新技术了。

renderloop

这是最好的时代,也是最坏的时代……

游戏引擎技术让然在许多关键的方面止步不前。行业前沿上真正的创新者发现他们不得不同时兼顾中端引擎市场的功能需求,而且时不时因为资金和时间的原因难以全心去达成他们预订的目标。

下面列举一些现代引擎(需要我点名道姓吗?诸如 Unity,Unreal 和 Hero 引擎)所欠缺的方方面面……

  1. 游戏引擎远远无法发挥显卡的性能极限,因为这些引擎构建时遵循的编程范式已经落后了许多年(或许是十年左右)。想让引擎的核心跟得上现代引擎的脚步,需要耗费巨大的重构工作,不仅如此,这类工程还需要非常独特的“打破框框”思考的能力,即便在技术驱动的行业这也并不常见。
  2. 带宽惊人的云计算/云存储技术的发展极大地拓宽了工程的极限边界。想要完全发挥其威力,构建出错综复杂,令人惊艳的游戏世界和游戏体验,需要一整套重新组织的新工具链和艺术/技术生产管线。如果开发工具和流程本身不够健壮,那么未来的大型项目很可能因为自身庞大的规模而崩溃。类似情况在过去重大的变革出现时数见不鲜。这种技术升级所暗藏的挑战(或者说凶险)的例证之一是 2008 年曾力图使用当时最先进的技术实现跨平台开放世界游戏的 Midway 。其巨大的投入最终成为拖垮这家公司的重大因素。我曾负责 EA 的入职培训,当时我在讲板上用图形大小来对比展示 PS1 的处理性能和内存容量,只用了一个比一像素还小的点;到 PS2 的时候,我用了一个一英寸见方的小块;而 PS3 则足足有三张 A4 纸大小。以此为例,我向听众解释道,游戏所依赖的机器性能在处理器性能和内存容量两个维度上极速增长,但游戏的其他六个维度:所谓的游戏世界的规模,游戏细节的刻画,角色数量,角色塑造,角色 AI 方面的发展存在前文提到过的 giga-NOPS 现象。“条件许可的情况下应该优先着手什么问题”是越来越多的游戏开发者需要面临的抉择。这种抉择在未来若干年内智慧越来越艰难。游戏引擎必须能够为管理前所未有的复杂项目提供足够多的帮助。现代的游戏开发工具需要面对我们之前从未应对过的挑战。
  3. 现代引擎已经为实现不同级别的团队协作做出了初步的改善,但还远达不到那些大型团队的需求,这些团队会远程协同开发更大规模的项目,并且会在云端对项目进行实时同步的操作。和开发者聊天,你会听到他们抱怨现有的开发工具是如何限制了他们的生产力,令他们工作效率地下,给他们带去了许多挑战。即便开发工具和引擎已经提供的团队协作功能,也经常会充满瑕疵,经常会使得一名开发者的进度延滞影响另外一名开发者的工作。这使得开发过程中需要大量的中层管理,来推进项目进度,保护现有进度不会因为个人失误而受到影响。如果目前的游戏都是这种情况,那么未来这些游戏引擎怎么还能依靠游戏开发(或者我应该用游戏生态这个词)来盈收呢?更糟糕的问题是,目前最流行的现代引擎,Unity3D,在这些方面尤其糟糕。它趋向于为小型团队提供廉价的跨平台解决方案,并兼顾网页端支持,但对于下一代的创新内容(VR,AR和云端分发的游戏),Unity 的核心架构还无法满足开发者的终极需求。最终它还会像过去那样定位于小型团队的小型项目中。

为什么这些现代游戏引擎难以与时俱进呢?

难道这些游戏引擎就不打算在市场压力下对这些变化做出应对吗?暂时只能回答说“还没有”,但长期来看他们显然有这方面的打算,不过一些其他方面的牵掣最终会令他们裹足不前。历史是我们最好的老师。正如我们已经见证过多次的那样,游戏引擎有自然的生命周期。一款引擎因为在某个时间点解决了开发者的痛点从而赢得成功。如果痛点具有相当的挑战性,那么首次解决它的游戏引擎就可能大获成功(就像 Unity 解决了多数开发者希望将游戏移植到网页端的痛点)。然而,有两件事终究会发生:其一,引擎越流行,就会有越多的团队使用它开发游戏。越多的游戏团队使用引擎,就会迫使引擎开发团队花费越来越多的时间去提供支持服务。这时,重构的抉择就越发成为艰难:毕竟它耗资不菲,挑战重重,而且费时费力。如此,技术的基础就以一种真实的方式凝固成了无法轻易变动的混凝土。同时,游戏机制和技术的创新以及模式却在不断趋势他们继续向前。一些资金丰厚的中小型团队,经常通过为开创性的引擎开发跨越巨大技术藩篱的游戏作品,扮演起推动业界前进甚至飞跃的主要力量,这也正式业界当前在探索之处。因此,最流行引擎的开发者从未停止追寻创新,并一直力图将其提供给他们的客户,但与此同时,他们却拥有大量抵制创新的用户。此外,从商业角度来看,他们快速的小功能更新反而更赚钱,而大规模的重构耗费大量时间金钱,还为他们和他们的客户带来了挑战和风险。更别提当前技术的领先造成的自满情绪,似乎那些明显更好的技术还没有准备好进入市场。若非迫不得已,几乎没有游戏引擎的开发者会冒着巨大的风险全盘重构他们的产品。

那我们目前使用的引擎技术又是什么情况呢?

思考一下这些术语:现代第一人称射击之王 Unreal,中型游戏引擎 Unity,MMO 中间件 Hero,我们很清楚地能感受到今时今日软件技术提供给我们的解决方案与其潜在的可能间所存在的巨大鸿沟。这些已经存在多年的引擎的核心架构早已过时,为了充分发挥现代硬件和云计算技术的潜力,我们不得不以其为基础做大量的重构工作。而目前对多数游戏来说最为流行的引擎,Unity,需要的重构工作尤其之多。即便一些公司有意愿去全力以赴地去做这项工作,花费在这些调整重构上的时间也完全可以用来开发一款全新的引擎了。Unity 了不起的地方在于它的模块化架构,能够允许开发者自定义和增强其功能,但也就不过这样而已了。如果开发者想要开发出次时代体验的全新作品,会越来越意识到其核心架构的桎梏。

说了这么多,还是有保持乐观的理由!在许多前沿问题上,业界变革的力量正开始着手解决我罗列过的那些痛点。那些以云端开发、平台架构、线上即时服务,并行计算等方向崛起的新兴创业公司正埋头发展新技术,前途十分远大。这些公司的开创者可能正是你我这样厌倦了现存的低效方案的开发者,他们力图帮助不同级别和背景的开发者将有限的预算尽可能花费在实现他们的创意上。我会在接下来的一些文章中继续谈到这些话题。你可以留意 Gamasutra 或者我们的公司博客上的文章更新,中文版本则可以留意 indienova 的译文更新。

近期点赞的会员

 分享这篇文章

您可能还会对这些文章感兴趣

参与此文章的讨论

  1. cowolfox 2016-08-02

    究竟是本文作者太久没接触引擎还是这篇文章是老古董?UE4和Unity都在以飞快的速度紧跟时代的脚步,无论是CG级的画面还是VR虚拟现实相关,UE4最疯狂的时候几天一更新。作者还想怎么样?全部重写一个月出UE5?除了个别牛逼的公司完全自己写引擎(比如顽皮狗?),除了只有自己会用的ID TECH,大部分公司用这些现成的引擎不是非常方便吗?这些引擎落后而且有巨大的鸿沟?我看是作者与这个世界有巨大的鸿沟吧。笑·········不过长期在EA工作也难怪了

    • craft 2016-08-02

      @cowolfox:嗯,我读原文时内心也在不停吐槽,不过一直在做顶级 3A 的作者估计评价标准与常人迥异吧,虽然……那些他分外在意的部分在我看来和一款游戏是不是够好也的确没有直接关联。

    • cowolfox 2016-08-02

      @craft:虚幻竞技场、战争机器、FF7重制、FF15、皇牌空战、王国之心、街霸、铁拳、蝙蝠侠、BIOSHOCK、杀出重围、分裂细胞,如此多的3A大作都选择了虚幻引擎,难道他们都蠢吗?那个作者你牛逼自己写一个啊。还是说这个作者纯粹给寒霜做广告?

  2. tnl 2016-08-02

    原文的评论中有我赞同的一个,就是引擎本身不是非要用上最新的技术/追求最高的性能。引擎的目的是为了使开发游戏更简单。这里是作者和读者对引擎的叙述差别。作者认为引擎就是 "Engine",汽车的发动机;而不是现在发展出的一整套工具。
    按照 "Toolchain" 的视角,主流引擎代码陈旧很正常,各色更新成本都太大。就像不可能空空再做出个 Windows 一样,谁想重写这种引擎都会大暴死。但是如果只是驱动画面声音的技术,的确有改进的空间。

您需要登录或者注册后才能发表评论

登录/注册