「深圳站」Cocos 开发者沙龙,引擎核心开发者 Jare 为我们带来了精彩的分享。其中包括 Creator 游戏开发的最佳实践模式、团队不同角色如何高效科学的分工合作来提高团队整体效率、引擎功能进化的详细技术原理和细节,以及如何做到挑战全平台引擎极限等详细情况。
Cocos Creator 是以内容创作为核心的游戏开发工具,自从正式推出以来,经过了很多个大版本的演进,不断快速发展着。此次沙龙演讲,Jare 主要通过简单高效、厚积薄发和挑战极限三大主题来详细介绍短时间内 Cocos Creator 是如何越做越好的!
简单高效
“图形化工具降低门槛,鼓励协作”
1、所见即所得的 UI 编辑
2、响应式 UI 布局
3、灵活强大的动画系统
我们的动画系统,其实就是个常见的 Timeline 编辑 ,它不但能驱动表现动画,也能够驱动数值的变化,同时能在动画的过程中发送事件给程序。也就是说这个动画系统已经能够把游戏的很多表现的变化以及功能的变化给串联起来。
一体化编辑器
“整合了完整游戏开发工作流程”
使用 CocosCreator 的工作流重新分工后,程序员、美术策划可以更加专注自己擅长的领域,大大提高生产效率。程序员可以专注于创新玩法的功能开发、程序性能的优化、数据结构的设计和开发和网络通信策略等;而美术、策划则可以将更多精力放在搭建场景、拼接 UI、调试和导入数值数据、制作版本进行内容测试和维护内容资源,修理内容 bug等,直接接入工作流,输出成品,减少沟通损耗。
Creator 工作流
“扩展商店提供各种模板、源码和工具”
1、提供各种插件,源码,资源,SDK
2、新手上路 + 老司机抄近路
3、可以向广大用户出售自己提交的插件
4、承载更多插件化功能,保持核心模块轻量
Cocos 拓展商店
“内置 AnySDK 支持”
1、内置多渠道打包工具
2、578 个原生渠道
3、76 个 H5 渠道
4、13128 款游戏的共同选择
AnySDK 配置管理界面
厚积薄发
版本功能的演化完善
JSB 2.0 具有如下特性
1、支持平台原生 JS 引擎,减小 iOS 包体
2、性能大大提升
3、分代垃圾回收(Generational GC),避免卡顿
4、支持所有原生平台调试
5、完全抽象的绑定层 API,方便后续引擎升级
它在 iOS 平台纯 JS 逻辑有 3 ~ 6 倍性能提升。Android 在 1.6 已经提前开启 JIT,所以整体性能只是略有提升,但是 GC 引起的卡顿明显减少,帧率更平稳。如果是拿 1.7 去对比 1.5,那么不论是安卓还是 iOS,原生平台的性能都会有极大的提升。
“JSB 2.0 原生平台调试如虎添翼”
1、支持 iOS, Android, 桌面端及模拟器,原生全平台覆盖
2、浏览器开发者工具直接支持,无需插件
3、支持 profile JS 内存和 CPU 开销,准确分析瓶颈
4、支持 Console 直接交互,调试更加给力
挑战极限
“挑战开发极限”
Cocos Creator v1.6 开始支持了脚本免编译技术,配合真机扫码预览,真正做到了快速迭代,无缝预览。
此外,CocosCreator 实现了全平台,全开源,全调试。能够让用户享受充分定制,真正免除开发的后顾之忧。
“挑战性能极限”
Cocos Creator 的技术栈能在保证全端发布的同时,达到各个平台的性能极限:
1、原生平台上通过 JavaScript 能完美实现热更新
2、专为原生平台打造的 Cocos2d-x,性能最高,包体最小
3、JSB 2.0 性能领先
4、HTML5 还专门有一套易于调试的 JavaScript 引擎
“未来挑战”
以下是我们将来要挑战的目标
重写渲染层
1、提高渲染效率,降低发热量
2、减少内存占用,提高场景加载性能
3、引入材质系统
4、支持全局 z index 排序
5、简化 JS 绑定层代码
资源管理
1、统一底层实现方式
2、在编辑器配置 Texture 参数
3、减小 settings.js 配置大小
4、统一资源管理相关 API
5、智能 unload 和 reload
6、提供真实资源加载进度
AssetBundle
1、远程资源包动态加载
2、跨项目协作开发
3、脚本动态载入
4、子游戏动态安装
挑战极限加拥抱变化,这就是我参与 Creator 这个产品这么久以来的感受。我们会为某些功能点投入很多人力物力,来换取一些极限的突破,也会很乐于去根据市场根据 户需求来调整产品方向。
举个例子,这是来自我们社区的用户反馈。
而这一切挑战,其实就是为了实现我们一个小小的诉求: