要了解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开发团队正在火热开发中,争取早日给游戏开发者们提供稳定好用的版本。