fahy hgh
25.
03.2017

Jak oživit draka

   Autor: Kr.Pa.   Rubriky: Aktuality, Hlavni, Novinky

O MS 2016 a o tom, jak Aurelion Sol vstal z mrtvých.

Dne 29. září 2016, v první den mistrovství světa 2016, jsme ze hry odstranili Aurelion Sola kvůli závažné chybě v herním systému. Dne 2. října čili ve čtvrtý den MS 2016 se konal slovutný návrat Stvořitele hvězd do Žlebu. Toto je příběh o nesmírně nešťastně načasované chybě a o týmech, kteří usilovně pracovali na jejím odstranění.

 

San Francisco – 29. září, 22:30 (PT)

TSM ze Severní Ameriky a Royal Never Give Up z Číny (RNG) začínají poslední hru prvního dne na mistrovství světa 2016. Už po dvou minutách Bjergsen z TSM pozastavuje hru kvůli tomu, že Xiaohu z RNG má problém s viditelností u svého Aurelion Sola. Hvězdy pasivně obíhající kolem Aureliona zcela zmizely.

LUKE RINARD, designér Aurelion Sola: Jakožto herní návrhář Aurelion Sola jsem se hrozně těšil, až ho na profi scéně uvidím na této úrovni. Profíci si ho vybírali už dřív, ale tohle bylo mistrovství světa! A někdo si ho vybral hned první den! Pak se hra pozastavila a já si řekl: „Ale ne… Vsadím se, že je to kvůli Aurelionovi.“ To dělám často, když jsou ve hře Bard a Aurelion. Říkám si: „Určitě je to kvůli němu!“ a ono většinou není. Ale tentokrát bylo.

BRIAN BOSSE, programový technik: Zrovna jsem doma sledoval stream a viděl jsem, že se hra pozastavila. Pokaždé, když se hra pozastaví, mi poskočí srdce. Modlím se: „Chyba se zvukem… chyba se zvukem… bože, prosím, ať je to chyba se zvukem,“ protože to je často ten případ (a většinou se dá rychle napravit). Ale tentokrát to tak nebylo.

AMELIA VON HADEN, programátorka herního systému: Sledovali jsme soutěž a najednou tam naskočil záznam a my si řekli… „Ale neeeeee!“

RAVEN KEENE, hlavní rozhodčí: Okamžitá reakce na chyby je pokaždé stejná: prostě se snažit nasbírat co možná nejvíc informací. V tomto konkrétním případě se sudí přihlásil s tím, že si Bjergsen stěžuje na to, že nevidí hvězdy Aurelion Sola. Dostali jsme video nahrávku ze scény, na které vidíme výhled na mapu, který má dotyčný hráč. Na svém diváckém klientu jsem žádným problém neviděl, ale když jsme si vytáhli Bjergsenův video soubor, bylo velmi jasné, že tam problém byl.

Klienta jsme restartovali a zpočátku bylo vše v pořádku. Říkali jsme si: „Aha, dobrá, možná k té chybě došlo prostě tak, že se materiály správně nenačetly, takže v tomto případě nebudeme muset nařídit opětovné zahájení zápasu.“ Ale do minuty se problém objevil znovu a v tomto okamžiku už bylo jasné, že restart nám v tomto případě nepomůže. Museli jsme přejít k dalšímu řešení a tehdy byl nabídnut nový zápas.

NICK TROOP, producent živých esportovních přenosů: Dočkat se toho, že bude nějaký šampion na zbytek soutěže vyřazen, což jsme dopředu nevěděli, v určitém ohledu působí jako selhání, ačkoliv některé chyby jsou jedinečné a nečekané – jako ta u Aurelion Sola.

Los Angeles – 29. září, 23:00

Když byl Aurelion Sol vyřazen, okamžitě se začala řešit příčina chyby a její potenciální řešení. Tým Rioterů přispěchal do kanceláře v Los Angeles a začal se problémem zabývat.

BRIAN BOSSE: Byl jsem tehdy na našem interním chatu a kanál se začal hemžit zprávami typu: „Máme problém se střelami Aurelion Sola.“ Na tvorbě tohoto systému jsem se zčásti podílel, takže jsem si řekl: „Dobře, je čas si vyhrnout rukávy. Jdeme na to.“ Jakmile se během druhého pozastavení potvrdilo, že chyba sama od sebe nezmizí, vyrazil jsem do kanceláře a začal se v tom hrabat.

