banner
jzman

jzman

Coding、思考、自觉。
github

開發一個麻將項目

最近一個項目是一個麻將類的項目,由於面向地區是四川地區,所有裡面涉及到的都是四川麻將的玩法,比較流行的玩法如血戰到底、血流成河,這兩種的玩法的區別主要是前者胡牌後由剩餘玩家繼續出牌,直至全部胡牌或者是流局,後者某一玩家胡牌後還可以胡牌,直至發牌完畢結束,然後根據胡牌情況等計算輸贏結果。說到麻將,在我們那邊打麻將大多數情況下都意味著賭博,當然也不乏打麻將純粹以娛樂為目的的,而恰好與四川這一帶對待麻將的態度截然相反,當然這也有一定的地域特徵及不同文化所決定。由於不怎麼會打麻將,具體麻將玩法就不敢在這裡贅述了。

剛開始做這個項目,我相信團隊小夥伴也肯定是懵逼的,因為都不怎麼會打麻將,不知道如何著手,甚至不知道選用哪種遊戲引擎來進行開發比較合適,以前的開發過程中也聽過一些遊戲引擎如 Cocos2d-x、Unity3D 等,但聽過總歸離實際開發差的遠,後來分析了一下面臨的問題,一是不會打麻將,會打會肯定比不會要好一點,二是從來沒有過遊戲開發的經歷,三是開發週期短且跨平台。

由於要在 Android 和 Ios 上運行,經過和小夥伴的商量,決定選用一樣的遊戲開發引擎,分工合作,然後將各個模塊的代碼合併,在通過編譯將該項目打包的不同的平台,這樣子可以節省開發成本和開發週期,能夠在 Android 和 IOS 上都能運行的,我們首先想到是 C++,於是先選擇 Cocos 2d-x 作為該項目的遊戲開發引擎,決定先看一看 Cocos 2d-x 的相關知識,然後在決定這個方案能否行得通。

上面提到的三個問題,前兩個是不會的問題,只有一種解決辦法那就是適當的學一下,第一,不會打麻將,首先要認識麻將類型,了解最簡單的一些規則,如什麼時候可以碰、什麼時候可以槓等;第二,沒有遊戲開發的經歷,想想剛開始也不會 Android 開發,也還不是一步一步走過來的,那就學一點遊戲開發相關的知識吧,至少能夠解決項目中的問題。最後一個實際上是開發效率及開發方面的問題,只要選擇好方案、掌握好進度,應該是沒有問題的。

經過幾天的準備,發現短期內使用 Cocos 2d-x 開發出一個完整的商業項目還是有一定難度的,於是選擇 Cocos 引擎官方團隊開發的基於 Cocos 2d-x 的遊戲編輯器 Cocos Creator 來進行該項目的開發,下面是官網上對 Cocos Creator 的概述:

Cocos Creator 是以內容創作為核心的遊戲開發工具,在 Cocos2d-x 基礎上實現了徹底腳本化、組件化和數據驅動等特點。
Cocos Creator 基於開源框架 Cocos2d-x,實現了一體化、可擴展、可自定義工作流的編輯器,並在 Cocos 系列產品中第一次引入了組件化編程思想和數據驅動的架構設計,這極大地簡化了 Cocos2d-x 開發工作流中的場景編輯、UI 設計、資源管理、遊戲調試和預覽、多平台發布等工作,是使用 Cocos2d-x 進行團隊協作開發的最佳選擇。

目前,正在嘗試學習使用 Cocos Creator 進行相關遊戲界面的搭建,總體感覺還是比較方便的,感覺入門比較簡單,感覺最好的一點是 Cocos Creator 的適配還是比較強大的,對於比較複雜的界面加了約束,反而會使的佈局層級變得複雜,推薦比較複雜的界面不要加太多約束,有可能導致界面卡頓,一般的界面還是添加約束比較好,當然這只是個人的看法,還是推薦大家添加約束,畢竟添加約束有利於不同屏幕狀態下的適配工作。順便再吐槽一下 Cocos Creator 的開發文檔,個人覺得文檔還需完善,許多東西只能通過 Cocos 論壇網友們的回答解決,當然,不能過於強求,Cocos Creator 還在不斷完善中。如果你打算學習遊戲開發或者比較感興趣,可以嘗試從 Cocos Creator 開始入門喔。

今天就寫這麼多,後面的文章打算記錄一下如何使用 Cocos Creator 進行一些簡單場景的開發,主要以案例的形式整理出來,一方面作為自己的學習記錄,另一方便希望別人能夠看懂,為了防止自己偷懶,在此聲明至少推送 10 篇有關 Cocos Creator 的相關文章。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。