优酷游戏化互动-街舞云蹦迪
如果无法正常显示,请先停止浏览器的去广告插件。
1. 优酷游戏化互动-街舞云蹦迪
王志月(凡与)
阿里巴巴无线技术专家
2. 目录
01 背景-游戏化互动与街舞
02 优酷App游戏化互动基建-How to do
03 游戏化落地-街舞云蹦迪-问题与解法
3.
4. 背景-App中的游戏化互动
多多果园
腾讯 虚拟音乐
音乐 嘉年华
游戏化互动
拼多
多
京东
捉猫
头号剧场
天猫
支小镇
支付
宝
抓取用户注意力
用户达成某种行为
手淘
蚂蚁森林
东东农场
芭芭农场
创造更大的价值
5. 背景-街舞与游戏化互动
街舞文化
2018~2022
街舞活动
圈子 城市 全国 世界 宇宙
Weex活 播放页 游戏化 街舞AI 元宇宙
动 点赞 打Call 合拍 游戏
预热期
• 战队专属卡通形象、礼盒、道具
街舞元宇宙舞房
,
热播期
• 战队Party、弹幕互动、全场特效、个人特效
长线玩法
• 抽盲盒、元宇宙虚拟形象、nft数字藏品
6. 街舞游戏化互动-效果视频
训练厅-街舞之城
蹦迪厅-街舞云派对
蹦迪厅-电音超感CLUB
7. 优酷App游戏化互动基建
How to do?
游戏
App
8. 优酷App游戏化互动-应用场景
分发场景
⻣骼动画、粒子特效烘托
节日气氛,提升app的格
调
点播消费场景
互动广告、AI小游戏、弹
幕氛围,提供好看又好玩
的观影体验
直播消费场景
酷炫的付费道具,结合物
理引擎的互动打赏效果
How to do ?
技术选型
路线规划
技术攻坚
9. 游戏化互动技术选型-游戏引擎
特效效 开发成
果 本
动态性
CPU内
存
开放性
技术栈
运营成
包体积
本
引擎 2D 3D 工具&生态 动态性 内存&CPU 开放性&定制成本 XR 开发语言
Cocos 强 中 可跨端
开发工具易用
编辑器免费 动态性良好
支持运行时热
更新 单个简单游戏
内存105MB
CPU 24% 引擎代码开源,
支持定制 弱 JS/CPP
Unity3D 强 强 可跨端
工具易用
开发生态繁荣 引入三方工具
可支持热更新 单个简单游戏
内存125MB
CPU30% 引擎代码部分开
源,定制难 强 C#/Lua
10. 游戏化互动路线规划
预研阶段
技术选型
•
Cocos VS Unity
VS Egret
• 三种接入模式
• 工具链
游戏Demo
•
•
•
单点验证 技术攻坚
单实例模式 多实例模式
渲染容器(全屏、 • 独占式多实例
半屏透明) • 并行多实例
窗口层级(顶层、 • 游戏框架
底层、混合) • 发布工具
热更新及工具链
首页-春节候三迷
播放页-街舞打Call
产品化
多场景应用
• 投放系统
• 模板化
• Playground
• Demo库
• 最佳实践
• 全家桶
11. 游戏化互动技术攻坚-并行多实例
启动App
启动App
页面 播放器/浮层 组件
全屏游戏实例 小屏游戏实例 组件游戏实例
游戏APP
游戏实例
热更新
场景1
场景2
全屏游戏容器
游戏引擎实例
V8引擎实例
优酷Inside
场景3
场景1 场景2 场景3
全屏游戏容器 自适应游戏容器 嵌入式游戏容器
游戏引擎实例 游戏引擎实例 游戏引擎实例
V8引擎实例 V8引擎实例 V8引擎实例
回收
复用
回收
复用
多实例管理器
退出App
热更新
热更新
游戏结束
退出App
回收
复用
12. 游戏化互动技术攻坚–多实例沙盒模型
游戏1
内存隔离
文件访问隔离
JS VM 1
O1
O2
O1
JS VM 2
…/游戏资源目录/GameBundel1
…/游戏数据目录/GameBundel2
O2
资源文件a
资源文件b
资源文件c
…/游戏资源目录/GameBundel2
…/游戏数据目录/GameBundel1
游戏2
资源文件d
数据文件a
数据文件b
数据文件c
数据文件d
13. 游戏化互动落地-线上案例
消费-商业化奇妙连击
分发-圣诞氛围
消费-弹幕氛围化
AI艺能挑战
14. 街舞游戏化落地
问题与解法
15. 云蹦迪游戏化关键问题
场景
场景组装
性能优化
01
渲染
02
03
Weex与游戏
游戏画面与视频画面融合渲染
消息系统
帧同步
避免穿人
16. 街舞游戏化场景搭建技术-场景模块组装
游戏背景
视频播放器
路
地贴
底Bar
17. 街舞游戏化场景搭建技术-性能
事项 优化方法 收益
地图 瓦块图 地图浏览平滑、无卡顿
游戏包体积
优化 远程游戏 Bundle 技术
模块裁剪 游戏包体积
6.7MB->2.4MB
视角移动 多相机技术
一个相机用来捕捉地图画面
一个相机用来捕捉固定的UI 画面 减少移动地图性能损耗
• 45人偶+实时互动+随机特效+随机弹幕+随机移动,内存 300M (上限)
• 20 个人偶, 内存 137MB (中位数)
18. 街舞游戏化渲染技术-Weex与游戏
快速迭代
基础设施
动态能力
云蹦迪
电音
半屏功能区
加载/事件通讯
游戏降级
弹窗
弹起/回调
cc-game component
活动页面配置
组件复用
弹窗、浮层(活动页组件)
活动主场景(游戏容器)
街舞之城
页面搭建
热区列表
Weex
游戏组件
状态管理
数据统计
浮层
19. 街舞游戏化渲染技术-挖洞的难点
云派对游戏背景画面中有一面电视墙,需
要满足如下特点:
• 可播放街舞节目相关视频
• 画面移动时,电视墙与游戏画面保
持同步移动
• 电视墙不能遮挡游戏画面
20. 街舞游戏化渲染技术-挖洞技术实现
挖洞组件:图形挖洞 Shader(透明化)
视频组件:计算视频区域边界
21. 街舞游戏化消息系统-帧同步技术选型
互动玩法
坐标 贴贴
皮肤 DJ
状态更新 个人
信息
交互请求
RPC通信网关
…
常驻
明星
游戏状态帧数据
游戏干预指令
状态汇总
推送状态数据
直播 Server
直播 Client
RPC 通信SDK
队伍消息通道
交互请求
全局消息通道
游戏状态帧数据
玩家交互
更新游戏状态
游戏指令
方案选择
• SOCKET
• 集团长链通道
• 优酷直播通道
22. 街舞游戏化消息系统-帧同步如何避免穿人
用户
云派对游戏
移动到(x,y)
loop
街舞游戏互动服务
计算到终点(x,y)的路径
[未达到终点(x,y)]
从路径中选择下一步节点(x’, y’)
移动端(x’, y’)
检查(x’, y’)
是否可达
帧同步用户位置(x’, y’)
移动虚拟人偶到(x’, y’)
用户
云派对游戏
街舞游戏互动服务
人偶移动
• A* 路径规划算法
• 避免穿人的规则
• 移动速度与帧同步频率解
耦
23. 游戏化思考
Q&A
24. 感谢大家观看