欢迎来到天天文库
浏览记录
ID:9052817
大小:52.50 KB
页数:4页
时间:2018-04-16
《服务器引擎设计概要》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、服务器构架图[SnakeEvMMP]DB服务器DB适配器逻辑主服务器集群日志服务器副本服务器集群登陆服务器客户端客户端客户端逻辑主服务器构架图[SnakeEv游戏引擎]游戏模块事件路由器游戏实体脚本系统场景模块角色模块物品模块副本模块技能模块任务模块客户端协议适配器协议报告器备注 游戏引擎的主体部分采用C++语言编写,逻辑模块采用Python脚本语言编写。引擎的采用事件驱动模型,其游戏的贡献在于:事件路由器无时无刻对游戏内实体间发生的消息进行调度,每一个游戏实体都可以挂载脚本,脚本是处理游戏消息
2、的主要场所,并且脚本的灵活性也可以很好的满足策划对游戏极为细致的修改需求,最终要的是无须重起服务器,加快了策划调试速度,和上线后游戏的更新速度。DB服务器采用代理模式和主引擎进行通讯,比如主引擎给代理发送数据保存或加载的请求,DB代理协收到消息后协调本地文件系统或DB服务器来处理这些请求,数据具体是从哪来和到哪去对游戏引擎都完全透明。综合上所述这种低耦合的架构优点在于主引擎不用关心逻辑处理,不用关心数据流向,很好地确保了逻辑服务器的稳定性。缺点在于,事件处理模型理论上会对性能产生一定的影响,不过出于
3、实际的测试看来,基础业务处理速度还比较满意,并且随着现在硬件处理能力的提升得以平横。此外对于性能要求较高的实时AI业务则需要用宿主语言编写,但统一被管理于游戏脚本模块,从而对业务处理是用灵活的Python脚本还是用性能较高的C++脚本又是完全透明的。网络模块也是采用适配器模式,允许多平台客户终端的登陆,其中手机用户也可以通过socket与游戏服务器建立连接,适配器来转义手机端的特殊协议,从而做到整个系统兼容多平台多客户端同时进行游戏。整个构架的单台逻辑服务器预计满载承载量是4000人,稳定运行在20
4、00-3000人左右。如果N台逻辑服务器,承载量=4000*N,日志服务器和DB服务器在整个构架中共享。客户端引擎概要游戏制作工具生成的数据文件配置到服务器仿真层,由仿真层进行除了动画和特效外的所有的逻辑推演,它保留了对游戏状态空间的唯一精确表示,还负责保持客户端和服务器游戏状态空间的一致性,客户端代理通过网络模块接入服务器仿真层,同步游戏内实体对象的状态。游戏制作工具已基本完善并且全部投入游戏的开发中。游戏客户端主引擎驱动其他7个独立的模块进行工作,其中通讯类型和服务器一样,采用时实消息模式,这样
5、可以做到最大程度的可伸缩性和稳定性,客户端作为服务器仿真层的一个代理,同步游戏的时实状态,并由渲染层(地图模块,动画模块,粒子系统)将其丰富多彩的美术信息还原以及呈现给玩家。AI和脚本系统处理部分的客户端逻辑,比如地图物件逻辑和鼠标控制逻辑。网络模块负责和服务器仿真层进行通讯,保障数据的即时更新。客户端引擎已经开发完成。附图网络模块构架图客户端协议适配器InternetClientPhoneGMClinet移动设配协议适配器GM协议适配器网络适配层游戏服务逻辑服务器游戏制作工具地图编辑器动画编辑器地
6、图数据动画数据场景编辑器场景数据特效编辑器任务编辑器脚本编辑器AI编辑器副本编辑器脚本数据AI数据特效数据任务数据副本数据游戏服务器仿真层客户端代理客户端引擎结构图动画模块地图模块网络模块粒子系统UI模块脚本系统AI系统游戏主引擎
此文档下载收益归作者所有