[1. 介绍]
什么是游戏引擎? 大多数人给出的解释都是基于引擎的英文翻译,将游戏引擎等同于汽车中的引擎(引擎),更好的解释为动力。 这些解释是正确的,但威力并不全面。 完整体现了游戏引擎在游戏中的作用和地位。
我们先举一个简单的例子。 某款游戏的场景中,玩家控制的角色躲在屋内,敌人正在屋外搜寻玩家。 突然,玩家控制一名身穿迷彩服的士兵,突然打翻了桌子上的一个杯子,杯子掉在地上发出破碎的声音,敌人听到房间里的声音后向玩家位置聚集,玩家射击敌人,子弹引爆周围的易燃物质,产生爆炸效果。 在这个简单而常见的过程中,游戏引擎在后台工作,控制游戏中的每一个动作。
如果用专业人士的语言来分解这个过程,会是这样的:首先出现的是可操作的士兵,即人物模型。 引擎中的动画系统赋予模型运动能力。 角色在游戏中可以执行什么动作取决于动画系统的强大程度。 人物的真实程度取决于3D模型渲染引擎的能力,这也是游戏引擎最重要的功能之一,游戏的品质由它决定。 之后,士兵打翻了杯子。 这个过程涉及到发动机的碰撞检测。 它可以决定不同的物体接触时会产生什么样的结果。 有些游戏可以穿墙,有些则不能。 不同的碰撞检测控制。 在示例中,杯子被打翻并且杯子发出破碎的声音。 当某个动作发生并发出相应的声音时,就属于引擎中的音效处理。 杯子破碎的声音吸引了敌人的注意。 这是因为引擎中的AI智能计算在发挥作用。 最终,双方交火并引发爆炸。 爆炸所产生的烟雾和爆炸物是由于发动机中的物理效应造成的。
可以说,游戏引擎虽然有“引擎”的名字,但实际上它是指挥和控制游戏中各种资源的“大脑”。 游戏引擎的精确定义也是如此,“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和对象的相对位置,到接受玩家输入并以正确的音量输出声音等”。 通常来说,游戏引擎包括以下几个系统:渲染引擎(即“渲染器”,包括二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、计算机动画、人工智能、网络引擎和场景管理。
浅谈游戏引擎开发(二)
[2. 游戏引擎和游戏开发]
十几年前的游戏非常简单(从现在来看),容量以M来衡量。通常一款游戏的开发周期在8到10个月左右。 最重要的是,每个游戏开发都需要从头开始编写代码,存在大量重复工作,费时费力。 慢慢地,开发者们想出了一个规则,就是有些游戏总是有相同的代码,可以在同一题材的游戏中应用,这样可以大大降低游戏的开发周期和开发成本,这些通用的代码逐渐成为了游戏的核心。引擎的雏形就形成了,随着技术的发展,最终演变成了今天的游戏引擎。
同样,游戏引擎的出现也从另一方面推动了游戏的发展。 随着显卡的性能越来越强音效,游戏的画面质量越来越高,游戏开发周期也越来越长,通常达到3到5年。 如果游戏引擎是自己开发的,时间会更长,因此大多数游戏公司仍然选择购买现成的游戏引擎来简化游戏开发流程。
那么,在实际的游戏开发过程中,游戏引擎是如何连接游戏和显卡的,游戏中的各种特效是如何调用显卡来实现的呢? 如果要专业地回答这个问题,恐怕超出了作者的知识范围,但是我们可以用非常简单的方式来解释。 显卡是游戏的物理基础。 所有的游戏效果都需要有足够性能的显卡才能实现。 显卡之上是各种图形 API。 目前主流的是DirectX和OpenGL。 我们所说的DX10、DX9就是这样的规格。 ,而游戏引擎就是基于这个API构建的,控制游戏中的各个组件来实现不同的效果。
在引擎之上,还有引擎开发者提供给游戏开发者的SDK开发包,让游戏厂商的程序员和美工人员可以使用现成的SDK,将自己的模型、动画和画面效果添加到自己的游戏中。 而最终的产品就是各种各样的游戏。
整个关系可以用下面的关系图来表示。
游戏引擎与GPU的关系
经过十多年的发展,游戏引擎的功能越来越强大,涌现出一批知名引擎,如DOOM/Quake、Unreal等。 那么这些引擎的成功之处在哪里呢?
浅谈游戏引擎开发(三)【3什么是好的游戏引擎】
如今,游戏引擎已经从早期游戏开发的辅助角色变成了今天的主导角色。 对于一款游戏来说,能够达到什么样的效果很大程度上取决于所使用的引擎有多强大。 如果要判断什么是优秀的游戏引擎,那么优秀的游戏引擎必须具备以下优点:
1、游戏功能齐全。 随着游戏要求的提高,现在的游戏引擎不再是简单的3D图形引擎,而是涵盖了3D图形、声音处理、AI计算、物理碰撞等游戏中的各种组件,组件设计也应该是模块化的。 ,可按需购买。 以近两年最成功的引擎虚幻3引擎为例。 虽然总授权费用(不包括售后技术服务)高达数十万甚至数百万美元,但可以单独购买相关组件以降低授权费用。
2.强大的编辑器和第三方插件。 一个优秀的游戏引擎还需要一个强大的编辑器,包括场景编辑、模型编辑、动画编辑等。编辑器越强大,艺术家可以使用的房间就越多,可以创造的效果就越多。 插件的存在使得3DS Max和Maya等第三方软件能够与引擎对接,无缝导入和导出模型。
3.简单有效的SDK接口。 一个优秀的引擎会将复杂的图像算法封装在模块内部,并向外界提供简单有效的SDK接口,这将有助于游戏开发者快速上手。 这就像各种编程语言一样。 语言越高级,就越容易。 使用。
4、其他辅助支持。 优秀的游戏引擎还提供网络、数据库、脚本等功能。 这对于网络游戏的引擎来说更为重要。 网络游戏还需要考虑服务器端的条件,保证优秀的画质的同时减轻服务器端极高的压力。
以上四项对于当今的游戏引擎来说都不是问题。 当我们回顾过去的游戏引擎时,我们会发现这些功能都是从无到有慢慢开发出来的。 早期的游戏引擎与今天无关。 优势,但正是这些先驱者推动了今天的发展。
浅谈游戏引擎开发(四)
[4. 3D游戏引擎的始祖——《德军总部3D》】
说起游戏引擎,最应该提到的一家游戏公司,也最不能忘记的一个人,那就是ID Software及其创始人之一约翰·D·卡马克(John D. Carmack)。 据说,这家公司只有13名正式员工,停车场里停着的法拉利跑车也只有13辆。 从这个八卦中我们可以看出,大家都在关注这家公司是如何富甲一方的富豪,但这群狂人开发的游戏技术更是令人骄傲。
1990年,卡马克和另一位id巨头罗梅罗制作了一款小游戏《指挥官基恩》(《Commander Keen》),这是第一个在PC上实现卷轴式游戏背景的流畅效果的游戏。 后来,他们还花了一晚上的时间,将当时的街机游戏《超级马里奥》移植到了PC上,实现了流畅的横板效果。 他们将PC版的《超级马里奥》寄给了任天堂,希望能够引起任天堂的兴趣。 当然,任天堂确实很感兴趣,夸奖了他们几句,但就没有后续了(一个大人物在成名之前总是被另一个大人物忽视)。 1991年,卡马克和罗梅罗创立了ID Software并开始了自己的事业。
接下来的事情非常简单。 id公司凭借卓越的技术和狂热的信念,创造了一个又一个技术高峰。 不久之后,他们推出了《德军总部3D》(Wolfenstein 3D)。 这款游戏的画面现在看来可能不值一提,但它却是3D射击游戏的鼻祖。 卡马克还获得了“FPS游戏之父”的称号。
《重返德军总部3D》成为游戏引擎之祖
作为最早的3D游戏引擎之一,《德军总部3D》(Wolfenstein 3D)采用光线追踪技术来渲染游戏中的物体(严格来说,《德军总部3D》仍然是伪3D)。 游戏中的每个像素都会发出光束。 如果光束碰到障碍物形成反射,游戏就会根据设定的程序在障碍物对应的位置创建一个单维深度缓冲区(Dimensional Depth buffer),创建纹理图像。 。
游戏图像
《德军总部 3D》开创了 3D 射击游戏的时代,其独创的 3D 技术也被其他游戏所采用,如《布莱克·斯通》、《走廊 7》、《人体计数行动》、《超级诺亚方舟 3D》(超级诺亚方舟 3D)、《崛起》 Triad(可以看作是《德军总部3D》的续作,增加了跳跃、鞠躬、抬头等动作),以及尚未发布的Hellraiser(养鬼、吃人)等游戏都使用了卡马克的技术。
浅谈游戏引擎开发(五)
[5. 《DOOM》的问世——Id系列引擎的Id Tech 1】
注:Id公司将自己的引擎技术指定为Id Tech,DOOM引擎为Id Tech 1。以下文章将按此顺序撰写。
《德军总部3D》只是ID技能的一次小试炼。 ID于1993年推出的DOOM游戏引擎就是引擎技术的代表。 DOOM引擎改进了《德军总部3D》引擎中的一些缺陷,比如所有房间的高度相同、所有墙壁都是垂直的、运动只能向前或向后直线移动等等简单的游戏引擎,而且很多添加了新的效果。
厄运
在《DOOM》中,角色和游戏内物品之间的互动得到了进一步增强。 楼梯、楼梯上的花以及道路和桥梁现在可以升高或降低。 游戏中的灯光效果不再单调,不同的单位有不同的亮度。 此外,DOOM引擎还支持立体声音效,使环境更加真实。 在 1993 年 3D 显卡还没有出现的时候,这些效果无疑是非常令人兴奋的进步。
《DOOM》一代的图片
凭借自身的卓越,DOOM取得了350万的销量,为ID公司带来了巨大的财力。 更重要的是,《DOOM》已经成为ID第一个商业授权的引擎。 从《DOOM》开始,游戏公司有了另一种创收方式。 当时使用DOOM引擎的游戏主要有:Raven的《ShadowCaster》(投影仪)、《Heretic》(1994年)、《Hexen》(1995年)、Rogue Entertainment的《Strife》、《HacX》(免费)和《Marine Doom》 ”美国海洋公司等。 这些游戏都使用DOOM引擎。 其中Raven公司与ID公司的合作最为密切,其出品的三款DOOM引擎游戏也较为知名。
《DOOM》发售一年后简单的游戏引擎,ID 发布了《DOOM》系列的第二部作品《DOOM:人间地狱》。 凭借id的号召力和初代的影响力,《DOOM II》于1994年荣获最佳原创奇幻/科幻电脑游戏奖,创下了销量和声誉的新纪录。
毁灭战士2
然而,从技术角度来看,《DOOM II》并没有什么创新之处。 使用的DOOM并没有带来新颖的图形技术,甚至游戏中的怪物和武器也没有添加太多。 虽然id在1995年就发布了资料片《Master Levels for Doom II》,但人们仍然对《DOOM III》充满期待,但这种期待需要很长时间。 10年后的2004年,《DOOM III》上映。 正式发布。
浅谈游戏引擎开发(六)
[6. 雷神公司的问世——ID系列发动机的“雷神之锤”]
正当DOOM系列如火如荼的时候,Id在1996年发布了另一款新游戏《Quake》。与《DOOM》中使用的伪3D引擎将带有高度信息的二维地图渲染成3D图像相比,Quake的引擎是真正的3D引擎。
真 3D 模式下的 Quake 引擎
Quake引擎是当时第一个完全支持多边形模型、动画和粒子效果的引擎。 除了技术之外,《雷神之锤》的游戏操控方式也为FPS游戏树立了标准。 游戏采用了流体控制方案(fluid control schema),即使用鼠标进行注视/瞄准/定向,键盘进行前进/后退/侧向移动,这已经成为FPS游戏最常见的控制模式,直到现在也没有改变。今天。
Quake的出现奠定了FPS游戏的经典操控方式
Quake引擎主要被Id自己的Quake和Quake World系列、HeXen II(Heretics)、MageSlayer、Nexuiz(Wasteland)、Day of Defeat(Day of Victory)以及著名的《半条命:》(Half life)和《反恐精英》是《半条命》的扩展版。
著名的CS使用的是Quake引擎
浅谈游戏引擎开发(7)
[7. 多彩光影效果-ID公司系列引擎Id Tech2】
20世纪90年代,Id非常勤奋,几乎每年都会推出一款新游戏,每次都会给人们带来或多或少的惊喜。 《雷神之锤》一年后,Id 发布了《雷神之锤 II》,所使用的引擎也升级为 Id Tech2。
《雷神之锤II》
1997年,当3D加速卡(图形卡称为3D加速卡)出现时,“Quake II”引擎就已经支持硬件3D加速。 当时著名的3D API是OpenGL,《Quake》也注重优化。 OpenGL的性能,这也为Id公司系列游戏采用OpenGL渲染奠定了基础。
《雷神之锤II》首次实现彩色光影效果
Id Tech2引擎新增了256色材质贴图,并首次实现了彩色光影效果,让游戏中的物体在反射光影时呈现出不同的颜色效果。 另一个技术特点是支持DLL(动态链接库,Dynamic link library)文件实现了对软件渲染和OpenGL渲染的支持。
基于Id Tech2引擎的游戏有《雷神之锤II》、《Anachronox》(时空传奇)、《大剑》(Id另一强人罗梅罗离开Id后开发的游戏)、《财富战士》( 《Soldier of Fortune》)、《半条命》(Quake 和 Quake II 的代码均可用)。
《刀锋》是罗梅罗离开Id后使用《雷神之锤II》引擎制作的游戏。
浅谈游戏引擎开发(8)
[8. 3D加速卡时代即将到来——ID系列引擎之Id Tech3】
1999年,Id发布了《雷神之锤III:竞技场》,这是《雷神之锤》系列的第三步,也标志着Id的引擎技术进入了Id Tech3时代。 这个时代,Id Tec3不再支持软件渲染,必须有支持硬件加速的显卡才能运行。
《雷神之锤 II》引擎需要硬件加速卡才能运行
《Quake III》引擎增加了对32Bit材质的支持,还直接支持高细节模型和动态光影。 同时,该引擎在地图中的各种材质和模型上都表现出了出色的真实光效。 《雷神之锤 III》采用了革命性的 .MD3 格式的角色模型。 模型的光照采用了顶点动画技术。 每个角色都分为不同的部分(头部、身体等),并由游戏中的玩家控制。 通过移动改变实际形状,游戏中的真实感更强。
《雷神之锤 III:团队竞技场》
《雷神之锤 III》有游戏内命令行模式。 几乎所有使用该引擎的游戏都可以使用`键调出游戏命令行界面,通过指令修改游戏贴图笔刷,增强了引擎的灵活性。
《Quake III》是一款非常优秀的游戏引擎。 即使在今天,这款发动机仍然有优点。 即使画面质量可能不是一流的,但其出色的便携性、易用性、灵活性和灵活性使其仍然能够发挥其作为游戏引擎的作用。 使用“雷神之锤III”引擎的游戏有大量,如早期的《使命召唤》系列、《荣誉勋章》、《绝地武士2》、《星球大战》、《雇佣兵战地2》、 《007》、《重返德军总部2》等。
第一代《使命召唤》使用的是“Quake III”引擎
浅谈游戏引擎开发(9)
[9. 《DOOM3》震撼推出——ID系列引擎Id Tech4】
时间很快就来到了2004年,这个时代已经是DX9显卡的时代,但人们关注的年度3D大作依然是基于OpenGL渲染的《DOOM3》,这也是Id第四代的代表作引擎--Id Tech 4 . 《DOOM3》的命运很不幸。 2003年的源代码泄露事件让《DOOM3》深受伤害,但也让其强大的外表和要求为人所知。
DOOM3引擎的创举
当时的《DOOM 3》有多强大? id家族成员可能最了解这一点。 《Doom3》的首席程序员 Rob Duffy 曾表示:“Doom3 从任何角度来看都是最完美的,它几乎完全遵循和指导了硬件的发展。以 id software 来看,从我的经验来看,Doom3 估计会很受欢迎。”至少5年了,估计这5年测试显卡FPS的标杆就是它了。” (你的话太大了,至少超过了2007年上映的《孤岛危机》)。
在《DOOM3》中,实时光影效果成为了主旋律。 它不仅实现了静态光源下的实时光影,最重要的是,通过阴影体积(阴影锥)技术,《DOOM3》引擎实现了动态光源下的实时光影。 广泛应用于游戏中。
阴影体积关闭(左)和打开(右)的效果比较
当然,除了阴影体积(阴影锥体)技术之外,《DOOM3》中的凹凸贴图、多边形、纹理、物理引擎和音效也非常出色。 可以说,2004年《DOOM3》问世时,当时的显卡市场可谓是一片哭声。 GeForce FX 5800/Radeon 9700以下的显卡基本失去了高品质显卡下流畅运行的能力,只有现在的《孤岛危机》可以与之相比。
《雷神之锤4》是Id目前最先进的引擎
由于DOOM3引擎的优秀,后续的大量游戏都使用了这款引擎,包括《DOOM3》资料片《邪恶的复活》、Id自己的《Quake4》(实际上是Raven捕获的)、Human Head Studios的Prey 、Splash Damage 的敌方领地:Quake Wars 和 Brink、Raven 的德军总部等等。
Id Tech 5 引擎能否让 Id 走在引擎技术的最前沿?
现在,Id仍在致力于《DOOM4》的开发,引擎已升级至Id Tech5。 尽管详细的技术规格仍然是个谜,但卡马克已经表示:“《毁灭战士4》是一款力争30帧的作品。这就像应用了全新的引擎,基于我们四年的研发。” 如果他指的是游戏发售时的硬件水平,那么Id Tech5引擎可能又是高端显卡的坟墓了。
游戏引擎开发漫谈(10)
[10. 又一个巨头的崛起——虚幻锦标赛引擎 Unreal]
如果你正在寻找能够与Id的Quake/DOOM游戏引擎抗衡的对手,那么EPIC的Unreal引擎无疑是最合适的。 而且相比于Quake/DOOM引擎只负责3D图像处理,Unreal涵盖的方面更多,涉及物理特性、动画呈现、音频效果、碰撞检测等游戏的所有组成部分,这意味着Unreal引擎更加集成。 高且更通用。
注:Quake/DOOM后来还涉及到物理碰撞、音频处理等,游戏引擎的发展正在朝着全面发展的方向发展。
1998年5月22日,也就是《雷神之锤II》发售大约半年后,由Epic Games开发的GT Interactive发售了《虚幻》。 除了精美的建筑外,游戏还拥有许多游戏特效,如碧波荡漾的水波、美丽的天空、逼真的火焰、烟雾和力场,纯粹从画面效果来看,《虚幻》是当之无愧的佼佼者。
最早的“虚幻”画面
虽然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规格的多功能性,虚幻很快得到了18款游戏的支持,包括《虚幻》、《虚幻竞技场》、《哈利·波特》、《符文》、《杀出重围》等,它们都使用了虚幻引擎实现不同的游戏效果。 而且,由于虚幻引擎的多功能性,除了游戏之外,还广泛应用于3D建模、建筑设计、动作捕捉、电影特效等领域。
《Deus Dex》使用虚幻引擎 1