当前位置:网站首页>每个大火的“线上狼人杀”平台,都离不开这个新功能
每个大火的“线上狼人杀”平台,都离不开这个新功能
2020-11-06 21:09:00 【即构科技ZEGO】
以线上狼人杀、线上剧本杀为代表的发言类游戏,已经逐渐成为社交新宠。用户在游戏过程中,代入第一视角,通过有限的线索,进行多轮语音推理互动。在时而分享信息、时而隐瞒欺骗的游戏过程中,拉近用户间的距离。
因而,一个优质的线上狼人杀平台,除了优化游戏设置、打磨剧本内容外,还需要不断提升语音互动质量,让线上用户获得如线下玩家一般的流畅体验。
一、一转换场景就卡顿,线上狼人杀频“出戏”
影响线上狼人杀体验互动体验的因素很多,比如杂音、回声、噪声等音质问题;网络不稳定;高并发;硬件不兼容等等。
而为了尽可能的还原线下游戏场景,在解决了上述痛点外,平台还需参考线下场景进行业务形态设计。比如,游戏过程中要分为“白天”和“黑夜”不同的场景,在白天环节,所有玩家在同一个房间发言互动,而在黑夜环节,所有狼人玩家切换到其他房间进行私聊分享。
在线狼人杀游戏中,白天/黑夜场景切换
在游戏场景切换过程中,不少狼人玩家就发现,从“白天”切换到“黑夜”,进入“狼人们”沟通交流的房间时,很容易出现切换延时大、卡顿等问题。这导致了游戏氛围被破坏,体验感大打折扣。
二、即构支持切换房间功能,让场景切换丝般顺滑
从技术角度来看,上述场景切换主要涉及到的是“房间”服务。而出现卡顿的原因,则与技术实现方式有关。
线上狼人杀要实现场景转换,业内通常做法是:
首先登出现有房间,停止推拉流;接着登录到另一个房间,再进行推拉流。在整个过程中,伴随登出房间会停止对麦克风、扬声器和摄像头等音视频设备的占用;接着重新登录新的房间,又需要重新启动对应的音视频设备。
正是硬件设备的停启,导致了切换房间推拉流耗时过久,让用户感受到卡顿、不流畅等问题。
针对狼人杀场景切换可能导致的问题,即构深度优化了SDK逻辑,上线了切换房间(switch room)的功能。
只需调用一个新增的switch room接口,调用后停止上一个房间的推拉流并进入新房间,切换房间成功会收到新房间登录成功的回调。与之前通过调用“登出原房间和加入新房间”两个接口的实现方法相比,更加易用和高效。
除此之外,考虑到用户切换房间前后都有发言的行为,即构提供了多种音频设备模式,可在用户上麦后一直占用麦克风和扬声器,避免了常规模式下,伴随登出登录房间音视频设备的不断停止和重启,进一步降低了切换房间后推拉流的耗时。
三、游戏之外,切换房间还有助于提升在线教学体验
在线上狼人杀游戏场景外,即构切换房间功能还可应用于在线教育行业。帮助教育平台提高提升教学质量,降低师资成本。
线上监课:为了提升平台教学质量,不少线上教育平台会进行在线“监课”。监课老师进入正在授课的线上课堂,查看学生上课情况,评估老师授课质量。基于切换房间功能,监课老师可以流畅的切换巡查多个教室(房间),更便捷高效的进行课堂管理。
助教辅导:热门教育班型超级小班中,在切换房间功能的支持下,一位助教老师可以同时辅导多个小班。通过切换房间快速进入各个小班,针对性指导小班内的学生,可以提升助教老师的效率,降低平台的师资成本。
基于即构切换房间功能和丰富的音频设备模式,能够帮助狼人杀/剧本杀等发言游戏的玩家,在游戏各个阶段都拥有优质的音视频体验。同时针对教育、泛娱乐等更多对房间切换有需求的场景,即构提供贴合业务形态的技术方案,满足客户的多样化需求。
扫码添加即构企业微信,与售前工程师直接沟通
版权声明
本文为[即构科技ZEGO]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/3747019/blog/4492816
边栏推荐
- Azure data factory (3) integrate azure Devops to realize CI / CD
- DRF JWT authentication module and self customization
- 给字节的学姐讲如何准备“系统设计面试”
- Did you blog today?
- 合约交易系统开发|智能合约交易平台搭建
- Brief introduction of TF flags
- Wow, elasticsearch multi field weight sorting can play like this
- 零基础打造一款属于自己的网页搜索引擎
- Python saves the list data
- I'm afraid that the spread sequence calculation of arbitrage strategy is not as simple as you think
猜你喜欢
一篇文章带你了解CSS3图片边框
如何玩转sortablejs-vuedraggable实现表单嵌套拖拽功能
Python download module to accelerate the implementation of recording
A course on word embedding
Interface pressure test: installation, use and instruction of siege pressure test
Jetcache buried some of the operation, you can't accept it
It's so embarrassing, fans broke ten thousand, used for a year!
一部完整的游戏,需要制作哪些音乐?
JVM memory area and garbage collection
DRF JWT authentication module and self customization
随机推荐
新建一个空文件占用多少磁盘空间?
Pollard's Rho algorithm
The difference between gbdt and XGB, and the mathematical derivation of gradient descent method and Newton method
Mac installation hanlp, and win installation and use
A brief history of neural networks
Named entity recognition in natural language processing: tanford core LP ner (1)
From zero learning artificial intelligence, open the road of career planning!
Wow, elasticsearch multi field weight sorting can play like this
一篇文章带你了解CSS3圆角知识
Jetcache buried some of the operation, you can't accept it
In order to save money, I learned PHP in one day!
Python Jieba segmentation (stuttering segmentation), extracting words, loading words, modifying word frequency, defining thesaurus
Building and visualizing decision tree with Python
Using NLP and ml to extract and construct web data
一篇文章带你了解CSS3图片边框
Classical dynamic programming: complete knapsack problem
用一个例子理解JS函数的底层处理机制
High availability cluster deployment of jumpserver: (6) deployment of SSH agent module Koko and implementation of system service management
keras model.compile Loss function and optimizer
Analysis of partial source codes of qthread