Cocos 引擎真正的优势是什么?

Creator星球游戏开发社区

共 7180字,需浏览 15分钟

 ·

2023-07-28 12:49

前言

Cocos 引擎真正的优势是什么?

昨天参加了一场技术交流会,议题是:”技术创新与全球市场“,这让我重新对这个问题进行思考,因为想不清楚,PPT 就写不出来(文末有获取 PPT的方式)。

这个问题,其实也困扰了我很久,不敢轻易下结论,因为一但下结论,就意味着取舍,取舍意味着在某些方面会有所损失。同时,怕自己说的、想的,和 Cocos 定位不同。
但我觉得,我自己也是需要表达自己的观点的,人一但失去表达观点的勇气和能力,就会逐渐失去独立思考能力,那是非常可怕的。

为了让这篇文章更多表达自己的真实想法,我先声明:本文内容仅为麒麟子个人观点,与 Cocos 引擎品牌宣传无关。

很多人都疑惑,为什么麒麟子对 Cocos 引擎的情感那么深厚,就像自家的东西一样。

非要总结个答案的话,就三个词吧:认同、感激和梦想的延续

  • 认同:是因为我认同 Cocos 引擎开放、利他、长期主义的经营理念
  • 感激:是因为 Cocos Creator 让我完成了人生的第一次蜕变
  • 梦想的延续:是因为,想继续在引擎领域深耕,Cocos 无疑是我最好的选择。

我和 Cocos 的往事

每一个选择的背后,都有它的合理性。请允许我一一道来。

入行

麒麟子是 2006 年进入大学之后才开始学习编程的,2008 年的时候在学校图书馆找到了《DirectX 9.0 3D游戏开发编程基础》和《计算机图形学》,才正式开启了自己的 3D 游戏开发之旅。

2009 年就在学校待不住了,大三暑假跑到成都,辗转反侧找到了第一份 3D 游戏引擎开发的工作。

后面陆续参与了 4 款 3D 引擎的维护和项目引擎技术支撑。

转折

2016年,是我编程生涯的第十年。

当时我心中有一个念想越来越强烈:总是这样反复造轮子到底有何意义?为什么不把自己对引擎的理解放入同一款引擎中,延续下去?

就在这时,我看到了刚发布的 Cocos Creator,其组件化、跨原生和 Web 平台、开源、免费、可视化编辑等特性吸引了我,和我想要的引擎简直一模一样。

在试玩一番之后,我觉得它就是 全村的希望,我写了一篇吹捧 Cocos Creator 的贴子,由此认识了 Cocos 引擎的创始人王哲。

2016 年 6 月,我因为某些原因,离开了任职的公司,在和王哲聊完后,王哲问我是否愿意加入 Cocos 团队,参与 Cocos Creator 引擎 3D 渲染部分的研发。

这与我当时的个人规划不同,我当时是准备要创业的,所以我说:哲哥,我想创业,先让我自己试试吧。

创业

结合我个人在游戏技术和团队管理方面的多年经验,再加上技术类文章编写方面的一些优势,我选择了大多数技术人员都会选择的创业方向:为创业者们做技术服务。

在经过一番调查后,我发现大部分人面临两个问题:

  1. 小团队很难凑齐专业的服务器程序员和客户端程序员,主要原因是因为前后端编程语言不统一。

  2. App 上架和分发是最头疼的事情,很多团队在创业起步阶段,更希望能够 “借量”,通过社群转化。

于是我将整个技术框架基于 NodeJS + Cocos Creator 搭建,并做了三个重点宣传。

  1. 前后端统一编程语言,开发维护更方便
  2. 基于 Cocos 引擎,包体更小、性能更好、功耗更低
  3. 可发布App,H5,轻松触达更多用户。(当时还没有小游戏)

没想到,这个框架一出道就受到了广泛认可。

从最初的项目外包服务,发展到了最后的:解决方案销售+项目定制+运维托管。

后来我问客户,为什么会选择我们公司的技术方案。

得到的答案是:NodeJS + Cocos Creator可以让前后端开发人员一体化,减少沟通成本。同时,Cocos Creator 的 H5 发布能力,让他们相比老牌竞争对手,也有一战之力,有一定的想象空间。

的确,从 2016 年 H5 技术的兴起,再到后来微信小游戏的截胡,这一条技术路线持续上涨。

总的来说,小游戏本质上还是 H5 的即点即玩逻辑,只是为了对游戏内容进行监管而诞生了小游戏架构。

在经营公司的 4 年里,我也抽空写了许多 Cocos 技术文章,开源了公司的第一个版本框架源码,出席过 Cocos 沙龙,赞助过 Cocos 活动。

PS:旧图找不到了,这些都是加入Cocos后拍的照

因为除了对 Cocos 的认可,我也从 Cocos 获得了许多,也得到了王哲、林顺、Jare 等大佬的帮助(Panda 有没有在幕后帮助过我,我不知道,因为加入 Cocos 之前,没有和 Panda 直接交流过。我觉得应该有吧,哈哈)。

