(一)

王朝学院·作者佚名  2016-05-23
窄屏简体版  字體: 小  |  中  |  大  |  超大  

基于Netty和Raphael的塔防online游戏(一)这是一个出于兴趣而在业余时间写的项目,初版的目的在于了解游戏服务端的一些设计思路,所以基本是想到什么写下什么,并没有做过于细节的设计,和过早的优化。在这个版本里面,主要要完成以下功能:定制简单的通信协议处理简单的游戏逻辑可运行的Server和Client一. 服务端设计

整个服务端暂且分成以下几个部分:

基础通信模块逻辑处理模块GM模块服务器状态监控模块对服务端的几个高级抽象:

1)Context

Context代表了整个服务端的生命周期, 负责启动和停止所有的游戏

2)Game

Game表示不同的游戏,每个Game定制自己的PRotocol,并负责创建和销毁Room

3)Room

Room负责处理游戏的逻辑,控制游戏的进度

4)Charactor

每个Charactor代表一个玩家,存储一些玩家的基本信息

5)Dispatcher

Dispatcher负责消息的分发

6)Processor

Processor是消息的最终处理终端

在整个服务端,netty负责建立连接,接收和发送消息,netty接收到消息以后,会把消息从netty线程(netty启动的线程)分发到用户线程(处理游戏逻辑),这里使用了Jactor2来完成线程间的通信

二. 客户端设计

客户端比较简单,参考了这里,UI基于Raphael库,目前只有一些基本的功能,

后续会将一些基础组件抽出来,最后完善成为一个小engine

项目地址:https://github.com/occume/D3000

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航