游戏架构设计是一个老生长谈的话题,以前给多个游戏公司培训过,随着时间的积累,对游戏架构设计的理解又多了一些,在此给读者分享一下我对于架构设计的理解。
游戏架构设计是基于引擎的基础上的二次封装,目的是便于游戏开发者能够专注于逻辑的编写,便于多人协同开发,便于功能的扩展等等。不论使用什么引擎,只要掌握了思想,就能解决问题。
我先把我们的设计思想介绍一下,我们的架构设计总体来说是基于组件的模块化设计,举个例子,一个角色要移动,要战斗,要释放技能,我们只需要把移动组件,战斗组件,不同的技能组件加到角上身上就可以了,其他的诸如管理类也是以组件的形式加载到内存中,每个组件都是一个View,我们在设计时,对象上的脚本挂接的非常少,几乎不挂接任何脚本,这样是为了保证资源更新不影响逻辑的编写。下面我们逐一介绍架构设计的实现想法,主要分三步:
第一步:通过观察者模式监听消息,这个消息包括网络消息,各种资源加载消息等等,这个主要是与引擎相关的,对于逻辑层来说,只需要拿到对应的消息处理即可。
第二步:更新游戏对象相关的个体了,在这一步里面,我们可以使用FSM有限状态机,行为树等等,当然也包括玩家的虚拟遥感或者键盘,鼠标等等输入设备。
第三步:逻辑交互层,包括客户端与服务器进行交互,还有对象与场景中的NPC交互等等,这些操作主要是在逻辑层中进行的,比如客户端链接服务器需要链接IP地址和端口号。另外,还有游戏中角色网络同步交互,角色同步更新回到了第二步更新个体了。
以上三步也是一个循环的过程,这样整
我对架构设计的理解
最新推荐文章于 2022-08-07 19:52:29 发布