AMELIA VON HADEN: Ihned jsem nahodila chat, abych viděla, o co v případě téhle chyby kráčí. Jelikož jsem programátorka herního systému, znám kód hry dost dobře, takže kdyby to byl nějaký problém s hrou, říkala jsem si, že bych s tím mohla pomoct. Také jsem chvíli byla v týmu pro vytváření šampionů, když byl Aurelion Sol ve vývoji, takže jsem měla jakýs takýs vhled do implementace jeho pasivky. Nakonec jsem skončila v chatovém kanálu MS, kde se tato chyba probírala. Jelikož to bylo něco, s čím bych eventuálně mohla pomoct, řekla jsem si: „No co, pojedu do studia.“

BRIAN BOSSE: Jel jsem do práce a říkal si: „Co se to sakra v tom esportovním prostředí stalo? A je to systematický problém, který zasahuje do všeho?“ V tom okamžiku je možné cokoliv. Je po pracovní době, takže běžná hierarchie neexistuje. Na věc se musí vrhnout každý, kdo je dostupný – já dostupný byl, tak jsem se na to vrhnul.

San Francisco – 30. září, 0:00

Když ten den show skončila, tým esportů v San Franciscu se začal okamžitě pokoušet chybu reprodukovat. Tohle je klíčový krok při řešení problému a hledání nápravy. V tomto okamžiku na této chybě pracují tři týmy napříč celým kontinentem: tým esportů na turnaji v San Franciscu, vývojářský tým v Los Angeles a zvláštní externí tým pro záruku kvality v Montréalu.

RAVEN KEENE: Byli jsme tam celé hodiny a snažili se vyloučit každý možný reprodukční krok, který nás napadl. Prostě jsme se snažili napodobit daný scénář, který jsme viděli na scéně, jak nejlépe jsme dovedli, a pak odstranit všechny proměnné. Nepamatuju si, kolik testů jsme nakonec udělali, ale hru jsme restartovali víc než 20krát, pořád dokola, a snažili se přijít na příčinu toho všeho.

NICK TROOP: K úplně první reprodukci došlo, když jeden technik použil nástroj pro jednoho hráče. Podařilo se mu chybu reprodukovat tak, že měl devět Aurelion Solů v jedné hře, což samozřejmě není možné, ale z technického hlediska s tím dokázal pracovat a my mohli výsledky testovat v nástroji. Zakázat šampiona na zbytek dne, dokud se problém nevyřeší, je jedna věc, ale druhá věc je, když Raven musí čelit rozhodnutí vypnout šampiona po celý zbytek turnaje. Do této pozice se nechceme dostat – je to špatné pro diváky i pro profíky.

RAVEN KEENE: Tento případ byl zajímavý proto, že byl tak nejasný. Začali jsme se na to dívat pomocí účtů profi hráčů, protože na našich testovacích účtech se nám tuto chybu reprodukovat nedařilo. To nám vnuklo nápad, že by možná mohlo jít o problém spojený s účty, protože všechno, co jsme vytvořili, a všechny naše proměnné jsou konstantní a tou jedinou věcí, která se měnila, byl samotný účet.

Los Angeles – 30. září, 2:00

Tým v jižní Kalifornii chybu poprvé úspěšně reprodukoval a začal se zpětně dobírat k její příčině.

BRIAN BOSSE: Ze všeho nejdřív je v takovém případě nutné pochopit fakta – to, co víte a co nevíte. V tomto okamžiku jsme měli video z Bjergsenovy obrazovky a víc nic. Snažili jsme se situaci reprodukovat tak, že jsme načetli klienta na místních počítačích a co možná nejlépe jsme napodobovali to, kam se Aurelion Sol pohyboval, ale chyba se neobjevila. Sakra. To by bylo moc snadné.

AMELIA VON HADEN: Už jsme tam seděli celé hodiny a analyzovali kód a já vzala náš nástroj pro jednoho hráče a hacknula ho, abych mohla mít 20 diváků s nulovou prodlevou místo jednoho. Testovala jsem to, co hra dělala, a měla přitom připojeno několik diváků najednou. Měla jsem tam zapnutých asi 20 diváků a můj počítač supěl, zatímco ostatní se tuto situaci snažili jen reprodukovat.

