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



























