從零開始的準備工做,主要在基於cocos2dx上開發手機遊戲的環境準備上.看起來可能會有些複雜,作起來其實也沒有那麼複雜.能夠去cocos2d-x.org下載一個開發包,也能夠去github clone一個最新的版本.不過仍是去官網下載一個穩定的版本比較好.
對於版本的選擇,我也是瀏覽了一些網上的帖子,不少開發者比較信賴2.x版本,而3.x的羣體也不小.cocos2dx 2.x的版本是我在學校的時候接觸的,那時候環境配置遠不如3.x那麼方便,對於那時候獨自探索一款新的遊戲引擎的我來講,過程歷盡千辛.Cocosdx在3.x版本架構發生了重大改變,採用Python做爲項目組織開發腳本,使用cmake做爲主體項目c++部分構建工具.這對於我來講固然是個意外的驚喜,由於我曾是一個linuxer,並且摯愛c++,因此cmake,python,lua之類的對於我來講都是很容易接受的,因此我選擇的是cocos2dx 3.2版本.雖然新版本採用的c++11標準我並無詳細瞭解過,依然在c++03徘徊,不過這些都不是主要的障礙.
在準備搭建環境以前,有一點須要說明的就是,其實本篇文章是在win32上面搭建的,並無考慮linux,我想沒有多少開發者會像當年偏執的我那樣,選擇在linux發行版上面搭建android的開發環境吧,尤爲是ubuntu,在ubuntu 13.x以後的版本,兼容32bit的依賴包已經被捨棄了,因此在使用android ndk/sdk的時候處理依賴關係會至關的麻煩,固然,我相信不少Linux高手很容易作的到,可是本文的主要意圖也不是在這裏了,因此就簡單的涉及,而後帶過吧.不過,若是真的有這方面的問題,能夠給我發郵件,我想,我應該能夠解決的,只是個人電腦因爲以前我嚐鮮玩win8,將本身的硬盤分區弄成了gpt,如今沒法安裝ubuntu雙系統,因此可能我不能還原事故現場.若是體諒我,就不要在這個點難爲我.
選用cocos2dx 3.2,最好使用的是andorid r9d ndk,若是不是的話,會遇到一個小問題,不過也只是時間問題,帶過提一下而已.另外,須要cmake,apache ant,oracle jdk,android sdk/ndk,vs2012/2013. 至於vs2012/2013,安裝好就能夠了,在真正開發的時候咱們其實並不會打開那個笨重的傢伙,因此選用ultraedit + notepad++的組合吧.
在配置上述這些工具的時候,能夠參見cocos2dx開發包中的readme和setup.py,其實也就是配置環境變量.而選用ultraedit的時候,合適的版本本身去找吧,不過記得去官網下載lua.uew,具體放置的位置,能夠去配置選項裏面去看,就是lua的高亮.而Notepad++則是爲了補足ultraedit對cmake高亮不支持的缺點,在開發遊戲的過程當中,須要添加本身封裝的C++模塊,例如:http請求部分,這一般在帳號驗證的部分會用,參考cocos2dx對http支持,發現了不足,並無封裝到對應lua調用,因此就須要本身動手去完善,這部分咱們就須要notepad++對cmake的高亮支持了,能夠看得更舒服一點.
若是到這裏沒有發生什麼問題的話,那麼就可使用cocos2dx提供的console工具去建立一個helloCocos2dx的項目了,而後本身去看一下相關的教程,使用cocos工具去編譯發佈win32和android平臺項目了.
這一部分的準備工做,其實沒有多少技術含量,可是做爲着一些列的補充部分仍是蠻合適的.開發遊戲不僅是僅有客戶端部分,還須要有後端的配合.因此下面的補充部分主要是提供給那些同時兼顧先後端部分的同窗的.
關於後端環境的補充部分:
後端開發在虛擬中作就能夠了,由於同時兼顧先後端的開發,咱們不可能將前端發佈後安裝到本身的手機上面去,再重啓系統切換到linux去作後端的開發與調試,那樣太浪費時間了,因此仍是使用虛擬機去搭建後端的環境就行了.能夠採用virtualbox/vmware workstation,安裝Linux虛擬機,而後使用本地共享文件夾方式開發後端部分.數據庫和web部分能夠放在一臺虛擬機上面,然後端程序放在一臺機器上面跑就行了,不過須要兼顧本身的機器性能,最好是多加一條內存吧,如今的機器性能很容易作的到.
這裏我說一下個人打算,使用virtualbox,採用橋接的方式,保證虛擬機與host以及虛擬機與虛擬機之間的通訊.開發採用windows本地方式,使用ultraedit+c+++cmake+lua開發後端的程序,web部分採用php/golang(尚未決定好),數據庫選擇mysql,http服務選擇apache,二者安裝在一臺虛擬機上面,這臺虛擬機同時提供svn服務. 另一臺開發測試機器,則是使用svn update的方式獲取最新的源碼進行編譯測試.固然,也能夠直接使用netbeans的遠程開發方式.看本身的喜愛吧.