接上文----
第一个要去搭建的就是这个运行平台层。在此之上,我们会引入一些第三方SDK包。
为什么要引入第三方的SDK包?大家要知道一点,任何研发一款软件从来都不会从头造轮子。就是我们在开发一款软件的时候,从来都不会从头造轮子。比如说你引入的这个操作系统,你也不去,为了做给引擎去开发的操作系统,没人这么干。所以一样的,因为我们的引擎里面要去提供,比如说渲染的功能,要去提供真实的物理的模拟,要去提供音频音乐,要去提供动画,甚至网络的一些知识。但是这些能力我们需要去完全自己去一个功能实现吗?不需要。
市面上有很多现成的细分方向的软件开发包,比如说DX,欧东吉亚CG,它就是渲染的图形接口,你可以理解成一个渲染的工具集。那你要把它引入进来,但是为什么你要全部引入进来,因为你要实现跨平台,刚刚我们说了,运行平台层操作系统和硬件往往是捆绑的。很多时候,其实第三方的软件开发包也会捆绑,比如说微软的东西。所以其实如果你要做到跨平台,市面上主流的一些渲染的软件开发包,你全都要引入进来。
然后比如说我们要实现物理的一些功能的,那这个时候我们就需要去引入工业级的一套物理,你可以叫物理引擎,也可以叫物理的开发工具包。现在主流的市面上大部分的引擎会引入的一个开发工具包,就是HAVOC。HAVOC系列的这个物理引擎,叫HAVOC Physics。还有比如说HAVOC Animation,这个就是动画包,等等。
比如说数据结构算法库,你要引入进来。C++标准模板库,你要引入进来,这些都是工具。你要引入进来,这就是在运行平台层往上搭建的一层,叫第三方软件开发包SDK。
然后再往上,会有一个比较特殊的层存在,你会发现比较偏底层。他跟我们的游戏开发好像没有必然关系。虽然你引入了很多渲染、物理、数据库结构、数据结构,就是算法库等等。但是其实很多软件开发的时候,也可能会用到,不一定的是游戏。所以下面那两大层,其实跟游戏开发,好像没有特别大的一个必然关系。但是,像物理和动画可能是有必然关系,但是渲染和数学结构和算法库,它就没有必然关系。所以我们在这里,设立了一层叫平台独立层。
它是把下方的这一个东西和上方更接近于游戏业务的东西,隔离开来的一个比较独立一层。那它这里面,要实现平台监测,就是这个引擎做出来的软件,做出来的游戏也好,或者是其他的一些内容也好,他是跑在什么样的平台上面的。对于我要生成什么样的,还会有一些网络的一些东西,比如说UDP TCP的网络传输层,而我们只要用socket编程就行了。
我们做游戏时候可能会用到的一些核心底层的一些系统,就是你做任何游戏你都需要用到的。比如说我们的数据库,比如说IO类的操作。比如说随机数,比如说做任何游戏我们都要进行性能分析,在发布之前要做优化等等。这些都是我们叫做游戏的一些核心的,一些底层的一些系统。可能大家感知不到,但是它的的确确确实存在的。
游戏资产就是我们游戏里面所有存在的游戏资产。你需要这个引擎能够把市面上大部分的美术软件所生成的,他们对应格式的,或者说你可以提供一个格式,给到所有的美术软件,它能够输出出来。然后能够把这个美术的资产,能够导入到你的引擎里面去。你要提供一套标准,比如说模型的、材质纹理的、字体然后动画骨骼,就是动画这块等等。
扫描下方二维码,领取免费训练营!