League of Legends r.

/tech: Kayn wyrusza do Particle Town

/tech to nowa seria Nexusa prezentująca technologię, którą wykorzystuje League of Legends. Jeśli podoba wam się ta historia, zajrzyjcie na blog inżynierii Riot Games, gdzie znajdziecie jeszcze bardziej szczegółowe omówienia.

Czy kosy nie są przeznaczone dla farmerów? Owszem. Dla farmerów dolnej alei.

Jednym z największych wyzwań związanych z rozwijaniem gry tak dużej jak League of Legends, która publikuje zawartość tak często jak League of Legends, jest wprowadzanie poważnych zmian do narzędzi, których używamy do budowania gry, nie psując przy tym niczego. Cześć, nazywam się John „Riot Jengles” Englund i jestem grafikiem technicznym pracującym nad narzędziami graficznymi. Chcę opowiedzieć o całkiem nowym narzędziu do edycji efektów wizualnych, które dostarczyliśmy tuż przed publikacją Kayna, naszego najnowszego zabójcy z dżungli, który potrafi przechodzić przez ściany i opętywać innych bohaterów. (Ale nie moich! Gram niemobilnymi prowadzącymi i podczas wyboru bohaterów będę restrykcyjnie trzymać się zasady: „zawsze banuj Kayna”).

ZESPÓŁ WIERNY SWOJEJ NAZWIE

Misją naszego zespołu jest tworzenie narzędzi i technologii, które umożliwiają innym pracownikom Riot dostarczanie tego, co najlepsze dla graczy (przez „najlepsze” rozumiemy to, co zespół uzna za najlepsze w kontekście swojej pracy). Realizujemy ją, dostarczając oprogramowanie, którego celem jest sprawienie, by cykle iteracyjne tworzenia zawartości były możliwie jak najwydajniejsze. Stąd nazwa naszego działu: zespół ds. wydajności zawartości! Jesteśmy odpowiedzialni za naszą wewnętrzną platformę, która zarządza wszystkimi danymi gry League of Legends, a także narzędziami służącymi projektantom i grafikom do edytowania właściwości bohaterów, skórek, czarów i tak dalej.

Pod koniec zeszłego roku stwierdziliśmy, że czas dostarczyć całkiem nowe narzędzie do edycji efektów wizualnych. Dlaczego? League wykorzystuje ponad 110 000 różnych efektów wizualnych. To wielka część tego, co ożywia akcję gry, a gracze często nam mówią, jak efekty wizualne zwiększają lub zmniejszają ich zainteresowanie bohaterami, skórkami, przedmiotami, efektami mapy i innymi.

Unlike animated characters, VFX are not created by crafting poses that blend into each other. VFX are animated procedurally, and simulated by the game over a period of time. Effects are composed of one or many particle systems -- collections of emitters of particles, whose behavior and appearance are defined by the VFX artist through textures, geometry, and many controls.

W odróżnieniu od animowanych bohaterów efekty wizualne nie są tworzone przez przygotowanie póz, które przechodzą jedna w drugą. Efekty wizualne są animowane proceduralnie i symulowane przez grę przez określony czas. Efekty składają się z jednego lub wielu systemów cząsteczkowych — zbioru emiterów cząsteczek, których zachowanie i wygląd definiuje grafik efektów wizualnych za pomocą tekstur, kształtów i rozlicznych parametrów. Jeśli chcecie dowiedzieć się więcej na temat sztuki tworzenia efektów wizualnych, zajrzyjcie do tego artykułu autorstwa RiotPhoenixa, grafika efektów wizualnych Kayna, który pomagał nam opracowywać i testować nowe narzędzie!

Jak wiecie, efekty wizualne wysokiej jakości stanowią integralną część gry, ale nasza procedura tworzenia tych efektów zaczynała się starzeć. Brakowało przycisku „cofnij”, przez co eksperymentowanie ze zmianami było dość trudne. Ponadto za każdym razem, gdy graficy efektów wizualnych chcieli zobaczyć wyniki swojej pracy, musieli uruchamiać grę, zapisywać nowe efekty i czekać na ich ponowne wczytanie. W żaden sposób nie można było oglądać tego na żywo. I na koniec, wszystkie dane efektów wizualnych były przechowywane w naszym starym systemie danych, co wymagało mnóstwa ręcznego zarządzania katalogami i nazwami plików dla zapewnienia ich prawidłowego działania. Nie istniał łatwy sposób śledzenia, które pliki są wykorzystywane przez dany efekt w grze.

NO TO GDZIE JEST PRZYCISK AKTUALIZACJI?

Skonstruowanie lepszego narzędzia efektów wizualnych nie było łatwe, ale co zaskakujące nie było też najbardziej skomplikowaną częścią procesu. Wprowadzenie nowego narzędzia do otoczenia produkcyjnego z napiętymi terminami, przekonwertowanie starych danych na nowy system i zapewnienie, by graficy mogli zmienić narzędzie możliwie bezproblemowo — to była całkiem inna historia.

