MMORPG游戏u3d客户端框架学习_1

最近转行开始做游戏开发,混进一家游戏公司,公司正在做一个MMORPG的游戏项目。这个系列文章会记录我对mmorpg游戏开发的一些开放方式和构架。

刚入职一周,刚开始学习,很多地方的认知未必正确,路过的各位大仙求指点。


我们公司客户端开发人员主要分为四类: 

1:c#与服务器交互的的中间件开发,将所有和服务器的web交互协议提取成接口,并且制作与本地数据库交互的组件,并且提供一些项目的基础工具类。

2:客户端表现开发,我就是做这一块的,主要负责客户端所有战斗、任务、及其他游戏内容的展现。逻辑向的内容并不多,主要负责展示,逻辑基本90%都是由服务器端来计算,客户端只要实现各种功能的接口和监听,然后把它们表现出来就可以了。

3:UI程序,这个最好理解,就是做界面的,现在的手游大量的功能都是通过平面的UI来实现。

4:辅助程序开发,在企业级的开发中,需要提供大量的工具给策划和美术用。

 完美的状态下,客户端完全是一个数据驱动的结构,策划只需要填写各种表,然后美工根据数据将需要的素材放到对应的位置,然后客户端可以根据数据获取到对应的素材

动态实现各种功能,这样整个项目大多数模块化的功能维护,只需要策划去修改数据就能实现功能的维护。 这种结构对于数据设计非常关键,对策划的易用性和客户端的扩展性都非常的重要。

首先聊聊客户端对象的封装。

场景内的物体一般结构体都继承自中间件开发的entityObject对象,封装在DLL文件内,这个类实现了大量物体基础功能的接口,&&&

entity继承entityObject ,主要实现了物体的基本属性。

animatedObject 继承了entity类主要用来实现带动作的物体,实现了动画模块和给这种动态物体子类提供一些接口,并且实现了大量移动,战斗类的功能玩家和怪物都继承自这个类。

character 继承了animatedObject, 主要用来实现骨骼物体,包括骨骼动画控制和根据骨骼和预制件组织成物体的功能。

player 继承了character ,实现了玩家特有的功能。

还有大量的物体 ,比如机关,门,道具之类各种各样的物体都是直接继承entity类来实现。

项目中使用了大量的工厂模式来实现类似物体的差异化表现,比如不同的技能效果,做统一的父类,包括技能的一些基础功能,比如播放技能动画,展示技能特效,然后提供参数来给子类设置,是否有动作,是否有特效,然后给子类统一的接口,如果释放技能的接口,然后子类分别取实现这些接口来做。


而客户端各种功能组件,比如动画组件,日志组件 ,音频组件,技能组件,尽量完整实现对应的所有功能,然后作为component来动态加载到需要的对象上,尽量一个skillComponent实现所有技能的逻辑,然后功能传入结构体来实现各种各样的效果,这个组件基本就是统一的入口。其他组件也是这个道理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值