bird034 发表于 2023-10-13 23:02:17

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

前言


http://pic1.zhimg.com/v2-aa3cf351e67081b2f24780f45f4a6548_r.jpg
Cocos 引擎真正的优势是什么?
昨天参加了一场技术交流会,议题是:”技术创新与全球市场“,这让我重新对这个问题进行思考,因为想不清楚,PPT 就写不出来(文末有获取 PPT的方式)。

http://pic1.zhimg.com/v2-e45cddcafc4fd51ad07efc1d5a320fac_r.jpg

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

http://pic4.zhimg.com/v2-2a61d70a224bece7b227e7bde7d9d20b_r.jpg
为了让这篇文章更多表达自己的真实想法,我先声明:本文内容仅为麒麟子个人观点,与 Cocos 引擎品牌宣传无关。
很多人都疑惑,为什么麒麟子对 Cocos 引擎的情感那么深厚,就像自家的东西一样。
非要总结个答案的话,就三个词吧:认同、感激和梦想的延续。

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

http://pic1.zhimg.com/v2-e759d7f4379a39acdb9492f32cf090f0_r.jpg
我和 Cocos 的往事

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


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

http://pic4.zhimg.com/v2-99feea9e3f7a5e845fa1ca6ba8a564e3_r.jpg
2009 年就在学校待不住了,大三暑假跑到成都,辗转发侧找到了第一份 3D 游戏引擎开发的工作。
后面陆续参与了 4 款 3D 引擎的维护和项目引擎技术支撑。
转折

2016年,是我编程生涯的第十年。
当时我心中有一个念想越来越强烈:总是这样反复造轮子到底有何意义?为什么不把自己对引擎的理解放入同一款引擎中,延续下去?
就在这时,我看到了刚发布的 Cocos Creator,其组件化、跨原生和 Web 平台、开源、免费、可视化编辑等特性吸引了我,和我想要的引擎简直一模一样。

http://pic2.zhimg.com/v2-61cb029bbec77ba74d40b938f0e3ceed_r.jpg
在试玩一番之后,我觉得它就是 全村的希望,我写了一篇吹捧 Cocos Creator 的贴子,由此认识了 Cocos 引擎的创始人王哲。
2016 年 6 月,我因为某些原因,离开了任职的公司,在和王哲聊完后,王哲问我是否愿意加入 Cocos 团队,参与 Cocos Creator 引擎 3D 渲染部分的研发。

http://pic4.zhimg.com/v2-7c94e489ddd3e3853cf705c8032a274f_r.jpg
这与我当时的个人规划不同,我当时是准备要创业的,所以我说:哲哥,我想创业,先让我自己试试吧。
创业


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

http://pic3.zhimg.com/v2-b394809ce9771f8ac4d4f876e1e481aa_r.jpg
在经过一番调查后,我发现大部分人面临两个问题:

[*]小团队很难凑齐专业的服务器程序员和客户端程序员,主要原因是因为前后端编程语言不统一。
[*]App 上架和分发是最头疼的事情,很多团队在创业起步阶段,更希望能够 “借量”,通过社群转化。
于是我将整个技术框架基于 NodeJS + Cocos Creator 搭建,并做了三个重点宣传。

[*]前后端统一编程语言,开发维护更方便
[*]基于 Cocos 引擎,包体更小、性能更好、功耗更低
[*]可发布App,H5,轻松触达更多用户。(当时还没有小游戏)
没想到,这个框架一出道就受到了广泛认可。
从最初的项目外包服务,发展到了最后的:解决方案销售+项目定制+运维托管。
后来我问客户,为什么会选择我们公司的技术方案。
得到的答案是:NodeJS + Cocos Creator可以让前后端开发人员一体化,减少沟通成本。同时,Cocos Creator 的 H5 发布能力,让他们相比老牌竞争对手,也有一战之力,有一定的想象空间。
的确,从 2016 年 H5 技术的兴起,再到后来微信小游戏的截胡,这一条技术路线持续上涨。

http://pic4.zhimg.com/v2-97330be21183d9d47549087a085bdf0b_r.jpg
总的来说,小游戏本质上还是 H5 的即点即玩逻辑,只是为了对游戏内容进行监管而诞生了小游戏架构。
在经营公司的 4 年里,我也抽空写了许多 Cocos 技术文章,开源了公司的第一个版本框架源码,出席过 Cocos 沙龙,赞助过 Cocos 活动。

