游戏快报

那些年,我们被坑过的游戏引擎

那些年,我们被坑过的游戏引擎

(搜公众号youxiputao,订阅游戏葡萄深度专题文章)

Unity篇:

1e3c43d29537cc24.jpg

Cocos2d-x篇:

53d12a3fe6037005.jpg

移动游戏引擎里的两个领跑者正式狭路相逢了。上个月,Unity宣布推出2D引擎,触控表示将发布Cocos2d-x的3D引擎。而Unreal、Crytek等等,继续只受到一小部分开发商的关注。

游戏葡萄君今天继续推出年终大盘点系列文章,为大家比较一下Cocos2d-x与Unity3D。

71f11b0783e2c0bd.jpg

首先是占有率,中韩美日四大市场的份额可以见上图。

各自亮点

Unity3D的亮点是可视化编程,资源轻松导入,一键部署各个平台,拥有众多第三方插件,轻松处理音频/视频的兼容。Cocos2d-x是拥有发达的开发者社区,能够方便的找到各种问题的解决方案。spine、TexturePacker、Cocostudio等工具让引擎方便的处理各种资源,UI问题。而且开源方式也使开发者很方便的研发出适合自己项目的编辑器。

适合怎样的团队

Unity适合开发周期较长,追求较好的画面表现、拥有稳定收入的团队使用。Cocos2d-x适用于快速迭代的开发方式。适用于对性能要求较高,安装包体积需要严格控制的项目使用。

授权方式

Unity3D采用收费闭源的做法,Cocos2d-x采用基于MIT协议的免费开源的做法。

支持形式

Unity3D有Asset Store的工具和资源支持;Cocos2d-x有比较活跃的社区进行支持。

使用方式

Unity3D任何功能都可以拆分成单个组件来实现;Cocos2d-x开源的优势在于可以根据自身的需求进行自定义修改。

开发难度

相对来说,Unity3D相对于程序基础不好的人来说更容易上手,界面直观,能够较大限度降低技术壁垒,拥有较高的3D水准,而遇到问题时Cocos2d-x更容易找到解决方法,Unity也可以寻求帮助,但是一方面效率会受到英文水准和时差的影响,另一方面,涉及到一些底层的东西会很纠结 Cocos2d-x对C++代码支持,也支持JS和Lua脚本。Cocos2d-x入门难度相对比Unity3D要高,但是后续开发难度曲线比较平滑。开发过程中遇到的任何问题都可以从社区或者调试源码来解决。

编程语言

Unity是C#, Javascript, Boo;Cocos2d-x则是C++,支持JS和Lua脚本。

性能差异

如果不熟悉Unity3D,很容易出现性能问题 ;Cocos2d-x目前的运行效率比Unity3D更好,游戏包的大小更加可控。

兼容性

一个比较,Unity3D自己团队开发的组件在其他团队或者项目多半还能够使用,但是11月13日unity在成都的发布会中指出,Unity3D的插件之间也存在不少的冲突,所以应该使用官方推荐的插件组合。 Cocos2d-x这方面的兼容性会差一些,如果团队更改了引擎代码,则可能导致不同的环境不兼容。而对于独立于引擎以外的功能性扩展,则基本不会遇到兼容性问题。

可视化编辑

Unity3D对可视化编辑的支持更好,脚本编译时间很快,可以快速出原型出Demo Cocos2d-x更多是代码层面的编写,为了补充可视化编辑方面的问题推出了Cocos studio 。

未来发展方向

Unity开始优化安卓的兼容问题,正在向2D游戏领域渗透,并且推出了广告平台Unity Cloud和游戏出版服务Unity Games,解决流量增收和向新兴平台移植游戏的问题,进一步巩固自己在移动平台的优势。

而Cocos2d-x方面向葡萄君表示,未来Cocos2d-x会加强可视化编辑器,然后进一步优化已有的功能和特性去适应中国市场诡异而复杂的兼容性问题,同时也会进一步发展对2.5D的轻休闲3D游戏的支持。