从事游戏工作,大部分时间是在做业务逻辑。游戏的业务逻辑大体上分两类,单人玩法和多人玩法。单人玩法例如收发邮件,背包操作,多人玩法例如组队匹配。
入门
个人写功能逻辑的流程是:
1. 通读文档,检查文档逻辑是否有问题,大致评估实现难点。
2. 画思维导图,从内存数据结构,db存储格式,C/S交互以及功能逻辑要点,配置需求这几个点去写。
3. 实现具体的逻辑代码。
4. 自行写出CheckList进行自测以及代码优化。 测试点包括:从是否存在刷道具情况(尤其是有循环发奖代码), 数据落地再Load出来后是否一致,如果需要比较大的测试用例,则自己写机器人覆盖用例进行测试,涉及到读频率远远大于写的数据(例如个人属性战力),需要做cache。一些排序的耗时操作是否可以让前端自己来做(复杂的计算尽量不在后端做,尽量做到大部分是O(1)复杂度的操作)。
5. 提交QA测试。
进阶
大概写了几个逻辑模块后,应该是上手了。 这时候一般的逻辑模块实现起来没难度了。 这时候就可以去看一些比较核心的逻辑系统实现,譬如任务系统的框架(新增任务是否需要策划来配置即可),属性系统的框架(新加属性是否需要加代码),这些好的框架原则上是可扩展可配置的,也就是只需要策划负责就OK了。 但好框架需要策划和程序根据需求一起构思,缺一不可。 比较底层且核心的背包系统的实现,关注点有: 1)对其他系统暴露的api是否合适(增删查); 2).道具增加过程如果满了改成用别的途径发放。 3).删道具要保证原子性,要么可