其實早在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修改完自己大致過一下就上線了。現在想想真是佩服當年。。。
隨后我們就建立的測試部門,由專人進行測試。保障產品
最后
雖然第一個產品沒有預期那樣讓我們走上人生巔峰,但那段時間的歷練是對我么最為寶貴的經歷。很感激一路過來不嫌棄我的小伙伴們。也為自己加油!