引擎开发如何入门?
最近有同学在群里问我引擎开发相关的问题,希望能够从事这方面的工作。
借此机会我就和大家说一说。
引擎开发,顾名思义做的是游戏引擎,也就是我们常说的“造轮子”。
虽然现在好像每家大公司都有自己的游戏引擎,但实际上,这些“自研引擎”基本上都有虚幻四和Unity的影子。
所以研究明白上述任意一个都对引擎开发有巨大帮助。
我说的研究指的是源码方面。
Unity虽然只是部分开源,但是内行人手里有全部源码很正常。

那么引擎开发如何入门呢?
我的建议是一定要精通C语言。
引擎开发,我个人的建议是最好先精通C语言,其次才是C++。
这是我的一个切身体会。
大部分游戏引擎核心模块用的都是C语言。
如果说游戏追求的是好玩,那么做游戏引擎追求的是什么?
是快和方便。
前者是引擎开发者需要解决的问题。后者则是产品或者策划需要考虑的。
快可以指的是启动快、编译快、加载物体快和打包快,甚至是渲染快。
每一个快都对应着专业技能的精进。
甚至有的游戏引擎最核心的模块还用C语言嵌入了汇编,就是为了增加效率。
其次是C++
C++的长处之一就是写界面。
游戏引擎中工作量最大的不是那几个核心模块,而是界面,界面是最需要人手的。鉴于有些同学还是搞不清计算机图形学和引擎开发的区别。
在这我给大家科普一下。
计算机图形学对应着游戏中的渲染模块,而渲染只是游戏引擎中的一个模块。
游戏引擎还有不少其他模块,比如游戏物理、游戏AI、游戏动画等。
每一个模块都对应着一门专业技能。