只是,受我个人当时浅薄的商业认知的限制,我无法构建出可持续发展的盈利模式,公司发展最好的时候也不到 20 人。并且,受市场需求减弱和同行竞争的影响,毛利在逐年下降。

于是我开始努力学习如何去经营一家公司,当我懂得了经营公司和管理技术部门的区别时,我已经救不回公司了。在 2020 年,我关闭了公司,4 年的创业生涯告一段落。

我并不认为我的第一次创业是失败的,毕竟它存续时间是中国企业平均寿命的 1.6 倍。相反,它让我成长了许多,如果时间可以再来一次,我相信我可以做得更好。

加入 Cocos

2020 年 9 月,我问王哲:现在我还有机会加入 Cocos 吗?

他说:可以啊,但是工资只有五千,干不干?

经过几周的沟通后,我加入了Cocos,筹建了 Cocos 成都分部,主要负责开发者生态部分,开启了我 Cocos 官方人员的生活。

后面的事情,大家都知道咯,团队陆续加入了不少优秀的同事,有一些是默默奉献的,大家不太熟悉,比如负责文档、教程、DEMO的。而有一些是刷脸的,比如 晓衡、杜斌、江船长、玉免、孙二喵等等。

不知不觉,在 Cocos 这个大家庭已经近三年,每一天都很开心。

关于麒麟子和 Cocos 的往事,就暂时讲到这里,我们接下来看看,在 Cocos 做生态的这两年半里,我们团队收集到的一些来自开发者的心声。

开发者的心声

有好多朋友问过我一个问题:“麒麟子,你天天在社区欢天喜地地收集引擎 BUG,是自己写的 BUG 不够改吗?”

这里告诉大家一个小妙招:如果一个人乐此不疲地收集引擎的 BUG 长达数年之久,表示这个引擎的代码,他一行都没写过。

麒麟子的个人介绍中,确实有提到过,参与过多款引擎的研发,但这并不包括 Cocos。

加入 Cocos 后,麒麟子负责的是引擎生态相关工作。我和大家一样,是以开发者的身份去使用引擎,只是我在新版本早期就会开始使用,尽早发现一些需求偏差和细节问题。平时也会根据需要写代码,但并不为引擎而写,而是为开发者们而写。

接下来,我们一起看看,我从一些热心开发者那里收集到的,他们为什么选择了 Cocos Creator。

某些做 H5 和小游戏的开发者说:Cocos Creator 可以一键发布到主流平台,非常方便。如果换用其他引擎,根本做不到。

某些来自 Web 前端领域的开发者说:采用 TypeScript 编程语言,让我们 JS 党可以不用额外学习编程知识,就能圆了自己做游戏的梦。并且这个东西不仅能做游戏,还能做网页中的多媒体,比直接使用 WebGL 方便太多了。

某位 MMORPG 网络游戏项目的开发者说:当你要测试一个多人联机功能的时候,你就知道 Cocos Creator 有多方便了。这边把代码一改,保存,刷新,同事们的机器上马上就可以使用新版本了。如果某台机器上出了问题,马上就可以去浏览器的开发者工具里看错误堆栈,前期的功能开发效率简直逆天。

某些发行渠道说:App 端的优势就是留存高,但最大的不好就是新用户成本太贵了。H5 和小游戏则刚好相反。所以我们打通了一个方法,用 Cocos Creator 做项目发布到 iOS 和 Android,然后优化一套低配版,发布到 H5 和小游戏平台。借助小游戏平台的流量成本优势,快速获得用户,再将优质用户引导到 App 上。

某创业团队负责人说:其实没得选,只有上更多的平台,才能有更多的机会。国内就小游戏,出海就走 App。Facebook 也在研究,Tiktok 和 Youtube 小游戏也在等机会,希望能够把国内做得不错的产品在这些海外平台上也能再火一把。

某数字营销领域的开发者说:Flash 停更后,我们便逐渐转向使用 WebGL 来做高级效果的呈现。但直接使用 WebGL 对于大部分前端开发团队来说要求还是太高了,即使他们能学会使用 WebGL API,也很难构建出不错的渲染效果和达到性能要求。Cocos Creator 很好地填补了这个空白。

可以看到,来自不同领域,不同项目,不同身份的从业者,他们的观点主要集中在了三个方面:

  1. 学习成本
  2. 开发效率
  3. 平台覆盖

可以说,这是来自用户侧的真实写照。引擎官方在宣传中经常提到的:开源、免费、渲染效果、物理特性、内存开销、运行性能、加载速度、稳定性、兼容性等重要指标,他们根本不提。

不提这些,并不是他们不在意。恰好相反,他们认为,这些是引擎默认就应该做好的。做得不好会吐槽,做得好是应该的,不会夸。

SLOGAN

在继续讲后面的内容之前,我们来重温一下 Cocos 引擎的 SLOGAN。

