在知乎上有个问题,“时间来到2021年,大家对 Cocos 和 Unity 有什么新的评价?”

底下有个回答:“我至今还忘不了刚入行时,第一次邂逅 Cocos 的 action 系统时的感觉,真希望它能重振雄风。”这个答案至少有2层含义,在2D游戏领域,Cocos 霸主地位显而易见;在 3D 游戏时代,它落后了。

但是,落后并不代表认怂。今年2月份,Cocos 在十周年之际推出了 Cocos Creator 3.0 版本,这是一个集大成者的版本,把原有的 2D 和 3D 整合在一起,更重要的是它重构了 3D 引擎的底层框架,横跨更多的计算平台,Cocos 创始人王哲透露这个全新版本花了他们5年时间。

这几日,Cocos 放出了一个全新的赛博朋克风格炫技视频,则让业内得到了这样的讯息 ——原来,Cocos 一直在 3D 方面奋力追赶,并且,成绩还不错。这个 Demo 是基于最新的 Cocos Creator v3.3 制作的,让开发者看到了 Cocos 开发跨平台 3D 游戏的关键技术,已非常成熟。

十年来,Cocos 从最开始抓住移动游戏 2D 开发风口获得高速发展,在 3D 时代落后于海外引擎,而最近两年我们悄然发现,Cocos 正在强势进化:一方面 3D 技术获得长足的进步,一方面连续获得大额投资,Cocos 蝶变正在进行。

cocos 引擎(从Cocos看国产游戏引擎的)(1)

IAA 游戏新市场的跨平台机遇

最近两年,随着国内游戏版号的收紧,以及全球移动休闲游戏市场的爆发。一种完全依靠视频激励广告变现的新模式开始流行,我们把这类游戏统称为 IAA 游戏(In-AppAdvertisement),相对于 IAP(In-AppPurchase)模式而言,IAA 游戏的特点,一方面休闲游戏因为简单易上手使得潜在用户规模更大,另一方面海外游戏市场因为主机游戏非常成熟,使得在移动端玩家需求更多的在 IAA 休闲游戏领域。同时,国内国民手机应用微信开始推出小游戏平台,海外 Facebook 推出 instant-games,让 IAA 游戏的市场空间变得更大。

同时,IAA 游戏的新市场也为整个游戏市场扩宽了边界,带来了大量的新玩家。一些超休闲游戏开始增加 IAP(In Application Programming)内购模式,通过混合变现的模式让游戏的收益最大化。而一些重度的移动网游也通过增加休闲玩法来降低获客成本,提高用户留存。

从开发角度,IAA 游戏又因为玩法简单、开发成本低、周期短,更适合中小开发团队,Cocos 引擎易上手、轻开发及跨平台,又具备轻量高效、免费开源的优势,成为 IAA 游戏的最佳开发引擎。在微信小游戏最早发布的50多款游戏中,用 Cocos 引擎开发的占了 80% 以上。同时,开发者还可以通过 Cocos 导出成 apk 和 ipa 包,直接发布到AppStore 和安卓应用商店,整体工作流非常便利。

此外,因为休闲游戏普遍生命周期较短,玩家不会长时间停留在某几款游戏中,使得市场对于休闲游戏的需求持续旺盛,对于中小开发者来说,这里没有被巨头垄断,随时都有新的市场机会。根据伽马数据的统计,2021年中国超休闲游戏市场规模或有望超过180亿元,用户规模有望超3.8亿。

6年前的弯路 Cocos Creator 3.0 补上了

2D 游戏开发领域, Cocos 已经几乎成为垄断规模,海外新兴国家的游戏市场增长迅猛的背景下,还给Cocos 带来了大量海外开发者用户,遍布全球超过200个国家。

在夯实现有 2D 阵地的同时, Cocos 开始向 3D 引擎发起挑战,毕竟游戏 3D 化大势所趋。早在2015年,Cocos就推出了第一个 Cocos 3D 引擎,但是很遗憾,Cocos轻视了 3D 引擎的技术难度,推出的更像一个半成品,并且把2D 和 3D 分成两个版本,更不利于推广,后期用户还是更喜欢用 Cocos2d-x来制作各种 2D 游戏。

最近两年,Cocos开始大量招募技术人才,重新开发 3D 游戏引擎,十周年版本 Cocos Creator 3.0,集成了原有 2D 和 3D 两套产品的所有功能,3D引擎的底层完全重构,延续了 Cocos 在2D 品类上轻量高效的优势,并且为 3D 重度游戏提供高效的开发体验。

此次基于 Cocos Creatorv3.3 最新版本制作的游戏 DEMO,更是让开发者看到了用 Cocos 在移动端开发次世代渲染品质跨端3D 游戏的可能。

cocos 引擎(从Cocos看国产游戏引擎的)(2)

