1 / 9
文档名称:

一个人的服务端.docx

格式:docx   大小:25KB   页数:9页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

一个人的服务端.docx

上传人:840122949 2019/3/20 文件大小:25 KB

下载得到文件列表

一个人的服务端.docx

相关文档

文档介绍

文档介绍:当然可以,但难道有个引擎,就可以做出真正商业化的游戏么?而且国产游戏大部分是网游啊。几年前的老文——《一个人的服务器端》(只是为了说明游戏开发难度,不是针对题主问题。)技术准备 1策划定调 2策划启动 2美术启动 3项目危机 3第二MileStone开始 4策划数值定调 4python框架定调 5任务框架制定 5python程序招聘和整个系统的重新设计 5客户端python化 6MileStone3 6python程序继续招聘 6寻找买家 6大陆买家 7大陆封测 7大陆内测 7台湾内测 8台湾计费 9大陆在线人数跳水 9小结 9技术准备能够做这个MMO的触发点是通过某些途径得到了某个大公司使用的一款3D引擎,其他的都是白手起家。当时大家还不知道有“分布式服务器端”一说,服务器端框架参考了《剑3》:剑3内测的时候经常服务器crash,但是每次只crash一个地图,所以可以推知他们是一个地图一个server;加上自己对服务器端的认识,需要Gate当防火墙,需要GameServer来总管MapServer,需要DB来存储,那么最初的服务器端框架就定下来了:Gate、GameServer、MapServer、DBServer。想让服务器之间的连接方式最简化,所以确定GameServer是中心,其他Server都连接并且只连接GameServer。MapServer和GameServer上面准备加脚本,脚本直接选择了python,因为python语法清晰一点。开发平台选择windows,因为当时公司内没有一个人了解linux。策划定调做一个3D版的征途,这个就是最终确定的整个项目的方向。为什么这个方向?因为:,大家都想学。。。项目启动启动时team中只有5人。一共有3件事:,服务器端3个月的计划是构建所有服务器并且封包走通。,确保自己会使用,同时没有抄袭痕迹。,对这个策划的定位很明确:要能够扛得起旗帜,有领导力,有大局观,最好是征途公司的。服务器端这边的目标是达到每秒30万个封包的效率,封包大小在30byte到50byte。30万这个数据来自于估算:服务器端300人互相可见的情况下,每人每秒动3次,那么就是300*300*3,差不多30万封包了。服务器端第一次重构服务端这边开始是2人开发,我做大局,另一个做网络层,一个月后封包效率仍然上不去,于是大家一起检查代码,发现网络层的封包pool结构不是用list存储,而是用map,还发现很多其他常识性问题,于是决定把他调离服务器端,去做场景编辑器。于是从此我开始了一个人的服务器端的旅程,花了1个星期的时间完成重写他的代码,然后继续前进。优化经验这个项目的优化难度不太高,源于2点::能不用第三方库就不用,所以优化过程中不需要理解第三方库的用法。,定义封包的方式是先写伪代码,然后再用根据根据伪代码生成每个封包的struct和ReadBuffer、GetBuffer函数。一般封包都是用memcpy赋值,只有动态封包,比如封包中如果不得不使用sting,才会通过比较慢的方式读取,这样的话在封包赋值、转移操作上面没