[2.游戏引擎与游戏开发]
十几年前的游戏都很简单(以现在的眼光来看),容量大小都是以M计,通常一款游戏的开发周期在8到10个月左右,最主要的是,每款游戏开发都需要重头编写代码,期间存在着大量的重复劳动,耗时耗力。慢慢地,开发人员总结出一个规律,某些游戏总是有些相同的代码,可以在同题材的游戏中应用,这样就可以大大减少游戏开发周期和开发费用,慢慢地这些通用的代码就形成了引擎的雏形,伴随着技术的发展,最终演变成今天这样的游戏引擎。
同样地,游戏引擎出现之后,也在另一方面促进着游戏开发。随着显卡性能越来越强,游戏的画质越来越高,游戏开发周期也越来越长,通常都会达到3到5年,自行开发游戏引擎的话时间还会更长,所以大多数游戏公司还是选择购买现成的游戏引擎,简化游戏的开发过程。
那么,实际的游戏开发过程中,游戏引擎是如何把游戏与显卡连接在一起的,游戏中的各种特效是如何调用显卡来实现的?这个问题如果要回答的很专业,恐怕不在笔者知识范围之内了,不过我们可以用很简单的方法来说解释一下。显卡是游戏的物理基础,所有游戏效果都需要一款性能足够的显卡才能实现,
在显卡之上是各种图形API,目前主流的是DirectX和OpenGL,我们所说的DX10、DX9就是这种规范,而游戏引擎则是建立在这种API基础之上,控制着游戏中的各个组件以实现不同的效果。
在引擎之上,则是引擎开发商提供给游戏开发商的
SDK开发套件,这样游戏厂商的程序员和美工就可以利用现成的SDK为自家的游戏加如自家建立的模型、动画以及画面效果,而最终的成品则是各种游戏。
整个关系可用下面的关系图来表示。
游戏引擎与GPU的关系图
经过十多年的发展,游戏引擎的功能也越来越强大,涌现出一批比较知名的引擎如DOOM/Quake、Unreal虚幻,那么这些引擎的成功之处在哪里呢?