CocosCreator 3.3版本的新迭代

CocosCreator 3.0 的推出只能说是 Cocos 正式进军 3D 游戏引擎的一个开始,版本刚推出之际还是有不少问题,效果还没有达到那么地好,开发组件也不完善。在一些核心技术上明显沉淀还不够。

Cocos 开始了半年多的加速迭代,半年来发布了大大小小6个版本,如同游戏引擎的“基建狂魔”—— v3.1增加了延时渲染管线和 PhysX 物理支持;v3.2 与华为、字节跳动的深度合作,让 Cocos 成为全球首家支持鸿蒙系统的游戏引擎,为其之后的游戏领域布局,带来深远的影响。

而最新发布的 v3.3,Cocos 显然更自信了,才会基于该版本制作了赛博朋克演示视频,这个视频最吸引人的是复杂的光效,而这些光照效果的实现,来自 Cocos Creator 3.3 中延迟渲染管线、Cluster LightCulling、Cluster Reflection Probe 等多个特性。

cocos 引擎(从Cocos看国产游戏引擎的)(3)

这其中,还有华为海思 GPU 团队的技术支持,比如延迟渲染管线就是华为海思贡献的。延迟渲染管线一直是 PC 端的主流,但是在移动端因为需要更大的带宽损耗和性能压力而未能普及使用,华为海思GPU 团队经过多年的深度研究突破了技术难关,使得移动端也能够很好的使用,在多光源计算方面得到了很大的效率提升。

cocos 引擎(从Cocos看国产游戏引擎的)(4)

而 Cluster LightCulling 逻辑解决在灯光数量较大的时候对性能的严重消耗,为了让光影效果更加逼真,尽可能在不同的区域中放置反射球,每个反射球只烘焙这一个区域中的环境信息,尽可能只计算影响到当前像素的反射球信息,从而实现 DEMO 视频中的 3D 效果。

cocos 引擎(从Cocos看国产游戏引擎的)(5)

除了底层渲染器的巨大改进之外,v3.3在上层渲染算法也都是完全重写,包括全局光照、动态全局雾、粒子系统、动态光源管理、场景管理等等,比如在赛博朋克DEMO 中的雾气弥漫又通透的效果就是用指数高度雾算法,在场景低处的雾会比较浓厚,越往高处的雾越稀薄。

cocos 引擎(从Cocos看国产游戏引擎的)(6)

而 overdraw 调试渲染模式的使用让手机端也可以很流畅地运行赛博朋克这样宏大的 3D 场景,在这个渲染模式下,可以轻易地看出哪些像素是被重复绘制了多次。利用这个特性,调试出当摄像机处于城市中央的时候,很多建筑即使被其他建筑遮挡了依然会被渲染,这就浪费了很大一部分性能。然后通过预计算的遮挡剔除方法,就几乎没有性能消耗。类似这样的细节优化还有很多处。

cocos 引擎(从Cocos看国产游戏引擎的)(7)

cocos 引擎(从Cocos看国产游戏引擎的)(8)

这类画面渲染需要大量算力的技术 Demo 在某种程度上,也验证了 Cocos 引擎性能的提升。事实上,从官方此次披露的多个项目的云测数据可以看出,其启动性能、运行性能、物理性能等都有了显著提升。

特别是在小游戏平台,启动性能提升了60%,运行性能提升了 34%,这两个性能的水平直接影响到游戏的买量和转化问题,在 CP 和发行商谈判的时候就是产品生死问题,物理性能则通过支持 WebAssembly 也得到显著提升。

无疑,这次 Cocos 的新版本将帮助它在 IAA 游戏市场收割更多份额。

cocos 引擎(从Cocos看国产游戏引擎的)(9)

cocos 引擎(从Cocos看国产游戏引擎的)(10)

总体来说,v3 可以说是 Cocos 引擎具有转折意义的一个版本,但是在 Cocos 从 2D 向 3D 的迈进中,这还仅仅是过程中的一个版本,要实现跨越式提升还有更多的模块提升,未来游戏很可能会跨到 VR、云平台,甚至我们目前无法预知的新终端上,如果 未来 Cocos 仍可以保留自身多平台优势,实现一键自动导出多平台游戏版本,同时大幅提升图形渲染水平,那将对开发者形成巨大的诱惑。

回到开头说的知乎问题,坦白讲,Cocos 无论是现在的技术沉淀,还是生态的体量,与 Unity 仍存在差距,但是从这次 v3.3 版本的提升及技术演示视频的能力来看,这个差距正在肉眼可见地缩小,Cocos 已经开始具备了开发 3D 中重度游戏的技术支撑。

作为游戏人,我们一直很希望能有一款属于国人的顶级游戏引擎,在 Cocos 身上我们看到了弯道超车的可能性。,