我推荐cocos2d-x 现在手机游戏市场前10位有7位都是cocos2d-x开发,开源、跨平台、MIT许可等等,当然适合2d游戏,3d游戏还是用unity。
cocos2d-x和unity3d要真的在技术选型的时候比较, 其他还真是各有千秋, 我觉得主要还是根据团队的性质和要开发游戏的类型吧. 一般情况下, 我感觉是倾向于unity3d, 特别是在最近的unity3d中, 已经有了官方的2d模块, 开发起来会更爽, 开发工具的配合也更加强大, 开发效率也更高一些.
但是cocos2d-x这种开源的引擎也仍然还是有前途, 毕竟源代码都在自己手中, 虽然各类工具的组合, 选择可能会挺麻烦的, 但是假如游戏本身是一个比较奇特的类型, 想要更多的定制, 或者游戏本身想更进一步的压榨平台的性能或者非常强化的利用某个平台的新特性, 这个时候cocos2d-x几乎是唯一的选择。
对于“学习”而言,
Cocos2d-x是比较好理解的。它是传统的OOP结构,对于有编程经验的人来说,是最好不过了。就连Unity3d上,也有一个很火的2D框架,Futile,是模仿Cocos2d-x的架构和代码风格。从Cocos2d-x上手接触一下游戏引擎,是一个不错的选择。
而Unity3d是Component-Based结构,对于OOP背景的程序员来说,一开始会觉得别扭。而且Unity3d有很多针对3d模型、3d动画、优化等等的商用功能,对于初学者来说会有点overwhelming的感觉。而且无论如何使用Unity3d,总需要在editor里进行大量操作,对理解游戏引擎和代码架构来说,并不是一个很好的方式。
然而,从“开发”的角度来说,
Cocos2d-x是一个“纯正”的引擎——仅仅只是代码库。虽然可以利用CocosBuilder和其他一些工