游戏引擎初识

发表于2015-09-17
评论1 5.7k浏览

本文属于半原创半转帖,里面很多引用了网上现成的东西。关于次世代引擎,了解的不多,就讲了些个人看法,望有高手来指点一二。

====================================================================================

在阅读各类游戏介绍中我们经常会碰见引擎(Engine)这个单词,游戏引擎听上去很高端的样子,那到底什么是游戏引擎。本文将详细讨论游戏引擎概念、历史及其现状,让读者对游戏引擎有个大体了解,本文不涉及游戏引擎原理性内容,算是一篇入门级别的文章。

何谓游戏引擎

什么是游戏引擎?那么我们从这个词原意说起,引擎是赛车上一个部件,并且是核心部件,它决定着赛车速度、操控感、稳定性等,没有引擎赛车就无法前进。游戏中使用这个引申义,大家可初步设想下游戏引擎在游戏中会扮演一个什么样的角色。

简言之,游戏引擎就是每款游戏都具有控制所有游戏功能的主程序。有人会问,这不就是游戏部分代码嘛,为什么单独拿出来称之为游戏引擎呢?其实在上世纪90年代前,在我们年幼只有FC游戏时代,是没有游戏引擎的说法,当时游戏控制代码都是针对一款游戏所写。虽然这些早期的游戏大多简单粗糙,但每款游戏几乎都是从头编写代码,平均开发周期也要达到8-10个月。

逐渐的,开发人员总计出一些规律,某些类似题材的游戏总是有些相同的代码,代码复用可以大大减少游戏的开发周期和开发费用,慢慢地这些通用代码就形成了引擎的雏形,伴随技术的发展,最终演变成今天的游戏引擎。

当今的游戏引擎已经发展成为一套有多个子系统构成的复杂系统,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几乎涵盖了开发过程中的所有重要环节。

讲到这里,大家应该对游戏引擎有一定概念了。游戏引擎即可以做游戏开发的库,又作为游戏运行时环境,这个让我想到微软的.net framework。那么实际游戏开发过程中,游戏引擎是如何把游戏与显卡联系在一起,游戏中各种特效是如何显示的?显然这个问题已经过于专业了,不适合笔者来回答。我在网上看到一个图,该图能部分回答这个疑问,当然大家也能从这个角度作下深入挖掘。

 

该图是整体关系图,显卡是游戏的物理基础,所有游戏效果都需要一款性能足够的显卡才能实现,在显卡之上是各种图形API,比较主流的就是DXOpenGLDirectX是微软推的一套多媒体编程接口,目前最新版本是DirectX 11OpenGL是行业领域中最为广泛接纳的 2D/3D 图形API,由SGI公司发布。再往上便是游戏引擎和游戏引擎提供的编程接口。那么选择购买引擎的游戏厂商,他们的程序员和美工就可以利用现成的SDK为自家的游戏加如自家建立的模型、动画以及画面效果,而最终的成品则是各种游戏。 

游戏引擎的发展和3D FPS游戏有着极其深厚渊源,在后面游戏引擎历史回顾章节中在游戏举例中大部分都会是FPS游戏,FPS和游戏引擎之间好比一对孪生兄弟,它们一同诞生,一同成长,互相为对方提供着发展的动力。

 

游戏引擎史

游戏引擎历史这段,笔者想从游戏和引擎开发公司来展开,通常游戏引擎都是以某一款游戏为载体为玩家所熟识。

ID software

谈及游戏引擎,有一家游戏公司最应该被提起,也有一个人最不应该忘记,那就是ID software和它的创始人之一约翰.卡马克。据说这家公司仅有13名固定员工,而且停车场也只停13辆法拉利跑车。ID公司早期开发游戏引擎专注于图像处理。

Wolfenstein 3D

1992年,id software开发一款只有2兆多的小游戏——Wolfenstein 3D(德军司令部3D),这款游戏被誉为电脑游戏史上第一款FPS游戏。从截图上看,画面锯齿很严重,制作如此粗糙,似乎是那么不起眼,但是资历的玩家可能都还记得初接触它时的兴奋心情,它把玩家从2D平面游戏带入了3D的世界,也开创了3D射击游戏时代。

 

