游戏引擎到底是什么? 恐怕即使是业内资深人士也很难三言两语说清楚。 下面我们就来敲开游戏引擎的大门,说说引擎的来龙去脉。
1.游戏引擎的诞生
最早的游戏引擎起源于20世纪90年代中期。 当时,一款游戏问世了第三方游戏开发引擎,大名鼎鼎的《毁灭战士》,它的开发者就是游戏界赫赫有名的约翰·D·卡马克二世。 科马克。 当时游戏已经被明确划分为3D图形渲染引擎、碰撞检测系统和音频系统、美术资产等,这也是我们游戏引擎的由来,直到后来的Quake III(雷神之锤)和Unreal Engine等设计引擎时考虑了可重用性和MOD。 然而,在最初设计发动机时,它是为特定目的而设计的。 例如,我们用来制作FPS的游戏引擎对于第一人称射击游戏比其他游戏更具可重用性。 这种类型的游戏要好得多。
1992年,一家名为Id Software的公司在游戏行业掀起了一场技术革命。 Id开发的《德军总部3D》正式发布,成为第一款将第一人称射击游戏(FPS)推向大众的作品。
《德军总部3D》采用光线追踪技术来渲染游戏中的物体,创造出前所未有的3D效果(严格来说是伪3D)。
依托《德军总部3D》的技术,Id公司于1993年正式推出采用DOOM引擎改进版的《DOOM》(代号Id Tech 1),Id Tech引擎系列由此诞生。 《毁灭战士》互动性高、灯光效果复杂、立体声音效等优势,为其当年带来了近350万份的销量。 当 Raven 与 Id 密切合作时,DOOM 引擎也成为第一个商业许可的引擎。 Id公司仅有的13名成员随着《毁灭战士》的成功全部成为百万富翁,而Id公司的领导者就是大名鼎鼎的约翰·卡马克。 DOOM引擎的成功只是Id在游戏引擎开发史上迈出的第一步。 1996年,Id推出的另一款作品《雷神之锤》再次成为游戏界的里程碑。
但随着时间的推移,游戏引擎或者中间组件已经变得越来越普遍。 随着计算机硬件的速度和显卡的应用,不同游戏类型的图形引擎差异已经变得很小。 虽然这个时期游戏引擎的概念还没有形成,但开发者们已经逐渐意识到“开发过程中需要从头开始,每次都重复大量工作”的问题,并开始构建更方便的工具开发 2D 作品。 工具。
2. 游戏引擎的定义
首先,什么是游戏引擎? 狭义的游戏引擎实际上是指包含游戏中全部(或大部分)功能模块的一整套编程接口API。 程序开发人员在程序编写过程中调用API直接实现所需的功能。 广义的游戏引擎已经包含了完整的游戏开发环境,其中包括图形界面和编程API。 除了程序员之外,游戏开发团队的很多成员,包括场景设计师、关卡设计师、美术、UI、材质等都可以使用它。
目前商业游戏引擎一般都属于游戏引擎的大类。 主流3D商业游戏引擎(如Unreal、CryEngine、Unity3D等)在运行环境界面上其实都是相似的。 它们都是一个整体的“所见即所得”的开发环境。 例如,在这样的环境中,关卡设计者可以直接编辑关卡; 美术或游戏逻辑设计师不需要编写代码,只需通过类似鼠标的“拖放”方式来编辑材质、设置游戏逻辑等。 。
3.游戏引擎的作用
游戏引擎在当前游戏开发中的重要性和意义是什么? 事实上第三方游戏开发引擎,正是因为它为游戏开发工作和开发团队提供了一个集成的、统一的开发环境。 因此,显着提高了开发效率,降低了开发难度。 因此,可以认为目前大多数游戏都是基于游戏引擎来制作和开发的。 那么我们可能会好奇,在游戏引擎普及之前,游戏制作和开发是如何进行的呢? 至少在功能实现上音乐音效,会主要基于DirectX或者OpenGL等比较底层的接口来开发。 实施难度比较高,工作量也比较大。 由此我们可以看出,游戏引擎在当代游戏开发中已经是不可或缺的了。 游戏引擎本身的整体软件架构,以及它需要处理的一些软硬件层和组件等。游戏引擎是一个非常复杂的软件系统,包含多个层和模块。 它涉及到硬件驱动、操作系统等多个层面。 而且,一个功能齐全的游戏引擎往往需要调用很多其他的第三方函数。 SDK(如Direct3D、OpenGI等图形SDK),或者类似Havok等的物理引擎。正是因为游戏引擎涉及的软硬件层次如此复杂,要实现的功能特别齐全,所以开发游戏引擎的研究涉及图形、物理、动画、人工智能、UI等多个方面,这对于游戏引擎的发展具有重要意义。 技术难度高、工作量大。
4.主流游戏引擎
接下来我们来看看目前全球主要的商业引擎。 所谓商业游戏引擎主要是指专门开发、销售游戏引擎的公司推出的、将自身作为商业产品使用的游戏引擎。 正是因为商业游戏引擎是为了让尽可能多的游戏开发者使用,所以往往更加注重功能的完备性、易用性、可扩展性等。目前全球商业游戏引擎主要有三大,分别是美国Epic公司的Unreal引擎、德国CRYTEK公司的CryEngine、美国Unity公司的Unity引擎。 对于虚幻引擎来说,Unreal是三大商业引擎中历史最悠久的。 在Unity引擎出现之前,Unreal在商业引擎市场占据绝对垄断地位,尤其是在大型3D游戏领域。 目前这一点没有改变。 它的整体功能是最强大的,附带的工具链也是最完整的。 当然,它的缺点是学习起来比较困难。 另外,在低配置硬件平台(比如很多智能手机平台)上运行也比较困难。 CryEngine引擎的一个非常重要的特点就是它的技术水平,尤其是在渲染技术方面,非常高。 但由于其学习难度较大、所需学习材料最少,其商业推广受到严重限制。 目前,其在营销方面在三款发动机中处于明显劣势。 至于Unity引擎,自问世以来,因其免费版本、对各种游戏硬件和平台的适应性强、易学易用等特点,迅速风靡全球。 目前是最受中小型游戏开发团队和个人游戏开发者欢迎的游戏引擎。 也是移动平台中小型游戏的首选开发引擎。 从某种意义上来说,可以说Unity引擎给游戏开发生态带来了近年来最大的变化,在降低游戏开发的技术门槛方面发挥了最大的作用。
5、游戏引擎发展趋势
就目前世界游戏引擎的发展趋势而言,虚幻引擎和Unity引擎这两个老对手都在努力弥补各自的短板,渗透到对方的领地。 例如,虚幻引擎正在努力提高低配置平台上的流畅度; Unity引擎正在努力提升其画面性能等,同时上述引擎基本已经成为AR/VR/MR虚拟现实领域的基础开发引擎。 也就是说,如果想要开发虚拟现实应用,这些商业引擎已经成为最主流的开发平台。 另一个重要趋势是,当前的游戏引擎已经逐渐扩展到包括影视制作、工业设计、建筑设计等,其他更广泛的应用领域不再局限于游戏开发。
如今的游戏引擎已经脱离了游戏开发副产品的范畴,真正脱颖而出。 然而,随着当前游戏技术的要求和提高,游戏引擎的开发时间和成本也在线性上升,而且并不是100%。 可以研发成功,比如SE的夜光引擎,却付出了相当大的代价失败了。
如今,想要开发一款优秀的游戏引擎,三五年内可能做不到,而且要承担资金和技术风险,但一旦成功,收益将非常大。 例如3D素材,开发了虚幻引擎EPIC。 光靠发动机牌照费就能过上富裕的生活。 这个例子也鼓励越来越多的企业效仿Id和EPIC的榜样。 另一方面,也有比如Capcom的RE引擎只供自己家用的例子。
游戏质量的关键并不是引擎的质量。 《俄罗斯方块》已经持续了二十年,而该引擎制作的一些模块化游戏却被忽视了两三年。 正如今年 Respawn Studios 选择虚幻 4 而不是 EA 的 Frostbite 引擎来制作《星球大战绝地:陨落的武士团》一样,任天堂也经常根据某个游戏来选择特定的引擎。 由此可见,引擎并不能决定游戏的品质。 根本原因会在一定程度上影响其成功。