随笔分类 -  MMORPG

摘要:一个好的接口是尽可能让更多实用的方法进行整理封装,要记住的是不常用的方法和类最好不好封装到接口中,因为那样会造成本身的困惑。基础模块中并没有太多封装,甚至连一个类的封装也没有,而是一些很常用的工具方法,而这些工具方法在整个客户端的设计中是必须的,所以才进入了基础模块。那么,就让我们看看客户端基础的一... 阅读全文
posted @ 2014-11-09 10:13 修行,波动线 阅读(185) 评论(0) 推荐(0) 编辑
摘要:重写有些核心接口的时候,其实遇到了许多的问题,甚至一度的想过要放弃,但是最终还是坚持了下来。在客户端提供的这些接口中,可以清晰的看到客户端所依赖的各种模块的支持,以及各自之间的一些关联。下面只是介绍了vengine(微引擎)接口的基础模块框架,所谓的接口即对象设计中常见的Interface,为一个框... 阅读全文
posted @ 2014-11-09 10:12 修行,波动线 阅读(319) 评论(0) 推荐(0) 编辑
摘要:首先为所有等待的朋友说一声歉意,实在让大家等的太久。客户端的设计本来就是一个大的工程,而且工作的关系,也没有太多时间在这方面做研究。不过在私下有空的时间,我还是继续着这方面的研究,很遗憾没有用期望的ogre+cegui最新的版本作为开发,这方面原因是新的版本资料实在不多,对于没有什么经验的人来说实在... 阅读全文
posted @ 2014-11-09 10:11 修行,波动线 阅读(253) 评论(0) 推荐(0) 编辑
摘要:上一部分,讲述了一个服务器与服务器之间的通信实例,客户端其实原理大同小异。网络部分准备就暂时讲到这里,不过我们不妨再回头过来想想在这过程中有没有优化和改进的地方。这部分讲解的是以网络包代码作分析,实现自动生成其代码的功能。网络包代码/** * PAP Engine ( -- ) * $Id conn... 阅读全文
posted @ 2014-11-09 10:09 修行,波动线 阅读(208) 评论(0) 推荐(0) 编辑
摘要:上一部分将服务器的具体代码的实现介绍给了大家,想必大家也了解到了服务器处理一次消息的复杂度。如果大家能够将各个过程掌握清楚,就会发觉其实整个逻辑与交互过程是比较清晰的。那么服务器与服务器之间的通讯,其实也就是相当于客户端与服务器的通讯又是如何实现的呢?本文将用一个实例来将这个过程展示给大家。CODE... 阅读全文
posted @ 2014-11-09 10:08 修行,波动线 阅读(105) 评论(0) 推荐(0) 编辑
摘要:上一节简单的介绍了服务器消息处理的流程,想必大家对这方面有了初步的认识,接下来我们需要知道和掌握的便是其中一些重要的方法,进一步深入熟悉整个构架。 1、FD_*系列宏函数 FD_ZERO(fd_set *fdset) 将指定的文件描述符集清空,在对文件描述符集合进行设置前,必须对其进行初始化,如... 阅读全文
posted @ 2014-11-09 10:07 修行,波动线 阅读(184) 评论(0) 推荐(0) 编辑
摘要:这一部分需要向大家介绍的是服务器的select以及收发包的具体流程,从核心代码功能上分析网络交互具体过程。 首先大家要看第二部分(part2 of net)的代码结构图,因为在接下来的流程过程中会用到其中模块的名称,若是不知道大致的功能那么接下来的解说可能就成为天书了。 总体流程为:服务器管理器... 阅读全文
posted @ 2014-11-09 10:06 修行,波动线 阅读(189) 评论(0) 推荐(0) 编辑
摘要:网络第二部分的将要给大家描述的是网络代码方面的设计,从基础的代码讲起,了解详细的网络模块构架。 没有放出整个源代码,是因为其中还有许多不足的地方,不过想必大家应该也能猜想出这个项目源码的地址了。不过对于设计与研究方面来说,网络部分的设计也在代码之上的,因为好的设计思维势必要比辛苦用26个字母与特殊... 阅读全文
posted @ 2014-11-09 10:04 修行,波动线 阅读(129) 评论(0) 推荐(0) 编辑
摘要:网络模块的设计,是大型多人在线游戏中比较重要的一部分。我之所以将网络模块放到最前面,是因为许许多多的开发者面对这一块的时候充满了疑惑,而且也觉得很神秘和深奥。这些我们面对到的困难,其实是由于我们对这方面了解的不足以及太过陌生。 本次设计中参考到了天龙八部/武侠世界的网络模块的设计,进行了封装调... 阅读全文
posted @ 2014-11-09 10:03 修行,波动线 阅读(230) 评论(0) 推荐(0) 编辑
摘要:一件事如果没有规范、章法,那么做这件事起来往往会遇到许多难题,特别是在多人协作的时候,没有到规范通常让每个人多多少少都面临着头疼的困难。举个例子,多个人要做一桌美味的饺子,有买材料、做面皮、弄肉(菜)馅等。如果没有分工,做面皮的人也可以去弄肉馅,买材料的人也可以由弄肉馅去,这样一来可能导致这一桌香... 阅读全文
posted @ 2014-11-09 10:02 修行,波动线 阅读(223) 评论(0) 推荐(0) 编辑
摘要:游戏整体是以经典的武侠世界/天龙八部作为基本的一种设计模式,大致分为以下几个部分。 游戏的简单的一次处理流程如下,不过有些凌乱,还有待完善。 程序设计方面,服务器基本上分为数据处理、日志、网络等模块,客户端分为UI、场景、动作等模块。客户端选择的开源引擎OGRE+CEGUI。 阅读全文
posted @ 2014-11-09 10:00 修行,波动线 阅读(258) 评论(0) 推荐(0) 编辑
摘要:这个系例摘自:http://www.cnblogs.com/lianyue/p/4083706.htmlMMORPG大型游戏设计与开发(概述)updated1、定义 MMORPG,是英文Massive(或Massively)Multiplayer Online Role-PlayingGame的缩... 阅读全文
posted @ 2014-11-09 09:58 修行,波动线 阅读(207) 评论(0) 推荐(0) 编辑