罗列一下作为一个手游游戏服务器开发人员所经常接触的事情
如果从功能划分来说手游后端需要做如下大体功能:1游戏逻辑2运营工具3db相关维护4充值SDK相关对接5跨服合服等
对于每一种游戏选择结构设计可能不太一样。架构选择,语言选择也不一样,看不同项目的选择吧。
容灾容错处理是所有服务器都必备的功能。
具体到每一个大功能所相关的内容有:
一:游戏逻辑方面
一个游戏开发前
a)网络层的底层架构,(tcporudphttp等)
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
登陆有些渠道也是需要验证的这个看接入渠道需求
以上差不多就是全部手游后端需要做的事情。本人前段时间有幸做了一个麻将游戏。准备以一个棋牌类型游戏为例,一步一步把以上所有知识点重头写一遍,一步一步说明这些的一些设计。