Najpierw musieliśmy upewnić się, że nasi graficy efektów wizualnych popierają ten pomysł, cieszą się, że jest realizowany, i są zaangażowani w proces jego rozwoju. W żaden sposób nie moglibyśmy zbudować czegoś porządnego bez ich wiedzy i doświadczenia. Graficy efektów wizualnych byli już przyzwyczajeni do korzystania i zadowoleni z możliwości edycyjnych swojego dotychczasowego narzędzia do efektów (pomimo pewnych jego niedociągnięć), dlatego poprzeczka musiała zostać umieszczona dość wysoko, jeśli mieliśmy dać im coś lepszego.

Oprócz tego stare narzędzie miało ten smakowity ekran wczytywania:

Tak, stare narzędzie nazywało się Syrup i owszem, to jest śniadaniowe taco, na którym stoi kreskówkowe taco.

Jak można przebić coś takiego? Zaczęliśmy od mnóstwa pomysłów na ulepszenie istniejącego interfejsu — fajniejsze wykresy, nowe, wypasione tabelki i sprytne uproszczenia — ale koniec końców najwęższe gardła starego procesu pracy miały niewiele wspólnego z samym interfejsem, co skłoniło nas, by po prostu wprowadzić do naszego nowego systemu większość funkcji starego narzędzia. Nawet najlepsze poprawki w interfejsie oprogramowania łączą się z tymczasowym spadkiem wydajności (choćby dlatego, że ludzie muszą na nowo uczyć się narzędzia), więc zdecydowaliśmy się wykorzystać znajomy interfejs, aby ułatwić to przejście.

Syrup kontra Particle Town. Znajome, tylko nieco uporządkowane i z nowym podglądem! Aha, i jeszcze opcja „cofnij”!

Nasze programistyczne wysiłki w sporej części dotyczyły zapewnienia użytkownikom bezproblemowego przejścia ze starych danych na nowe. Oprócz skonstruowania znajomo wyglądającego interfejsu inspirowanego przez Syrup, stworzyliśmy narzędzia pomagające grafikom konwertować stare dane — tekstury, siatki i systemy cząsteczek, z których składają się efekty wizualne — na nowy system. Umożliwiliśmy nawet kopiowanie danych ze starego narzędzia i wklejanie ich do nowego.

Mamy zatem nowe narzędzie i jesteśmy przekonani, że graficy będą mogli go z powodzeniem używać. Jak jednak je wprowadzić i zacząć wykorzystać w praktyce?

WITAJ W PARTICLE TOWN, PANIE KAYN!

Musieliśmy znaleźć jakieś atrakcyjne dane efektów wizualnych nadające się do wprowadzenia do nowego narzędzia, które nazwaliśmy „Particle Town”. To musiało być coś konkretnego, nad czym już rozpoczęto prace — abyśmy mogli przetestować konwertowanie danych — ale nie mogło to być nic na zbyt zaawansowanym etapie, ponieważ nie chcieliśmy zagrozić planowanym terminowi zakończenia produkcji.

Zwróciliśmy się więc do zespołu ds. bohaterów, który miał coś idealnego: bohatera dysponującego trzema różnymi postaciami i efektami wizualnymi podkręconymi w kosmos.

Na scenę wchodzi Kayn, Żniwiarz Cienia.

I heard you like full screen VFX

Podobno lubicie pełnoekranowe efekty wizualne?

Zespół ds. bohaterów musi pilnować własnych terminów, a my nie mogliśmy zagwarantować, że to narzędzie od razu przyśpieszy jego pracę. Prawdę mówiąc, mogło ją nawet nieco spowolnić ze względu na utrudnienia związane z wprowadzaniem zmiany! Chociaż byliśmy przekonani, że to narzędzie zapewni większą wydajność w najbliżej przyszłości, należało ustalić realistyczne oczekiwania i z pełnym poświęceniem robić wszystko, co możliwe, by Kayn został opublikowany na czas.

Co zatem zrobiliśmy? Poświęciliśmy trzy miesiące na skonstruowanie narzędzia o kluczowej funkcjonalności. W tym czasie na budowie tego narzędzia skupiał się cały nasz zespół. Mnóstwo czasu przeznaczyliśmy na zbieranie opinii grafików efektów wizualnych, ale dzięki temu nabraliśmy przekonania, że budujemy coś dobrego. Pewne propozycje zostały ograniczone (na przykład fantazyjny edytor wykresów), nie dlatego, że nie były fajne, ale dlatego, że inne rzeczy miały wyższy priorytet. Wiedzieliśmy, że po wypuszczeniu narzędzia w prostej formie będziemy mieć czas na szlifowanie szczegółów. Kolejnym dobrym powodem, by zacząć od czegoś uproszczonego, co można szybko zbudować, jest możliwość szybkiego przejścia do zbierania opinii na temat tego, co się stworzyło Bezpośrednie komentarze od ekspertów są bezcenne dla przyszłych ulepszeń i pozwoliły zaoszczędzić czas przeznaczony na budowanie funkcji, które nie byłyby zbyt często używane.


