简单来说,我们可以把游戏的引擎比作赛车的引擎,但是这么说并不全面,大家知道,引擎是赛车的心脏,决定着赛车的性能和稳定性,赛车的速度、操纵感这些直接与车手相关的指标都是建立在引擎的基础上的。游戏也是如此,玩家所体验到的剧情、关卡、美工、音乐、操作等内容都是由游戏的引擎直接控制的,它扮演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台指挥它们同时、有序地工作。简单地说,引擎就是“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等。”目前的引擎已经发展为一套由多个子系统共同构成的复杂系统,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几乎涵盖了开发过程中的所有重要环节。
具体环节主要有:
光影效果——所谓光影效果,即场景中的光源对处于其中的人和物的影响方式。
物理——引擎的另一重要功能是提供物理系统,这可以使物体的运动遵循固定的规律,例如,当角色跳起的时候,系统内定的重力值将决定他能跳多高,以及他下落的速度有多快,子弹的飞行轨迹、车辆的颠簸方式也都是由物理系统决定的。另外,碰撞探测是物理系统的核心部分,它可以探测游戏中各物体的物理边缘。
渲染——当3D模型制作完毕之后,美工会按照不同的面把材质贴图赋予模型,这相当于为骨骼蒙上皮肤,最后再通过渲染引擎把模型、动画、光影、特效等所有效果实时计算出来并展示在荧幕上。渲染引擎在引擎的所有部件当中是最复杂的,它的强大与否直接决定着最终的输出质量。
桥接沟通——引擎还有一个重要的职责就是负责玩家与电脑之间的沟通,处理来自键盘、鼠标、摇杆和其它外设的信号。
通过上面这些的介绍我们至少可以了解到一点:引擎相当于游戏的框架,框架打好后,关卡设计师、建模师、动画师只要往里填充内容就可以了。因此,在3D游戏的开发过程中,引擎的制作往往会占用非常多的时间,正是出于节约成本、缩短周期和降低风险这三方面的考虑,越来越多的开发者倾向于使用第三方的现成引擎制作自己的游戏。
可以说,游戏引擎虽然有着“动力(Engine)”之名,但是其实际上却是行“大脑(brain)”之实,指挥控制着游戏中各种资源。游戏引擎的准确定义也是如此,“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等。” 我们不免会好奇,游戏引擎是怎么诞生的呢?
曾经有一段时期,游戏开发者关心的只是如何尽量多地开发出新的游戏并把它们推销给玩家。十几年前的游戏都很简单,容量大小都是以M计,但每款游戏的平均开发周期也要达到8到10个月以上,这一方面是由于技术的原因,另一方面则是因为几乎每款游戏都要从头编写代码,造成了大量的重复劳动。
渐渐地,一些有经验的开发者摸索出了一条偷懒的方法,他们借用上一款类似题材的游戏中的部分代码作为新游戏的基本框架,以节省开发时间和开发费用。根据老马的生产力学说,单位产品的成本因生产力水平的提高而降低,自动化程度较高的手工业者最终将把那些生产力低下的手工业者淘汰出局,引擎的概念就是在这种机器化作业的背景下诞生的。
1992年,3D Realms公司/Apogee公司发布了一款只有2兆多的小游戏——《德军司令部》。这部游戏开创了第一人称射击游戏的先河,更重要的是,它在X轴和Y轴的基础上增加了一根Z轴,这根Z轴对那些看惯了2D游戏的玩家造成的巨大冲击可想而知。
图为德军司令部
游戏引擎出现之后,也在另一方面促进着游戏开发。随着显卡性能越来越强,游戏的画质越来越高,游戏开发周期也越来越长,通常都会达到3到5年,自行开发游戏引擎的话时间还会更长,所以大多数游戏公司还是选择购买现成的游戏引擎,简化游戏的开发过程。
所以说,游戏引擎的出现可以说是革命性的,之后游戏引擎的开发也成了业界研究的热点。接着,就让我们从游戏引擎发展史上的佼佼者——EPIC GAMES的发迹看引擎的演变吧。
没有实力相当的竞争者,任何市场都无法发展起来的。1998年正当Quake II独霸整个引擎市场的时候,Epic公司的研发FPS游戏Unreal问世了。毫不夸张,第一次运行这款游戏的时候,我的确被眼前的画面惊呆了,精致的建筑物外,荡漾的水波,美丽的天空,庞大的关卡,逼真的火焰、烟雾和力场等效果。从单纯的画面效果来看,《虚幻》是当之无愧的佼佼者,其震撼力完全可以与人们第一次见到《德军司令部》时的感受相比。
EPIC GAMES凭借Unreal的出色表现名声大噪,两年之内就有18款游戏与Epic公司签订了许可协议。
紧接着,迎来了引擎发展的春天。
从2000年开始3D引擎朝着两个不同的方向分化,一是如《半条命》、《神偷》和《杀出重围》那样通过融入更多的叙事成分和角色扮演成分以及加强游戏的人工智能来提高游戏的可玩性,二是朝着纯粹的网络模式发展,在这一方面,id Software公司抢得先机,他们意识到与人斗才是其乐无穷,于是在Quake II出色的图像引擎的基础上加入更多的网络成分,破天荒推出了一款完全没有单人过关模式的纯粹的网络游戏——《雷神之锤3竞技场》(Quake III Arena),它与Epic公司稍后推出的《虚幻竞技场》(Unreal Tournament)一同成为引擎发展史上的一个转折点。
没过几年,虚幻2再接再厉,从2002年到06年四年之中都不乏大作的加盟,历时多年丝毫没有显出老迈的迹象,非常难得。
《虚幻竞技场2004》 2004 虚幻引擎2
虚幻前两代让EPIC GAMES从一个无名小卒发展成为业界领军,但是在EPIC GAMES开发的多款虚幻引擎中,最为大红大紫的无疑还是虚幻3,从2004年发布起,基于这款游戏引擎诞生了大量经典游戏大作,历经改进,时至今日依然宝刀未老,说它影响了整个FPS游戏的风格亦不为过,在世界游戏引擎发展史上留下了浓墨重彩一笔。 虚幻3引擎提供的智能化的程序模块和面向对象的开发构架让创建,测试,和完成各种类型的游戏制作变得更为简单高效。不得不提,虚幻3给人留下最深印象最深的就是其极端细腻的人物和物品模型,毫不夸张的是游戏史上的一个里程碑。虚幻引擎核心由C++编写,支持的平台包括Windows、Linux、Mac OS X、Dreamcast、Xbox、Xbox 360、PS2、PS3等。其多平台的适用性也帮助它奠定了游戏引擎中老大哥的位置。
至今,使用虚幻系列引擎的游戏已经多达一百多款,可谓枝繁叶茂。
图为2007年的虚幻竞技场3
图为大名鼎鼎的质量效应
最后需要指出的是,许多优秀的游戏开发者正在退出游戏开发市场,转而进入引擎授权市场,仅靠开发引擎吃饭,这是个危险的信号。尽管引擎的不断进化使游戏的技术含量越来越高,但最终决定一款游戏是否优秀的因素在于使用技术的人而不是技术本身。
如前所述,引擎相当于游戏的框架,框架打好后,你只需往里填充内容即可,在这里,框架只是提供了一种可能性,游戏的精彩与否取决于内容如何而非框架如何。3D游戏发展到今天,画面已经接近了照片级水平,但是许多玩家却再也找不回当年玩像素游戏时那种激动的感觉。游戏质量只在一点——是否好玩。(文/3DMGame)
“福利” 凤姐*V封面照——片名《野兽的救赎》