http://pic2.zhimg.com/v2-4886bdf2e651d58ff61a450bf5d961f5_r.jpg

http://pic1.zhimg.com/v2-8ecdff750e44133497a17a50c9b86664_r.jpg
PS:旧图找不到了,这些都是加入Cocos后拍的照

因为除了对 Cocos 的认可,我也从 Cocos 获得了许多,也得到了王哲、林顺、Jare 等大佬的帮助(Panda 有没有在幕后帮助过我,我不知道,因为加入 Cocos 之前,没有和 Panda 直接交流过。我觉得应该有吧,哈哈)。
只是,受我个人当时浅薄的商业认知的限制,我无法构建出可持续发展的盈利模式,公司发展最好的时候也不到 20 人。并且,受市场需求减弱和同行竞争的影响,毛利在逐年下降。
于是我开始努力学习如何去经营一家公司,当我懂得了经营公司和管理技术部门的区别时,我已经救不回公司了。在 2020 年,我关闭了公司,4 年的创业生涯告一段落。

http://pic3.zhimg.com/v2-fc770b64d38d149b27a2bbc6bf8c8ba2_r.jpg
我并不认为我的第一次创业是失败的,毕竟它存续时间是中国企业平均寿命的 1.6 倍。相反,它让我长大了许多,如果时间可以再来一次,我相信我可以做得更好。
加入 Cocos

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

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

http://pic3.zhimg.com/v2-b37282ea31421e42c34ac864e218ad06_r.jpg
经过几周的沟通后,我加入了Cocos,筹建了 Cocos 成都分部,主要负责开发者生态部分,开启了我 Cocos 官方人员的生活。

http://pic4.zhimg.com/v2-e4700a915b92d9794987776911215267_r.jpg
后面的事情,大家都知道咯,团队陆续加入了不少优秀的同事,有一些是默默奉献的,大家不太熟悉,比如负责文档、教程、DEMO的。而有一些是刷脸的,比如 晓衡、杜斌、江船长、玉免、孙二喵等等。
不知不觉,在 Cocos 这个大家庭已经近三年,每一天都很开心。
关于麒麟子和 Cocos 的往事,就暂时讲到这里,我们接下来看看,在 Cocos 做生态的这两年半里,我们团队收集到的一些来自开发者的心声。
开发者的心声


http://pic2.zhimg.com/v2-67c0f261eb78cb64b3c2b872a03e2d95_r.jpg
有好多朋友问过我一个问题:“麒麟子,你天天在社区欢天喜地地收集引擎 BUG,是自己写的 BUG 不够改吗?”
这里告诉大家一个小妙招:如果一个人乐此不疲地收集引擎的 BUG 长达数年之久,表示这个引擎的代码,他一行都没写过。
麒麟子的个人介绍中,确实有提到过,参与过多款引擎的研发,但这并不包括 Cocos。

http://pic2.zhimg.com/v2-27082763856d7f848416fd20cfb457b1_r.jpg
加入 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 很好地填补了这个空白。
可以看到,来自不同领域,不同项目,不同身份的从业者,他们的观点主要集中在了三个方面:

[*]学习成本
[*]开发效率
[*]平台覆盖
可以说,这是来自用户侧的真实写照。引擎官方在宣传中经常提到的:开源、免费、渲染效果、物理特性、内存开销、运行性能、加载速度、稳定性、兼容性等重要指标,他们根本不提。
不提这些,并不是他们不在意。恰好相反,他们认为,这些是引擎默认就应该做好的。做得不好会吐槽,做得好是应该的,不会夸。
SLOGAN

在继续讲后面的内容之前,我们来重温一下 Cocos 引擎的 SLOGAN。
从最初的 “让游戏开发更简单” 到 “以技术驱动数字内容行业效率提升”。可以看出,Cocos 始终是初心未改,希望在生产效率上让开发者们事半功倍。
由于游戏技术的泛化应用,特别是3D游戏技术在App和Web端的普及,使得游戏技术从游戏行业延伸到了诸多工业和商业领域。这也是为什么 SLOGAN 中,将 “游戏” 换成了 “数字内容行业”。
而 “效率提升” 相较于 “更简单”,则更加具体指出了 Cocos 引擎的定位。希望在开发效率和运行效率上为开发者带来帮助。
有人看到这个 SLOGAN 就说,Cocos 不专注游戏了?我觉得这是一个误会。Cocos 作为一个游戏引擎和图形引擎,它始终是以游戏技术作为底座来发展的。只是,游戏技术不仅可以服务游戏行业,它还可以服务电商、数字营销、车机等领域。
我们可以看一下 Cocos Creator 3.8 之后的架构图。

