mmorpg游戏服务器开发之我见

mmorpg游戏服务器开发之我见

ID:14951511

大小:130.39 KB

页数:28页

时间:2018-07-31

mmorpg游戏服务器开发之我见_第1页
mmorpg游戏服务器开发之我见_第2页
mmorpg游戏服务器开发之我见_第3页
mmorpg游戏服务器开发之我见_第4页
mmorpg游戏服务器开发之我见_第5页
资源描述:

《mmorpg游戏服务器开发之我见》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、28MMORPG游戏服务器开发之我见wz2/3/2014过年在家无聊,写篇网游服务器开发相关的总结,打发下无聊时间吧,希望年后找一个游戏相关的开发职位,也算是提前准备一下吧。声明下:这里只谈MMORPG游戏的服务器开发技术,其他类型的游戏服务器开发未涉及。游戏公司里的技术都是商业机密,网上相关的资料很少,所以本文大部分内容来自于猜想和脑补,肯定有很多不对或被人嗤之以鼻的地方,欢迎拍砖,拍转的时候请给个理由,这样我也可以自我提高一下O(∩_∩)O~。文中主要讲了如果以我现在的知识储备来开发一个MMORPG游戏,服务器架构应该是怎样为好,技术难点在哪里。当然架构无所谓好坏,更多

2、的是适合与否,如果有更为实际的需求,会比空想更容易设计也更容易评估怎样做更好些。当然除了架构之外,剩下的就是如何去实现,将复杂逻辑翻译成代码,这些用到的都是一些通用的编程技术,所以在本文中就不多说了。---------------------------------------------------------------------------------------------------------------------------------目录对游戏服务器开发的认识2MMORPG服务器架构2登陆服务器/Loginserver4排队系统/QueueServer5

3、网关服务器/GateServer6场景管理服务器/世界服务器/Worldserver8逻辑/地图/场景/游戏服务器/Sceneserver9消息广播10AOI(AreaOfInterest)11同步策略13自动寻路算法16NPCAI17数据库18网络框架22lua内嵌脚本24热更新24战斗系统和任务系统25性能优化26游戏测试27----------------------------------------------------------------------------------------------------------------------------

4、-----28对游戏服务器开发的认识网游服务器开发总体上来讲不过十几万到几十万行代码量,算不上是大工程,他跟其他C/S结构的软件工程也没有太大区别,解决问题的方式也是很相似的。虽然现在很多游戏号称同时在线几百万,但这几百万的在线人数是要被分配到几百个游戏服上,从单个服来讲也就几千或上万的并发用户数而已(EVE单服也不超过10万人同时在线),而且服与服之间是完全隔离的,所以算不上是大规模应用,跟淘宝、百度、QQ那样支持海量用户的应用没法比。当然反过来说,像淘宝、百度那样的网站,用户之间是弱交互,有天然的伸缩性,容易做分布式部署,所以可以支持很高的并发,但网游的用户之间是强交互

5、的,而且游戏内的场景也不是无限大,为了保证游戏较好的体验,同时在线人数不可能达到很高,想象下如果几万人聚集在一个场景里,也没有好玩可言吧。总之,MMORPG服务器开发还是挺复杂的,起码逻辑还是挺复杂的,光从上百页的策划来看就说明了这一点,而且在这个外挂漫天飞的时代,服务器的地位越来越重要,很多逻辑操作或计算都放到服务器上来做,即便有些是要客户端来做的,服务器也要做doublecheck。所以网游服务器开发应该还是很有技术挑战的。--------------------------------------------------------------------------

6、-------------------------------------------------------MMORPG服务器架构早期的网游服务器是架设到单机上的,现在为了提高服务器性能,支持更多在线人数、更流畅的用户体验和更炫酷的玩法,网游服务器根据场景或功能划分成多个服务器,采用合理的集群架构分布式部署。所以现在一个游戏服已经不再是一个物理服务器的概念,而是一组物理服务器的概念了。现在我们就从大的方面谈谈MMORPG服务器应该怎样架构吧。架构的设计我们遵循KISS原则(KeepItSimpleAndStupid),尽量做到简单高效。当我们在面对复杂系统的设计时,总觉得

7、脑子里一团浆糊,一会考虑考虑这一会考虑考虑那,总是理不清,原因是系统的复杂度超过了我们大脑的工作记忆容量,我们的大脑无法模拟和28记忆每一个细节,所以我们需要:模块化+接口封装+逐步优化。将每个能够独立出来的功能模块化,然后定义模块的数据输入输出,封装成接口,将所有模块通过接口组装在一起便成了架构,最后再对每个模块的具体实现细节逐个优化。引用下面的两段话,我觉得讲的很有道理,可以借鉴到软件系统设计开发上来:"在大刀阔斧进行创新实验的初期阶段,对每一步实验的设计当然要尽量仔细,但一旦按计划开始后对其中间步骤的实验结果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。