当前位置:网站首页>每个大火的“线上狼人杀”平台,都离不开这个新功能
每个大火的“线上狼人杀”平台,都离不开这个新功能
2020-11-06 21:09:00 【即构科技ZEGO】
以线上狼人杀、线上剧本杀为代表的发言类游戏,已经逐渐成为社交新宠。用户在游戏过程中,代入第一视角,通过有限的线索,进行多轮语音推理互动。在时而分享信息、时而隐瞒欺骗的游戏过程中,拉近用户间的距离。
因而,一个优质的线上狼人杀平台,除了优化游戏设置、打磨剧本内容外,还需要不断提升语音互动质量,让线上用户获得如线下玩家一般的流畅体验。
一、一转换场景就卡顿,线上狼人杀频“出戏”
影响线上狼人杀体验互动体验的因素很多,比如杂音、回声、噪声等音质问题;网络不稳定;高并发;硬件不兼容等等。
而为了尽可能的还原线下游戏场景,在解决了上述痛点外,平台还需参考线下场景进行业务形态设计。比如,游戏过程中要分为“白天”和“黑夜”不同的场景,在白天环节,所有玩家在同一个房间发言互动,而在黑夜环节,所有狼人玩家切换到其他房间进行私聊分享。

在线狼人杀游戏中,白天/黑夜场景切换
在游戏场景切换过程中,不少狼人玩家就发现,从“白天”切换到“黑夜”,进入“狼人们”沟通交流的房间时,很容易出现切换延时大、卡顿等问题。这导致了游戏氛围被破坏,体验感大打折扣。
二、即构支持切换房间功能,让场景切换丝般顺滑
从技术角度来看,上述场景切换主要涉及到的是“房间”服务。而出现卡顿的原因,则与技术实现方式有关。
线上狼人杀要实现场景转换,业内通常做法是:
首先登出现有房间,停止推拉流;接着登录到另一个房间,再进行推拉流。在整个过程中,伴随登出房间会停止对麦克风、扬声器和摄像头等音视频设备的占用;接着重新登录新的房间,又需要重新启动对应的音视频设备。
正是硬件设备的停启,导致了切换房间推拉流耗时过久,让用户感受到卡顿、不流畅等问题。
针对狼人杀场景切换可能导致的问题,即构深度优化了SDK逻辑,上线了切换房间(switch room)的功能。
只需调用一个新增的switch room接口,调用后停止上一个房间的推拉流并进入新房间,切换房间成功会收到新房间登录成功的回调。与之前通过调用“登出原房间和加入新房间”两个接口的实现方法相比,更加易用和高效。
除此之外,考虑到用户切换房间前后都有发言的行为,即构提供了多种音频设备模式,可在用户上麦后一直占用麦克风和扬声器,避免了常规模式下,伴随登出登录房间音视频设备的不断停止和重启,进一步降低了切换房间后推拉流的耗时。
三、游戏之外,切换房间还有助于提升在线教学体验
在线上狼人杀游戏场景外,即构切换房间功能还可应用于在线教育行业。帮助教育平台提高提升教学质量,降低师资成本。
线上监课:为了提升平台教学质量,不少线上教育平台会进行在线“监课”。监课老师进入正在授课的线上课堂,查看学生上课情况,评估老师授课质量。基于切换房间功能,监课老师可以流畅的切换巡查多个教室(房间),更便捷高效的进行课堂管理。
助教辅导:热门教育班型超级小班中,在切换房间功能的支持下,一位助教老师可以同时辅导多个小班。通过切换房间快速进入各个小班,针对性指导小班内的学生,可以提升助教老师的效率,降低平台的师资成本。
基于即构切换房间功能和丰富的音频设备模式,能够帮助狼人杀/剧本杀等发言游戏的玩家,在游戏各个阶段都拥有优质的音视频体验。同时针对教育、泛娱乐等更多对房间切换有需求的场景,即构提供贴合业务形态的技术方案,满足客户的多样化需求。

扫码添加即构企业微信,与售前工程师直接沟通
版权声明
本文为[即构科技ZEGO]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/3747019/blog/4492816
边栏推荐
- How to use parameters in ES6
- How to customize sorting for pandas dataframe
- It's easy to operate. ThreadLocal can also be used as a cache
- ES6学习笔记(四):教你轻松搞懂ES6的新增语法
- How to get started with new HTML5 (2)
- 只有1个字节的文件实际占用多少磁盘空间
- [event center azure event hub] interpretation of error information found in event hub logs
- JVM memory area and garbage collection
- Solve the problem of database insert data garbled in PL / SQL developer
- Python3 e-learning case 4: writing web proxy
猜你喜欢

I've been rejected by the product manager. Why don't you know

一部完整的游戏,需要制作哪些音乐?

vue-codemirror基本用法:实现搜索功能、代码折叠功能、获取编辑器值及时验证

合约交易系统开发|智能合约交易平台搭建

给字节的学姐讲如何准备“系统设计面试”

Architecture article collection

用一个例子理解JS函数的底层处理机制

Construction of encoder decoder model with keras LSTM

大道至简 html + js 实现最朴实的小游戏俄罗斯方块

Word segmentation, naming subject recognition, part of speech and grammatical analysis in natural language processing
随机推荐
Vuejs development specification
Jetcache buried some of the operation, you can't accept it
一篇文章带你了解CSS 分页实例
Python Jieba segmentation (stuttering segmentation), extracting words, loading words, modifying word frequency, defining thesaurus
一篇文章教会你使用Python网络爬虫下载酷狗音乐
6.1.2 handlermapping mapping processor (2) (in-depth analysis of SSM and project practice)
Python基础数据类型——tuple浅析
2019年的一个小目标,成为csdn的博客专家,纪念一下
Vite + TS quickly build vue3 project and introduce related features
A course on word embedding
Just now, I popularized two unique skills of login to Xuemei
Azure data factory (3) integrate azure Devops to realize CI / CD
Our best practices for writing react components
With the advent of tensorflow 2.0, can pytoch still shake the status of big brother?
How to demote domain controllers and later in Windows Server 2012
Lane change detection
Analysis of react high order components
一部完整的游戏,需要制作哪些音乐?
仅用六种字符来完成Hello World,你能做到吗?
Python基础变量类型——List浅析