关于游戏引擎和中间件
过去开发游戏的时候,游戏机生产商提供的只是硬件的规格书和非常基本的“库”。所以,游戏需要的各种程序功能都需要游戏开发团队自己开发。从PC,FC的8位机时代开始,到SFC,MD的16位机时代结束,这样的开发都没有产生大的问题。游戏硬件的规模,以及在上面运行的软件规模还能允许使用这种粗糙的办法。我们可以将其称之为游戏开发“过去的好时光”。
在初代PS的时代,除去部分大型开发商,主流还是这样的开发环境,到了PS2中后期,先进的工作室开始引入了“游戏引擎”的概念。让游戏运行首先需要“完成各种固定任务的程序”,比如图像处理,音频处理,网络处理,游戏控制器各种输出的处理,存储设备(记忆卡和硬盘等)的输入输出处理等等。先进的游戏开发工作室,会将这些固定的程序以“库”的形式保存共享,在开发其他游戏时利用上。不过,游戏硬件随着时代发展越来越复杂,机能功能越来越多越来越强,中小规模的工作社已经很难自己解决一切问题。于是,擅长特定领域的开发者们开始提供能更简单便捷地利用设备性能,实现游戏所需特定机能,可以跨机种共通使用的程序。这些就是针对游戏开发生产出来的中间件。许多中间件都是游戏开发经验丰富的程序员完成的。
中间件:字面定义就是在应用软件与操作系统,驱动程序之间的软件。在游戏开发领域,中间件的定义更加广泛。我们可以理解成在游戏软件中实现特定功能的软件。
著名的中间件:将Silicon Studio的“YEBIS 2”整合到图像引擎中,就可以产生实际摄影一般的特效。“YEBIS 2”是由照片真实级图像闻名的日产XBOX作品《Double STEAL》的开发者着手研发的。
左边是YEBIS 2使用前,右边是使用后。高光溢出的效果和镜头虚化的效果都是YEBIS 2生成的。
SE制作的DEMO影像“Agni’s Philosophy" 中,散布在背景中,能反应镜头光圈形状的光芒,魔法发动的闪光的溢出效果,还有火星的虚化都是YEBIS 2完成的。
关于游戏引擎,中间件的定义:游戏引擎和游戏开发中间件这两个词汇之间,没有非常明确的界线。而且,将各种软件模块系统整理起来的库既不算游戏引擎,也不算中间件。要进一步分类的话,我们可以这么理解,游戏引擎就是“单独使用,不需要更多东西就能开发游戏”的工具。游戏开发用中间件就是“完全负责游戏需要的某个特定机能”的工具。库就是“将已经开发完成的游戏程序代码再利用的软件模块”。
游戏引擎的兴起和意义所在
随着时代进步,到PS3和360这一代游戏机,游戏开发的规模更加庞大。在这样的环境下,除了提供游戏开发必要功能的“库”,负责“内容流水线”,涵盖游戏开发整体的中间件开始兴起。
内容流水线:游戏开发中,编程以外还有3D建模,纹理,声音等数据制作的内容。哪种数据,用什么工具,生成什么数据形式,怎么整合到游戏程序中,这样的结构和流程,就是内容流水线。
为了将这种中间件和之前的区分,同时还为了说明它们是让游戏运作的“根本驱动”,人们将其称之为游戏引擎。游戏引擎,游戏开发中间件,库之间是共存共荣的关系。实际游戏开发中会根据游戏的需要使用特定的工具,有必要的地方也会将其组合起来灵活运用。比如说,打算开发的游戏和某个游戏引擎的功能与特性非常合拍,那就单独使用这个引擎进行开发。如果游戏当中需要特殊的物理模拟,就可以开发能整合到游戏引擎中的特定物理模拟中间件。大型游戏开发工作室拥有经过长期开发积淀下来的“库”,也会结合特殊专用中间件进行开发。
整合中间件的游戏开发:CAPCOM的《DMC鬼泣》使用了EPIC的游戏引擎“Unreal Engine 3”,但场景破坏方面选择了HAVOK的物理模拟中间件“HAVOC Physics”,因为物理模拟专业性强,大工作室也会经常使用社外的中间件。游戏机的性能随着时代发展迅速提升,这也抬高了玩家们对新游戏体验的期待。伴随着的就是开发成本的飙升。由于这些原因,新世代游戏开发在规模上更大,质量上要求更高。对游戏品质的需要促使着开发者提高开发效率,并且降低开发成本,实现这些目标的,就是游戏引擎和中间件。
Gamebryo Element引擎是由C++编写的多平台游戏引擎
支持平台:
Windows、Wii、PlayStation 2、PlayStation 3、Xbox和Xbox 360。
特点:
虽然Gamebryo的渲染引擎部分是私有的,但他允许使用者添加自己的图形绘制代码。Gamebryo包含了长达3500页的说明书,然而关于Maya的部分却不完整,有的已经过时。Emergent为部分客户提供开发套件,但不提供这些套件的源代码,而且套件只提供给EGT公司代表面谈后认为可以提供的客户。
代表游戏:
腾讯:御龙在天、轩辕传奇、QQ飞车
盛大:星辰变
Unreal Engine(虚幻引擎,简称UE)是美国EPIC GAME从自家的FPS游戏《虚幻》延伸出来的。UE2取得了商业上的巨大成功,使用的各家公司多会独立对其进行扩张修改,呈现出独特的发展面貌。UE2改造版制作的作品,知名的有育碧的《分裂细胞》系列。游戏引擎业务获得成功的EPIC赢得了游戏机开发商的信赖,360和PS3登台前的2004年,EPIC发布了UE3。UE3对PS3和360的跨平台游戏开发起到了非常重要的作用。2012年,EPIC发布了次时代的游戏引擎UE4,2013年又表示UE4支持PS4。
UE4支持平台:
DirectX 9/10 PC、Xbox 360、PlayStation 3、 PS3、 PS4、
特点:
UE是一个以“所见即所得”为设计理念的操作工具,在可视化的编辑窗口中游戏开发人员可以直接对游戏中角色、NPC、物品道具、AI的路点及光源进行自由的摆放和属性的控制,并且全部是实时渲染的(并且这种实时渲染还有动态的光影效果)。 并且还有完整的数据属性编辑功能,可以让关卡设计人员自由地对游戏中的物件进行设置或是由程序人员通过脚本编写的形式直接进行优化设置。目前UE4全部免费,有兴趣的朋友可以下载来试下。
Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac widgets所支持。
支持平台:
Windows、Mac、Wii、iPhone、Windows phone 8、android
特点:
入门快,开发效率高, 插件、工具多; 非开源,收费,但是技术支持好。
Source Engine
起源(source)引擎是一款3d游戏引擎,由Valve软件公司为了第一人称射击游戏《半条命2》开发,并且对其他的游戏开发者开放授权。作为一款整合引擎,起源引擎可以对开发者提供从物理模拟、画面渲染到服务器管理、用户界面设计等所有服务。引擎附带“起源开发包”和“起源电影制作人”两款程序,前一个可以制作游戏,而后一个更是业界首个专门制作游戏电影cg的程序。