人生最纠结的事,莫过于有选择…………
cocos2dx和unity3d从某种意义上讲,都很不错。但当面对特定需求以及团队情况的时候,总是能分出高下的。
假设,目标游戏是一款类似 刀塔传奇 的游戏
我们先分析一下游戏特点
1、这是一款2D游戏
2、它没有强烈的玩家互动,也没有玩家互见
3、它适合使用HTTP与服务器进行通信
4、为了资源较小,使用2D骨骼动画
5、为了更好的用户体验,我们需要支持游戏内更新
对于以上5点来说,两个引擎都是可以做到的……
那针对此目标,我们来说如果使用U3D,应该如何做。
如果使用U3D,那U3D自身强大的3D功能将被无视。而由于U3D自带的2D简直是弱爆了。于是,我们一般采用3D场景+正交相机的方式来实现2D效果。 这些都是可以的。 只是说Mono起步价就是8MB(Mono框架本身的开销就不谈了)。
界面方面,采用NGUI吧。这些都是不需要思考的。
但对于2D骨骼动画来说,较好的选择是Spine。 但目前的美术外包团队中对Spine这个工具较熟悉的,为数不多。 而Dragon Bones,只有一个弱弱的Unity3d支持, 在GIT上可以找到。
对于游戏内更新问题,只能使用其它解释型脚本了, iOS上是不能更新可执行代码的。 LUA可以说是不二的选择。
这样看来,使用U3D面临的问题就是 能否找到一个好的美术团队使用Spine做出2D骨骼动画…… 在U3D框架的基础上,我们还需要再封装一次LUA,以满足动态更新。 安装包相比cocos2dx来说,多了8MB。 一套U3D授权为5000美刀
来说说cocos2dx
cocos2dx使用C++开发,同时官方支持的导出脚本为LUA,JS。 因此,自动更新功能是没有问题的。
cocos2dx有一个cocostudio和cocosbuilder工具可以拿来做UI。 虽然不太便服,但忍忍是可以接受的。
cocos2dx对Dragon Bones的骨骼动画支持较好,不用担心美术问题
cocos2dx是免费的,少了5000美刀。
cocos2dx安装包要小8MB
cocos2dx有这方面的成功案例
结论
虽然一直期待能够使用U3D作为惯穿一切的解决方案。但目前面对这样的2D需求的时候。 个人还是觉得选择cocos2dx较为科学。