游戏引擎如何设计与架构

以前做过游戏引擎,也看过几个商业引擎的源码如Torque等,还有用过一些第三方的引擎来开发游戏,如Unity, Cocos, Laya等,今天来说一说一款游戏引擎应该如何架构和设计,我做了一张图,如下,接下来讲围绕这张图分三个层次来给大家讲解一个游戏引擎的架构与设计。

OS平台抽象层

游戏的本质其实就是运行在OS上的一个App,所以游戏使用的各种系统支持和系统调用都是基于OS的API函数来完成的。而现在的游戏引擎都要求跨平台,一次开发能打包发布到Android, IOS, Windows, Mac, Linux等。游戏引擎首先会做一个平台抽象层,这层主要包含两个方面:

(1)给游戏引擎提供统一接口的OS系统调用;

(2)是给游戏App打包发布提供的发布工具与发布环境。

平台抽象层主要提供以下功能:

App支持:创建一个游戏窗口,游戏App有个窗口的载体;

事件支持: 调用OS的API获取OS的鼠标,键盘,触摸,重力感应等操作事件;

声音支持: 调用OS的API来播放声音;

OpenGL支持: 提供平台的OpenGL环境的支持;

这些功能对外开放统一的接口给上层调用,对内有不同的平台都有不同的一套实现,所以跨平台的游戏引擎不同平台都有对应的项目与工程,游戏打包的时候&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值