http://pic4.zhimg.com/v2-e942d124d180dd4a99eae2d24438eb6f_r.jpg
可以看出,行业之下,是完整的游戏引擎技术栈。
在行业扩宽方面,不仅是 Cocos 引擎,基他引擎也都在努力扩宽应用的边界。因为这不仅可以为引擎带来更多机会,也能给使用这个引擎的开发者们,生态中的合作商们带来更多机会。

http://pic1.zhimg.com/v2-09b531006ad768b29ce756f53a7ff484_r.jpg
我眼中 Cocos 的优势

好吧,做了这么长的铺垫,终于要说我自己的想法了。
从开发者角度来说,特别是中小团队来说,在产品开发层面,关注的是成本,在产品盈利方面,关注的是机会。
成本由生产效率决定,Cocos 的可视化编辑器,PBR 渲染标准,多平台发布等,都是想最大化提升生产效率,降低开发者的生产成本。

http://pic3.zhimg.com/v2-fb6478db0a818f7c22d66e36d6206506_r.jpg
那机会是什么呢?机会就是流量,流量的很大一个因素就是用户覆盖率。
而为了达到更好的用户覆盖率,我们需要产品在技术层面达到要求。
比如,兼容更多的低配置机型,适配更多的平台,支撑更多的行业。总结下来就是:

[*]机型覆盖率
[*]平台覆盖率
[*]行业覆盖率

http://pic2.zhimg.com/v2-b2365f48643068d2a68194af76fb5b09_r.jpg
机型覆盖率

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

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

http://pic4.zhimg.com/v2-5bdb4c881f26232354b6c9347ad6267b_r.jpg
从架构来说, 原生平台为了极致的性能,必须尽可能使用 C++ 进行底层编写,而 Web 平台和小游戏平台,为了包体和性能的平衡,则必须使用 JS 进行编写。
因此 Cocos 引擎团队实现了双内核架构,用最直接的方式,有效地解决了各类平台的差异,确保在原生和非原生平台都能获得很好的运行效果。
行业覆盖率

很多人一提行业覆盖率,首先想到的就是引擎应该提供针对行业的工具。
这确实是一个方面,Cocos 经过几年的努力,也在车机、虚拟人、XR、数字营销等领域有了较大进展。

http://pic2.zhimg.com/v2-8a335edd1e20ff0b10e978438ea9f2f5_r.jpg
但回归到本质,比如车机、数字营销,它本身只是游戏技术在不同平台的应用。
车机要求的是极致的原生性能,满足高清渲染画质的同时,需要更低的内存、CPU、GPU开销,响应速度快。

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

http://pic1.zhimg.com/v2-0affce0bcb4f174b4bd2d23c899bad20_r.jpg
最终你会发现,几个领域追求的点都集中在了下面几条:

[*]渲染画质
[*]内存占用低,CPU&GPU 开销少
[*]响应速度快
而在这几条, Cocos 都能很好地满足。

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

最终再总结下就是:

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

http://pic3.zhimg.com/v2-51a72d7028a3b82e5035e21477578746_r.jpg
或许这个结论有些人不会认同,但从用户角度而言,我认为这是他们大部分人选择 Cocos 的原因。

http://pic1.zhimg.com/v2-179bff450070f19527d84e7cf2219a04_r.jpg
各位准备好了吗,我要出来收 BUG 了。
文章中的 PPT 截图,来自昨天参加的白鲸技术栈*技术创新与全球市场,有需要朋友可以公众号主页面发送 20230722,既可获得对应的 PDF。

ferry 发表于 2023-10-13 23:02:48

2020年 5000块, 操!5w吧,大佬是做 【游戏引擎】的。

哈欠 发表于 2023-10-13 23:03:44

哈哈哈哈哈。
页: [1]
查看完整版本: Cocos 引擎真正的优势是什么?