查看原文
其他

Cocos Creator 2.0 正式版发布

王哲&Panda COCOS 2021-08-09

我拟了不下10个标题,用来描述这个里程碑事件,但最后发现,还是这样简单的《Cocos Creator 2.0 正式版发布》最直接。


回头一看,时间过得真是太快了。


两年前,我和团队都顶着各种质疑和批评声音、巨大的压力对 Cocos 引擎做一次重大技术转型。在 2016 年 1 月 20 日我写了一篇《新编辑器 Cocos Creator 发布:对不起我来晚了》,宣告了这款改变 Cocos 命运的产品面市,也意外地引发整个游戏行业疯狂转发,当时许多朋友评价「你们这是断臂求生」、「这次他们不成功便成仁了」。


在两年之后,很幸运,这次技术转型已经获得了市场的认可:


  • 在今天的小游戏领域, Cocos 的市场占有率  53 %,比其他几家竞争对手的总和还多。其中绝大部分小游戏都是采用 Cocos Creator 方案,标杆游戏如腾讯光子的《欢乐坦克大作战》《欢乐麻将》《乱斗之星》,华夏乐游的《欢乐枪战》,电魂的《野蛮人大作战》,都是游戏复杂度和性能需求很高的小游戏;


  • 许多大公司已经从原先的 Cocos2d-x 切换到用 Cocos Creator 来开发和发布手机原生游戏,如腾讯、萌蛋、墨麟、黑八《七十二变》


  • 在儿童教育软件、互动英语教学领域,Cocos Creator 也被广泛应用,这点完全是计划之外,蛮让我吃惊的。典型如腾讯《ABCMouse》、好未来(学而思)集团;


  • 在区块链游戏领域,很多开发者把 Cocos Creator 当做 HTML5 时代下的 Flash 替代品,大量基于 Creator 的区块链游戏出现在 PC 浏览器里,典型如《以太传奇》《氪星球》《方舟纪元》等;


  • 可能大家不知道的是,虽然国内小游戏热火朝天,但 Cocos Creator 的海外开发者数量占到 40%。全球第一本 Creator 教程书籍是在日本出版的《CocosCreatorではじめるゲーム制作》,这让我情何以堪。唉,各位国内出版社的好友,得罪诸位了,我们研发速度比各位的出书速度要快些,你们压在手里还未面市的 Creator 1.x 教程可能不好卖了。


《CocosCreatorではじめるゲーム制作》/朱鷺裕二


感谢大家的信任!我们也不辜负大家的期望,在经历了半年多的潜心研发,大规模的底层重构,以及为期两个月的稳定性迭代之后,今天我们很骄傲地宣布:Cocos Creator 2.0 正式版发布了! 



v1.x 时代:持续优化,把握新市场机会


