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