The ominous glow of Kayn’s scythe, live from Particle Town

 

 

 

 

 

Złowieszcze lśnienie kosy Kayna, na żywo z Particle Town

Nareszcie pod koniec marca wypuściliśmy to… Start był dość bolesny! Wychodzące dane były uszkodzone, narzędzie czasami zwalniało prawie do zera, a nawet zawieszało się. Kluczowe znaczenie miało to, że podczas tego przejścia utrzymywaliśmy dobre relacje z grafikami, którzy zapewniali nam wsparcie na bieżąco. Dostaliśmy około 100 stron komentarzy i ponad 150 zgłoszeń błędów i wniosków dotyczących funkcji, a nawet nie wzięliśmy pod uwagę faktu, że wypełnianie tych wniosków także spowalniało grafików! Działaliśmy tak szybko, jak tylko byliśmy w stanie; bywało, że wypuszczaliśmy poprawki narzędzia nawet ponad 10 razy dziennie.

Na szczęście po krótkim czasie wszystko zaczęło się stabilizować i mogliśmy zaobserwować owoce naszej pracy. Dostawaliśmy komentarze od grafików, którzy dzięki funkcji „cofnij” oszczędzali godziny pracy, natomiast inni byli zachwyceni faktem, że mogli natychmiast zobaczyć wprowadzane zmiany w nowym oknie podglądu i w grze. Najbardziej ekscytujące było to, że artyści odkryli kilka rzeczy, za pomocą których Kayn powstawał szybciej, niż byłoby to możliwe przy korzystaniu ze starego narzędzia!

Moving the target of Kayn’s R on the left to test directional elements; full ability on the right

 

 

 

 

 

 

Po lewej przesuwanie celu „R” Kayna podczas testowania elementów kierunkowych; po prawej pełna umiejętność

Jednym z przykładów jest superumiejętność Kayna. Może być rzucana w dowolnym kierunku, co oznaczało, że dla zapewnienia jakości wizualnej musiała zostać przetestowana pod każdym kątem. Pracując tak, jak do tej pory, graficy musieliby wczytać grę, wybrać cel, użyć „R”, przesunąć cel, rzucić czar ponownie i powtarzać to, aż obejrzą umiejętność pod każdym kątem. Teraz, dzięki oknu podglądu, mogli po prostu przesuwać cel w dowolnym kierunku i obserwować jego zachowanie na żywo.

The Q is still devastating without the blood

„Q” wciąż jest porażające, nawet bez krwi

Kolejnym ciekawym przykładem jest efekt trafienia „Q” Kayna. Z powodu różnych wymagań prawnych w poszczególnych regionach musieliśmy opublikować dwie wersje, jedną z krwią i drugą bez niej. Normalnie grafik efektów wizualnych musiałby wczytać grę, aby obejrzeć efekt; teraz wystarczyło po prostu przełączyć „tryb cenzury” w oknie podglądu.

JUŻ WKRÓTCE W NAJBLIŻSZYM PARTICLE TOWN

“Nooooope. Nope nope nope.” - Jhin

— Nieee. Nie, nie, nie. — Jhin

Czego się dowiedzieliśmy? Wypuszczenie tak skomplikowanego narzędzia w środku napiętego grafiku produkcji jest bardzo trudne. Ale to wiedzieliśmy już wcześniej. Przekonaliśmy się natomiast, że stajemy się w tym coraz lepsi. W przeszłości zaliczyliśmy znacznie bardziej wyboiste publikacje. Ta poszła świetnie, ponieważ zabraliśmy na tę podróż wraz z nami wszystkich, których to dotyczyło (grafików, projektantów, producentów). Zapewne spędziliśmy równie wiele czasu na komunikowaniu się, ustalaniu oczekiwań i słuchaniu opinii naszych kolegów, jak na faktycznym budowaniu narzędzia. Mamy nadzieję, że cały ten proces, chociaż nie jest jeszcze zakończony, pozwoli nam wprowadzać śmiałe zmiany w procedurze pracy nad grafiką, abyśmy mogli nadal dostarczać wam wszystkim możliwie jak najlepszą zawartość.

Być może, jeśli sprawimy, że tworzenie efektów wizualnych stanie się jeszcze łatwiejsze, będziemy mogli w przyszłości stosować ich więcej! Co o tym myślicie? Gdzie powinniśmy wrzucić więcej efektownych efektów wizualnych?