[1.导读]
游戏引擎(Game Engine)是什么?大多数人给出的解释都是基于engine的英文翻译,将游戏引擎等同于汽车中的引擎(发动机),再好一些的解释成动力,这些解释都对,但是动力只说并不全面,不能完整反映出游戏引擎在游戏中的作用与地位。
布加迪威龙之所以强大就是源自其W16发动机
先举一个简单例子,在某游戏中的一个场景中,玩家控制的角色躲藏在屋子里,敌人正在屋子外面搜索玩家。突然,玩家控制的是一个穿迷彩服的士兵,突然碰倒了桌子上的一个杯子,杯子坠地发出破碎声,敌人在听到屋子里的声音之后聚集到玩家所在位置,玩家开枪射击敌人,子弹引爆了周围的易燃物,产生爆炸效果。在这个简单而常见的过程中,游戏引擎便在后台起着作用,控制着游戏中的一举一动。
一些游戏中常见的场景都是引擎在后台起着作用
把这个过程用专业们的语言分解一下就会变成这样:首先出场的是可以行动的士兵,也就是人物模型。模型由引擎中的动画系统赋予运动能力,游戏中角色能做出什么动作便取决于动画系统有多强大。人物的真实程度则取决于3D模型渲染引擎的能力,这也是游戏引擎最重要的功能之一,游戏的画质高低便由它来决定。之后,士兵碰倒了杯子,这个过程涉及到引擎的碰撞检测,它可以决定不同的物体在接触的时候会产生什么样的结果,有的游戏能穿墙有的则不能便是不同的碰撞检测控制的。例子中设定的是把杯子碰倒了,杯子发出了破碎声。在发生某种动作的同时发出相应的声音则属于引擎中的音效处理了。杯子破碎的声音吸引了敌人的注意,这是引擎中的AI智能运算在起作用,最后双方交火引发爆炸,爆炸产生的烟雾、爆炸物飞散则是引擎中的物理效果在起作用了。
可以说,游戏引擎虽然有着“动力(Engine)”之名,但是其实际上却是行“大脑(brain)”之实,指挥控制着游戏中各种资源。游戏引擎的准确定义也是如此,“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等。”通常来讲,游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。(引自wikipedia)
十几年前的游戏都很简单(以现在的眼光来看),容量大小都是以M计,通常一款游戏的开发周期在8到10个月左右,最主要的是,每款游戏开发都需要重头编写代码,期间存在着大量的重复劳动,耗时耗力。慢慢地,开发人员总结出一个规律,某些游戏总是有些相同的代码,可以在同题材的游戏中应用,这样就可以大大减少游戏开发周期和开发费用,慢慢地这些通用的代码就形成了引擎的雏形,伴随着技术的发展,最终演变成今天这样的游戏引擎。
同样地,游戏引擎出现之后,也在另一方面促进着游戏开发。随着显卡性能越来越强,游戏的画质越来越高,游戏开发周期也越来越长,通常都会达到3到5年,自行开发游戏引擎的话时间还会更长,所以大多数游戏公司还是选择购买现成的游戏引擎,简化游戏的开发过程。
那么,实际的游戏开发过程中,游戏引擎是如何把游戏与显卡连接在一起的,游戏中的各种特效是如何调用显卡来实现的?这个问题如果要回答的很专业,恐怕不在笔者知识范围之内了,不过我们可以用很简单的方法来说解释一下。显卡是游戏的物理基础,所有游戏效果都需要一款性能足够的显卡才能实现,在显卡之上是各种图形API,目前主流的是DirectX和OpenGL,我们所说的DX10、DX9就是这种规范,而游戏引擎则是建立在这种API基础之上,控制着游戏中的各个组件以实现不同的效果。
在引擎之上,则是引擎开发商提供给游戏开发商的SDK开发套件,这样游戏厂商的程序员和美工就可以利用现成的SDK为自家的游戏加如自家建立的模型、动画以及画面效果,而最终的成品则是各种游戏。
整个关系可用下面的关系图来表示。
游戏引擎与GPU的关系图
经过十多年的发展,游戏引擎的功能也越来越强大,涌现出一批比较知名的引擎如DOOM/Quake、Unreal虚幻,那么这些引擎的成功之处在哪里呢?
时至今日,游戏引擎已从早期游戏开发的附属变成了今日的当家角色,对于一款游戏来说,能实现什么样的效果,很大程度上取决于使用的引擎由多么强力。如果对什么才是优秀的游戏引擎做个判断,那么优秀的游戏引擎一定具有如下优点:
1.完整的游戏功能。随着游戏要求的提高,现在的游戏引擎不再是一个简单的3D图形引擎,而是涵盖3D图形、音效处理、AI运算、物理碰撞等游戏中的各个组件,组件设计也应该是模块化的,可以按需购买。以这两年最成功的虚幻3引擎为例,虽然全部授权金(不包括售后技术服务)高达几十万甚至上百万美元,但是可以分别购买相关组件,降低授权费用。
2.强大的编辑器和第三方插件。优秀的游戏引擎还要具备强大的编辑器,包括场景编辑、模型编辑、动画编辑等,编辑器的功能越强大,美工人员可发挥的余地就越大,做出的效果也越多。而插件的存在,使得第三方软件如3DS Max、Maya可以与引擎对接,无缝实现模型的导入导出。
3.简洁有效的SDK接口。优秀的引擎会把复杂的图像算法封装在模块内部,对外提供的则是简洁有效的SDK接口,有助于游戏开发人员迅速上手,这一点就如各种编程语言一样,越高级的语言越容易使用。
4.其他辅助支持。优秀的游戏引擎还提供网络、数据库、脚本等功能,这一点对于面向网游的引擎来说更为重要,网游还要考虑服务器端的状况,要在保证优异画质的同时降低服务器端的极高压力。
以上四条对于今天的游戏引擎来说不成问题,当我们回头历数过去的游戏引擎,便会发现这些功能也都是从无到有慢慢发展起来的,早期的游戏引擎在今天看来已经没有什么优势,但是正是这些先行者推动了今日的发展。
谈及游戏引擎,有一家游戏公司最应该被提起,也有一个人最不应该忘记,那就是ID software和它的创始人之一约翰?卡马克(John D. Carmack)。据说这家公司仅有13名固定员工,而且停车场也只停13辆法拉利跑车,从这一八卦中可以看出大家都很关注这家公司是如何的盛产富翁,但是这群狂人开发的游戏技术更为傲人。
1990年,卡马克和id的另一巨头罗梅洛制作了一款小游戏《Commander Keen》(《指挥官基恩》),在PC机上首次实现了卷轴类游戏背景的流畅效果,后来他们又花了一个晚上的时间把当时的街机游戏《超级玛丽》移植到PC机上,实现了流畅的横板效果。他们把PC版《超级玛丽》发给任天堂,希望借此吸引任天堂的兴趣。当然,任天堂也确实很有兴趣,夸奖了他们几句,不过并无下文(大人物未成名之前总是被另一个大人物无视)。1991年,卡马克和罗梅洛成立了ID Software,开始自主创业。
后面的事就很简单了,凭借着过人的技术和狂热的信念,id公司创造了一个又一个技术巅峰。没多久,他们推出了《Wolfenstein 3D》(德军总部3D)。这款游戏的画面在现在看来不值一提,但是却是3D射击游戏之祖,卡马克也因此获得了“FPS游戏之父”的称号。
《重返德军总部3D》成了游戏引擎的始祖
作为最早的3D游戏引擎之一,《Wolfenstein 3D》(德军总部3D)使用了一种射线追踪技术来渲染游戏内的物体(严格来说,《Wolfenstein 3D》还是一种伪3D)。游戏中每个像素会发射一道光束,如果这道光束碰到了障碍物形成反射,游戏就会按照设定好的程序在障碍物的相应位置创建单维深度缓存(dimensional depth buffer),建立纹理图像。
游戏图像
《Wolfenstein 3D》开创了3D射击游戏时代,其独创性的3D技术也为其他游戏所采用,Blake Stone, Corridor 7,Operation Body Count、Super Noah's Ark 3D(超级诺亚方舟3D)、 Rise of the Triad(算是《Wolfenstein 3D》的续作,增加了跳跃和低头抬头等动作),还有一直未发售的 Hellraiser(养鬼吃人)等游戏都沿用了卡马克这一技术。
[5.《DOOM》问世―Id系列引擎之Id Tech 1 ]
注:Id公司为自家的引擎技术划代为Id Tech,DOOM引擎正是Id Tech 1,后文都将按照这个序列来写。
《Wolfenstein 3D》只是ID小试身手,1993年ID公司推出的DOOM(毁灭战士)游戏引擎才是引擎技术的代表。DOOM引擎改善了《Wolfenstein 3D》引擎中的一些缺陷,如所有房间的高度都是相同的,所有墙壁都是垂直的,运动也只能直线前进或后退等,并且加入了许多新效果。
DOOM
在DOOM中,角色与游戏中的物品的互动性进一步增强,楼梯、楼梯上的花朵以及路桥已经可升可降。游戏中的光照效果也不再单一,不同的单位也有了不同的亮度,此外DOOM引擎还支持立体声音效,环境的定位感更真实。这些效果在3D显卡都没有问世的1993年毫无疑问是非常激动人心的进步。
DOMM一代的画面
凭借自身的过人之处,DOOM获得了350万的销量,为ID公司带来了滚滚财源。更重要的是,DOOM成了ID公司第一款用于商业授权的引擎,从DOOM开始,游戏公司又多了一条创收之路。当时使用过DOOM引擎的游戏主要有:Raven公司的《ShadowCaster》(投影者)、《Heretic》(1994)、《Hexen》(1995)、Rogue Entertainment公司的《Strife》、《HacX》(免费)以及美国 Marine 公司的《Marine Doom》等等。这些游戏全都使用了DOOM引擎,其中Raven公司于ID公司的合作最为紧密,出品的三款DOOM引擎游戏也较为知名。
DOOM发售一年之后,ID又推出了DOOM系列的第二部作品《DOOM:Hell on Earth》。凭借id的号召和一代的影响力,DOOM II获得了94年度的最佳原创幻想/科幻电脑游戏大奖,在销量和口碑上再创新高。
DOOM II游戏
不过,从技术角度来讲,DOOM II上并没有什么创新之处,使用的DOOM,也没带来新颖的图形技术,就连游戏中的怪物和武器也没有新增多少。虽然id公司在1995年发布了一款扩展包《Master Levels for Doom II》,但是人们还是更期待《DOOM III》,只是这个期待要很长时间,《DOOM III》在10年后的2004年才正式发布。
就在DOOM系列热火朝天的时候,Id公司又于1996年发售了另一款新型游戏《Quake》,相比《DOOM》使用的将拥有高度信息的二维地图渲染成3D图像的伪3D引擎,Quake引擎是实实在在的3D引擎。
真正3D模式的Quake引擎
Quake引擎是当时第一款完全支持多边形模型、动画和粒子特效的引擎,而在技术之外,《Quake》的游戏操控方式也树立了FPS游戏的标准。游戏采用流动控制方案(fluid control scheme ),它使用鼠标来观看/瞄准/定向以及用键盘前进/后退/侧移,这也成了FPS游戏最普遍的操控模式,直到今日仍没有变化。
Quake的出现为FPS游戏建立了经典的操控方式
使用《Quake》引擎的主要是Id自己的《Quake》和《Quake World》系列、《HeXen II》(异教徒)、MageSlayer、Nexuiz(鏖战废土)、Day of Defeat(胜利之日),还有大名鼎鼎的《Half life:》(半条命)以及《Half life》扩展出来的《反恐精英》。
大名鼎鼎的CS使用的便是Quake引擎
90年代的Id公司相当勤奋,几乎是每年推出一部新游戏,而且每次都能或多或少地带给人们不少惊喜。《Quake》一年之后,Id又发售了《Quake II》,采用的引擎也升级为Id Tech2。
《Quake II》
1997年的时候,当时3D加速卡(显卡那是都叫3D加速卡)已经兴起,《Quake II》引擎已经支持硬件3D加速,当时较为知名的3D API是OpenGL,《Quake》也因此重点优化了OpenGL性能,这也奠定了Id公司系列游戏多为OpenGL渲染的基础。
《Quake II》首次实现了彩色光影效果
Id Tech2引擎添加了256色材质贴图,首次实现了彩色光影效果,使得游戏中的物体在反射光影时候能展现出不同样的色彩效果,另外一个技术特性则是通过支持DLL(dynamic-link libraries,动态链接库)文件实现了对软件渲染和OpenGL渲染的支持。
基于Id Tech2引擎的游戏有《Quake II》、《Anachronox》(时空传奇)、《大刀》(Id另一强人罗梅洛离开Id之后开发的游戏)、《Soldier of Fortune》(命运战士)、《半条命》(Quake和Quake II的代码都有)。
《大刀》是罗梅洛离开Id之后使用《Quake II》引擎制作的一款游戏
[8.3D加速卡时代来临―ID系列引擎之Id Tech3 ]
1999年,Id又发布了《Quake III:Arena》,这是《Quake》系列的第三步,也标志着Id的引擎技术到了Id Tech3时代。在这一时代,Id Tec3已经不再支持软件渲染,必须要有一款支持硬件加速的显卡才能运行。
《Quake II》引擎需要一款硬件加速卡才能玩转
《Quake III》引擎增加了32Bit 材质的支持,还直接支持高细节模型和动态光影。同时,引擎在地图中的各种材质、模型上,都表现出了极好的真实光线效果。《Quake III》使用了革命性.MD3格式的人物模型,模型的采光使用了顶点光影(vertex animation)技术,每一个人物都被分为不同段(头、身体等),并由玩家在游戏中的移动而改变实际的造型,游戏中真实感更强烈。
《Quake III:Team Arena》
《Quake III》拥有游戏内命令行的方式,几乎所有使用这款引擎的游戏都可以用`键调出游戏命令行界面,通过指令的形式对游戏进行修改,增强了引擎的灵活性。
《Quake III》一款十分优秀的游戏引擎,即使是放到今天来讲,这款引擎仍有可取之处,即使画质可能不是第一流的了,但是其优秀的移植性、易用性、和灵活性使得它作为游戏引擎仍能发挥余热,使用《Quake III》引擎的游戏数量众多,比如早期的《使命召唤》系列、《荣誉勋章》、《绝地武士2》、《星球大战》、《佣兵战场2》、《007》、《重返德军总部2》等等。
第一代的《使命召唤》使用了《Quake III》引擎
[9.《DOOM3》震撼问世―ID系列引擎之Id Tech4 ]
时间很快就到2004年,这一时代已经是DX9显卡的时代,但是人们关注的年度3D大作仍是基于OpenGL渲染的《DOOM3》,这也是Id公司的第四代引擎―Id Tech 4的代表作。《DOOM3》命运多舛,03年的源码泄露事件使得《DOOM3》很受伤,但是也因此使得其强悍面画和要求为人所知。
DOOM3引擎的开山作
当时的《DOOM3》到底强到什么程度?id自家人恐怕最清楚,《Doom3》的首席程序员罗布?达菲曾经说过:“Doom3从任何角度而言都是最完美的,而且它几乎完全追随并引导了硬件的发展。以id software的经验来看,Doom3估计又会被追捧至少5年,而在这5年里测试显卡FPS的基准估计都会是它了。”(你这话太大了点,至少07年发布的《Crysis》就超过了)。
在《DOOM3》中,即时光影效果成了主旋律,它不仅实现了静态光源下的即时光影,最重要的是通过shadow volume(阴影锥)技术,《DOOM3》引擎实现了动态光源下的即时光影在游戏中大规模的使用。
shadow volume(阴影锥)关闭(左)与开启(右)的效果对比
当然了,除了shadow volume(阴影锥)技术之外,《DOOM3》中的凹凸贴图、多边形、贴图、物理引擎和音效也都是非常出色的,可以说04年《DOOM3》一出,当时的显卡市场可谓一片哀嚎,GeForce FX 5800/Radeon 9700以下的显卡基本丧失了高画质下流畅运行的能力,强悍能力也只有现在的《Crysis》能与之相比了。
《Quake 4》是Id公司目前最高级的引擎
由于DOOM3引擎的优秀,后续有一大批游戏都使用了这款引擎,包括《DOOM3》资料片《Resurrection of Evil》(邪恶复苏)、 Id自家的《Quake4》(实际是由Raven公司捉刀)、Human Head Studios的《Prey》、Splash Damage 的《Enemy Territory: Quake Wars》(敌占区:雷神战争)和《Brink》、Raven的《Wolfenstein》(重返德军总部)等等。
Id Tech 5引擎能否让Id公司站在引擎技术最前端?
现在,Id公司还在进行着《DOOM4》的开发,引擎也升级到Id Tech5,虽然详细的技术规格仍然是迷,但是卡马克已经放言:“Doom4是一款为30帧而拼搏的作品,就像是应用了全新的引擎,它基于我们这四年来的研发成果。”如果他指的是游戏发布时的硬件水平,那么Id Tech5引擎恐怕又是高端显卡的坟墓了。
如果要找一个能跟Id公司的Quake/DOOM游戏引擎相比肩的对手的话,那么EPIC公司的Unreal引擎无疑是最合适的。而且相比只负责3D图像处理的Quake/DOOM引擎来讲,Unreal涵盖的方面更多,涉及物理特性、动画演示、音频效果和碰撞检测等游戏的所有组件,也就是说Unreal引擎的集成度更高,通用性更强。
注:Quake/DOOM后来也一样涉及到了物理碰撞、音频处理等内容,游戏引擎的发展即是向全能向发展。
1998年5月22日,大约在《Quake II》发布后半年左右,由Epic Games开发GT Interactive发行了《Unreal 》问世,游戏中除了精致的建筑物外,还拥有许多游戏特效,比如荡漾的水波,美丽的天空,逼真的火焰、烟雾和力场,单纯从画面效果来看,《虚幻》是当之无愧的佼佼者。
最早的《虚幻》画面
虽然在彩色光照效果上被Quake II引擎抢了先,但是Unreal引擎依然拥有自己的独门秘籍。Unreal引擎在彩色光照和纹理过滤上的软件渲染性能已经接近硬件级的加速,而且Unreal引擎还支持当时CPU刚刚集成的SIMD(单指令多数据)指令,比如AMD新增的3DNOW!,Intel的MMX和SSE指令集,这让它的性能进一步增强。
Unreal问世的时候,大行其道的图形接口还是3Dfx的Glide,性能最强的显卡也是3Dfx的Voodoo 5,微软的DX规范占据主流之后,Unreal引擎又很快支持DX,而对OpenGL规范虽然也有支持,但是一直不太顺,性能也不够好,所以Unreal引擎慢慢就变成了专司DX规范了。
得益于画面精美和DX规范的通用性,Unreal很快就得到了18款游戏的支持,包括《Unreal》、《Unreal Tournament》、《哈利波特》、《Rune》、《Deus Ex》等都用Unreal引擎实现了不同的游戏效果。而且,由于Unreal引擎的通用性,除了游戏,它还广泛使用在3D建模、建筑设计、动作捕捉、电影特效等等领域。
《Deus Dex》就使用了虚幻1引擎
Unreal引擎一炮打响,EPIC又再接再厉推出了Unreal2引擎。相比第一代Unreal引擎,Unreal2的全部代码几乎重写,并集成了最新的编辑器。随着游戏开发的需要,游戏引擎的内涵也在不断扩大,Unreal2引擎拥有了更多的功能。
《Unreal 2》虚幻2的画面
当时物理加速技术已然成形,Unreal2引擎便集成了Karma 物理加速技术开发包,引擎中的物理效果得以增强,并且开始支持XBOX、PS2等主机平台。Unreal2引擎期间有过一次小幅升级,被称为UE2.5,渲染性能有了一定提高。
这张Unreal 2的看起来更漂亮一些
有了第一代引擎的铺垫,采用Unreal2及其升级型引擎的游戏数量也大幅提高,其中的知名游戏包括《汤姆?克兰西之细胞分裂2:明日潘多拉》、《部落:复仇者》、《越战英豪》、《天堂2》、《杀手13》、《彩虹六号:雅典娜之剑》、《荒野大镖客》、《虚幻竞技场2003》、《手足兄弟连》等等。
《天堂2》的画质在当时的网游中可以说是傲视群雄
到了DX9时代,EPIC公司的Unreal2引擎便跟不上时代了,急需一款性能更强大、灵活性更高的新时代引擎,这便是EPIC当前的主力干将―Unreal3引擎。融合了众多新技术、新特性的Unreal3也是当前使用最广泛的引擎之一,在主机、单机、网游全面开花。
虚幻竞技场3惊艳亮相
Unreal3支持64位HDRR高精度动态渲染、多种类光照和高级动态阴影特效,可以在低多边形数量(通常在5000-15000多边形)的模型实现通常数百万个多边形模型才有的高渲染精度,这样就可以用最低的计算资源做到极高画质。Unreal3引擎还提供了强大的编辑工具,让开发人员随意调用游戏对象,真正做到所见即所得。
虚幻3引擎中支持PhysX物理特效的场景
Unreal3引擎之中还集成了许多现成的游戏技术,包括PhysX物理引擎、SpeedTree植被引擎、EAX5.0音效引擎、AI引擎等,其中的PhysX物理加速技术是NVIDIA公司力推的,在PhysX游戏中会拥有更好的效果。
优秀的画质表现、适中的显卡要求、强大的自定义工具和一站式配套开发使得Unreal具备了各个平台各种游戏的适应性,所以自问世以来,已经有越来越多的游戏采用Unreal3引擎,势头直追当前的Quake/DOOM引擎。
虚幻3引擎打造的《战争机器》不论游戏还是画面都堪称大作
在采用Unreal3引擎的游戏中,《生化危机》、《Alpha Protocol》、《战争机器》、《荣誉勋章:空降神兵》、《枪神》、《质量效应》、《镜之边缘》都是知名大作,尤其是《战争机器》一度创下PC游戏的画质神话。
整个90年代,游戏引擎的光芒似乎成了Id和EPIC的专利,其余的公司都被这两大巨头所掩盖了,其实当时仍然有不少引擎精品,Monolith公司的LithTech引擎便是一例。
《Shogo》升刚使用的便是LithTech最早的引擎
1998年,Monolith推出了新款游戏《Shogo:Mobile Armor Division》,这是一款结合了日本卡通的FPS游戏,使用的引擎便是LithTech。这款引擎耗费了Monolith公司五年的时间,花费超过700万美元,如此高的代价也迫使公司改名为LithTech,业务范围也转向LithTech引擎授权以图收回高昂的开发成本。
采用LithTech第一代引擎制作的游戏包括《血兆2》和《清醒》(Sanity)等。2000年LithTech公司推出了引擎的2.0版本和2.5版本,加入了骨骼动画和高级地形系统,LithTech 3.0则衍生出了“木星”(Jupiter)、“鹰爪”(Talon)、“深蓝”(Cobalt)和“探索”(Discovery)四大系统,其中“鹰爪”被用于开发《异形大战掠夺者2》(Alien Vs. Predator 2),“木星”将用于《无人永生2》的开发,“深蓝”用于开发PS2版《无人永生》。
《F.E.A.R》中借助LithTech引擎实现了多种游戏效果
应用LithTech引擎最出色的当属05年推出的《F.E.A.R》,改良的LithTech引擎为这款游戏带来了细致的纵深场景刻画,全屏抗锯齿、实时光影效果都表现完美,而在今年上半年推出的《F.E.A.R2:起源计划》 中,LithTech引擎又加入了HDR渲染、动态模糊、后期处理、屏幕空间环境光遮蔽(SSAO)等最新画质效果,也增强了物理和人工智能,还完善了对双核心处理器的支持。
当然,LithTech引擎也非完美,虽然引擎本身继承了Havok物理加速,但是游戏中的物理效果一般,表现比较生硬,不过瑕不掩瑜,LithTech引擎性能已经好强大,LithTech公司的服务也非常详尽,购买者可免费升级,而且授权费用仅有25万美元(现在的价格未知),很适合中小型游戏开发公司。
Valve公司的《Half Life》使用的是Quake/Quake II引擎,当他们开发续作《Half Life2》之时,Quake引擎已经略显老态,于是他们决定自己开发游戏引擎,这也成就了另一款知名的引擎―Source引擎。
《Half Life2》系列使用的都是Source引擎
与Unreal引擎一样,Source也不是一款简单的3D引擎,它同样包括了3D图像渲染、材质系统、AI人工智能计算、Havok物理引擎、游戏界面、游戏声效等各个组件,而且创造性地使用了模块化理念,结合Vavlve公司的Stream平台,游戏引擎的修改和升级都非常简单,这也使得Source引擎可以长盛不衰,至今依是主流引擎之一。
Valve自家的游戏大都使用的是Source引擎
Source引擎最让人惊叹的特效当属丰富的人物表情。人的面部有42块肌肉,可以做出许多不同种类的表情,喜怒哀乐愁不一而足,要想在游戏中实现拟人化的表情绝非易事。为此,Valve专门开发了一套面部肌肉模拟系统,这套系统中包含了一系列预先设定的表情脚本,能控制角色面肌肉群产生相应的面部动画,并进行相加/混合/插值运算以创建现实生活中所见的自然真实的角色表情。
同时,为了与表情配合,Valve公司还创建了一套基于文本文件的半自动声音识别系统(VRS)。Source引擎制作的游戏可以利用VRS系统在角色说话时调用事先设计好的单词口形,再配合表情系统实现精确的发音口形。
Source引擎的面部表情非常传神
Source引擎全面应用于Valve自家的游戏领域,《Half life2》三部曲,《CS:Source》、,还有现在的《Left 4 Dead》系列。自家领地之外也是遍地开花,《胜利之日:起源》、《吸血鬼》、《军团要塞2》、《SiN Episodes》等多款游戏都授权使用了Source引擎。
在DOOM3和半条命2的同时代,育碧公司利用德国一家公司利开发的CryENGINE引擎做出了另一款画面堪称鬼神级的游戏―《FarCry》(孤岛惊魂),游戏一推出,就赢得了大片赞叹之声。
《孤岛惊魂》的画质达到了当时的巅峰
CryENGINE引擎的开发者是德国的CryTek,当时名不见经传,在游戏引擎开发上属于新生代,但是第一次出手就表现不凡。CryENGINE引擎使用了“PolyBump”特效,利用很少的多边形做出了大量多边形才能实现的游戏效果,游戏中的动态光影效果也非常出色。
CryENGINE引擎打造的画面即使现在看起来也很高
CryENGINE引擎还HDR高动态压缩、3Dc等技术,后期还通过patch补丁升级了SM3.0支持,画面又有所增强。
《孤岛惊魂》作为CryTek公司初出茅庐之作,展示技术实力的目的是达到了,但是引擎授权方面并不算成功,除了《FarCry》在主机平台的几款游戏之外,仅有NC Soft购买了授权用在自家的网游上,这款网游也正是现在火爆的《永恒之塔》(AION)。
《永恒之塔》的高画质便得益于CryENGINE引擎的超强表现
虽然第一代引擎出师不利,但是CryTek的CryENGINE2引擎在DX10时代缔造了另一个画质新高,那就是著名的显卡危机―《Crysis》(孤岛危机)。
[16.DX10时代最强画质代表―CryENGINE2引擎]
06年底,随着Vista的发布,游戏进入了DX10时代,NVIDIA和AMD也都先后发布了各自的DX10显卡,新一代引擎大战也正式开始。这期间,CryTek没有抢到首发DX10游戏引擎,但CryENGINE引擎的《Crysis》夺得了最强DX10画质大旗,并保持至今。
DX10画质最强音―CryENGINE2引擎
CryENGINE2在一代基础上大幅强化,全面支持DX9中的SM2.0/3.0和DX10中的SM4.0,引擎完整涵盖了游戏开发中的3D图像、游戏音效、AI人工智能、物理效果、脚本系统、动画系统、编辑器等,可为游戏开发者提供强大的可视化开发环境,此外CryENGINE2还支持64位系统,多核心多线程处理。
MOD爱好者制作的Crysis高清MOD包
MOD爱好者制作的Crysis高清MOD包
有关《Crysis》的具体画质有多强,网上有很多相关资料,而《Crysis》的要求有多高,我们的评测栏目页有很多,迄今为止的单卡还没有能在高分辨率下的Very High级别流畅运行。也正是由于CryENGINE2引擎非常强的画质和可定制性,CryENGINE引擎现在也成了MOD玩家DIY的最佳工具。我们网站也报道过了许多高清MOD作品(连接在此:一、二),其中的一些画面几乎可以达到以假乱真的地步。
CryENGINE2引擎相比前代的境遇要好多了,除了CryTek自家的《Crysis》、《Crysis:Warhead》使用之外,卡通风格的《布鲁克林商人》、《Forged by Chaos》(混沌试炼)、《Blue Mars》(蓝色火星)、韩国网游《The Day》等多款游戏都获得了CryENGINE2引擎授权。
成也萧何败也萧何,CryENGINE2引擎的高画质高要求使得主机平台承受不起,以致于下一代CryENGINE3引擎不得不降低要求以适应主机平台(当然,CryTek公司是不会承认这一点的,他们只是在优化而已),还好CryTek保证PC平台的画质会再创新高,至于CryENGINE3引擎的到底能否再次让我们经历一次显卡危机,也许要等到2010年或2011年游戏上市正式才能揭晓了。
CryENGINE 3引擎或许会再一次上演显卡危机
上面着重介绍的都是最为知名的几款游戏引擎,尤以Id、EPIC、Valve、CryTek这几家的Id Tech、Unreal、Source、CryENGINE为主。当然,在这几家巨头之外,不少游戏公司推出的引擎虽不一定能四处开花,但是在各自的领域也是十分的精彩。
另一款强调痛快杀戮的《Serious sam》(《英雄萨姆》)所采用的Serious引擎非常值得一提。《英雄萨姆》游戏拥有极大的地图视野,即是你面对蜂拥而至的千军万马也丝毫没有迟滞感,这与其他游戏在大场景处理中表现不足形成强烈的反差。Serious引擎随着《英雄萨姆》系列游戏也在不断演进,最近的Serious Engine3支持多核心HDR渲染,支持全面的像素光照效果和阴影技术(包括阴影缓冲),同时带有多线程设计的物理引擎,可以在多核心系统上提供更好性能,并且提供真实的互动效果,宣称整体效果可与虚幻3相媲美。
Serious Engine3引擎效果一览
《Max Payne》(《马克思佩恩》)的MAX-FX引擎来头更大,之所以这么说,是因为早期的3Dmark测试软件所用的引擎就是Max-FX,直到3Dmark03中才由Futuremark自己开发测试内核t替代了MAX-FX引擎。MAX-FX是第一款支持辐射光渲染(Radiosity Lighting)技术的游戏引擎,可以根据物体的属性准确计算出每个点的折射和反射率,光线传播更符合真实情况,所营造的游戏效果也更自然。引擎的另一个特色则是子弹时间(Bulet Time),玩家可以在游戏中再现黑客帝国中躲避子弹的场景了。
《马克思佩恩》系列的MAX-FX引擎
《超级房车赛:GRID》在去年大出风头,影响甚至超过了《极品飞车12》,它所使用的正是EGO引擎。这款引擎是由CODEMASTERS和SCE使用SONY的PHYREENGINE跨平台图像引擎共同开发的,最早出现于于《科林迈克拉林:DIRT》中,现在使用的EGO是改良过的。EGO引擎主要使用在赛车类游戏中,除了《GRID》之外,《F1 2009》《科林迈克拉林:DIRT2》都使用EGO引擎,《闪电行动2》的加入则说明这款引擎在其他领域开疆辟土。
去年火热的赛车游戏《GRID》使用的就是EGO引擎
《S.T.A.L.K.E.R:切尔诺贝利的阴影》使用的是X-Ray引擎。这款一再跳票的游戏开发了六年,而引擎开发周期更是长达八年,期间X-Ray的技术从先进到落后再到领先,最新版的X-ray引擎终于实现了DX10/SM4的shader渲染,最终的画面效果也达到了一流水准。
潜行者的游戏画面
前文对引擎的分类中已经提到,游戏引擎的概念很广,简单来分也有通用的和专一性的,前面介绍的这些游戏引擎几乎都是通用性,涵盖了游戏设计中的3D图像、音效处理、AI运算、碰撞检测等等,而此处要说的则是一些功能单一但是专业高效的引擎,比如物理引擎、声效引擎、植被引擎等。
物理引擎中首推Havok,其次则是NVIDIA力推的PhysX,前者是基于CPU运算的(现在也开始支持GPU运算),后者是基于GPU运算的,Havok资历老、支持者众,在PC、XBOX360、PS2/3等多平台有着广泛的应用,使用Havok物理引擎的游戏已有100多款。除了游戏领域外,Havok引擎还广泛使用在电影特效中,《黑客帝国》、《哈利波特》、《特洛伊木马》等多部电影中都使用了Havok引擎以营造真实的物理运动效果。
万众瞩目的大菠萝3就会支持Havok物理效果
PhysX物理加速最早由Ageia公司研发,并以物理加速卡的方式加以推广。后来Ageia公司被NVIDIA公司收购,PhysX技术被NVIDIA应用在自家的显卡之上。凭借着GeForce显卡的销量和NVIDIA的影响力,PhysX也逐渐得到了各大游戏公司的支持,越来越多的游戏也开始支持PhysX物理加速引擎。
NVIDIA的PhysX物理加速技术也开始发力
SpeedTree作为一种单一的游戏引擎并不为人所熟知,但是正是这种专一性让它在适宜的场合能够做到全功能引擎做不到的事情。
SpeedTree是业内最专门的植物渲染引擎,可以实现树木、植被的建模、动态刮风、平滑细部和多样灯光效果,可为游带来逼真的树木、草地等效果。
《虚幻3》中的SpeedTree引擎营造的参天大树
《上古卷轴4》中的SpeedTree渲染出的草地效果
当然,SpeedTree也不只是应用在游戏领域,SpeedTree也是商业上常用的建模工具,更有美国国防部利用SpeedTree进行真实战争场景模拟来进行军事训练。
除了最初的图形渲染功能之外,现在的游戏引擎已经是一个包含3D建模、动画设计、光影特效、AI运算、碰撞检测、声效处理等等多个子系统在内的全功能引擎,,全功能、模块化、按需订购的设计使得这类游戏引擎成为市场上的主流,更能满足游戏厂商的需求,而一些特殊而专业的引擎如物理引擎、植被引擎都集成在通用型游戏引擎里,如虚幻3引擎集成的PhysX和SpeedTree引擎,Source引擎集成的Havok物理引擎等。
游戏引擎已经脱离了游戏开发副产物的角色走上前台,随着游戏技术的提高,游戏引擎的研发时间和成本也在直线上升,像90年代Id公司那样一样更新一代游戏引擎已经不可能,如今一款开发一款优秀的游戏引擎没有三五年的功夫是下不来的,而且还要冒资金和技术上的风险,既要资金不断流也要技术不落后,没有一定的技术实力还真不敢揽这瓷器活。
几年前的LithTech引擎就耗费了开发公司五年时间和700万美元
不过,一旦开发成功,收益也是非常大的,就如虚幻引擎的开发商EPIC那样,只靠虚幻3引擎的授权,这家公司就可以活得很滋润,这样的先例也鼓舞着越来越多的公司仿效Id、EPIC瞄准引擎授权市场,这个领域中的竞争也日趋激烈,这在一定程度上可以促进引擎技术的发展,但是也希望游戏开发商不要忘记一点:一款游戏成功的关键不在于引擎的好坏,画质的高低,游戏本身好玩与否才是决定性的。马里奥、俄罗斯方块历经二十多年而不衰,有些高画质游戏可能两三年就无人问津,也许这个比较并不恰当,但是其中的含义还是很明了,决定游戏生死的永远是游戏本身是否好玩,这是最简单的道理,恐怕也是最难把握的道理。
引擎不是决定游戏好坏的唯一