BRIAN BOSSE: Kolem asi druhé ráno se nám podařilo reprodukovat symptom, ale kvůli jiné příčině. Jeden z našich vývojářů měl puštěných asi 10 klientů a server na tom samém stroji chybu velmi vzácně reprodukoval. Asi v 1 z 50 či 100 případů. Prostě tam seděl a čekal, než se to stane, a stejně se to pak stalo jen u jedné ze střel.

AMELIA VON HADEN: Konečně jsme chybu reprodukovali a říkali si: „NO SAKRA, MÁME TO. MŮŽEME S TÍM NĚCO UDĚLAT?“ K reprodukci došlo na buildu, který jsme nemohli připojit na náš debugger, takže se každý ihned přesunul k počítačům programátorů a začal se pokoušet chybu reprodukovat stejným způsobem. Po asi 20 pokusech se mi to podařilo! Zmizely jen dvě střely, ale aspoň něco. Bylo to jako zneškodňovat bombu. Jakmile jsem připojila debugger, musela jsem zavolat Brianovi: protože on ten kód napsal, znal ho. Jestli by někdo dokázal projít touto věcí krok za krokem a vyřešit ji, pak to byl jedině Brian.

BRIAN BOSSE: Nebylo to ani to samé, co se stalo na scéně. Ale díky tomuhle jednomu případu jsme se dokázali pohrabat v debuggeru a zjistit, v jakém stavu byla ta střela, abychom mohli vytvořit dané příznaky. A to nám stačilo, abychom během těch následujících pár hodin vystopovali skutečnou příčinu díky těm divákům. Zabralo to… 12 hodin, od začátku do konce, včetně malé přestávky na spánek. Poslední člen týmu odešel o půl páté v noci a první se vrátil v devět ráno.

Los Angeles – 30. září, 9:30

Hlavní příčina byla nalezena a Rioteři se začali trousit do kanceláře na další pracovní den.

LUKE RINARD: Další den jsem přišel do práce a zjistil jsem, že Aurelion byl nejspíš na den či dva vypnutý, ale také že máme řešení. Překvapilo mě to, protože to bylo před obědem… Jak je možné, že máme řešení? Brian byl v práci celou noc a jeho stůl byl plný plechovek od limonády. Vypadal dost ztrhaně, ale pořád byl na nohou a pracoval a měl radost, že problém vyřešil.

AMELIA VON HADEN: Brianův hrad z plechovek od limonády byl k popukání.

RAVEN KEENE: Kanceláří kolovala fotka stolu plného plechovek od limonády. Byly jich desítky!

LUKE RINARD: Přišel jsem k Brianově stolu a on zrovna ten problém někomu vysvětloval – dělal takovou tu věc jako všichni programátoři, když gestikulují. Snažili jsme se zjistit, co se stalo, a jeden z techniků vedle něj řekl: „Ty jo, pššt, teď se dostal k něčemu důležitému. Něco ho osvítilo.“

BRIAN BOSSE: Tak nějak jsme tušili, že problém bude v diváckém režimu, protože to je ten základní rozdíl mezi esportovním prostředím a živým prostředím – esporty používají jiný druh diváckého systému. Zatímco se dělo tohle, snažili se reprodukovat chybu na scéně na Bjergsenově účtu a pokoušeli se zúžit možnosti „Kdy se chyba opakuje? Kdy se neopakuje?“ Díky informacím, které jsme získali z tohohle a z debugování reprodukce toho bizarního symptomu, se nám nakonec podařilo načrtnout hrubou čáru mezi začátkem a koncem.

San Francisco – 30. září, 10:00

Když byl problém objeven a řešení identifikováno, tým esportů se rozhodl vložit Aurelion Sola zpátky do hry na čtvrtý den mistrovství světa.

RAVEN KEENE: Naší první reakcí bylo „Díky bohu“ a tou druhou byla chvála boha Bosse za odvedenou práci. Pak byla otázka, jak k té opravě přistoupit. Byla to snadná oprava? V tomto případě byla, protože stačilo příslušným způsobem upravit účty. Pak šlo o to, abychom řešení sdělili každému člověku v Riotu, který mohl mít potenciální dopad na tuto chybu. V tomto případě, jelikož se chyba týkala účtů, to zahrnovalo všechny v diváckém režimu a naše mezinárodní diváky, takže to týmu pro živou produkci dalo hodně práce, než to všem přetlumočili. Museli jsme se ujistit, že soutěžní týmy budou okamžitě vědět, jakmile bude šampion opět dostupný, a v potaz jsme museli brát i rozvrh cvičných zápasů, protože jsme tuto informaci potřebovali dostat ven ještě před odehráním cvičných zápasů.

