一招教你辨别 Cocos、Cocos2d、Cocos2d-x !

最近我在知乎挖坟挖到一篇文章:请问 Cocos 引擎的创始人是谁,Cocos2d-x 和 Cocos 有什么区别?作者迷糊的点在于,Cocos 引擎到底谁是创始人?Cocos 引擎、Cocos2d 引擎、Cocos2d-x 引擎有什么区别?具体问题的描述大家可以从「阅读原文」进去查看,如果有合理的建议欢迎指出。

以下是我对于该问题做出的回答,相信这也是大部分使用引擎的开发者一直以来的疑惑。

0dcebd02ba90afb90dc25b0b9407ab6b.gif

先回答楼主问题:Cocos 是品牌名,Cocos2d-x 是产品名。类似于 Adobe 和 Flash、PhotoShop 的关系一样。Cocos 这个品牌下面挂着的产品,有 Cocos2d-x 引擎框架、Cocos Creator 编辑器、AnySDK 多渠道打包工具、未来还会有更多诸如Cocos AAA/BBB/CCC 这样的工具和商业服务。

至于创始人问题,严格来说:

1、最早是 2008 年 2 月发布的 cocos2d-python,创始人 Lucio Torre。

联合创始人 Ricardo Quesada、Daniel Moisset、Rayentray Tappa。其实这个项目才是最早的 cocos2d。我在 2014 年从 Lucio 手里购买了 http://cocos2d.org 域名,然后做了现在网址上的 cocos2d familiy 的静态网站。很久没联系 Lucio 了,不知道他浪到什么领域去了。

2、紧接着出来的是 cocos2d-iphone,创始人 Ricardo Quesada。请注意他是 cocos2d-python 的联合创始人。

Ricardo 不满足于只能跑在桌面环境的 cocos2d-python,在 2008 年抓到了 iOS 崛起的机会,在 08 年 7 月移植出了 cocos2d-iphone v0.1

3. 接着是 cocos2d-x,创始人就是在下我了。其实和 Ricardo 一样,都是误打误撞出来的。

后面就出来了无数的分支版本,什么 cocos2d-android、cocos2d-android-1、cocos2d-ruby、cocos2d-xna 等等,实在太多了。

其实我一直有个愿景,就是集 cocos2d 社区的各路牛人,打造一款世界级的游戏引擎。所以在 2013 年,邀请 Ricardo 加入团队担任首席架构师;2014 年,公司花钱购买下了 http://cocos.com 域名,注册了 cocos 在软件领域的国内外商标,直接把引擎品牌简化为 cocos。

所以,非要正本清源的话:

  • Lucio Torre 是 cocos2d 创始人。(虽然我管这个叫 cocos2d-python)

  • Ricardo Quesada 是 cocos2d 的联合创始人,cocos2d-iphone 的创始人。(虽然我更愿意称 cocos2d-iphone 为 cocos2d)

  • 我是 cocos2d-x 和 cocos 的创始人。(注意我在所有文字和演讲中从未声称过自己是 cocos2d 创始人)

但是这样扒这种历史有用吗?我觉得没用。不是我开个仓库提交第一行代码,然后我甩手不管就一直享受创始人光环的。我若这样当船长,早就被愤怒的船员扔到海里喂鲨鱼了。

很多人对 cocos2d-x 的认识,还停留在「cocos2d-x 只是把 objective-c 翻译成 c++ 而已,没什么技术含量」的程度。我晚上用工具扫了一下几个代码仓库,咱们看图说话吧。

47272fcca4f3f3ee8a7008a09396f8f9.jpeg

  • Lucio 的 cocos2d-python,今天最新版本 4.3 万行代码

  • Ricardo 的 cocos2d-iphone,后续继任者 cocos2d-objc 今天最新版本 8.4 万行代码

  • cocos2d-x 在 2011 年 11 月的第一个版本,7.9 万行代码。和上面两个相同量级,的确没多少技术含量。当时我们几个人花 4 个月时间就翻译、调试测试完连网站都上线了。

  • 但是发展到 2017 年 10 月发布的 cocos2d-x 3.16,已经膨胀到了 139 万行代码,我日啊,这已经是去掉了所有第三方库、不计算所有空行的结果。所以你们批评 cocos2d-x 越做越重,的确如此唉。我们在纯粹移植 cocos2d-iphone 的基础上,已经加入了 UI 框架、Spine 等编辑器的支持、网络库、本地存储、手游行业内最早的 c++ 到 javascript/lua 自动绑定方案等等无数功能。

139 万行代码,真是太重了。以至于 2016 年引擎团队为了保持 cocos 高效轻量的竞争力,开始一种外界看来纯属自残的行为。

02756adc0686f30a871a42bc2ff5cc7b.jpeg

Cocos Creator 和 cocos2d-x-lite :

  • 先把 cocos2d-x 引擎从 139 万行削到 43 万行最核心最必要的 cocos2d-x-lite,去掉大量冗余模块和代码。我们把大量多年前辛辛苦苦反复讨论设计、一行一行写出来的代码整个模块整个模块亲手干掉了。

  • 然后加入 16 万行的 entity-component system 来做组件系统,提高游戏开发效率。以上两项共计 60 万行引擎框架代码保持开源。这还不包含我们正进行中的 3D framework 部分、不包含 creator 使用文档部分。

  • 然后是 creator 编辑器本身,这 2 年下来,小伙伴们居然在编辑器里面撸了 72 万行代码。所以做好一个编辑器,工作量是高于开发一个 framework 的。想想以前我们很自豪地把 cocos2d-x 这么一个 framework 称为游戏引擎,真是很幼稚。cocos2d-x 是游戏开发框架,Cocos Creator 才称得上是完整的游戏引擎。

  • 兄弟们还顺手撸了 4.7 万行的 demo 和 sample game。这块我是觉得还不够,资源充裕的话应该分品类多做一些 sample game,成为类似 MTK 公板设计那样的产品。

所以,看看统计数据,也是蛮惊讶的,这 7 年下来,我们一共撸了 232 万行有效代码仍然在每月的最新版本里发布(被迭代掉的无效代码也至少 200 万行),7 年以来平均每工作日有效代码 1284 行,还不算测试、文档、网站、论坛支持、微信支持。从 cocos2d-x 到 cocos creator 的增删改近百万行代码,只为了让你的游戏开发效率再提高一点,开发更容易一些。

所以我也蛮开心在知乎上有这样的用户评价。

  • 麒麟子:Cocos Creator的现状如何?

  • https://www.zhihu.com/question/49842994/answer/231802505

  • justbilt:Cocos Creator 究竟如何? 注册的时候感觉有点奇葩啊?

  • https://www.zhihu.com/question/66819338/answer/259901965?group_id=914113224925556736#comment-359810250

要逆转早年我们团队年轻无知时候造成的负面口碑,真是相当的困难。不过今天的团队比 cocos2d-x 早期经验丰富得多,也优秀许多。相信通过我们的努力,可以给大家带来一个更好的 cocos!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值