Technika: Kayn vyráží do Částicového města
Jak nám nová hračka pomohla vytvořit Vraždící stín.

Technika je nový seriál, který zkoumá technologii, jež pohání League of Legends. Pokud se vám tento článek líbí, podívejte se na Programátorský blog Riot Games, kde najdete komplexnější rozbory.
Neměly by kosy sloužit k farmaření? Měly. A k farmení ve spodní lajně.
Jedna z největších výzev při vývoji hry tak velké jako League of Legends, která vydává nový obsah tak často jako League of Legends, spočívá v tom, že musíme provádět velké změny na nástrojích, které slouží k tvorbě hry, aniž bychom něco rozbili. Ahoj, já jsem John „Riot Jengles“ Englund, technický grafik, který pracuje na našich grafických nástrojích, a přišel jsem se s vámi podělit o pohled na to, jak jsme vytvořili zcela nový nástroj pro editaci vizuálních efektů právě včas k tomu, abychom stihli premiéru Kayna, našeho nejnovějšího zabijáka z džungle, který umí procházet zdmi a zmocnit se ostatních šampionů. (Ale ne těch mých! Já hraju za nepohyblivé ADC a ve výběru šampiona budu Kayna vždy nemilosrdně zakazovat.)
TÝM, KTERÝ JE VĚRNÝ SVÉMU NÁZVU
Cílem našeho týmu je vytvářet nástroje a technologie, které Rioterům umožní dodat našim hráčům to nejlepší (tím nejlepším máme na mysli to, co tým určí jako nejlepší v rámci své práce). To děláme tak, že poskytujeme software, který má za úkol zajistit to, že neustávající smyčka vytváření obsahu bude co možná nejefektivnější. Právě proto se náš tým honosí příznačným názvem Efektivita obsahu! Jsme zodpovědní za interní platformu, která se stará o všechna herní data v LoL, jakož i za nástroje pro designéry a grafiky, s jejichž pomocí upravují šampiony, skiny, kouzla a další.
Ke konci minulého roku jsme se rozhodli, že je čas udělat zcela nový nástroj pro úpravu vizuálních efektů. Proč? LoL používá více než 110 000 různých efektů. Je to velká součást toho, co akci ve hře vdechuje život, a hráči nám často říkají, že právě kvůli efektům si šampiony, skiny, předměty, efekty na mapě a další buď oblíbí, nebo ne.
Oproti animovaným postavám se vizuální efekty nevytvářejí pomocí póz, které se skládají jedna do druhé. Efekty se animují procedurálně a hra je simuluje během určitého časového období. Efekty jsou složené z jednoho či více částicových systémů – souborů vysílačů částic, jejichž chování a vzhled určují efektoví grafici pomocí textur, geometrie a mnoha dalších parametrů. Pokud si o umění vizuálních efektů chcete přečíst víc, doporučujeme tento článek, který napsal efektový grafik RiotPhoenix, jenž měl na starosti Kayna a pomáhal nám při vývoji a testování tohoto nového nástroje!
Je jasné, že vysoce kvalitní vizuální efekty jsou nedílnou součástí hry, ale na našem procesu tvorby efektů se už začínal projevovat zub času. Neměli jsme žádné tlačítko „zpět“, kvůli čemuž bylo těžké experimentovat se změnami. Efektoví grafici také museli mít neustále spuštěnou hru, uložit svůj efekt a počkat, než se načte, a to pokaždé, když chtěli vidět výsledek své práce. Vidět efekt naživo nebylo vůbec možné. V neposlední řadě byla kompletní data efektů uložená na našem starém systému souborů, jehož fungování vyžadovalo náročnou ruční správu složek a názvů souborů, přičemž nešlo jednoduše sledovat, které soubory sloužily pro zobrazování efektů ve hře.
TAKŽE KDE JE TO TLAČÍTKO PRO VYLEPŠENÍ?
Vybudovat lepší nástroj pro vizuální efekty nebylo snadné, ale kupodivu to na tom nebylo to nejsložitější. Nasadit tento nový nástroj do produkčního prostředí s agresivními termíny, konvertovat stará data do nového systému a zajistit přechod grafiků jen s minimálními obtížemi – to už bylo o něčem jiném.
Nejdříve jsme se potřebovali postarat o to, aby naši efektoví grafici s tímto nápadem souhlasili, aby se pro něj nadchli a aby se zapojili do procesu vývoje. Bez jejich expertízy bychom ten správný nástroj nevybudovali ani náhodou. Efektoví grafici už byli na možnosti úprav efektů ve stávajícím nástroji zvyklí a byli s tím i spokojení (až na těch pár nedostatků), takže laťka byla nastavená dost vysoko a my museli připravit něco lepšího.
Navíc tam byla tahle úžasná načítací obrazovka:
Ano, ten starý nástroj se jmenoval Syrup, a ano, tohle je snídaňové taco, na kterém stojí komiksové taco.
Jak lze něco takového trumfnout? Na začátku jsme měli spoustu nápadů na to, jak vylepšit stávající rozhraní – fešnější grafika, nové úžasné tabulky a chytrá zjednodušení –, ale ty velké překážky v původním systému se nakonec skoro vůbec netýkaly rozhraní, takže bylo záhodno, abychom do nového systému prostě implementovali většinu funkcí toho starého. I ta nejúžasnější vylepšení softwarového rozhraní stojí dočasné snížení efektivity práce (lidé se například musí nástroj znovu naučit používat), takže jsme se rozhodli pro podobné rozhraní, abychom jim ten přechod usnadnili.
Syrup vs. Particle Town. Povědomé, jen trochu vyčištěné a s novým prohlížečem! Jo, a tlačítkem pro vracení změn!
Velkou část svého technického snažení jsme strávili nad vytvářením hladkého přechodu pro stará data a efektové grafiky. Kromě vybudování podobného rozhraní inspirovaného Syrupem jsme vytvořili nástroje, které grafikům pomohly konvertovat stará data – textury, mřížky a částicové systémy, ze kterých se vizuální efekty skládají – na nový systém. Dokonce jsme to zařídili tak, aby grafici mohli kopírovat data ze starého nástroje a vkládat je do toho nového.
Takže nový nástroj, o kterém věříme, že ho grafici budou moct používat, je skvělý a tak vůbec, ale jak ho máme nasadit a použít na skutečné věci?
VÍTEJTE V ČÁSTICOVÉM MĚSTĚ, PANE KAYNE!
Potřebovali jsme najít pár skvělých efektových dat, které bychom převedli na nový nástroj, jemuž jsme začali říkat „Particle Town“ (Částicové město). Něco výživného a již rozpracovaného, na čem by se mohla vyzkoušet konverze dat, ale zároveň ne už skoro hotového, abychom neohrozili produkční termín.
Takže jsme se pobavili s týmem pro vývoj šampionů a ti pro nás měli to pravé: šampiona se třemi různými podobami a vizuálními efekty dotaženými nad obvyklé hranice.
Na scénu přichází Kayn, Vraždící stín.
Prý máte rádi vizuální efekty přes celou obrazovku.
Tým pro vývoj šampionů se potýká s vlastními termíny a my jim nechtěli zaručit, že to s tímto nástrojem budou mít ihned rychlejší. Vlastně bylo pravděpodobné, že je to kvůli té náročné změně trochu zpomalí! Přestože jsme si věřili, že tento nástroj bude v blízké budoucnosti efektivnější, bylo důležité mít realistická očekávání a výslovně se snažit udělat všechno, co bylo v našich silách, abychom pomohli zajistit, že Kayn vyjde včas.
Takže co jsme udělali? Strávili jsme tři měsíce tvorbou MŽP (minimálně životaschopného produktu) a během této doby se na tvorbu tohoto nástroje soustředil celý náš tým. Strávili jsme spoustu času tím, že jsme chodili za efektovými grafiky, abychom v nich vzbudili důvěru, že pro ně budujeme to pravé. Některé věci jsme nakonec umírnili (jako třeba hezčí grafický editor) – ani ne proto, že by ten design nebyl super, ale proto, že jsme zjistili, že to není hlavní priorita. Věděli jsme, že až vydáme něco jednoduchého, budeme mít čas doladit to později. Další dobrý důvod pro to, začít s nějakým minimem, které lze postavit rychle, je ten, že zpětnou vazbu na nástroj můžete získat velmi rychle. Přímá zpětná vazba od expertních uživatelů je pro budoucí vylepšování nedocenitelná a nám šetří čas, který bychom možná vyplýtvali tvorbou funkcí, které by pak třeba nikdo moc nepoužíval.
Zlověstná záře Kaynovy kosy, přímo z Particle Town.
A konečně, na konci března, jsme nástroj vydali… a začalo to trochu bolestivě! Data byla rozbitá, nástroj se občas zpomalil natolik, že se sotva plazil, nebo dokonce padal. Bylo pro nás důležité mít dobré vztahy s grafiky a zajistit jim okamžitou podporu během přechodu. Dostali jsme kolem 100 stránek zpětné vazby a přes 150 hlášení o chybách a žádostí o další funkce, a to jsme ani nezapočítali skutečnost, že grafiky brzdilo i vyplňování těchto hlášení a žádostí! Pracovali jsme na tom co možná nejrychleji. Během některých dnů jsme vydávali opravy nástroje třeba i 10x za den.
Naštěstí to netrvalo dlouho a nástroj se stabilizoval, takže jsme mohli sledovat plody svého úsilí. Dostávali jsme zpětnou vazbu od grafiků, kterým systém pro vracení změn ušetřil hodiny práce, a jiným se líbilo to, že své změny mohli v novém prohlížeči a ve hře vidět okamžitě. Nejlepší bylo, když grafici objevili pár věcí, díky kterým se jim Kayn vytvářel rychleji než na našem starém nástroji!
Přesun cíle Kaynova R nalevo kvůli testu směrových prvků; kompletní schopnost napravo.
Jedním příkladem za všechny je Kaynova ultimátka. Tu lze seslat v libovolném směru, což znamená, že jsme museli testovat vizuální kvalitu v každém směru. Dříve museli grafici načíst hru, vybrat cíl, seslat na něj R, přesunout cíl, seslat znovu – a to celé opakovat, dokud to neviděli ze všech úhlů. Nyní díky náhledovému oknu stačilo přesouvat cíl kolem a sledovat ultimátku ve všech směrech.
Q je dost ničivé i bez krve.
Dalším zajímavým příkladem je zásahový efekt Kaynova Q. Museli jsme vydat dvě verze – jednu s krví a druhou bez krve – kvůli různým požadavkům z různých regionů. Normálně by efektoví grafici museli načíst hru, aby se na efekt podívali; nyní prostě stačilo v náhledovém oknu zapnout „režim cenzury“.
JIŽ BRZY V ČÁSTICOVÉM MĚSTĚ VE VAŠEM OKOLÍ
„Neee! Ne ne ne.” – Jhin
Takže co jsme se dozvěděli? Vydat takto komplexní nástroj uprostřed náročného produkčního rozvrhu je velmi ošemetné. Ale to už jsme věděli. Dozvěděli jsme se, že se v tom zlepšujeme. V minulosti to bylo mnohem větší úskalí. Tohle bylo skvělé díky tomu, že jsme na cestu přizvali všechny, kterých se to týkalo (grafiky, vývojáře, producenty…). Nejspíš jsme strávili stejné množství času komunikací, nastavováním očekávání a učením se od svých kolegů jako samotným budováním nástroje. Celý tento proces, přestože ještě není u konce, nám snad dodá sebedůvěru, abychom mohli směle měnit naše postupy pro tvorbu grafiky a i nadále vám přinášeli ten nejlepší možný obsah.
Také nejspíš v budoucnosti budete moct používat vizuální efekty trochu svobodněji, pokud se nám podaří zajistit, aby jejich tvorba byla snazší! Co myslíte, kde bychom měli na zářivějších efektech přitlačit?









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