游戏引擎介绍

开源游戏引擎

  1. OGRE 架构优良,易学易用。
  2. Panda3D,PYTHON脚本引擎。
  3. Crastal Space,有扩充模块。

游戏引擎组成

游戏引擎与游戏本身并没有一个非常清晰的界限,不同类型的游戏,侧重点不同,游戏的各部分划分就有所不同。

大部分游戏,都会有一些相对独立的模块部分,如图形渲染系统、动画系统、资源管理、碰撞及物理检测系统、音频系统、游戏世界模型系统、人工智能系统等。

游戏引擎可分为工具套件运行时,两大部分。

常用的算法库:STL、STLport(可移植、优化的STL实现)、Boost、Loki(强大的泛型编程库)

常用图形库:openGl、DriectX、Edge等

常用碰撞与物理库:Havok、PhysX、Open Dynamics Engine(ODE)

角色动画:Grandy(优良的设计)、Havok Animation、Edge. 五种基本动画:精灵/纹理动画、刚体层次结构动画、骨骼动画、每顶点动画、变形目标动画。

人工智能库:Kynaspe

生物力学角色模型:Endorphin/Euphoria动画套件

引擎核心系统功能:断言、内存管理、数学库、自定义数据结构及算法、日志、RTII/反射/序列化、引擎配置、随机数生成器、单元测试、异步文件IO等

视觉效果系统:粒子系统(烟、火、水花等)、帖花系统(弹孔、脚印等)、光照贴图及环境贴图、动态阴影、后处理效果、PRT光照及表面反射、全屏抗锯齿等、颜色校正等

调试工具:intel的VTune、IBM的Quantify/Purify、Compuware的Bounds Checker

游戏性:通常使用两种语言实现,原生语言与高阶脚本语言。静态世界元素、动态游戏对象模型、事件/信息系统、世界加载/串流等

参考:

  1. 游戏引擎架构 (Jason Gregory)