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

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

扫码添加即构企业微信,与售前工程师直接沟通
版权声明
本文为[即构科技ZEGO]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/3747019/blog/4492816
边栏推荐
- 5.5 controlleradvice notes - SSM in depth analysis and project practice
- 快速排序为什么这么快?
- 用一个例子理解JS函数的底层处理机制
- Pattern matching: The gestalt approach一种序列的文本相似度方法
- Jetcache buried some of the operation, you can't accept it
- git rebase的時候捅婁子了,怎麼辦?線上等……
- I think it is necessary to write a general idempotent component
- axios学习笔记(二):轻松弄懂XHR的使用及如何封装简易axios
- It's so embarrassing, fans broke ten thousand, used for a year!
- How to use parameters in ES6
猜你喜欢

前端基础牢记的一些操作-Github仓库管理

Interface pressure test: installation, use and instruction of siege pressure test

(1) ASP.NET Introduction to core3.1 Ocelot

It's so embarrassing, fans broke ten thousand, used for a year!

教你轻松搞懂vue-codemirror的基本用法:主要实现代码编辑、验证提示、代码格式化

Filecoin主网上线以来Filecoin矿机扇区密封到底是什么意思
![[JMeter] two ways to realize interface Association: regular representation extractor and JSON extractor](/img/cc/17b647d403c7a1c8deb581dcbbfc2f.jpg)
[JMeter] two ways to realize interface Association: regular representation extractor and JSON extractor

How to use Python 2.7 after installing anaconda3?

TensorFlow中的Tensor是什么?

Mongodb (from 0 to 1), 11 days mongodb primary to intermediate advanced secret
随机推荐
[Xinge education] poor learning host computer series -- building step 7 Simulation Environment
Jmeter——ForEach Controller&Loop Controller
How to customize sorting for pandas dataframe
Character string and memory operation function in C language
Python3 e-learning case 4: writing web proxy
What problems can clean architecture solve? - jbogard
Elasticsearch数据库 | Elasticsearch-7.5.0应用搭建实战
6.4 viewresolver view parser (in-depth analysis of SSM and project practice)
Music generation through deep neural network
用一个例子理解JS函数的底层处理机制
git rebase的時候捅婁子了,怎麼辦?線上等……
Three Python tips for reading, creating and running multiple files
Building and visualizing decision tree with Python
6.1.2 handlermapping mapping processor (2) (in-depth analysis of SSM and project practice)
Construction of encoder decoder model with keras LSTM
H5 makes its own video player (JS Part 2)
The data of pandas was scrambled and the training machine and testing machine set were selected
Architecture article collection
vue任意关系组件通信与跨组件监听状态 vue-communication
Linked blocking Queue Analysis of blocking queue