开发一款游戏引擎所需要的知识与技术
游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。大部分都支持多种操作平台,如Linux、Mac OS X、微软Windows。
游戏引擎包含以下系统:
渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。
游戏引擎这几个部分必不可缺
- 渲染部分,这部分包括渲染管线的管理,Shader,场景管理,显而易见,这部分是基础
- 虚拟机,如果想实现跨平台特性,以及编辑过程中的脚本反射,热调试等特性,内置一个虚拟机是必备的
- 插件系统,一款好的引擎不仅在于提供了必备的功能,也在于“只提供”必备功能,比如像物理、声音、网络这些模块,其实是可以是以插件存在的,在实际做游戏项目过程中,项目提出的各种古怪需求层出不穷,如果一开始没有一套好的插件架构,很快引擎就会被项目拖死
- 资源管理,这部分太重要了,也很容易被忽视,想实现跨平台,设备兼容性,资源更新,内存优化,多人协作,对于资源的管理是基础
- 配套工具,比如编辑器,调试器,效率分析工具等,从代码量来说,这部分的工作量要大大超过核心部分,也是最体现引擎“品味”的部分。
想做引擎最需要的是扎实的基础&