1993ID公司推出的DOOM(毁灭战士)。在DOOM中,角色与游戏中的物品的互动性进一步增强,楼梯、楼梯上的花朵以及路桥已经可升可降。游戏中的光照效果也不再单一,不同的单位也有了不同的亮度,此外DOOM引擎还支持立体声音效,环境的定位感更真实。这些效果在3D显卡都没有问世的1993年毫无疑问是非常激动人心的进步。

除了游戏本身,更重要的是,DOOM成为了ID公司第一款用于商业授权的引擎,在此之前引擎只是作为一种自产自销的开发工具,从来没有哪家游戏商考虑过依靠引擎赚钱,Doom引擎的成功无疑为人们打开了一片新的市场。

 

Quake

1996年,ID公司又推出另一款新型游戏Quake(雷神之锤),相比《DOOM》使用的将拥有高度信息的二维地图渲染成3D图像的伪3D引擎,Quake引擎是实实在在的3D引擎。

Quake引擎是当时第一款完全支持多边形模型、动画和粒子特效的引擎,而在技术之外,Quake的游戏操控方式也树立了FPS游戏的标准。游戏采用流动控制方案(fluid control scheme ),它使用鼠标来观看/瞄准/定向以及用键盘前进/后退/侧移,这也成了FPS游戏最普遍的操控模式,直到今日仍没有变化。

除了ID公司自己开发QuakeQuake World使用Quake引擎,还有大名鼎鼎的Half life(半条命)以及由Half life扩展出来的Counter-Strike(反恐精英),Half life使用了QuakeQuake II引擎。

 

Quake II

Quake一年之后,ID公司有发售了Quake II1997年时候,3D加速卡(就是现在的显卡)已经兴起,Quake II引擎已经支持硬件3D加速,当时较为知名的3D APIOpenGLQuake II引擎添加了256色材质贴图,首次实现了彩色光影效果,使得游戏中的物体在反射光影时候能展现出不同样的色彩效果,另外一个技术特性则是通过支持DLLdynamic-link libraries,动态链接库)文件实现了对软件渲染和OpenGL渲染的支持。

 

Quake III:Arena

1999年,Id又发布了Quake III:Arena,这是Quake系列的第三步,也标志着Id的引擎技术到了第三代。在这一时代,引擎已经不再支持软件渲染,必须要有一款支持硬件加速的显卡才能运行。

Quake III引擎增加了32Bit 材质的支持,还直接支持高细节模型和动态光影。同时,引擎在地图中的各种材质、模型上,都表现出了极好的真实光线效果。Quake III使用了革命性.MD3格式的人物模型,模型的采光使用了顶点光影(vertex animation)技术,每一个人物都被分为不同段(头、身体等),并由玩家在游戏中的移动而改变实际的造型,游戏中真实感更强烈。

使用Quake III引擎的游戏数量众多,比如早期的使命召唤》系列、《荣誉勋章》、《绝地武士2》、《星球大战》、《佣兵战场2》、《007》、《重返德军总部2》等等。

 

DOOM3

时间很快就到2004年,DOOM3Id公司的第四代引擎的代表作。Doom3席程序员罗布.达菲曾经说过:“Doom3从任何角度而言都是最完美的,而且它几乎完全追随并引导了硬件的发展。以id software的经验来看,Doom3估计又会被追捧至少5年,而在这5年里测试显卡FPS的基准估计都会是它了。”

在《DOOM3》中,即时光影效果成了主旋律,它不仅实现了静态光源下的即时光影,最重要的是通过shadow volume(阴影锥)技术,《DOOM3》引擎实现了动态光源下的即时光影在游戏中大规模的使用。

当然了,除了shadow volume(阴影锥)技术之外,《DOOM3》中的凹凸贴图、多边形、贴图、物理引擎和音效也都是非常出色的,可以说04年《DOOM3》一出,当时的显卡市场可谓一片哀嚎。

 

EPIC

如果要找一个能跟Id公司的Quake/DOOM游戏引擎相比肩的对手的话,那么EPIC公司的Unreal引擎无疑是最合适的。而且相比只负责3D图像处理的Quake/DOOM引擎来讲,Unreal涵盖的方面更多,涉及物理特性、动画演示、音频效果和碰撞检测等游戏的所有组件,也就是说Unreal引擎的集成度更高,通用性更强。

 

Unreal

1998522日,大约在Quake II发布后半年左右,由Epic Games开发GT Interactive发行了《Unreal 》问世,游戏中除了精致的建筑物外,还拥有许多游戏特效,比如荡漾的水波,美丽的天空,逼真的火焰、烟雾和力场,单纯从画面效果来看,《虚幻》是当之无愧的佼佼者。

