游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2387|回复: 1

服务器开发日志一

[复制链接]

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
发表于 2009-4-24 01:20:00 | 显示全部楼层 |阅读模式

近来重做了一次MMO服务器,没什么特别的感受,先重写一次框架,新框架主要考虑分布式负载,操作系统移植,以及重新定义游戏逻辑框架的生命力。

新服务器所有的一切,没什么炫眼的地方,都是为将来做开发更省事一点。网络系统层依然保留双信道机制,还是独立系统,在这系统中做分布式框架挺麻烦,因为通讯协议没现成检,除此之外还得考虑框架的易用性,移植性。网络系统框架我们独立出来开发,win32用iocp,linux用epoll。因为服务器种类众多,数据库,文件,地图,虚拟规则,汇总,Gate,一大堆服务器,所以我们先做了网络系统的通用框架,每个服务器内部又设置了和别的服务器通讯的客户端,而客户端有的要2信道,有的又是单信道,如果将来implement框架的复杂性可想而知!所以挺麻烦,关键处划分了无数颗逻辑树。

重做MMO服务器的另一点是规则和地图。原先最早的构思是规则和地图都在一起,因为在虚拟的服务器上负载了成百上千的玩家,地图上的触发事件一多,不说流量负载,光是逻辑处理都吃不消。最后几经周旋才把游戏规则和地图划分成了两块,因为完整的GAme world由许多地图组成,地图再由这两模块平行处理。对规则框架概念的更新了不少的东西,将最古老的房间,定义成了Field,将房间中的角色,定义成了Bio。记得我在刚刚提出Bio,Field的概念时,有个同事开玩笑说,BioZone!然后我问他是不是在开堂口收保护费,最后搞得大家都在捧腹。然后就是在虚拟服务器的内部,实现了几个不错的构思,首先是服务器可以虚拟单机游戏的角色动画播放及虚拟运行过程,这对于delta时间换算简直是革命性的,它意味着客户端上可以使用任何3D图形引擎,并且和服务器在同步中实现接近单机游戏的delta时间及物理流程。因为虚拟过程很讲究算法,过去我也只是停在单纯的构思中,最大的不成熟因素是服务器性能问题,而现在成功解决虚拟规则上的性能,这真算一次小小进步和突破。

人到深夜往往话多。好啦好啦。回头再来更新。
by,z

8

主题

35

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2009-4-25 20:35:00 | 显示全部楼层

Re:服务器开发日志一

cc
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-20 11:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表