手游開發(fā)工具CocoStudio的前世今生
要了解CocoStudio,需要先了解Cocos2d-x,Cocos2d-x是開源的游戲引擎,一個(gè)支持多平臺(tái)的2D手機(jī)游戲引擎,使用C++開發(fā),基于OpenGLES,基于Cocos2d-iphone,支持iOS4.1,Android2.1,WindowsPhone7及更高版本。
Cocos2D-X引擎的來歷
Cocos2D-X游戲引擎并不是最初的版本。從名字讀者就能看出最早的版本其實(shí)為Cocos2D引擎版本。追溯起來,Cocos2D引擎已經(jīng)有5 年的歷史了。在2008年3月,Ricardo Quesada發(fā)布了Cocos2D引擎的第一個(gè)版本。最初的引擎版本定位于平面游戲框架,使用的開發(fā)語言為Python語言。在發(fā)布之初,只有235份 的下載量。之后的兩年間,Cocos2D引擎的受眾群體依然很少,很少有游戲開發(fā)者知道。
說明:Cocos2D的名字是來自于引擎原創(chuàng)團(tuán)隊(duì)所在的阿根廷Córdoba市附近的Los Cocos。
2008年,蘋果公司在喬布斯先生的帶領(lǐng)下進(jìn)軍手機(jī)移動(dòng)市場(chǎng)。這不僅改變了手機(jī)移動(dòng)市場(chǎng)的格局,也為移動(dòng)游戲產(chǎn)品帶來了新的平臺(tái)。引擎開發(fā)團(tuán)隊(duì)抓住 了此次機(jī)會(huì),在2008年6月宣布將會(huì)接入iPhone手持平臺(tái),并在當(dāng)月就公布了以O(shè)bjective-C為基礎(chǔ)的Cocos2D for iPhone 0.1引擎版本。此版本延續(xù)了Python版引擎的框架和設(shè)計(jì)思路。隨著iOS設(shè)備市場(chǎng)占有率不斷上升,iPhone游戲產(chǎn)品也成為了用戶最愛的應(yīng)用。截 止到2008年12月,蘋果網(wǎng)上商店(App Store)上已有超過40個(gè)用Cocos2D引擎開發(fā)的游戲。
到2010年的9月份,Cocos2D引擎已經(jīng)在游戲開發(fā)者中流行。許多的開發(fā)者第一次接觸Cocos2D引擎,就是來自其iPhone平臺(tái)的版 本。此版本不僅是Cocos2D引擎當(dāng)中的明星產(chǎn)品,它也是App Store最為成功的引擎。由于iPhone版本完善而成熟的功能,使得它在開發(fā)者中廣泛傳播并使用。隨后《StickWars》成為第一款在美國區(qū)付費(fèi) 榜奪得冠軍的Cocos2D游戲,這宣告了Cocos2D引擎的時(shí)代已經(jīng)到來。與此同時(shí),英國的設(shè)計(jì)大師Michael Heald為Cocos2D引擎設(shè)計(jì)了新的標(biāo)志,替換了之前"奔跑的椰子",如圖1-2所示。
圖1-2左邊的是Cocos2D引擎版本,它是基于Objective-C語言的版本。右邊的就是本書將介紹的Cocos2D-X引擎。在 iPhone版本發(fā)布之前,Cocos2D引擎只被少數(shù)開發(fā)者用來制作個(gè)人電腦平臺(tái)上的游戲。游戲產(chǎn)品大多以Flash開發(fā)類型的居多。因?yàn)樵趥€(gè)人電腦平 臺(tái)上,存在著許多優(yōu)秀的游戲引擎,再加上Python語言比較小眾,所以Cocos2D引擎并沒有大放異彩的機(jī)會(huì)。直到現(xiàn)在也是如此,在個(gè)人電腦平臺(tái)上, 它并不是開發(fā)者熱衷的游戲引擎。
但是因?yàn)閕Phone版本的出現(xiàn),憑借著用戶對(duì)iPhone設(shè)備的熱衷,Cocos2D-iPhone版本,也變成開發(fā)者的首選。換句話 說,iPhone版本的誕生是引擎發(fā)展的重要時(shí)刻。它成為了引擎體系中第一個(gè)明星。隨后不久,另一個(gè)更加耀眼的明星誕生了。那就是更具歷史意義的 Cocos2D-X版本。Cocos2D-X引擎版本開啟了跨平臺(tái)開發(fā)的時(shí)代。"X"意味著Cross,表示交叉的意思。-X引擎版本為開發(fā)者提供了跨平 臺(tái)的支持。開發(fā)者只需使用C++語言編寫一次游戲邏輯,就可以在Android、iOS以及其他移動(dòng)平臺(tái)運(yùn)行。
說明:值得驕傲的是Cocos2D-X引擎版本是由國內(nèi)開發(fā)者王哲(walzer)以及團(tuán)隊(duì)制作的。
Cocos2D-X版本之后,引擎發(fā)展進(jìn)入了鼎盛時(shí)期。同一時(shí)期,美國人用C#改寫成CocosNet,新西蘭人Ryan Williams用JavaScript改寫了HTML5的版本,中國人則用C++改寫了Cocos2D-X版本。正如圖1-3所示的,在全球開發(fā)者的貢 獻(xiàn)下,Cocos2D引擎衍生出了很多的版本。
開發(fā)者社區(qū)也涌現(xiàn)出豐富的工具和編輯器,其中有Texture Packer、Glyph Designer等單一工具,也有CocoShop、CocosBuilder、Sprite Helper/Level Helper等集成式的編輯器。開發(fā)者社區(qū)還提供了大量的書籍教程、示例代碼、視頻培訓(xùn)等供開發(fā)者學(xué)習(xí)和使用。如今Cocos2D引擎各個(gè)版本還都在不斷地發(fā)展和更新中。Cocos2D引擎的原始團(tuán)隊(duì)也受雇于Zynga公司。Cocos2D-X引擎團(tuán)隊(duì)也受到了來自微軟和谷歌的贊助。
CocoStudio的前世今生
Cocos2d-x雖然有了熱心的開發(fā)者們分享出自己的編輯器,但這些編輯器要么應(yīng)用場(chǎng)景單一,要么難以協(xié)作,因此Cocos2d-x雖然使用人數(shù)眾多,但開發(fā)起來還存在一定的門檻。而遍觀市場(chǎng)上成熟的游戲引擎,都有配套的開發(fā)工具,比如Flash、Unity、Unreal引擎等,因此開發(fā)團(tuán)隊(duì)在經(jīng)過重重考慮后推出了官方出品的工具。
在2012年官方團(tuán)隊(duì)已經(jīng)在考慮推出開發(fā)工具套裝,當(dāng)時(shí)名字叫做SP-II,Sweet Pomegranate 2代的意思,甜石榴。
官方在官網(wǎng)和官方論壇進(jìn)行了小范圍宣傳,不過同時(shí)卻表示正式版本要在2013年才推出。
到2013年的CocoaChina開發(fā)者大會(huì),Cocos2d-x官方團(tuán)隊(duì)宣布了CocoStudio工具集,原來為了統(tǒng)一名稱而且能夠看出是基于Cocos2d-x的工具,所以最終官方團(tuán)隊(duì)將它叫做CocoStudio。啟動(dòng)器的名字到現(xiàn)在還是叫SPIILauncher。
關(guān)于編輯器的開源問題,官方表示:
首先這個(gè)工具的開源是否有意義,前提是使用者是否可以依照自己的需求對(duì)編輯器進(jìn)行修改,如果提供了編輯器可以自定修改的功能,那么我自己的意見是不開源。
我反倒覺得比較重要的問題是,因?yàn)榈讓邮怯玫氖荕IT License的cocos2d-x,MIT License呀,所以其實(shí)應(yīng)該更關(guān)心的是,你自己是否可以隨意修改游戲的代碼,是否可以進(jìn)行版本管理,是否可以加自己的東西,答案當(dāng)然是可以。我們提供 這個(gè)工具,就是為了滿足cocos2d-x的開發(fā)者,補(bǔ)充他們的工具需求。我今天在開發(fā)者大會(huì)上并沒有提及,但是我想在這里簡(jiǎn)單進(jìn)行一些比較:
工程的開放性:Unity3D導(dǎo)出的工程,你是沒辦法改的,因?yàn)槿思矣玫氖荕ONO,你只能通過插件的方式進(jìn)行擴(kuò)展。如果你要進(jìn)行定制,源代碼20萬美金,而且不賣中國。GameSalad、Corona,都是需要你把自己做好的工程上傳到他們的服務(wù)器進(jìn)行build,沒有其他方式。
支持多人開發(fā):用過Unity的人就應(yīng)該清楚代碼合并有多困難。其他工具更沒辦法進(jìn)行什么代碼合并。
所以我今天一直在提的,并不是我要提供一個(gè)開源項(xiàng)目,而是一個(gè)真正靠譜的,支持多人游戲,商業(yè)化游戲開發(fā)的工具。而這個(gè)工具,是我們進(jìn)行很大人力成本投入的,會(huì)長期維護(hù),并免費(fèi)提供給大家的東西。所以請(qǐng)不要再問,這東西是不是會(huì)開源,請(qǐng)多問,這東西是否能滿足我的需求。
從0.1版到現(xiàn)在V0.1.6,CocoStudio已經(jīng)推出了6個(gè)迭代版本,但從版本號(hào)就可以看出,這還沒有達(dá)到可以給所有人用的穩(wěn)定版,并且目前只支持Windows平臺(tái),CocoStudio開發(fā)團(tuán)隊(duì)正在火熱開發(fā)中,爭(zhēng)取早日給游戲開發(fā)者們提供穩(wěn)定好用的版本。