[情报] 官方专题:2016世界大赛抢救翱锐龙兽揭密

楼主: BRITAINCAT (法兰克猫)   2017-03-31 19:03:53
来源:https://goo.gl/HCDNNi
译者:法兰克猫
网页图文版:https://goo.gl/lfdcpJ
在2016年的9月29日,同时也是2016年世界大赛的首日,我们因为游戏中bug的关系在比赛
中禁用了翱锐龙兽,接着随着时间的过去,转眼来到了十月二号,也就是世界大赛的第四
天,这位星际漫游者再度回到了召唤峡谷当中。这次我们要为大家带来这个在错误的时间
点出现了Bug,以及一支团队日以继夜进行抢修的故事。
旧金山 ─ 9月29日 10:30 PM (PT)
2016年世界大赛的首日赛程进入到了尾声,最后一场比赛由来自北美的TSM对上中国的RNG
,在比赛开始的两分钟后,TSM的Bjergsen选手因为对手Xiaohu的翱锐龙兽在视觉特效上
出现了一些问题而要求比赛暂停 ─ 当下翱锐龙兽被动技能的星体特效竟然消失了?
Luke Rinard(翱锐龙兽设计师):身为翱锐龙兽的设计师,我真的、真的很高兴能够看到
他在这种等级的职业赛事中出场,他之前是有出场过啦,但我们现在说的可是世界大赛呢
!然后当下游戏就陷入了暂停,我当时心里想着:“喔不,我敢说一定是翱锐龙兽出了问
题。”每当游戏中有巴德和翱锐龙兽存在的时候我总会这样说,我当时和旁人说到:“我
敢打赌一定是他!”通常我的猜测不会成真,只是这次例外。
Brian Bosse(引擎建筑师):我当时在家看着比赛的实况播送,接着游戏就陷入暂停了,
每次只要游戏进入暂停我的心脏就会加速跳动,而我总会不断的祈祷著:“拜托是音效出
了问题,拜托是音效...天啊,上帝,可以是音效出问题吗?”因为通常都是音效出问题(
而且修理起来也很快),只是这次不是这样。
Amelia Von Haden(游戏程式设计师):我们当时看着比赛的进行,然后转播回放了场上发
生了什么事情,我们当时就像是:“喔~~~不!!!”
影片:https://goo.gl/uRdA1G
Raven Keene(主裁判):面对Bug在第一时间的处理方式通常是一样的:尽可能的去蒐集资
讯,在这个特殊的案例中,因为Bjergsen表示他看不到翱锐龙兽的星体裁判便介入了比赛
,我们从赛场上的录影回放中发现了选手视角看见的问题,当下我们自己的观战客户端看
不出任何端倪,但是一旦我们提取了Bjergsen视角的影片档,很明显的他确实看到了这个
bug。
我们接着重新启动了客户端,接着大家认为问题应该解决了,我们说到:“喔,好吧,这
可能是物件没有正确的被读入,我们不需要去讨论是否需要重赛。”但是过了几分钟以后
这问题又出现了,我们便明白重启客户端对目前的情况来说没有任何帮助,所以我们必须
想出另一种解决方案,这时重赛看起来就是个可行的方案了。
Nick Troop(电竞赛事直播制作人):看到有英雄可能会在剩下的比赛中都遭到禁用,而且
还不确定要花多少时间来修复,感觉就像是我们办得很失败,即使我们无法事先预测翱锐
龙兽会出现这些很特殊的Bug。
图片:https://goo.gl/eIToFP
洛杉矶 ─ 9月29日 11:00 PM (PT)
随着翱锐龙兽被禁用,我们便开始和时间竞赛,目标是要找出bug的成因和找出修正的方
法,一支Riot小队当下立刻前往了位在洛杉矶的办公室并且着手进行解决。
Brian Bosse:我当时在公司内部的聊天室,瞬间在对话频道爆出了大量的“我们翱锐龙
兽的星体出了问题!”恰巧我也有参与到系统的部分设计,我当时想着:“好吧,该是我
出马的时候了,该上阵了!”,接着在比赛陷入第二次暂停的时候确定了这问题依旧存在
著,于是我便披上了蝙蝠披风,接着走进了办公室开始埋头寻找解决的方法。
Amelia Von Haden:我当时立刻加入聊天室想要知道究竟出现了怎样的bug,毕竟我是位
游戏程式设计师,我对游戏中的编码自然是再熟悉不过了,所以只要是跟游戏相关的问题
,我想我都能提供一些帮助,我在翱锐龙兽的开发期间也在英雄开发团队中待过一段时间
,所以我对他被动技能的星体自然是有所理解,当我意识到我能够提供帮助,我便在心中
想着:“管他的,我现在就要去工作室。”
Brian Bosse:我当时在前往工作的路上想着:“电竞的整体环节究竟在哪里出了问题?
所有东西都有好好的组织起来吗?”当时已经是我们的下班时间了,我们也没有应付这种
状况的正常回报管道,只能靠着那些当下有空的人立刻的投入解决问题的作业,而我当时
刚好也有空,所以我便参与了进去。
图片:https://goo.gl/wrRo7c
旧金山 ─ 9月30日 12:00 AM
随着第一天赛事的落幕,旧金山当地的电竞团队立刻就针对bug进行了回报,这是在确认
与修复问题流程中很重要的一环,这时候有三支分散在北美大陆上的团队正在尝试解决这
个bug,分别是:旧金山当地的电竞团队、洛杉矶的开发团队以及一支位于蒙特娄的外部
品质控管团队。
Raven Keene:我们当时花上数个钟头试着在复制出来的场景中排除所有的可能性,我们
尽全力的模拟出比赛中发生问题的场景,然后将每项变量挑出来看,我已经不记得最终我
们进行了多少项测试,不过大概类似的重启模拟超过了20次,我们不断的重复找寻引发这
次问题的原因。
Nick Troop:最早的重制场景工作是一位工程师是利用我们的单人模式建构出来的,他当
时试着在这个模式中复制出九只翱锐龙兽,但这很明显是不太可能的,不过透过工程师的
立场我们却得以利用这种方式在赛场进行一些测试。在之后的赛事中禁用某位英雄直到找
出问题的症结是一回事,但是让Raven陷入做出这项决定的困境就是另一回事了,我们不
希望陷入这种情境当中 ─ 这对观众来说感觉很差,对职业选手也是。
Raven Keene:这件案例中最有趣的事情就是一切犹如雾里看花,那时我们开始使用一些
职业选手的帐号来进行实验,因为我们的测试用帐号无法模拟出我们需要的资讯。这也让
我们开始思考这问题的产生可能和帐号有所关连,因为我们创造的所有东西和变量都是一
致的,唯一不同的是帐号本身。
图片:https://goo.gl/Gsj1VW
洛杉矶 ─ 9月30日 2:00 AM
一支在南加州当地的团队成功的作出了第一个复制场景,并且开始透过逆向工程尝试找出
造成问题的起因。
Brian Bosse:面对这种案例的最优先事项就是要理解当下的情况 ─ 你知道那些资讯以
及你不知道那些资讯?当时我们所拥有的东西就只有一部Bjergsen视角的影片,我们试着
用当地的主机读取客户端来重建场景,然后尽可能的让翱锐龙兽走在原本比赛中所行走的
路径上,但最终还是没能成功模拟出赛场上的情况,干,这还真的不是那么简单。
Amelia Von Haden:我们持续的坐上了数个钟头只为分析了那些程式码,接着我望向我们
的单人模式工具,我便开始骇进这个程式,然后让它得以出现20个无延迟的观查者模式而
不是仅仅一个,我当时一次使用了大量的观查者模式来测试比赛中究竟发生了什么事,当
然一次弄出20个观查者模式让我的电脑开始发出哀号,当时其他人还在尝试重制场景的阶
段呢。
Brian Bosse:大约到了凌晨两点,我们的其中一组复制场景模拟出了相同的问题,但是
发生的情况却和赛场上有些不同,我们其中的一位游戏开发者在同一台电脑上使用了十组
客户端和服务器,最终产生这个bug的机率大概是五十分之一到一百分之一,当时我们能
做的就只是坐在那边等待bug发生,而且这情况只会出现在其中一个星体上。
Amelia Von Haden:我们那时终于做出了一个复制场景,当时我们就像是:“喔,妈的,
我们终于搞定了。我们能够利用这东西做些什么事吗?”当时那个场景还无法连结到我们
除错的工具上,所以大家立刻开始在能够进行编码的主机上使用同样的手法来复制这个场
景,大概尝试了将近20几次吧,我成功的复制出了当下的场景,虽然这次只有两个星体消
失,不过至少我们获得了一些东西,这过程就像是拆弹一样,就在我连上除错系统的当下
,我们就立刻打给Brian了:因为这个程式码是他写的,他很理解这玩意儿,要说有谁能
够抽丝剥茧搞定这问题,一定就是Brian了。
Brian Bosse:这和在赛场上发生的bug并不相同,但是我们能透过这个样本来找出星体发
生了什么事,以及导致星体消失的原因为何,我们在接下来的五个钟头里尝试利用观察者
系统来追溯问题的起因,最终包含在过程中小憩一下的时间,我们大约花费了12个小时,
一直到大约凌晨4点半吧,最后一名成员才离开了办公室,然后早上9点大家又开始陆续回
来。
图片:https://goo.gl/Ex2zKH
洛杉矶 ─ 9月30日 9:30 AM
问题的根源已经被确认了,隔天Riot的员工们也开始涌入办公室开始进行工作。
Luke Rinard:隔天我到了办公室的时候发现翱锐龙兽已经禁用了快一、两天,但是我们
已经有修复的档案了,我很惊讶,这究竟是怎么做到的?Brian当时熬了一整夜,他的桌
子上有着满满的汽水罐,看起来有些憔悴,但是他依旧醒著继续工作,他对于能够解决这
问题感到很兴奋。
Amelia Von Haden:Brian桌上堆满大量的汽水罐看起来很好笑。
Luke Rinard:那张桌上堆满汽水罐的照片马上就在办公室传了开来,老天啊,那可是超
过了一打的汽水罐阿。
Brian Bosse:因为电竞赛事的作业环境和现行游戏中的不同,所以我们一直在猜测是观
察者模式出了问题,电竞赛事使用的是另外一种观察者模式,当这件事情发生后,他们之
后在舞台上利用比尔森的帐号开始进行场景模拟,随着真实的场景出现后,他们便开始找
寻当中的症结点:“哪些时候会出现这问题,哪些时候不会?”随着我们收集到的这些资
讯和针对各式各样问题侦错后所得到的资讯,我们最后终于可以画出一个整起事件从头到
尾的因果轴了。
图片:https://goo.gl/KifBzM
旧金山 ─ 9月30日 10:00 AM
当问题被发现并确定了修复的方式后,电竞团队在世界大赛进行到第四天的时候宣布翱锐
龙兽重返赛场。
Raven Keene:当时我们的第一个念头就是:“感谢上帝”,接着第二个念头就是赞美如
同上帝化身的Brian完成了如此杰出的工作,接下来的问题便是检视这个修正档,这种修
复方式很容易吗?以这个案例来看是的,因为我们可以根据情况来对帐号进行调整,接着
便是要和所有在Riot工作的相关人员沟通这件事,因为这起案例中的bug和帐号、游戏中
的观察者模式以及内部的观察者模式息息相关,所以我们必须花很大的功夫和所有的线上
营运团队沟通这件事,我们必须确定当这问题解决后每支队伍获得了相关的资讯,不过这
也包含我们需要去看看那些曾经一度中断的练习赛,我们必须在这些练习赛因此中断前抢
先解决这问题。
Brian Bosse:当时真的松了一口气,从事件发生到慢慢减缓最终得以渐渐变好,这几乎
是个不可置信的最好结局了。
Luke Rinard:我向有参与到这次事件的大家说了些好话,并且告诉他们这对我来说非常
重要,所有提供帮助的人真的都是太棒了,我和他们说到:“感谢你做了这些事情...”
的时候他们的反应就像是:“没什么啦。”大部分的人会和我说到:“干嘛谢我?不然星
期四的半夜不睡觉要干嘛?当然是去办公室度过几个钟头阿。”
Brian Bosse:我想要强调的是这次事件中没有人是被迫召集的,有很多的工程师、负责
QA的家伙们以及一些产品团队的人员自愿花费他们的时间来做这些事情,没有人是被强迫
的,看到这些人花费可观的时间来修复这个bug真的是很令人惊奇。
Amelia Von Haden:我觉得提供帮助是我的职责所在,当时很晚了,很多人已经回家了,
隔天还有新的比赛要进行,我了解这个问题,我也能帮助他们,我当时就觉得...去帮忙
是一件正确的事,我知道很多队伍都在练翱锐龙兽,每个人都希望看到这位英雄出现在赛
场上,一想到世界大赛可能会看不到翱锐龙兽,那感觉就像是...靠...我才不会让这件事
情发生。
图片:https://goo.gl/Igr2qy
旧金山 ─ 10月2日 8:30 PM
翱锐龙兽在第四天的时候再度可以使用,并且在CLG对上ROX Tigers的比赛中被Huhi所选
下,Huhi在那场比赛中使用他最爱的翱锐龙兽击溃了韩国例行赛冠军ROX Tigers。
Amelia Von Haden:我们觉得那些负责创造英雄的人都会有些类似的感受,当他们看见自
己创造的英雄在场上被使用时,胃里都会上下翻腾,他们会在心中想着这或许会是场很差
的游戏,这英雄可能会出问题...随着这次翱锐龙兽的事件发生后,只要我们看到翱锐龙
兽在场上,就会不约而同的产生同一种感觉 ─ 希望这次别再坏掉了。
Raven Keene:当他(Huhi)再度选择了翱锐龙兽的当下,就有一种“坐稳喽”的感觉开始
浮现,我们一开始的时候都快紧张到停止呼吸了,直到游戏正常进行然后进行了几个play
之后,整个氛围都变了,无论是内部的、外部的、选手的、粉丝的,通通都改变了,这也
改变了翱锐龙兽的整个故事,他从一名被禁用的角色转化为一名真正的毁灭者。
Luke Rinard:在Huhi选了敖瑞龙兽以后,CLG靠着这位英雄击溃了对手,我当时看到这情
况想着:“这角色可能太猛了,他真的有点过强。”但是在世界大赛中看到他如此的强大
且成功,对我来说真的是一种巨大的喜悦,在那场比赛过后,我在星期一上班时再度的向
每一位参与这次抢修的人员致谢,我告诉大家能看见翱锐龙兽在星期天赛场上的表现真的
足够让我高兴上一个月,而他在决赛中关键第三场的现身更是会让我高兴上一整年。
***
世界大赛是英雄联盟中的顶尖赛事,失去一位像翱锐龙兽如此重要的英雄绝对会让选手和
观众们感到失望,Riot的工作人员们在时间的压力下一同完成了抢修作业,以确保这些世
界上最好的选手都能使用他们所喜爱的英雄来争夺召唤师奖杯,如果你对这个bug背后的
技术细节有兴趣,你可以透过Brian Bosse's breakdown of the cause behind it这篇文
章来了解更多来龙去脉。
作者:Riot Costy ─ Riot Costy目前在欧洲的办公室工作,如果你Ban了他的菲欧拉,
你们两个人可能就有些话要聊聊了。
联合作者:Phillip Costigan
作者: turningright (Right)   2017-03-31 19:20:00
篇幅好长( ′_>`)
作者: charlie123qq (王牌小叮噹)   2017-03-31 19:21:00
别队要用突然坏掉 欧美要用赶快修好
作者: speedingriot (纯朴岛民)   2017-03-31 19:40:00
所以问题是乖乖过期忘了换吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com