如何开发游戏引擎
首先,什么是游戏引擎?
游戏引擎是开发游戏时用于模块复用的中间件。游戏引擎本身的概念是多层次的。从复用性来说,可以有0级游戏不使用游戏引擎。早期的游戏就属于这一类,每个游戏对应一个游戏库,但是没有复用性。在系统的纵向上,游戏引擎的下层是基础库,最上层可以是地图或者场景编辑器。从模块的横向来看,游戏引擎由图形引擎、AI引擎、物理引擎、网络引擎、脚本引擎等几个子引擎组成,每个子引擎又可以细分。总之,一个完整的游戏引擎(比如Unity和UE4)是一个相当复杂的软件系统。
可以看看杰森·格雷戈里(游戏引擎工程师米洛译)写的游戏引擎架构。这本书从各个角度帮助你了解游戏引擎的组织、模块之间的关系以及业内常用的优化方法。此外,你还需要找到一个突破点,选择一个引擎子系统的方向,学习它的知识和编程技巧(一般从图形引擎开始,学习OpenGL之类的图形API或者OGRE之类的中间件)。