《魔兽世界》怀旧服的第五阶段压力测试,为期两个小时,而真正进入到安其拉开门后希利苏斯的刷怪时间其实只有一个小时。既然是压力测试,自然怎么卡顿怎么来,在服务器不崩溃的前提下,尽可能地让更多玩家集中到希利苏斯,以找到解决卡顿的方法。目前,经过P5的压力测试,暴雪已经公布了即将重点优化的三个点,这将会对玩家体验后续内容产生不小的影响,更流畅只是其中之一。
一:技能作用效果在视觉上会有所延时
在怀旧服开服前期,曾经有过聊天信息延时的情况。其原因所在,就是怀旧服没有专门的团队数据共享接口,插件为实现DPS和仇恨数据的统计,只能在后台以聊天命令的方式频繁获取“战斗日志”的数据,经过统计后展现在插件面板。结果就是因为插件产生的大量“战斗日志”读取信息,占用了聊天频道的资源,导致延时严重。
聊天延时的原因,其实就是大量的数据“交互”导致,为了解决聊天延时,开发团队是对插件读取“战斗日志”进行了限制,并提供了专用的数据共享接口,第五阶段也开放了仇恨API接口。这样就避免了插件为了数据准确而频繁地调取“战斗日志”的动作,缓解聊天频道的数据传送压力。
在一个区域同时出现大量的玩家,会有严重的卡顿延时现象,这点大多魔兽玩家都深有体会,正式服或者怀旧服都是如此。几个40人的团在野外PVP,很可能就让画面卡成PPT,这卡顿的原因其实跟卡聊天的原因一样,都是数据交互带来的影响。
服务器发送大量的数据包是导致卡顿的根源
《魔兽世界》本身是MMO游戏,角色之间的互动极其重要,这不单表现在社交方面,也体现在数据上面,一个简单的技能,所产生的背后影响,涉及到的可能是范围内的多个角色,角色的交互信息就显得极为重要,这也是一项庞大的数据信息交换系统。
比如,法师的“暴风雪”技能,造成的AOE伤害和效果,其中减速效果会因角色的天赋而有不同的数值,现在的“暴风雪”效果是每个覆盖到的角色都会在服务器里产生数条交互信息,并反馈给施法者和周围的其他角色。也就是,法师“暴风雪”如果覆盖了十个角色,每个角色会产生十条数据,其中一条反馈给施法者,剩余九条反馈给周围的其他角色,10个角色就会产生条的交互信息。
这组数字是很可怕的,如果“暴风雪”覆盖到20人就会产生条数据信息,40人就是条,人就是00条交互信息。这是拿暴风雪一个技能做的推算,还有其他各种AOE和带DEBUFF的技能,数个团的PVP在“脸滚键盘”之后,大量的从服务器到PC的数据信息交互就会造成世界数据传输延时,卡顿就如约而至了。
优化技能数据传输方式,减少数据包传输次数
在经过安其拉的压力测试之后,魔兽开发团队已经在优化技能光环效果的数据传输方式,将对部分技能的效果信息延时推送给PC。比如“暴风雪”的减速效果,角色被技能覆盖到之后,服务器正常产生效果数据,但不会第一时间为覆盖到的角色和施法者推送数据,适当延时之后,跟后续的效果数据合并推送给每个角色,以这样的方式来降低服务器的工作量。
这样做可以有效减少服务器到PC的数据包传输量,但会给玩家一个技能效果BUFF视觉上的延时。就如释放“暴风雪”后,覆盖到的玩家其实已经受到减速效果,但施法者或周边的角色,不会第一时间得到减速光环的视觉效果。所以,以后释放技能,没第一时间看到对方受到影响的光环效果,并不是BUG,实际作用效果其实已经产生,只是得到的数据反馈稍微有所延时。
二:角色面向区域的信息选择性地进行延时更新
经历过安其拉开门压力测试的玩家会有个比较明显的“BUG”感,就是有时候会发生面前没有其他角色的时候,突然出现数个角色,或者刚才看到的角色,转个身就消失了。而这些角色并未掉线或者跨位面,因为他们能看到部分共同的角色,只是互相看不到对方,这也是减少服务器传输数据压力的方法之一。
在某个区域的人数达到一定的阈值(也就是服务器不崩溃)的时候,服务器会停止或者延迟更新部分玩家面向区域的信息,也就是适当“屏蔽”掉了部分玩家的实时新数据刷新。很简单,玩家数次转向之后,就会出现正常情况下本应在新的视野里面的其他玩家却没有实际看到。其实双方都在同一个位面,只是服务器并没有实时更新数据,导致互相看不到而擦肩而过。
这个优化看起来是“卡顿”或者跨位面的表现,而压力测试的时候,在开门刷怪的后半段,就对部分参与测试的玩家进行过数次的“延时更新面向区域的实时数据”。结果就是在游戏运行流畅的情况下,却突然在面前出现或者消失部分角色,看不到彼此,却都在流畅运行游戏,也能看到共同的目标。其实这并不是卡顿,而是服务器为避免卡顿实行的延迟刷新面向区域的实时数据。
对于这个避免卡顿的“优化”,个人感觉有不小的弊端,比如视角转向之后,没有“看到”的其他玩家如果参与到了同一个野怪的战斗,会不会重新刷新数据?如果不会重新刷新数据,那会显得很诡异。这个优化机制必须得提前判断出哪些玩家只是“擦肩而过”,不会有实际的互动,哪些玩家是冲着相同目标而去的,不然只会造成游戏流畅却沟通不畅的局面。
三:自动传送功能,被卡住的角色将自动传往其他区域
在香草时代,安其拉开门的盛况导致了大量的玩家卡在某个区域,最常见的就是坐骑和飞艇上面。当年应付这类的卡顿,是由GM手动把这些玩家转移到其他区域,给GM带来超大的工作量,对众多被卡住的玩家却起不了明显的作用,只能说是帮助有限,卡到直接下线的玩家不在少数。
时间来到十四年后的今天,怀旧服的安其拉开门,暴雪也已经再次做好了希利苏斯的严重卡顿准备。不同于香草时代的把在希利苏斯或者卡顿的进行手动传送,怀旧服将会使用“自动传送”的机制,把集中在希利苏斯的玩家进行分流,也就是传送到其他区域,比如传送到安戈洛、千针石林、菲拉斯、塔纳利斯等区域。也就是卡利姆多的南部,只要有安其拉开门后的刷怪区域,都会由系统自动分配玩家前往该区域。
这个机制带有一定的强制性,但前提是服务器即将崩溃,不然不会触发传送机制。对部分玩家来说,会有不爽的地方,比如早早进入到希利苏斯等待开门盛况,却会被系统随机选择传往其他区域。换个角度看,这也算是为了避免服务器崩溃,玩家不得不接受的妥协,去其他区域也不会错过开门的刷怪盛况,十个小时的限制,即使是敲锣那“圣甲虫”坐骑也会有足够的时间再次去希利苏斯。
安其拉开门会延续香草的机制,并不是取消开门
不少玩家看到测试服没有敲锣开门的内容,误以为这是在怀旧服里面取消了安其拉的开门任务。其实,PTR已经有了完整的“流沙权杖”任务线测试,但因为AQ40并未开启测试,所以敲锣开门的测试也同样没解锁。有任务线,就已经足够说明团本开门步骤是得以保留的,而不是直接取消。
压力测试的内容,则是主要测试敲锣开门后的服务器表现,以上三个优化就是应对P5的安其拉开门所做出的改动。避免在敲锣的十个小时里,服务器因玩家过多集中在希利苏斯而导致崩溃,在测试服找到解决办法就是压力测试的主要工作,而且暴雪已经准备在25号再次进行第二轮的压力测试,也是为了更进一步的检测优化后的服务器表现。
总之,以目前压力测试提到的三个主要优化看,都是对玩家能造成一定影响的机制,但这都是建立在过多玩家集中在一个区域的特殊应对机制,如果获得良好的表现,那运用到野外的多团PVP也会给到玩家更好的游戏体验,适当取舍并不是坏事,避免严重的卡顿和服务器崩溃才是安其拉开门的重中之重。
转自百家号:脑洞游戏说
预览时标签不可点收录于话题#个上一篇下一篇