得益于画面精美和DX规范的通用性,Unreal很快就得到了18款游戏的支持,包括《Unreal》、《Unreal Tournament》、《哈利波特》、《Rune》、《Deus Ex》等都用Unreal引擎实现了不同的游戏效果。而且,由于Unreal引擎的通用性,除了游戏,它还广泛使用在3D建模、建筑设计、动作捕捉、电影特效等等领域。

 

Unreal2

Unreal引擎一炮打响,EPIC又再接再厉推出了Unreal2引擎。相比第一代Unreal引擎,Unreal2的全部代码几乎重写,并集成了最新的编辑器。随着游戏开发的需要,游戏引擎的内涵也在不断扩大,Unreal2引擎拥有了更多的功能。

当时物理加速技术已然成形,Unreal2引擎便集成了Karma 物理加速技术开发包,引擎中的物理效果得以增强,并且开始支持XBOXPS2等主机平台。Unreal2引擎期间有过一次小幅升级,被称为UE2.5,渲染性能有了一定提高

Unreal 2

 

天堂2

 

Unreal3

到了DX9时代,EPIC公司推出了当前的主力干将Unreal3引擎,融合了众多新技术、新特性的Unreal3也是当前使用最广泛的引擎之一,在主机、单机、网游全面开花。

Unreal3支持64HDRR高精度动态渲染、多种类光照和高级动态阴影特效,可以在低多边形数量(通常在5000-15000多边形)的模型实现通常数百万个多边形模型才有的高渲染精度,这样就可以用最低的计算资源做到极高画质。Unreal3引擎还提供了强大的编辑工具,让开发人员随意调用游戏对象,真正做到所见即所得。

Unreal3引擎之中还集成了许多现成的游戏技术,包括PhysX物理引擎、SpeedTree植被引擎、EAX5.0音效引擎、AI引擎等,其中的PhysX物理加速技术是NVIDIA公司力推的,在PhysX游戏中会拥有更好的效果。

在采用Unreal3引擎的游戏中,《生化危机》、《Alpha Protocol》、《战争机器》、《荣誉勋章:空降神兵》、《枪神》、《质量效应》、《镜之边缘》都是知名大作,尤其是《战争机器》一度创下PC游戏的画质神话。

战争机器

 

Monolith公司的LithTech

整个90年代,游戏引擎的光芒似乎成了IdEPIC的专利,其余的公司都被这两大巨头所掩盖了,其实当时仍然有不少引擎精品,Monolith公司的LithTech引擎便是一例。

1998年,Monolith推出了新款游戏《ShogoMobile Armor Division》,这是一款结合了日本卡通的FPS游戏,使用的引擎便是LithTech。这款引擎耗费了Monolith公司五年的时间,花费超过700万美元,如此高的代价也迫使公司改名为LithTech,业务范围也转向LithTech引擎授权以图收回高昂的开发成本。

采用LithTech第一代引擎制作的游戏包括《血兆2》和《清醒》(Sanity)等。2000LithTech公司推出了引擎的2.0版本和2.5版本,加入了骨骼动画和高级地形系统,LithTech 3.0则衍生出了木星Jupiter)、鹰爪Talon)、深蓝Cobalt)和探索Discovery)四大系统,其中鹰爪被用于开发《异形大战掠夺者2》(Alien Vs. Predator 2),木星将用于《无人永生2》的开发,深蓝用于开发PS2版《无人永生》。

F.E.A.R

 

CryTek公司的CryENGINE

DOOM3和半条命2的同时代,育碧公司利用德国一家公司利开发的CryENGINE引擎做出了另一款画面堪称鬼神级的游戏FarCry》(孤岛惊魂),游戏一推出,就赢得了大片赞叹之声。



《孤岛惊魂》的画质达到了当时的巅峰

  CryENGINE引擎的开发者是德国的CryTek,当时名不见经传,在游戏引擎开发上属于新生代,但是第一次出手就表现不凡。CryENGINE引擎使用了“PolyBump”特效,利用很少的多边形做出了大量多边形才能实现的游戏效果,游戏中的动态光影效果也非常出色。


