罗列一下作为一个手游游戏服务器开发人员所经常接触的事情
如果从功能划分来说手游后端需要做如下大体功能:1 游戏逻辑 2 运营工具 3 db相关维护 4 充值SDK相关对接 5 跨服合服 等
对于每一种游戏选择结构设计可能不太一样。架构选择,语言选择也不一样,看不同项目的选择吧。
容灾容错处理是所有服务器都必备的功能。
具体到每一个大功能所相关的内容有:
一:游戏逻辑 方面
一个游戏开发前
a) 网络层的底层架构,(tcp or udp http等)
b) 协议层数据封包(自定义协议,通用http,或者其他)
c) DB底层的操作封装,这三个基础做完之后才能开始做游戏逻辑。
d) 一些系统的功能函数,比如随机,字符串函数,文件函数,线程同步,共享内存,时间日期等公共库开发
这底层封装的简单明了 直接影响后面的功能开发。这些完了之后,再考虑开发游戏逻辑
手游一般都会有如下系统:
1)登陆(渠道验证相关)
2)核心玩法角色人物成长模块
3)物品资源模块
4)签到(月签,七日签到)
5)抽奖(单抽 十连抽,伪随机啥的)
6)pvp 、pve系统
7)工会系统
8)聊天系统
9)排行榜系统
10)跨服玩法等相关
11)成就任务系统
12)活动系统(活动系统比较庞大,需要考虑运营相关的)
13)邮件系统
对于后台服务器技术人员来说,需要把这些系统的数据做一个一个模块划分设计,考虑数据的存储。
个人感觉任务成就,pvp比较难设计,抽奖系统和资源获取可能有点难度,如果能满足策划的需求需要好好设计好概率权重等。
另外独立这些系统之外一个重要功能就是日志系统 包括一些行为日志,消耗日志等
以上游戏逻辑可能就需要我们 对于网络底层懂点,数据库懂点,基本的数学知识懂点,需要我们要有严谨逻辑。
要做到精通,还是需要每个系统都设计开发过可能会更有深入点。
底层开发需要比较有经验的做比较合适
二:运营工具
1 服务器的开停服
2 服务器的监控
3 账号封停
4 邮件公告
5 模拟充值测试
6 玩家数据统计报表
等等很多工具的开发,看不同需要,有些php,有些nodejs,有些Java开发看不同的项目划分
很多公司可能有一套完整的运营工具,像我们这种小公司很多需要自己开发。
三:db相关
1 项目上线前需要把数据表结构,存储过程函数等相关设计好
2 版本维护更新的时候需要维护好表
3 对数据的操作 需要实时查询清理等
这些都需要对数据库要比较了解,虽然做不到DBA那样专业,但是数据库的部署,优化还是需要比较清楚的了解
四:sdk对接
现在手游渠道太多了,服务器客户端都需要跟不同渠道对接,免不了需要对接 ,一般的充值流程都大体一样,苹果安卓充值流程大体一致,一般都是走http
需要我们服务器后台支持http
登陆有些渠道也是需要验证的这个看接入渠道需求
以上差不多就是全部手游后端需要做的事情。本人前段时间有幸做了一个麻将游戏。准备以一个棋牌类型游戏为例,一步一步把以上所有知识点重头写一遍,一步一步说明这些的一些设计。
新建一个qq群769268757 欢迎各位经验和正在学习服务器的人员进入一起交流学习