2021 年末,Apple 公布了 App Store Awards 获奖名单。《英雄联盟手游》凭借精致细腻的视觉效果和丰富刺激的故事情节,被评选为 App Store 2021 年度 iPhone 游戏及最佳竞技游戏。
01.
云函数支撑用户运营活动
助推经典 IP 辐射扩散
《英雄联盟手游》国服上线 3 个小时,即登顶 iOS 免费榜,同时在 Bilibili、TapTap 等平台上下载量一路飙升,创造了中国游戏市场新品发行的多个记录。而一系列建立在经典 IP 之上的用户运营活动、衍生小游戏及全球赛事,都成为了经典 IP 传播扩散的 “流量密码”。
《英雄联盟手游》上线后,推出了发送语音暗号拆红包的用户运营活动。玩家通过录制英雄语音暗号、输入语音暗号并发送分享的方式参与活动,可获得现金、经验卡、畅玩卡等奖励。整个活动玩法新颖、娱乐性高,用户裂变玩法激发用户的自传播行为,吸引了超千万量级的玩家参与。
(活动前端页面)
活动玩法主要步骤拆解:
微信或手机 QQ 小程序打开英雄暗号红包 - 登陆游戏账号 - 输入英雄语音暗号 - 语音特效变声玩法 - 分享给好友 - 获得拆红包奖励
架构选型分析
游戏运营活动的生命周期较短,且在生命周期内,会出现明显的波峰波谷。《英雄联盟手游》跃居中国日活跃账户排名第二的手游,而在今年新品中,《英雄联盟手游》日活跃账户数稳居第一。因此,预期在《英雄联盟手游》新上线期间的运营活动,将带来大量的新用户流量,后台服务必须快速响应流量变化;在凌晨两点后至清晨六点的流量低谷期间,也需要保持 24 小时不停服。所以,业务方首选能够自动弹性伸缩的计算平台。
(计算资源消耗和实际流量基本一致)
在综合考量计算平台的自动弹性扩缩能力、系统稳定性和容灾能力,以及便捷的发布回滚能力等基础上,《英雄联盟手游》暗号红包活动的开发团队——腾讯光子技术中心最终采用了云函数 Serverless 架构作为技术选型。
《英雄联盟手游》暗号红包业务需求中,关键环节的技术实现逻辑:
- 用户进入小程序选择录音模式,通过长按生成语音文件
- 经过腾讯云 ASR 语音识别校验口令后,调用云函数
- 接下来,通过转换音频的频率、振幅等特性参数,实现变音效果
通过调整变声参数可模拟机器人、外星人、萌音、怪兽、宇航员等音效,提升参与趣味性,促进玩家裂变分享。
(业务逻辑架构图)
云函数方案的主要优势:
- 微信 / 手机 QQ 双平台通用,云函数可复用,节约开发成本
- 通过预置提前进行扩容,避免云函数冷启动影响用户体验
- 语音转换组件依赖 Node.js 环境转换音频文件添加特效,选用云函数移植成本低
- 云函数对语音文件的存储更便捷,可直接使用 COS 存储服务,无需自行转储,开发成本低
《英雄联盟手游》暗号红包运营活动小程序上线 7 天时间,服务了千万级玩家。腾讯光子技术中心表示:“Serverless 架构让整体研发效能有了极大的提升,弹性速度从分钟级缩短到毫秒级,新项目上线速度从周级缩短到天级。”
02.
英雄联盟手游变音特效
基于云开发和云函数的经典玩法
游戏社交化是提高用户活跃和粘度的重要手段,而语音交流是用户间的基本互动形式。在《英雄联盟手游》暗号红包活动中,“猛男变萌妹”、“御姐变怪兽” 等多面人格的体验型变音玩法成为一大趣味特色。
在音频后处理领域,“变声” 是一个典型功能需求。变声的原理,主要是通过改变人声的音调、音色,使输出声音在感官上与原始声音不同。为了给玩家带来丰富的角色体验,和平精英周年庆集结令、和平精英语音互动等小程序游戏中,同样都以玩家的语音作为核心玩法要素,通过 ASR 语音识别正确口令,加上特色音效变声的高阶功能,实现沉浸式趣味体验,引导裂变分享。
在《英雄联盟手游》、《和平精英》等小程序游戏中,变声方案的主要特点与难点:
- 底层框架的选型
提供底层 API,如音频信号解析、音频编解码、频率变换等底层能力
- 线上工程化要求
能支持成千上万用户的变声请求,具备可横向扩展的服务能力
- 用户体验保障
音视频数据流与小程序之间存在数据交换效率低、性能消耗大导致的用户体验不流畅问题
- 敏捷开发需求
在不到一周的开发时间内,实现项目上线
腾讯光子技术中心基于小程序云开发和云函数,提出了一套多端复用的解决方案:“在 Node.js 里实现好的功能,通过小程序开发者工具一键同步到云函数中,后台的负载均衡、日志监控、动态扩容等问题均无需考虑。SCF 云函数让游戏开发者得以把精力聚焦在业务逻辑本身的开发工作上。” 该方案运行于 Node.js 环境,同时支持微信、手机 QQ 等多端复用,无需第三方程序依赖,具有高兼容性、快速部署、高性能等优点。
(云函数实现语音变声架构图)
小程序云开发 + 云函数 SCF 解决方案:
- 小程序端将录音文件传递到云存储,获得云文件ID
- 小程序向云函数 SCF 传递文件 ID、变声类型等参数,云函数通过文件 ID 下载得到二进制流,并把处理结果上传到云存储,获得转换后的云文件 ID 并返回至小程序
- 小程序下载转换后的云文件 ID,进行播放试听
从后台运营数据中可以看出,小程序上线后一周内,变声函数的调用次数达到千万级别,广受玩家欢迎。根据监控数据,云函数的运行错误率低于 0.1%,具有良好的大规模并发能力和容错能力。
(调用监控截图)
03.
爷青回!云开发 + 云函数助力复刻经典 IP
在 MOBA(多人在线战术竞技游戏)赛道中,《英雄联盟手游》是一次基于英雄联盟 IP 的经典复刻与创新。相较于端游,手游产品研发制作周期短,且需要在宣传层面大量投资。在游戏精品化时代,建立在经典 IP 之上的衍生小游戏,可以为 IP 流动提供源源不竭的扩散动力。
当前,Serverless 架构的价值特性已经在越来越多的游戏场景中得以施展和应用,帮助游戏开发者缩短研发周期、降低成本投入,并提供高并发稳定的底层服务支持。同时,云开发为小程序、小游戏提供了微信原生的服务支持,包括免鉴权调用开放接口、原生调用微信支付等,目前已服务超百万的企业和开发者。
重磅介绍
【燎原社】推出了专业而又系统的线下云原生技术实战营,需要系统化深入学习的同学,可扫码报名云原生技术实战营课程,腾讯云技术专家现场教学,3天搞定云原生容器化改造过程中的实际问题,扫码一键直达:
往期精选推荐
- 光速从0到1掌握Prometheus和Grafana,腾讯云专家5万字精华教程免费送
- TKE 用户故事 - 作业帮 PB 级低成本日志检索服务
- 【Pod Terminating原因追踪系列之二】exec连接未关闭导致的事件阻塞
- 腾讯云TKE-基于 Cilium 统一混合云容器网络(上)
- 大数据云原生系列| 微信 Flink on Kubernetes 实战总结
点个“在看”每天学习最新技术