BRIAN BOSSE: Velká úleva. Přešli jsme od stavu, kdy se mohlo všechno zhroutit, do stavu velmi precizního zmírnění situace – všechno mělo být v pořádku. Mělo to nakonec neuvěřitelně příznivý konec.

LUKE RINARD: Moc jsem chválil úplně každého, o kom jsem dokázal zjistit, že na tom má nějaký podíl, a řekl jim, že je to pro mě velmi důležité. Lidi, kteří nám v tomhle pomohli, byli vážně úžasní. Když jsem jim říkal: „Děkuju, že jste to udělali,“ jejich reakce byla… „Jo, no jasně.“ Skoro jako by říkali: „Za co mi vůbec děkuješ? Samozřejmě že přijdu do práce ve čtvrtek uprostřed noci na několik hodin.“

BRIAN BOSSE: Chci zdůraznit, že jsme kvůli tomuhle nikoho do práce nevolali – pár techniků, hrstka lidí ze záruky kvality a pár lidí z produkce se tomu věnovali dobrovolně. Nikoho jsme nenutili, aby přišel do práce a dělal na tom. Bylo úžasné vidět, že tihle lidi strávili v práci šílený přesčas, jen aby to spravili.

AMELIA VON HADEN: Řekla bych, že pomoct byla moje povinnost. Bylo pozdě, takže většina lidí byla doma a další den se konaly nové zápasy. O problému jsem věděla a moje pomoc se jim mohla hodit. Prostě mi to přišlo… jako správná věc. Bylo to to nejlepší, co jsem mohla udělat pro ten nejlepší zážitek z MS. Vím, že s Aurelionem trénovala spousta týmů a že všichni doufali, že ho uvidí ve hře. To pomyšlení, že bychom měli mistrovství světa bez něj… to prostě sakra ne.

San Francisco – 2. října, 8:30

Na čtvrtý den je Aurelion Sol zpátky ve hře a vybral si ho Huhi z Counter Logic Gaming do zápasu proti ROX Tigers. Huhi se svým oblíbeným šampionem převálcoval favority z Koreje a pomohl CLG k vítězství nad Tigers.

AMELIA VON HADEN: Cítili jsme se tak trochu jako lidi, kteří šampiony dělají; když ho vidí ve hře, vždycky jim tak trochu šimrá v břiše z toho, že ten zápas bude špatný nebo že se něco pokazí… V případě Aurelion Sola, když jsme ho viděli ve hře, měli jsme všichni ten samý pocit a doufali jsme, že tentokrát se nic nepokazí.

RAVEN KEENE: Když si ho opět někdo vybral, byl to takový okamžik, kdy se vám sevřou půlky. Na těch prvních pár minut hry se nám zatajil dech. Když to došlo do okamžiku, že hra krásně plynula a my viděli ty rozehrávky, celá atmosféra se změnila; interně, externě, hráči, fanoušci, všechno. Příběh o Aurelion Solovi, vyřazeném šampionovi, se změnil na příběh o Aurelion Solovi, ničiteli.

LUKE RINARD: Když si ho jeden hráč vybral a CLG s ním pořádně zaválcovali… říkal jsem si: „Možná že je tahle postava příliš silná, možná je až moc silný.“ Když jsem ho viděl na MS, jak je silný a úspěšný, byl to pro mě velmi uspokojivý pocit. Po tom zápase jsem šel v pondělí do práce a ještě jednou všem poděkoval! Procházel jsem kanceláří a všem jsem říkal, jak to byl skvělý pocit, když jsem ho viděl v nedělním zápase. A když jsem ho pak viděl hrát ve třetím zápase ve finále, v tak klíčové hře – měl jsem úsměv na tváři ještě měsíc.


Mistrovství světa je vrcholem mezinárodní soutěže v LoL a přijít o šampiona tak důležitého jako Aurelion Sol na MS by bylo pro hráče i diváky naprosto zdrcující. Rioteři, kteří se stmelili, aby tento problém opravili, pracovali celou noc, aby se ujistili, že ti nejlepší hráči z celého světa budou mít k dispozici všechny šampiony během utkání o Vyvolávačův pohár. Pokud vás zajímají technické detaily o této chybě, podívejte se na článek Briana Bosse o její příčině.



Zanech odpověď.

Musíš se příhlásit pro vložení komentáře.