CryENGINE
引擎打造的画面即使现在看起来也很高

  CryENGINE引擎还HDR高动态压缩、3Dc等技术,后期还通过patch补丁升级了SM3.0支持,画面又有所增强。

  《孤岛惊魂》作为CryTek公司初出茅庐之作,展示技术实力的目的是达到了,但是引擎授权方面并不算成功,除了《FarCry》在主机平台的几款游戏之外,仅有NC Soft购买了授权用在自家的网游上,这款网游也正是现在火爆的《永恒之塔》(AION)。


《永恒之塔》的高画质便得益于CryENGINE引擎的超强表现

虽然第一代引擎出师不利,但是CryTekCryENGINE2引擎在DX10时代缔造了另一个画质新高,那就是著名的显卡危机Crysis》(孤岛危机)。还记得ID公司Doom3的主程放话说Doom3出来会统治游戏市场5年,但显然二年后Crysis就超越了Doom3,可见CryEngine2引擎的强大。

 CryENGINE2在一代基础上大幅强化,全面支持DX9中的SM2.0/3.0DX10中的SM4.0,引擎完整涵盖了游戏开发中的3D图像、游戏音效、AI人工智能、物理效果、脚本系统、动画系统、编辑器等,可为游戏开发者提供强大的可视化开发环境,此外CryENGINE2还支持64位系统,多核心多线程处理。

 

热门游戏引擎罗列

1、热门游戏引擎之:CryENGINE2

    代表作:《孤岛危机》、《孤岛危机:弹头》、《蓝色火星》

    CryENGINE引擎的开发者是德国的CryTek,当时名不见经传,在游戏引擎开发上属于新生代,但是第一次出手就表现不凡。CryENGINE2引擎几乎能够支持当今最新的所有图形视觉特效,是全能的超高端引擎。

    2、热门游戏引擎之:Gamebryo

    代表作:《上古卷轴IV》、《辐射3》、《战锤Online》、《星辰变OL》、《魔界2

     Gamebryo引擎属于高端级别引擎,是NetImmerse引擎的后继版本,是由Numerical Design Limited最初开发的游戏中间层,在与Emergent Game Technologies公司合并后,引擎改名为Gamebryo ElementGamebryo引擎提供一套完整的游戏框架,其强大的设计性和高度的灵活性使其获得很多游戏公司的青睐……

    3、热门游戏引擎之:BigWorld

    代表作:《北斗神拳OL》、《天下2

    澳大利亚BigWorld Pty. Ltd所开发的BigWorld引擎,由服务器软件、内容创建工具、3D客户端引擎、服务器端实时管理工具组成,为致力于构建富有创造力的一流的新一代网络游戏的开发商降低了开发周期和成本。

    4、热门游戏引擎之:Unreal Engine 3

    代表作:《战争机器》、《使命召唤3》、《生化奇兵》、《彩虹6号》、《流星蝴蝶剑OL》、《七剑》、《一舞成名》

    Unreal Engine 3(虚幻引擎3)是一个面向下一代游戏机DirectX 9个人电脑的完整的游戏开发平台,提供了游戏开发者需要的大量的核心技术、数据生成工具和基础支持..Unreal Engine 3EPIC当前的主力干将,融合了众多新技术、新特性的Unreal3也是当前使用最广泛的引擎之一,在主机、单机、网游全面开花。

    5、热门游戏引擎之:寒霜引擎

    代表作:《战地:叛逆连队2》、《荣誉勋章》《战地3》、《极品飞车:亡命天涯》、《镜之边缘2
瑞典DICE游戏工作室为著名电子游戏产品《战地》系列设计的一款3D游戏引擎。06年开发,08年完工。特点是可以轻松地运行大规模的、所有物体都可被破坏的游戏。

    6、热门游戏引擎之:Source

    代表作:《半条命2》、《反恐精英

    Source引擎(起源引擎)Vavlve公司研发,包括了3D图像渲染、材质系统、AI人工智能计算、Havok物理引擎、游戏界面、游戏声效等各个组件,而且创造性地使用了模块化理念,是当今主流引擎之一。

    7、热门游戏引擎之:id Tech 3

    代表作:《雷神之锤3》、《佣兵战场2》、《星球大战绝地武士 : 绝地学院》

    id Tech 3引擎从雷神之锤引擎 和id Tech 2引擎发展而来,是由id Software开发的用于多种游戏的游戏引擎。它和虚幻引擎、Source引擎是在世界上是用户最广泛的游戏引擎。

    8、热门游戏引擎之:X-Ray

    代表作:《潜行者》

    X-Ray引擎开发周期长达长达八年,由是世界上第一款支持DX9的引擎,在2003年诞生以来,一直走在业界图形技术的前沿...X-Ray引擎可以根据系统硬件配置自动调节游戏效能到最佳模式。

    9、热门游戏引擎之:EGO

    代表作:《超级房车赛:GRID》、《尘埃2

    EGO引擎是由CODEMASTERSSCE使用SONYPHYREENGINE跨平台图像引擎共同开发的,主要使用在赛车类游戏中。

    10、热门游戏引擎之:MT Framework

    代表作:《生化危机5》、《失落的星球》、《鬼泣4

    MT Framework引擎是日本著名游戏厂商Capcom自主研发的,其优越的技能效果是其成为日本3D游戏引擎中的佼佼者。

 

 