回顾一下 v1.x 时代的重大更新:


  • v1.0~v1.1:完善了我们承诺的高效工作流和工具链;

  • v1.2:大幅优化了 HTML5 引擎性能,WebGL上性能测试结果提升5~10倍;

  • v1.7:更新出 JavaScript Binding 2.0,大幅优化原生平台性能,iOS 平台原生游戏的 JavaScript 执行速度提升5倍;

  • v1.8及之后:完成了对微信小游戏、Facebook 小游戏、QQ 轻游戏、Google Play Instant 等小游戏平台的开发支持工作。


    在这两年多的时间里,Cocos Creator 共迭代了 11 个大版本,无数个小版本,逐渐发展成为一款受开发者信赖的成熟开发工具。以内容创作为核心,Cocos Creator 带来的彻底脚本化、组件化和数据驱动的功能开发方式,高效的工作流实现了技术、策划、设计不同工种人员之间的完美分工协作。随着游戏市场的增长和平台变迁,Cocos 也在不断完善引擎功能,提升引擎性能。


    我经常会对 Creator 的性能提升结果,产生一种很诡异的幻觉:动不动就提升几倍的性能,早干嘛去了?但毕竟我的很多技术思维,还是停留在 Cocos2d-x C++时代,毕竟我们一直以 2D 高性能著称,C++里面的一些优化改动可以让性能提升个5%~10%就已经是神仙了;但是在 Creator 和 JavaScript 领域,看测试数据,随便翻个几倍?哎哟还真的有那么多。JSB 2.0 让安卓上可以从 FireFox 的 SpiderMonkey 直接换到 v8,iOS 上换到苹果官方的 JavaScriptCore,真的是能有数倍的性能提升;而 Cocos Creator 2.0,直接就干掉了整个渲染树的性能开销。唉,不得不感叹我真是老了,引擎组的年轻人比我会玩!


    v2.0 核心设计目标


    Cocos Creator 2.0 的核心目标有两点:


    • 大幅提升引擎性能

    • 提供更高级的渲染能力,和更丰富的渲染定制空间


    为了完成这个目标,我们彻底重写了底层渲染器,从结构上保障了性能的提升和渲染能力的升级。同时,为了保障用户项目可以更平滑得升级,我们几乎没有改动组件层的 API。相信 Creator v1.x 的开发者们通过升级指南、文档和 deprecation 信息等方式可以相对平滑得升级上来 (链接见文末)


    随着 Cocos Creator 进入一个全新的发展阶段,我们希望能陪伴开发者进入 2D 游戏创作的全新时代,告别三转二和帧动画特效,带给玩家更具独创性和感染力的游戏作品。


    v2.0 版本亮点


    框架进化

    v2.0 渲染结构


    • 2.0 彻底移除了渲染树,由逻辑树中的节点和组件直接生成渲染数据,对于节点树的操作和节点状态的修改,都是低损耗的。如果有任何节点需要临时屏蔽,可以直接操作 active 状态,增删节点也不会造成额外的性能消耗;


    • 2.0 版本升级了基础渲染器为 3D 渲染器,提供更加强大的高级渲染能力,给予 2D 游戏在表现力上更广阔的想象空间,开发者可以创造出从前无法想象的游戏画面。我们将在后续版本中通过开放材质组件、支持着色器资源、支持压缩纹理、支持 Mesh 渲染等功能赋予 Creator 强大的渲染定制能力;


    3D Renderer

     

    既然提到了 3D 渲染器 —— 算了,来一张 3D 游戏的预告图吧,本来打算下周再发的。我们程序员太多,缺强悍的 3D 美术,所以这种美术效果就凑合着看吧。


    3D 游戏预告


    • 2.0 中渲染器不需要任何节点和组件层的信息,只需要交互层数据对象就可以完成所有的渲染工作,逻辑和渲染隔离前所未有的清晰;


    • 零垃圾设计:在 2.0 的框架开发过程中,我们非常重视内存的使用,深度使用预分配的对象池,尽一切可能将引擎内部的内存开销降到最低,实现了渲染过程中极低的 Memory footprint 。下图展示的是一万个保持运动的精灵,渲染过程中产生的内存,每帧不超过 5kb,并且都可以被及时回收。


    零垃圾渲染器


    下图为 Creator v1.x和v2.0的完整架构图对比:



    v1.x与v2.0框架对比


    性能进化

     

    从 2.0 开始,我们针对引擎中的不同用例建立了性能基线跟踪测试,可以看到在 Web 端的不同平台,都有非常显著的性能提升。

     

    1.8.2 与 2.0 性能对比图


    在具体游戏方面,我们也收到了大量 2.0 内测用户对于性能提升的好评,未来我们也会持续优化和跟踪 2.0 的性能表现。


     “新功能演示

    Cocos 引擎团队薰依妹纸为大家带来视频讲解,如果想要了解更多 Cocos Creator 2.0 的特性和表现,请看介绍视频和发布文档:


    https://v.qq.com/txp/iframe/player.html?vid=g0748hn2y46&width=500&height=375&auto=0

    Creator 2.0 视频介绍

    时长:12 分12 秒

    建议您在 wifi 条件下观看


    【相关资源】(可复制链接至浏览器中打开)

    Cocos Creator v2.0 升级指南

    http://docs.cocos.com/creator/manual/zh/release-notes/upgrade-guide-v2.0.html

    Creator v2.0 API doc

    http://docs.cocos.com/creator/api/zh/

     

     “新版本QA

    Q:Cocos Creator 2.0 会支持 3D 吗?

    A:2.0 使用 3D 渲染器,所以渲染 3D 内容是没有问题的,我们也已经计划在 2.x 版本中推出 3D Mesh 支持,但 2.x 系列版本的规划是仅限于方便 2.5D 游戏的制作,即在 2D 游戏中添加 3D 角色等需求。如果是纯 3D 内容的制作编辑,会更新 Creator 大版本为 3.0。

     

    Q:Cocos 3D 会和 Cocos Creator 合并吗?

    A:Cocos 3D 的最终形态会是 Cocos Creator 3.0,目前的自由发展阶段是为了能完全站在 3D 游戏的需求角度进行快速迭代,期间尽量复用和合并 2D / 3D 引擎的研发成果。最终状态,两个产品会进行合并。

     

    Q:Cocos Creator 2.0 对原生平台性能提升大吗?

    A:2.0 版本专注在框架提升上,这次的框架提升带来了天然的性能优化,不过原生层面的实现也经历了大幅度的修改,性能提升不如 Web 平台那么显著,我们将在 2.x 后续版本中进行更专项的优化。

     

    Q:Cocos Creator 2.0 提供的渲染定制能力具体有哪些?

    A:目前引擎框架上已经准备妥当,我们会逐步开放文档和编辑器内置功能帮助大家使用这些功能,具体来说,用户将可以使用多 Camera 渲染,3D Mesh,动态 Shader 模版,自定义顶点数据布局,手动渲染数据管理等。除此之外,更多强大的功能我们也渴望着带给大家。

     

    Q:Cocos Creator v2.0 足够稳定了吗?

    A:2.0 的稳定性迭代做了两个月,内测的游戏和多轮测试都已经通过了。我们计划在下周尽快推送 2.0.1 版本,各位在2.0正式版使用中遇到问题的话,请尽快到论坛反馈。重要的是,基于2.0版本已经上线了我们深度合作厂商的多款高复杂度小游戏产品,例如腾讯光子的《乱斗之星》、华夏乐游的《欢乐枪战》,电魂的《野蛮人大作战》,还有更多优秀产品也即将上线。

     

    Q:从 Cocos Creator v1.x 升级到 v2.0 容易吗?

    主要取决于你对 creator 底下的框架做过多少定制改动。华夏乐游的《欢乐枪战》用了一周时间从1.9升级到2.0,游戏获得了巨大的性能提升,现在已经在微信精品小游戏里了。但如果你是从 v1.10 开始升级的话就会更快更容易。点击「阅读原文」即可查看 Cocos Creator 2.0 升级文档,在 2.0 使用过程中如遇到任何技术方面的问题,亦或是希望2.0后续版本增加哪些功能,欢迎在Cocos 技术论坛( forum.cocos.com)中发帖交流。




    回首两年前 Cocos Creator 第一个版本发布的时候,我小儿子还没出生呢。一晃眼两年半时间过去了。他现在都会叫爸爸妈妈、会跑到我书房里乱敲键盘捣蛋了。其实我一直觉得 Cocos 引擎才是我大儿子,倾尽心血,看他成长,看他受人喜爱,看他因为骄傲和自满错失发展机会,看他被人批评,看他被骂到趴在地上哭,看他跌倒了再爬起来继续往前奔跑。


    然而持我这样观点和心态的,不只是我一人,而是我身边的一大群人。我们以自己的技术和热血,降低游戏行业进入门槛、让国产通用游戏引擎能挤入全球前列,并且不断蓄力去挑战国外的行业巨头。虽然领域不同、公司规模不同,但在这点初心上,我觉得和华为、和吉利汽车并无两样。一群志同道合的朋友,可以每天一起奋战十几个小时,晚上12点还在论坛回复问题,凌晨1点还在开远程会议,只为呈现一个更好的游戏引擎给全球的游戏开发者,证明我们中国程序员也是有能力做到这件事情的。等膝下儿女们长大的时候,我们可以很自豪地和他们说这个故事。 Cocos 的故事,仅仅是中国游戏行业进击全球市场的一个小小章节而已,这个波澜壮阔的游戏大航海时代,属于诸位国内游戏开发者的恢宏史诗篇章,最近一两年才刚刚开始……

     


    Cocos 引擎「让游戏开发更简单」愿景,不仅是说说而已。有其他游戏引擎公司的老板多次问我,咱们一起做定价收引擎 License 费用吧?我秒回 NO,因为这违反了 Cocos 的企业价值观,违反了我们做 Cocos 引擎的初衷。如果走这条路,我不如去炒股票炒房子来钱更快,干嘛费尽心力做企业呢?我不认为只图赚钱这事能让企业走多远。一家企业如果没有理想,和咸鱼有什么区别?


    「让游戏开发更简单」,不仅是说说而已,我们是认真的 —— 而且在过去的7年里,已经将我们梦想和承诺,很大一部分付诸实现了。不论是引擎框架的开源,还是编辑器的免费,以及用 JavaScript 替代 C++ 来降低门槛,还有 Cocos Creator 一体化编辑器通过高效工作流,进一步压缩研发成本,乃至我们的游戏发行业务、广告变现业务,我们的思考出发点,在 Cocos 历史上就从来没变过。


    当然我们还有很长的路要走。作为市场占有率角度是全球前列的引擎:Cocos 成立至今只有7年,而 Unity 14年,Unreal 23年。作为一家在公司历史上不算短,但在全球通用游戏引擎里面仍然很年轻的企业,我们希望和众多 Cocos 开发者一起,在全球游戏史上,共同书写新篇章。


    我们一定能做到!


    王哲

    Cocos 引擎创始人 & CEO

      您可能也对以下帖子感兴趣

      文章有问题?点此查看未经处理的缓存