数学基础:图形学,矩阵线性代数,高数等;
算法:常见的排序,查找,进一步常见的还有分治,贪心,动态规划。另外,除了这些基本的算法,在游戏领域还是有很多其他领域不太常用的算法,比如八叉树查找,碰撞检测,A*。还有一些很特殊的情况需要开发者自己去寻找合适的算法。
C++(C#):基本语法,模板,代理,命名空间,const,继承,内存结构,虚表,引用,断言,宏定义等
数据结构:首先是掌握链表,数组,队列,堆,栈,图,树等数据结构,然后是各种排序,查找,遍历等算法。
设计模式:一般来说,我们需要设计模式来快速的搭建游戏逻辑框架,比如前面提到的各种逻辑系统。而且还需要通过设计模式来理解引擎各个模块的设计思路。
对引擎各个模块由一定深入的理解。
内存管理:内存池技术,各种C++的new的使用。
对开发工具的熟悉,而且对不同引擎相关的内容都有一定理解,可以很快的触类旁通。
性能分析与性能优化: 主要就是三个方面——内存,CPU,GPU。着手点有渲染批次,渲染实例化,布料优化,网络同步数据量,物理开销等,加载资源优化(包的合并),裁剪,声音文件加载,LOD,美术资源制作规范化等。调试的时候可以使用引擎内置工具,进一步的细节可以采用Intel的VTune工具。
参与开发的第三款MMORPG准备上市了,开发了一年左右,前面感觉拼得有点太过了,心身比较疲惫,感觉状态和开发效率有所提升,在3人的服务器团队的努力下,完成了一些功能并且稳定性还可以。