游戏引擎未来

游戏引擎未来相关文章较少,下面都是笔者个人观点,大家凑活着看,也欢迎有不同意见来喷。通过前面的介绍,相信大家对游戏引擎有了一定的了解。游戏引擎就是游戏发展的产物,它能缩短游戏开发过程,提高游戏质量。

你百度次世代引擎,那么之前提到的各大厂商他们正在努力开发他们下一代的引擎,他们称之为次世代引擎。笔者则认为游戏引擎由游戏发展而来,今后游戏市场怎么走会引领着游戏引擎技术变革。我们下面来看些数据:

2012年上半年,客户端网游实际销售收入197.3亿元,同比增长12.5%。与2011年上半年的同比增长率32.4%相比,下降幅度超过一半。

2012年上半年,网页游戏市场的实际销售收入38.2亿远人民币,比2011上半年增长了46.7%。中国网页游戏用户数达到2.05亿人,比2011年上半年增加了27.7%。预计到2012年底,网页游戏用户数将达到2.3亿人。

2012年上半年,中国移动网络游戏市场实际销售收入12.6亿元人民币,比2011年上半年增长了54.4%2012年上半年,中国移动网络游戏用户数达到0.78亿人,比2011年上半年增减了70.9%。预计到2012年底,中国移动网络游戏用户人数将达到0.98亿人。

从上述端游、页游、移动游戏销售来看,页游和移动游戏有着广阔的发展前景,那么在新的游戏领域,是否会有经典的引擎出现?我们从当前的页游市场去分析,从08年后,各大网游公司进入页游市场,可谓页游的黄金发展时代。除了SNS小游戏,策略类、MMORPG游戏也在页游中快速发展。虽然画面、表现力上不及端游,但它的便携性受到很多白领的追捧,假如日后随着技术发展页游能不断在画面、表现力上突破,那么赶超端游也未尝没有可能。

当前页游使用比较多的技术是jsflash,以后随着html5的发展,可能会成为新的趋势。前二天看了一段Aves Engine -HTML5网页游戏引擎演示视频,还是很震撼,虽然是二年前的视频。( http://v.youku.com/v_show/id_XMTgzMDE1MTY0.html

这个Dextrose AG开发商使用HTMLCSSJavaScript开发的引擎,会让你原来页游也可以如此之炫。

游戏可以根据你浏览器大小自动调整,你游戏地图很大,那么在大显示屏上就可以显示多点的地图。

Action Surfaces,通过APIs来分享和交换数据,如下图,游戏中的电视机可以播放视频,玩游戏中的游戏等。

Realtime World Editor让你简单的实现组织和配置游戏素材可以从资源文件夹中选择地面瓷砖和对象,然后在实时编辑器中进行移动,放置或者删除。也可以编辑你所有对象的属性,也可在一个直观易用的UI中对它们进行编辑。

视频里面提到更多内容,这边只是想说明,网页游戏和移动游戏将在未来有一个快速发展,那么很可能在网页游戏和在移动游戏会出现成熟的游戏引擎,需要我们更多的关注。

 

 

 

参考文章:

http://wenku.baidu.com/view/fbfbbfdba58da0116c1749d0.html

http://v.youku.com/v_show/id_XMzI2MDY2OTI4.html

http://blog.csdn.net/gogoda/article/details/4343983

http://www.pcpop.com/doc/0/678/678964_5.shtml

http://wenku.baidu.com/view/7895ad26482fb4daa58d4bd1.html

http://deepfuture.iteye.com/blog/704886

http://v.youku.com/v_show/id_XMTgzMDE1MTY0.html

http://game.zol.com.cn/137/1378977.html

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引