其实早在08年就开始手游的开发,只是那两年是用J2ME来开发简单社交应用,而且也没大规模上线过,所以实战能力其实还是零。真正的开始还是在10年,也是在那个时候开始走上.NET研发的不归路。那时候还没毕业,
为什么.NET
这个是公司历史问题,因为原先的服务端都是创始人(也是大学校友)写的,而用的就是C#,后面需要有专人来负责服务器这块,那时候小团队不到10人,还没那么财大气粗,加上我之前JAVA写过网站(大学时候iou很low的那种),于是我被选中,开始上路了。
动手干
成为服务端研发后立马就开始了新的项目,那时候5个人先设计产品,然后各自分工开始进行研发。我是一边学C#一边和客户端做产品DEMO。
由于那时候.NET开源的东西不多,而且也不知道这其中的套路,所以算是一瘸一拐的这么就走上道了。
一边当参与产品的设计,一边学习,一边进行研发。
遇到麻烦了
经过一段时间的研发,产品终于出来了。但真正的噩梦是从那时候开始。
由于系统在数据库操作层面有不足,导致游戏一上线内存CPU就直接满了,然后是想各种办法紧急抢救。在没对带BUG彻底根治之前,每晚都需要轮班值守,一旦出现故障马上接到通知然后紧急处理。
后来才发现是由于用了不成熟的.NET iBatis(JAVA的时候用过iBatis,半自动步枪,感觉不错的,万万没想到这里栽跟头了),导致内存泄漏。对症下药,然后平稳了些。
解决了第一个问题后,紧接着是一些列系统性问题。大量的if else 嵌套导致逻辑混乱,在游戏上线之后暴露了很多隐性问题。然后就开始了各种煎熬。
煎熬
有几个场景印象特别深刻
1、和客户端小伙伴联调,定位问题,时间拖到了大半夜。而那天刚好他女朋友过来等他回家的。过大半夜的时候,他女朋友实在受不了等待,哭了。在一旁的我看着也不是滋味,特别对不住。
2、有一周的时间都在公司解决线上问题,基本上都是住在公司了。调试到凌晨两三点,然后六七点的时候被客服电话吵醒,托着疲惫的身影去充当客服服去了(那时候公司小,一个人充当好几个角色)。
3、有一次通宵调试问题,然我最感动的是有玩家一直陪着你,帮你定位问题,帮你从其他玩家那发现问题。然后告诉我。然后修改发布之后又帮我验证。
各方面的压力应该说是走到了最低谷了,兄弟们对这个项目的期望和汗水,自己也急需证明可以搞定一切。而且同时女朋友没在身边。半夜的时候,公司的走廊特别特别的安静~
改进
磕磕碰碰,项目总算是稳定了。然后针对之前的不足做相应的调整
1、重构
对之前臃肿的代码进行一定程度上的重构。主要是在战斗和资源这两块,学习并实践了设计模式,最终的效果当然是简洁易维护。
2、改进生产工具
工欲善其事必先利其器
通过闲暇时间学习和掌握各种工具,改进研发效率。那时候当我发现NuGet这个神器之后就一发不可收拾。便捷的类库管理,轻松寻找成熟的开源类库。然后去GitHub上学习人家的源码。
3、测试
想想当初是如此简单粗暴,BUG修改完自己大致过一下就上线了。现在想想真是佩服当年。。。
随后我们就建立的测试部门,由专人进行测试。保障产品
最后
虽然第一个产品没有预期那样让我们走上人生巅峰,但那段时间的历练是对我么最为宝贵的经历。很感激一路过来不嫌弃我的小伙伴们。也为自己加油!