笨木头  2017-06-21 18:55     其它     阅读(51558)     评论(16)
转载请注明,原文地址: http://www.benmutou.com/archives/2388
文章来源:笨木头与游戏开发
木头玩了几年的Cocos2d-x,从2.0beta版本直到3.2,后来便转去玩Unity3D了,断断续续玩了2年多。
有不少朋友问过我,Cocos2d-x和Unity3D怎么选?有什么区别?
今天我就来吹吹这方面的水吧。

1. 哪个容易入门?

要说入门,大部分人会觉得Unity3D简单很多,其实不是的,Cocos2d-x入门比Unity3D简单。

木头可不是在这吹水,Unity3D要拖拉出一个简单“玩具”倒是很容易。但是当你以为自己入门了的时候,你会发现,每当你想实现某个功能的时候,阻力都很大,你会非常迷茫。
对,官网有文档,但如果你看过了那个文档,就应该知道,多的不知道从何看起。
这就是Unity3D奇怪的地方,它让你误以为开发游戏很简单,实际上不是的。
Unity3D是一整套的工具,你需要学习的东西非常非常多。

反之,Cocos2d-x入门的难度不在于它本身,而是在于C++,C++不好入门,资质不好的开发者学起来那是一个折磨。所以,排除C++之后,Cocos2d-x的入门其实很简单,你想要什么功能,看官方Demo,把代码拷过来即可。
Cocos2d-x只是一个引擎,你要学的东西并不多。

Cocos2d-x的入门曲线是平滑的,稍微往上走一点。
而Unity3D的入门曲线是陡峭的,一直往上走。

所以,论入门难度,Cocos2d-x本身比Unity3D简单,注意【本身】两个字。

2. 哪个引擎强大

Unity3D!Unity3D!Unity3D!
绝对的!

不说别的,光是移植这一块,Unity3D一键完成,什么都不用管。
而Cocos2d-x呢?基本每一次升级版本后,移植Android平台我都得折腾一遍。
不知道现在的Cocos2d-x在移植上面有没有改进?如果有,那,我还是挺Unity3D。
Cocos2d-x给人的感觉就是——折腾,搞技术。
Unity3D给人的感觉就是——爽,搞创作。

我看最近Cocos2d-x的IDE也越来越往创作方面靠拢了,就是不知道到了什么程度。
但Unity3D的IDE真不是一般的强大,这就是一个搞游戏创作的东西,就这么简单。

Unity3D的Asset Store也很强大,资源丰富,并且它已经支持用支付宝付款了,免费的资源也不少,但偶尔买个几十、一百的资源,还是非常值得的。
Cocos2d-x的资源商店好像很久之前有一个,不知道现在怎么样了?当年那个真的是不堪入目。

所以,Unity3D更强大,毋庸置疑。

3. 友好度

Cocos2d-x曾经对开发者是十分不友好的,比如当年的2.x版本跨越到3.0的时候,API大改,导致网上流传的教程都显得十分过时。后来往3D方向发展也是一样,毫不考虑开发者的真实需求。当年基本上每次升级版本都非常折腾,搞得我必须不同的游戏都要维护不同的版本,十分麻烦。

官网更是不可理喻,一个国人(改)写的引擎,官网竟然默认是英文的。代码注释是英文的就算了,毕竟这样比较容易传播。但官网,官网啊,我也不知道为什么,国内开发者就那么的让Cocos2-x团队不待见。
也许是我们国内开发者不争气吧。

Unity3D相对来说就好多了,也许它已经度过了那个发展期吧,反正从我接触开始,就没发现API大改、升级版本报各种问题的麻烦。

所以,论友好度,Unity3D占优。
(另外补充一下,近年来,Cocos2d-x已经“改邪归正”,开始做正事了。)

4. 明显的优缺点对比

这两个引擎最明显的对比就是安装包大小,Cocos2d-x的安装包小的话只有几M,而Unity3D基本上一个空包都要10M左右。
对于一些有“特殊”需求的人群来说,不得不选Cocos2d-x。


另外,Unity3D写出来的游戏普遍来说比Cocos2d-x的游戏要差一点(不优化的前提下)。

这是我感觉到的最明显的优缺点。

5. 新手推荐学哪个引擎?

每次有人问我,作为初学者应该学哪个引擎的时候,我大部分时间是推荐Cocos2d-x(哪怕我本人非常热爱Unity3D)。

原因很简单,用Cocos2d-x写游戏会让你时刻记住自己是开发者,而用Unity3D开发游戏会让你觉得自己是超人,是游戏创作者(代码是什么?能吃吗?)。
可能每一个学习Unity3D的新手最后都会发现,自己写的代码烂得出奇,不像是自己应有的水平。这是当然的,你的注意力都在Unity3D强大的IDE上了。

另外,Cocos2d-x的教程比较优秀(比如木头曾经的教程在曾经的那个年代,啦啦啦),大部分是文字教程。而Unity3D的教程比较差,毕竟它经常要涉及到界面上的功能解释,需要不断截图,写起教程来很麻烦,所以大部分都是视频教程。

现在似乎很流行视频教程、直播教程,我没怎么看过,所以没法评价。
我个人是倾向于文字教程,因为看文字比较节省时间,看视频很费时又容易走神。

