1.
先说说为什么cocos2d-x之前那么火:
a. 开源:每个CTO都认为开源可以更好的掌控引擎,万一引擎坑了可以马上改,包的大小比较容易控制,跟平台语言相互调用也方便。2.x时期,坑是一点点填得差不多了,许多技术实力强的团队也完成了自己的改造, 然而cocos2d-x在2.x到3.x期间引擎架构改了,连新建工程都一个版本一种方式,这期间坑多得让很多人都不想陪着踩一直用着2.x,现在好不容易稳定了,已经失了许多人心。
b. 专注2D:Unity在13年下半年才正式发布2d游戏的原生支持,之前必须依靠插件才能比较顺畅的开发2d游戏,显然已当时的手机性能,开发2d是比3d更可控,流程更短。因此当时在手游领域,cocos2d-x可谓突飞猛进,一日千里。
c.跨平台:虽然Unity也能跨平台还是一键发布,然而Unity 3.x~4.x只有收费版才能支持和平台语言通信(obj-c,java等),不买正版等于没法接各种sdk。所以还是cocos2d-x这个开源的C++引擎做起这些接sdk之类的平台相关的工作比较灵活。
d.cocos2d-iphone的口碑:这也是触控把cocos2d之父从Zynga挖过来做VP的原因之一,cocos2d-iphone作为iphone上早期的开源项目知名度和开发者数量都挺不错。
2.再说说Unity3d更值得选择的原因:
a.强大的编辑器:虽然不少程序员不太适应组件式的开发思维,然而配合稳定流畅设计合理的编辑器,很多工作可以分配给策划和美术,程序员专注于游戏逻辑。必要时通过资源商店可以购买种类丰富的插件和美术资源,甚至自己开发定制的插件,节省了宝贵的开发时间。
反观cocos2d-x,最近这个版本的cocostudio才感觉不卡,之前的用几十分钟就卡得不行……功能上算是慢慢赶上来了,然而要达到unity那种随心所欲扩展的境界,估计是不可能。
b.方便的跨平台:相比cocos2d-x那种还要打开ide导入工程才能发布跨平台的原始方式,Unity很早就支持了一些平台的一键发布,只需简单的设置。唯一不足的就是某些平台的发布体积较大,需要优化。
值得一提的是直接发布webgl版本(通过il2cpp将c#字节码编译成c++再用emscripten将c++编译成js),目前时髦的浏览器都可以直接运行,无须任何插件,这也让adobe互联网多媒体的霸主地位开始动摇。反观cocos2d为了兼顾web,搞出了cocos2d-js这样的方案,结果是花费大量精力去做到js和c++方面api的步调一致,在发布的时候发现即使在web上流畅跑起来,要发布成原生版本还是有许多坑要探索。
c.领先的3d和日渐完善的2d支持:经过10年的积累以及近几年的高速发展,Unity的3d部分是比较成熟的,能够满足大部分游戏开发者的需求。配合强大的编辑器,cocos2d-x想要追赶没那么容易。2d的支持虽然比较晚出来,但是之前的许多优秀2d插件已经证明了Unity可以胜任2d游戏制作。
d.收费模式:现在的时代,独立游戏是创新的代名词,对引擎来说,获得独立游戏开发者的青睐是非常有意义的。Unity在4.x的时候还扭扭捏捏,没法用个人免费版接sdk,因为不允许和平台语言互调,而5.x是完全没有这个限制,也就是说个人免费版也可以调用java或obj-c写的插件了。
而收费版只是要求一年挣了十万美刀的用户必须买个正版,也就几千刀而已,比虚幻4那种要贡献部分收入的政策简直太良心。
3.综述: cocos2d-x本来是前景一片光明的,之前作为一个开源的跨平台手游2d引擎打出知名度,触控再用这个知名度去拿一些海外作品的代理间接变现。然而后面为了追求在财报上直接体现引擎的价值,去走一条大而全的道路,什么都想做,2d的流程还没做好,又搞web和3d,什么都没做好。而Unity做了好用的编辑器,设计了十分友好的制作和发布流程,以此为根基牢牢把持住3d引擎最大的市场占有率的同时,稳扎稳打,一边提升3d方面的质量,一边借鉴2d插件来开发原生2d功能,更开发了新的ui系统(这部分还开源了),还有通过建设资源商店以及游戏视频分享平台等等周边服务来维持一个健康的生态,整个战略都十分清晰稳健。顺便说下像虚幻4,cryengine这些3A领域的霸主,想要在手游和独立游戏这里跟Unity争抢一亩三分地,这方面的积累还是不够。 手游行业现在已经进入了资本垄断大众市场,独立游戏争鸣小众市场的时代,无论是做更能给资本讲故事的重度游戏,还是追求艺术理想的独立游戏,Unity都能很好提供一整套的成熟的解决方案,反观cocos2d-x已然乱了阵脚,只是在宣传上下足了功夫,看我什么功能都有,看国产排行榜上多少个游戏是用我开发的……然而用起来是那么的艰涩,除非是技术实力、人力都充足的中大型团队可以在开源的基础上改造改进,其他小团队只能依赖引擎方的,在远景上已然黯淡。所以我个人认为,Unity是游戏从业者的一个比较好的选择。以上拙见仅供参考,欢迎指正。
原文链接:https://www.f2er.com/cocos2dx/339052.htmla. 开源:每个CTO都认为开源可以更好的掌控引擎,万一引擎坑了可以马上改,包的大小比较容易控制,跟平台语言相互调用也方便。2.x时期,坑是一点点填得差不多了,许多技术实力强的团队也完成了自己的改造, 然而cocos2d-x在2.x到3.x期间引擎架构改了,连新建工程都一个版本一种方式,这期间坑多得让很多人都不想陪着踩一直用着2.x,现在好不容易稳定了,已经失了许多人心。
b. 专注2D:Unity在13年下半年才正式发布2d游戏的原生支持,之前必须依靠插件才能比较顺畅的开发2d游戏,显然已当时的手机性能,开发2d是比3d更可控,流程更短。因此当时在手游领域,cocos2d-x可谓突飞猛进,一日千里。
c.跨平台:虽然Unity也能跨平台还是一键发布,然而Unity 3.x~4.x只有收费版才能支持和平台语言通信(obj-c,java等),不买正版等于没法接各种sdk。所以还是cocos2d-x这个开源的C++引擎做起这些接sdk之类的平台相关的工作比较灵活。
d.cocos2d-iphone的口碑:这也是触控把cocos2d之父从Zynga挖过来做VP的原因之一,cocos2d-iphone作为iphone上早期的开源项目知名度和开发者数量都挺不错。
2.再说说Unity3d更值得选择的原因:
a.强大的编辑器:虽然不少程序员不太适应组件式的开发思维,然而配合稳定流畅设计合理的编辑器,很多工作可以分配给策划和美术,程序员专注于游戏逻辑。必要时通过资源商店可以购买种类丰富的插件和美术资源,甚至自己开发定制的插件,节省了宝贵的开发时间。
反观cocos2d-x,最近这个版本的cocostudio才感觉不卡,之前的用几十分钟就卡得不行……功能上算是慢慢赶上来了,然而要达到unity那种随心所欲扩展的境界,估计是不可能。
b.方便的跨平台:相比cocos2d-x那种还要打开ide导入工程才能发布跨平台的原始方式,Unity很早就支持了一些平台的一键发布,只需简单的设置。唯一不足的就是某些平台的发布体积较大,需要优化。
值得一提的是直接发布webgl版本(通过il2cpp将c#字节码编译成c++再用emscripten将c++编译成js),目前时髦的浏览器都可以直接运行,无须任何插件,这也让adobe互联网多媒体的霸主地位开始动摇。反观cocos2d为了兼顾web,搞出了cocos2d-js这样的方案,结果是花费大量精力去做到js和c++方面api的步调一致,在发布的时候发现即使在web上流畅跑起来,要发布成原生版本还是有许多坑要探索。
c.领先的3d和日渐完善的2d支持:经过10年的积累以及近几年的高速发展,Unity的3d部分是比较成熟的,能够满足大部分游戏开发者的需求。配合强大的编辑器,cocos2d-x想要追赶没那么容易。2d的支持虽然比较晚出来,但是之前的许多优秀2d插件已经证明了Unity可以胜任2d游戏制作。
d.收费模式:现在的时代,独立游戏是创新的代名词,对引擎来说,获得独立游戏开发者的青睐是非常有意义的。Unity在4.x的时候还扭扭捏捏,没法用个人免费版接sdk,因为不允许和平台语言互调,而5.x是完全没有这个限制,也就是说个人免费版也可以调用java或obj-c写的插件了。
而收费版只是要求一年挣了十万美刀的用户必须买个正版,也就几千刀而已,比虚幻4那种要贡献部分收入的政策简直太良心。
3.综述: cocos2d-x本来是前景一片光明的,之前作为一个开源的跨平台手游2d引擎打出知名度,触控再用这个知名度去拿一些海外作品的代理间接变现。然而后面为了追求在财报上直接体现引擎的价值,去走一条大而全的道路,什么都想做,2d的流程还没做好,又搞web和3d,什么都没做好。而Unity做了好用的编辑器,设计了十分友好的制作和发布流程,以此为根基牢牢把持住3d引擎最大的市场占有率的同时,稳扎稳打,一边提升3d方面的质量,一边借鉴2d插件来开发原生2d功能,更开发了新的ui系统(这部分还开源了),还有通过建设资源商店以及游戏视频分享平台等等周边服务来维持一个健康的生态,整个战略都十分清晰稳健。顺便说下像虚幻4,cryengine这些3A领域的霸主,想要在手游和独立游戏这里跟Unity争抢一亩三分地,这方面的积累还是不够。 手游行业现在已经进入了资本垄断大众市场,独立游戏争鸣小众市场的时代,无论是做更能给资本讲故事的重度游戏,还是追求艺术理想的独立游戏,Unity都能很好提供一整套的成熟的解决方案,反观cocos2d-x已然乱了阵脚,只是在宣传上下足了功夫,看我什么功能都有,看国产排行榜上多少个游戏是用我开发的……然而用起来是那么的艰涩,除非是技术实力、人力都充足的中大型团队可以在开源的基础上改造改进,其他小团队只能依赖引擎方的,在远景上已然黯淡。所以我个人认为,Unity是游戏从业者的一个比较好的选择。以上拙见仅供参考,欢迎指正。