如何解决游戏延迟,增强用户体验? 几种可行方案分享
数字出版业的进步已经改变了游戏产业的面貌,正如他们也改变了音乐、视频、报纸和图书出版一样。据统计,到2019年全球的游戏产业总产值将达到10.7亿美元。
因此,对于所有这些发生在数字出版时代的巨变,网络延迟将会是他们的大敌。糟糕的云服务和网络环境对网游有两大影响:较低的下载速度,以及,糟糕的游戏体验。下面会分别谈到这两方面的影响。不过在此之前,还是应该先说一下电子市场中游戏这一分类的情况。仅仅数年前,电子市场作为游戏发售渠道还只是一种愿景,而今天,通过网络购买游戏已经是司空见惯的事情,而实体游戏包则正在逐渐消失。这也为游戏开发者和发行商带来了新的压力,他们必须随时掌握甚至预测消费者需求,以便他们能改善在线游戏的游戏体验。
先从延迟讲起
并不是只有漫长的等待会令消费者不满。即使是最微小的延迟,比如打开网页卡顿,或者游戏开始前的加载画面的时间,都有可能决定一款游戏能不能吸引到新的玩家。看看下面一组数据可能读者会对此有更直观的体会:
网游玩家抛弃一款延迟超过500毫秒的网络游戏的概率是那些低延迟游戏的两倍;在交易时加载时间超过2秒的延迟就使得高达87%的人放弃了游戏;81%的互联网使用者在网页视频不能即点即看的情况下关闭了页面;500毫秒的延迟就使得25%的人卸载了谷歌地图。
延迟,在动作和响应之间的时间间隔,是多人游戏中玩家们十分不愿见到的一种情形。而可接受的延迟时间也取决于不同的游戏类型。对延迟在不同类型游戏中所产生的影响的学术研究对改善这方面的情况是十分有帮助的。
在第一人称射击(FPS)类游戏(比如《使命召唤》系列)中,每个动作都是生死攸关的,只要延迟超过100毫秒,就会给玩家带来不好的游戏体验。而在回合制游戏(如《文明》系列)或者现实模拟类游戏(如《模拟人生》系列),延迟没有那么显著的影响,但仍然会使得玩家的体验变差。游戏开发者和发行商需要寻找一些方法,在整个游戏的过程中尽量排除延迟所带来的影响,下表列出了对不同类型游戏影响比较大的延迟种类:
简单总结一些上述情况,当网络接入环境影响游戏数据传输的时候,玩家就会失去优势,而他们的沉浸式体验也会受到阻隔。游戏发行商面临的问题是,如何给玩家带来如同真实时间一般的模拟体验(因为真实世界没有网络延迟)。
当网络糟糕到影响他们游戏体验的时候,这些玩家真的会各种吐槽。所以开发一款成功的游戏,就意味着所有的数据包都要准时同步送到每一个客户端那里,无论网络环境有多糟糕。但是,如果延迟还是不可避免地出现呢?
下载失败对这些数码公司同样是巨大的问题。大多数公司会自己搞定建设和维护下载服务器的工作,或者找市场上可靠度比较高的公司进行外包。这样,当连接中断和重启的时候,就能很好地解决下载失败问题。但是这些方式只适用于 CDN(content delivery network)或者云服务。多数情况下即使是很优秀的下载服务器也无法完全避免这种情况出现。
最后,一种新兴的游戏方式——电子竞技,则更加受到所有此类问题的掣肘。视频下载失败,缓冲或者其他与视频相关的问题都必须得到足够重视。
作为标准的“真实用户指标”
如果没有定量分析,你就无法改善任何情况。所以,如何衡量游戏延迟,这些方法就是游戏产业现在亟需解决的问题。
因为游戏产业本身的高科技背景,从业者们很快就发现运用真实用户指标(RUM)的结果要比单纯的流量监测要管用得多。如果你监测的数据总是给你错误的导向的话,你就无法找到突破问题的关键所在,也就一筹莫展。
如今,游戏公司已经开始重视游戏社群对问题的反馈了,但他们做的还远远不够。只有当 RUM 成为最优先的考量时,玩家和游戏之间的联系才算是真正得以建立。
这当然是最重要的一步,然而,这样做也会带来一些麻烦,比如:如果没有一个社区来提供 RUM 数据,可能会缺乏足够的研究样本;
RUM 是很复杂的一类数据,如何正确衡量各个变量之间的变化关系是比较困难的,而以偏概全的分析方法又会带来结论性的错误。
为了解决上述问题,游戏公司必须要想办法发展一批能提供 RUM 数据的用户。对于一个孤立的游戏公司来说,这样做每日需要成千上万的互动。但游戏公司的主要精力用在这方面是显然不足的。如果没有充足的数据支撑,最后当你做决策的时候还是得靠蒙,而瞎蒙并不是一种好的战略。
三种解决方案
下面列出了三种网络工程师主要用来解决问题的方案:添加更多的服务器、加入更多的点对点互传、将负载分发给复数个分发者和网络位置
第一种方式不太管用的主要原因是,只有当你的服务器已经过载的情况下,这个办法才会有用。如果服务器并未过载,就完全没有效果,并且还会增加你的开支。
第二种方式有时会有效,毕竟点对点的传输对网络环境来说非常重要。这也是为什么类似拳头公司这样的公司会有如此可扩展性的点对点网络。他们一直在试图降低他们的玩家所遇到的游戏延迟问题。但这种方式的问题在于它会受限。最大的问题来自于光速。光纤已经是目前最快的传输方式了。这是严格对等的:从波士顿到纽约的网络肯定要比从波士顿到旧金山要快(译者按:波士顿和纽约都在美国东岸,而旧金山在美国西岸)。所以仅仅提升这方面是不够的。最好的方案是结合方案2和方案3。
减少延迟最佳的解决方案
当面对网络接入可用性问题时,对网工们来说最好的解决方案是添加其他的分发者或者至少增加其他节点来平抑这种糟糕的事情。如果是用 CDN 来分发的话,加入另一个 CDN 来分担符合可能是最有效的方法了。
如果你是用云服务来支持游戏的话,添加独立的区域指向使得云服务始终能处于最佳的状态中运行。
过去,如果有第二个云服务,一般都是作为宕机备份而存在的。这被称为一种“活动-被动”场景。一般来说,工程师们要设计好当问题出现时网络能自动转到被动节点中去。这个场景有如下两个问题:
网络负载并未在第二个云服务上测试过—有可能第二个云服务被高负载突然弄坏;
网络位置和点对点连接可能并没有在第二个云服务上优化过。因为这些缺点,工程师们现在开始使用“主动-主动”式的策略。这也增加了网络的稳定性。但是是否这样做会牺牲性能呢?答案是并不会。复合云服务能有效降低整个系统的延迟现象,只要它能有效监测到哪个云服务最高效,哪里的玩家最活跃。但是这又兜回之前提到的那个问题了:游戏公司没有大量精力去做这件事。光有灵活性和平衡性是不够的,重要的是能把玩家这一极也引入。
最后,游戏产业大概是最需要垂直商务的地方了。其他产业也可以从这种垂直商务中学到一些经验。
via:界面