游戏创业团队的技术选型之Cocos2D

2012-09-26 09:11:45来源:《程序员》作者:王哲

Cocos2D的稳定性、可商用型和流行程度已无需证明。目前App Store中国区付费总榜前三十名约有50%是基于Cocos2D开发的,几个月来长期如此。因此:

Cocos2D的稳定性、可商用型和流行程度已无需证明。目前App Store中国区付费总榜前三十名约有50%是基于Cocos2D开发的,几个月来长期如此。因此:

  • 只要你是做2D游戏就应该用Cocos2D引擎;
  • 根据发布目标平台和团队擅长的编程语言选择不同Cocos2D分支,开源社区尊重每位程序员自己的喜好和口味;
  • 不用担心法律和授权费用的问题,Cocos2D及其集成的第三方库都是非GPL/LGPL的;

Cocos2D家族包含了一系列不同语言、不同渲染方案的多个分支,目前稳定成熟、有商业游戏发布的主要有三个:

  • Cocos2D-iPhone,用优雅的Objective-C语言进行游戏开发,最近出了JavaScript绑定,游戏只能运行于iOS设备上;
  • Cocos2D-X,用经典的C++进行游戏开发,加以Lua绑定和JavaScript绑定,游戏可运行于iOS、Android、Windows Phone 7&8、Windows 8 Metro、BlackBerry 10、bada、MeeGo、Linux、Mac OS X等手机和桌面系统上;
  • Cocos2D-XNA,用C#进行游戏开发,可运行于Windows Phone 7&8之上。

还有一个分支,虽然目前尚无大型商用游戏,但未来相当看好:

  • Cocos2D-HTML5,基于HTML5规范集开发,采用JavaScript语言,游戏可运行在Chrome、FireFox、IE10、Opera等支持HTML5的浏览器内。

Cocos2D系列引擎对不同平台和开发语言的支持如表1所示,注意:虽然有不同分支,但只要是在同一个大版本号1.x或2.x下面,API接口是完全一样的。

\

采用与开发平台自身相同的编程语言是个不错的选择;但按照目前的趋势,跨平台已经成为一个基本考虑点之一,因此选择具有跨平台能力的开发语言,会让游戏开发和运营更轻松愉快。所以开发语言的选择上,大致可以这么考虑:

  • 系统原生语言:例如在iOS上选择Objective-C,在Windows Phone上选择C#,开发时能很方便地集成SDK上的各种功能—原生UI框架以及ShareKit、ASIHttpRequest之类的第三方库,且易于调试。但游戏无法跨平台,因此现阶段不是太推荐;
  • C++:保持高性能的同时可以跨不同平台,调试方便,但开发进度偏慢,集成部分第三方库需要一次语言转换,适合技术功底比较强的小型创业团队,在开发中小型游戏上有优势;
  • Lua、JavaScript等跨平台脚本:可以在运行性能和开发速度上取得一个折中,缺点是调试和集成第三方库不易,适合有一两个技术高手能驾驭语言转换层(需要二次转换,如Java>C++>Lua),然后招聘脚本程序员大量堆逻辑的中型创业团队,而且团队里程序员越多,使用脚本带来的增益越明显。此方案在开发大型游戏上有进度优势。在工具方面,Cocos2D和多数开源社区一样是个集市,没有建造大教堂思路下集中控制的一站式解决方案,因此你需要从不同软件提供商手里购买针对不同使用目的的工具,基本覆盖了游戏开发过程的方方面面,比较流行的有:
  • CocosBuilder是目前最好的UI编辑器和动作编辑器,拥有开源免费MIT许可。在2.1版本之后加入了大家翘盼已久的时间轴动作编辑功能。其作者Viktor Lidholt已被Zynga的Cocos2D团队收编,因此CocosBuilder很显然会是整个社区最重要的编辑器之一;
  • 71squared的Particle Designer,必不可少的粒子编辑器,8美元一套,还不到买一份肯德基全家桶的钱;
  • mapeditor.org的Tilemap Editor,这个是开源免费的;
  • Texture Atlas打包工具如Texture Packer、Zwoptex;
  • SpriteHelper、LevelHelper系列。

除此之外,还有一些比较新潮但用户不多的工具,例如CatHide.com,让你在一个代码编辑器里完成基于Cocos2D-X的多平台开发调试部署;还有蛋疼到碎的iTileMaps,让用户在iPad里面编辑tilemap地图,你可以买一套送给美工同学,然后享受他想杀死你的眼神。

社区支持一直是Cocos2D引以为傲的事情。只要你礼貌地在Cocos2D-iPhone或Cocos2D-X论坛里询问,总能得到来自世界某个角落里热心开发者的解答。除了官方论坛,国内还有39个Cocos2D QQ群,百度文库里4534篇Cocos2D相关文档,SlideShare上196份相关PPT,CSDN下载区701份相关资源,以及海量的技术博客,都会是你进入Cocos2D开源世界很好的学习资源。

总结Cocos2D开源引擎适合于这样的创业团队:

  • 希望和Zynga、Glu、TinyCo、4399等使用Cocos2D的顶尖游戏公司站在同样的技术起跑线上;
  • 希望掌握产品的每个细节,且团队中有靠谱的程序员;
  • 希望能天马行空作出自己游戏独一无二的效果,不喜欢被闭源产品束缚作出同质化产品;
  • 希望针对中国市场特殊性,能不费力地搞定千元智能机上的性能问题。

作者王哲,毕业于南京大学,2010年开始经营维护Cocos2D-X开源社区至今,负责《捕鱼达人》系列游戏的跨平台支持。

赞助商链接: