您现在的位置:首页 --> 查看专题: MMORPG
MMORPG 中,场景信息同步是很基础而必不可少的服务。这部分很值得抽象出来,专门做成一个通用的服务程序。 此服务无非提供的是,向有需求的对象,同步场景中每个实体的状态信息。那么,我们分解需求,可以看到两点,一是提交状态,二是同步状态。 每条状态信息其实是由三部分构成,状态对象名(key)、状态值(value)、时间。 玩家、NPC、场景中的可变物品,其实都有可改变的状态。比如对象的位置坐标是最常见的状态。其它的状态还有玩家或 NPC 做的动作,玩家离线,上线,等等。可以有若干数据源向这个服务提供数据,如果借用 zeromq 中的模式的话,这个服务应该使用一个 PULL socket 收集数据。它获取从不同数据源 PUSH 来的,key-value 。然后打上时间戳,储存在内存中。 这个服务另外提供一个发布服务,向所有订阅者广播其收到的状态改变信息,每条信息包括推送来的 key-
既然 MMORPG 都有千篇一律同质化的趋势,好歹我们技术人员也应该总结出点东西来,新项目开发可以用现成的模式。 一般来说,MMORPG 服务器要解决的问题无非是,同步玩家的位置,状态,把这些信息广播出去(细分的话,有非战斗环境和战斗环境);需要建立一个聊天服务,供玩家文字交流;有一个信息发布渠道;有任务 NPC 和玩家一对一交流;玩家调整自己的装备(也可以看成是和一特定 NPC 交流)。 以上,我们可以看到几个基本需求是可...
[ 共2篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [67] Oracle MTS模式下 进程地址与会话信
- [65] 如何拿下简短的域名
- [65] Go Reflect 性能
- [59] 图书馆的世界纪录
- [59] android 开发入门
- [59] 【社会化设计】自我(self)部分――欢迎区
- [58] IOS安全–浅谈关于IOS加固的几种方法
- [53] 视觉调整-设计师 vs. 逻辑
- [47] 读书笔记-壹百度:百度十年千倍的29条法则
- [46] 界面设计速成
赞助商广告