棋牌---這些年使用過的技術

筆者做棋牌遊戲開發已經有三四年了,涉及的產品有鬥地主、德州撲克、扎金花、鬥牛等等,從最開始使用Android原生的SurfaceView繪製,到後面使用cocos2dx引擎開發,一路學習一路成長。本文主要是記錄下這時期產品使用技術的變革之路。


一、Android原生的SurfaceView時期

三四年前,手機性能跟不上的時候,那時沒有成熟可靠的引擎,就使用原生的SurfaceView自定義一套UI組件,做出來一套鬥地主的成品,界面風格簡潔,素雅,圖片多爲小圖.9處理,幾乎沒有複雜的動畫,極爲粗糙,但包體大小控制的小於3M,深受渠道方面的歡迎,大火了一把。


和大多數公司一樣,賺到了錢就開始擴張,外招了一批牛人,新開了幾個項目,而老羅正是這批人中的一員悍將,他領導的項目就是德州撲克,而筆者有幸加入。老羅立志想用引擎(cocos2dx或者libgdx)做出一個變革性的產品,一改鬥地主的粗糙,在和幾位老闆扯皮良久後,最終還是沒有說服老闆,不得不繼續使用公司認爲成熟的開發方案,原生的框架來開發德撲。


經過四個月左右的時間,德撲上線,在畫面與流暢的平衡下,包體大概有10M左右的大小,畫面依舊粗糙,特效並不絢麗,收入也很不理想,僅爲公司帶來了大R的概念,但僅靠幾個大R是撐不起一個遊戲的,結果可想而知,在公司明確告知沒有資源用來推廣德撲後,老羅離職,德撲解散。


而此時的市場棋牌遊戲已經是一片紅海,各種各樣的公司,大的小的,或者渠道本身都開始推出棋牌遊戲,畫面和特效都絢麗的不要不要的,公司收入下滑的厲害。老闆痛定思痛,特地抽調一部分人力,做閉門開發,一個月的時間做出了一款基於cocos2dx cpp引擎的框架,鬥地主用上了,可惜德撲沒能用上。


二、Cocos2dx CPP

德撲解散後,筆者被調入鬥牛項目組,該組是一個做敏捷開發的經理帶隊,成立的時間比較晚,那時他們已經用上了比較成熟的Cocos2dx解決方案,於是筆者開始學習C++相關的知識,鬥牛一共獨自走了幾個版本,但收入並不理想,公司又不給宣傳資源,於是就借用鬥地主的渠道,將鬥牛的功能融進鬥地主裏面,互相促進,互相提高,但收入分成一直不慎理想,後面帶隊經理有了疲態,和老闆博弈累了,就提議鬥牛團隊跳出公司框架,獨自成立一個子公司運營,他帶走了一部分人,拿着老闆的投資獨自運營起來,而筆者沒有那麼大的魄力,依舊留在了公司,獨自維護着剩下的鬥牛業務。


鬥牛的代碼是內置在鬥地主項目裏面的,但資源是做爲熱更的方式加載的,這也給公司做棋牌遊戲的另一個思路,遊戲大廳+各種玩法模式。後面的產品基本上是基於這種方案在推廣運營。但這種方案用cpp開發是個弊端,所以公司又抽調人手開發了一套,cpp + lua 的框架模式。


三、Cocos2dx Lua

下半年,公司新開了一個地方棋牌玩法的項目組,他們使用的是cocos2dx Lua的解決方案,做出來的摜蛋已出線上成品,包體很小,地推效果不錯。


某天,公司副總通知我,公司正式結束鬥牛的維護,筆者又被調回鬥地主項目組,開始將鬥牛移植到基於cocos2dx lua引擎的解決方案上來,而此時市面上最流行的是U3D,即使是cocos2dx的母公司觸控,也是在主推cocos2dx js解決方案,但公司是老闆的,他有他的考慮吧。


筆者花了將近兩個月的時間,將以前鬥牛的業務全部用lua重新寫了一遍。腳本寫代碼確實輕鬆,不用在等待編譯,不會在遇到IDE卡死崩潰,感覺非常爽!


不過最近,微信小程序上線,雖然暫時還不支持遊戲,但估計是早晚的事情,而微信小程序是用JS寫的,老闆估計又要着急了~~~


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章