所以,作为一个新手,游戏开发新手,学Cocos2d-x不会有错的,它能让你的技术更扎实。

6. 纯属推荐的话,哪个好?

如果排除新手这个概念的话,我还是推荐Unity3D,它真是创作游戏的神器。

其实最近Cocos2d-x的发展倒是有点像Unity3D,连IDE都有点像。
所以,如果你愿意陪着Cocos2d-x一起成长的话,选择它也是很不错的,因为现在的Cocos2d-x再也不是当年那个高傲的家伙了,它应该会发展得不错。

另外,招Cocos2d-x的公司似乎比较多,Unity3D的我比较少听说。

反正,作为一个游戏创作者,我强力推荐Unity3D。
16 条评论
  • 太空旅客 2019-07-19 15:27:48

    你终于解开了我多年的困惑:赚钱目的大于因为热爱而做游戏,会不会影响游戏创作
    0回复
  • 呼呼呼 2019-05-16 10:08:18

    好文章。
    不过作为一个C++爱好者来说。一眼喜欢上cocos2dx那是肯定的。太熟悉的样子了!
    Unity确实降低了大量的游戏开发门槛,但是门槛是干嘛用的?入门用的。你想提高就特别难。不会shader不会优化那都是无法逾越的门槛了。。。。有数学功底和强劲的C++基础,这些都不是事。。。。
    有时候发觉游戏的乐趣还不如开发游戏的乐趣大。。。。
    0回复
    • 博主 笨木头 2019-05-17 07:42:00

      +1。确实入门只是第一步,后续修行很重要。
      Unity可能更适合我这种变成业余选手的人了(悲惨状

      最后一句话超级同意,开发游戏的过程才是最大的乐趣
      0回复
  • Zealoter 2018-12-08 10:14:05

    从PHP开发工程师辞职,做自己热爱的游戏事业,自己学习COCOS!不忘想做游戏的初衷!
    0回复
    • 博主 笨木头 2018-12-09 17:06:46

      加油!
      0回复
    • 萧旭 2019-08-26 15:27:27

      每一个程序员的初忠吧
      0回复
  • 暗光之痕 2017-07-04 10:42:16

    当年也是看着木头大的书入门的,现在用Unity也快一年了,C#确实用起来各种舒服,不像Java那么冗长,也不像C++学习难度高(C#效率低一些吧),还记得当年cocos用hashset打包到android上直接报错了,也是晕倒。
    现在做AR/VR的很火吧?都用的Unity,我怎么好像看不到几家做cocos的?做cocos几家多数感觉是棋牌游戏额。
    0回复
    • 博主 笨木头 2017-07-04 19:01:49

      可能我的两个群都是Cocos群,所以经常看到招聘Cocos的信息,Unity比较少见,我还以为Unity的公司不多。
      不过,招聘信息里确实大部分都是做棋牌的,我姐夫所在公司也是做棋牌,老想让我去,其实我很讨厌这种棋牌游戏(金钱味太重)。
      Cocos打包Android确实折腾人啊,哈哈,Unity就舒服多了,不,是超舒畅!
      0回复
      • 暗光之痕 2017-07-04 20:14:31

        是哈,简直感同身受有没有。几家来要招聘都是棋牌游戏,实在不太想做。一开始用Unity的时候打包出Android,看到正确运行了,我总感觉到不对劲,玩cocos后的后遗症,哈哈。
        0回复
        • 博主 笨木头 2017-07-04 21:07:42

          哈哈哈,Unity的编辑器确实很强大。
          0回复
      • 松子落 2019-03-12 18:05:50

        但你真正融入游戏圈,你就发现钱这真是个好东西
        0回复
        • 博主 笨木头 2019-03-12 19:20:02

          啊,不是的,我一直都觉得钱是好东西...
          但我希望是因为游戏好玩而赚钱,而不是因为抓住了人类的心理而赚钱。
          我不能改变现状,所以我远离现状。
          我还是爱钱的,并且在努力赚钱,嗯嗯,真的。
          0回复
  • 马三小伙儿 2017-06-30 22:14:51

    看的第一本Cocos2d-x入门书籍就是木头的那本经典的《Cocos2d-x游戏开发之旅》(大二时),而现如今我已经成为了一名Unity开发者。但是作为接触到的第一款游戏引擎,我对Cocos总有一种类似于初恋的感觉,念念不忘。
    0回复
    • 博主 笨木头 2017-07-01 14:56:04

      突然觉得,时光飞逝啊,我出这本书的时候还是一个热血少年(咳咳,好,好吧,青年),现在都奔三了。你们这些帅气的读者也都毕业了、工作了。
      我现在也是一名业余的Unity开发者,多多指教,嘿嘿。
      0回复
      • 马三小伙儿 2017-07-03 20:25:42

        师傅领进门,修行在个人,非常感谢木头大大带着进了游戏开发的门槛,蛤蛤~(虽然现在做Unity了,但是还是会时常地翻下Cocos2d-x游戏开发之旅那本书,有些思想很值得反复地琢琢磨一下~)
        0回复
        • 博主 笨木头 2017-07-04 07:31:30

          谢谢这么支持,谢谢
          0回复
发表评论
粤ICP备16043700号

本博客基于 BlazorAnt Design Blazor 开发