在全球总决赛小组赛首日TSM对阵RNG的比赛中,游戏出现问题,导致TSM的Bjergsen选手无法看到RNG选手Xiaohu的奥瑞利安·索尔的环绕行星。

英雄联盟艾欧尼亚打啥位置(英雄联盟S6奥瑞利安)(1)

在此我将从技术角度来解释该问题的缘由。问题比较复杂,请认真阅读,我将详细为您讲解基础机制,然后分析问题的起因,最后给出我们的解决方案。

技术背景

奥瑞利安·索尔的被动技能会把龙王作为目标物件。通常飞行道具的目标是它所对准的目标,但在龙王的被动中,我们利用目标信息来传达并实现飞行道具的轨道环绕效果。

当客户端被告知一个飞行道具指向了一个脱离视野的目标,就会创建一个“占位目标”来表示客户端此时没有该目标的本体信息。这个“占位目标”会让游戏无法从一个已知,但脱离视野的单位处应用过期的信息。

当奥瑞利安·索尔的一颗行星可以被除了他自己之外的人看见,我们使用了一种机制,通过服务器发送龙王的位置信息到客户端,为行星模拟一个合理的环绕位置。我把这个过程称为:“辅同步”。之前有时候行星会出现在错误的位置,我们对此做过修正——即在收到正确的位置信息前,行星暂时隐藏。这种情况会在“辅同步”或龙王出现在视野时发生。

这个问题已经给选手带来了误导,但不仅如此,客户端由于依赖“辅同步”系统来放置“占位目标”,以解决初始视野缺失的问题。这会导致龙王的行星处于一种永远无法找到正确目标的状况。行星只会在通过“辅同步”系统获取信息后,或是行星的目标可见后才会出现,那么这两种触发机制都无法实现时,行星就会永久的隐藏。

应对方案

现在我们清楚了问题的由来,那么进行修正是很简单的。但是,在赛事中途推送新的版本会有很大的风险,我们决定使用变通方案。现在我们的观战客户端帐号ID值会新于选手的帐号ID值,这样就能持续并完整地跳过根本原因。测试表明该方案行之有效。

我们也会在日后的常规更新中修正这个问题,当前的变通方案将不会在以后的赛事中使用。

此致,

~Riot Penrifc

,