从最初的 “让游戏开发更简单” 到 “以技术驱动数字内容行业效率提升”。可以看出,Cocos 始终是初心未改,希望在生产效率上让开发者们事半功倍。

由于游戏技术的泛化应用,特别是3D游戏技术在App和Web端的普及,使得游戏技术从游戏行业延伸到了诸多工业和商业领域。这也是为什么 SLOGAN 中,将 “游戏” 换成了 “数字内容行业”

“效率提升” 相较于 “更简单”,则更加具体指出了 Cocos 引擎的定位。希望在开发效率和运行效率上为开发者带来帮助。

有人看到这个 SLOGAN 就说,Cocos 不专注游戏了?我觉得这是一个误会。Cocos 作为一个游戏引擎和图形引擎,它始终是以游戏技术作为底座来发展的。只是,游戏技术不仅可以服务游戏行业,它还可以服务电商、数字营销、车机等领域。

我们可以看一下 Cocos Creator 3.8 之后的架构图。

可以看出,行业之下,是完整的游戏引擎技术栈。

在行业扩宽方面,不仅是 Cocos 引擎,其他引擎也都在努力扩宽应用的边界。因为这不仅可以为引擎带来更多机会,也能给使用这个引擎的开发者们,生态中的合作商们带来更多机会。

我眼中 Cocos 的优势

好吧,做了这么长的铺垫,终于要说我自己的想法了。

从开发者角度来说,特别是中小团队来说,在产品开发层面,关注的是成本,在产品盈利方面,关注的是机会。

成本由生产效率决定,Cocos 的可视化编辑器,PBR 渲染标准,多平台发布等,都是想最大化提升生产效率,降低开发者的生产成本。

那机会是什么呢?机会就是流量,流量的很大一个因素就是用户覆盖率。

而为了达到更好的用户覆盖率,我们需要产品在技术层面达到要求。

比如,兼容更多的低配置机型,适配更多的平台,支撑更多的行业。总结下来就是:

  • 机型覆盖率
  • 平台覆盖率
  • 行业覆盖率

机型覆盖率

要做到低端机型的覆盖,就必须在性能和功耗方面做到极致,关键时候,还需要针对需求进行引擎裁剪。引擎的模块裁剪,自定义管线,开放的引擎源代码,让这样的需求畅通无阻,无后顾之忧。

平台覆盖率

平台主要是三大类, 原生平台、Web 平台、小游戏平台。

而从流量上讲,Web和小游戏平台有很大的机会,微信、抖音、Facebook、Tiktok、Youtube 等超级 App,更热衷于将流量内部变现,而不再是跳出的方式。原生平台和非原生平台于用户而言,在当下都非常重要。

从架构来说, 原生平台为了极致的性能,必须尽可能使用 C++ 进行底层编写,而 Web 平台和小游戏平台,为了包体和性能的平衡,则必须使用 JS 进行编写。

因此 Cocos 引擎团队实现了双内核架构,用最直接的方式,有效地解决了各类平台的差异,确保在原生和非原生平台都能获得很好的运行效果。

行业覆盖率

很多人一提行业覆盖率,首先想到的就是引擎应该提供针对行业的工具。

这确实是一个方面,Cocos 经过几年的努力,也在车机、虚拟人、XR、数字营销等领域有了较大进展。

但回归到本质,比如车机、数字营销,它本身只是游戏技术在不同平台的应用。

车机要求的是极致的原生性能,满足高清渲染画质的同时,需要更低的内存、CPU、GPU开销,响应速度快。

数字营销,本质上追求的是在App内实现丰富多彩的画面效果,由于它是一个App的附加效果,它要求此类应用性能开销少、内存占用低、加载速度快。

最终你会发现,几个领域追求的点都集中在了下面几条:

  1. 渲染画质
  2. 内存占用低,CPU&GPU 开销少
  3. 响应速度快

而在这几条, Cocos 都能很好地满足。

  1. 在原生和非原生平台上,实现同样的渲染效果,Cocos都能做到较低的内存占用和较少的CPU,GPU开销。
  2. 同时,引擎的自定义管线和开放源代码,又让一些技术较强的团队,用技术优势拉开与其他团队的差距,形成竞争力。

总结

最终再总结下就是:

  • 生产端:可视化编辑,标准化一站式工作流,一次开发多平台发布。
  • 运行端:同样的画质下高性能、低功耗;自由可控,极致优化。

或许这个结论有些人不会认同,但从用户角度而言,我认为这是他们大部分人选择 Cocos 的原因。

各位准备好了吗,我要出来收 BUG 了。

关注、在看、转发

文章中的 PPT 截图,来自昨天参加的白鲸技术栈*技术创新与全球市场,有需要朋友可以公众号主页面发送 20230722,既可获得对应的 PDF。



往期精彩




浏览 747
点赞
4评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
全部评论
好的123
点赞回复
好的
点赞回复
好的
点赞回复
挺好的
点赞回复
推荐
点赞
4评论
收藏
分享

手机扫一扫分享

分享
举报