Technologia Killzone: Shadow Fall
Digital Foundry z wizytą w studiu Guerrilla Games - zagłębiamy się w nową generację.
To była pokusa, której nie mogliśmy się oprzeć. Tuż przed premierą Killzone: Shadow Fall, Guerrilla Games zaprosiło nas do swojego studia w Amsterdamie, gdzie mieliśmy okazję porozmawiać z najważniejszymi osobami zaangażowanymi w projektowanie gry i opracowywanie jej strony technicznej.
Nie znając tajników projektowania gier, my, dziennikarze, niemal zawsze jesteśmy obcymi w tym świecie. Dysponując tak niesłychanie szerokim dostępem do informacji, po prostu musieliśmy napisać artykuł odmienny od innych. W trakcie naszej wizyty szybko zorientowaliśmy się, że w nowej generacji nie chodzi tylko o lepszą grafikę i dźwięk, ale o możliwości, jakie dodatkowa moc obliczeniowa daje deweloperom, mogącym teraz dać upust swojej kreatywności.
Kluczowe znaczenie ma tutaj proceduralne generowanie zasobów - na czym najwięcej korzystają animacja i dźwięk. Wraz z Killzone: Shadow Fall radykalnej zmianie ulega sposób, w jaki traktowano oba te elementy; zamiast tworzyć szyty na miarę kod, kierując się przy tym wskazówkami zespołu kreatywnego, stworzono system niskiego poziomu, dzięki któremu projektanci zyskują dostęp do surowej materii gry. Stworzone przez nich modele są przekładane przez procesory x86 na proceduralnie generowany kod.
- Przy Killzone: Shadow Fall staraliśmy się oszczędzić wysiłku programiście dźwięku i wprowadzić system, gdzie inżynier dźwięku, który wpadnie na jakiś nowy pomysł, sam będzie mógł go zrealizować - mówi nam starszy programista technologii Andreas Varga.
- Wcześniej wyglądało to tak, że inżynierowie dźwięku przygotowywali pliki w formacie wave, a programista ładował je do gry, pilnując, by wszystko ładnie ze sobą współgrało. Ten model pracy ustępuje miejsca nowemu - dysponujemy narzędziami, które umożliwiają programowanie dźwięku na niskim poziomie.
Ogólnie rzecz biorąc, zamiast opracowywać specjalny kod oparty na pomyśle, który może - ale nie musi - zadziałać, programiści tworzą teraz narzędzia dla projektantów. To właśnie dzięki wprowadzeniu takiego przepływu pracy Killzone: Shadow Fall może poszczycić się wspaniałym udźwiękowieniem. Idealnym przykładem jest sytuacja, gdy dźwięk strzałów oddawanych przez bohatera zmieni się w zależności od otoczenia - czyli tak samo, jak w rzeczywistości.
„W grze na każdym kroku stykasz się z różnymi rodzajami obiektów - to mogą być ściany, skały, przedmioty - których geometria wiąże je z określonym rodzajem materiału... Po wystrzale z broni gra oblicza rozchodzenie się fali dźwiękowej w zależności od rodzaju powierzchni, z którymi ta się styka.”
- W grze na każdym kroku stykasz się z różnymi rodzajami obiektów - to mogą być ściany, skały, przedmioty - których geometria wiąże je z określonym rodzajem materiału - wyjaśnia główny projektant dźwięku Lewis James. - W prawdziwym świecie odgłos wystrzału jest efektem ubocznym procesu, który zachodzi wewnątrz broni. I zazwyczaj twórców gier interesuje tylko to - odgłos wystrzału.
- Ale jednocześnie zachodzi kilka procesów - jeśli fala ciśnienia opuszczająca broń jest wystarczająco silna, to wchodzi w interakcję z powierzchniami, z którymi się styka. I my to oddajemy. Nazwaliśmy nasz system MADDER - Material Dependent Early Reflections. Po wystrzale z broni gra oblicza rozchodzenie się fali dźwiękowej w zależności od rodzaju powierzchni, z którymi ta się styka. To definiuje nasz dźwięk. Zależało nam, by gracz nie miał wrażenia iluzorycznego odbicia dźwięku - ponieważ odbicia są liczone w czasie rzeczywistym w zależności od pobliskich powierzchni.
MADDER świetnie ilustruje nowy rodzaj współpracy między projektantami a programistami, gdzie dostęp niskiego poziomu otwiera drzwi prawdziwej kreatywności.
- W pierwszym prototypie MADDER'a zaimplementowaliśmy tylko jeden ray-cast, tak że dźwięk odbijał się jedynie od najbliższej ściany, odpowiednio do kąta, pod jakim się wznosi i materiału, z którego ją wykonano. Wypróbowaliśmy to rozwiązanie i okazało się, że brzmi fantastycznie, że w żadnej innej grze nie można usłyszeć czegoś podobnego. Ale potrzebowaliśmy tego rozwiązania dla wszystkich powierzchni - wspomina starszy projektant dźwięku Anton Woldhek.
- Andreas potrzebuje pół godziny, żeby ująć wariacje rozłożenia powierzchni. Ja mam znacznie więcej pracy, ponieważ muszę dopilnować, by dźwięk z nimi współpracował i efekt miał sens. Dzięki temu zyskujemy swobodę twórczą i możemy wypróbować nowe pomysły, do których wcześniej byliśmy zmuszeni przekonywać programistów, tłumacząc, że eksperyment wart jest wysiłku. Było jeszcze trudniej, jeśli sami nie mieliśmy tej pewności, bo ich czas był bardzo cenny.
„Programista powinien zadbać o to, by projektant nie musiał się z nim konsultować. Nie chodzi o to, że nie lubimy projektantów, ale jeśli programista jest na fali, to jego czas realizacji zadania ulega znacznemu obniżeniu w stosunku do innych osób.”
Zasadniczo chodzi o to, że wszystko, wszystko, co wychodzi spod ręki projektantów animacji, jest przetwarzane przez system niskiego poziomu i trafia do gry w postaci kodu. To zasługa CPU PlayStation 4. Do proceduralnie generowanych zasobów zaliczają się również animacje, a na tym polu Killzone: Shadow Fall jest tytułem prawdziwie rewolucyjnym, choć rewolucja rozgrywa się raczej za kulisami produkcji. Właśnie dzięki proceduralnemu przepływowi pracy w grze widzimy znacznie bardziej zróżnicowane modele postaci i animacji ich ruchów.
- Punktem wyjścia jest szkielet podstawowy, na który następnie nakładamy szkielet proceduralny. Później dochodzi coś, co nazywamy w skrócie „PD” - positional-based dynamics. Takiego modelu obecnie się trzymamy - wyjaśnia starszy artysta technologii, Daniele Antinolfi.
- Wyobraź sobie, że te kości proceduralne są jakby zbroją. Wszystkie postaci mają wspólne „olinowanie”, którą dodatkowo wzbogacamy o zbroję z różnych połączeń, by uzyskać bardziej satysfakcjonujący efekt. Właśnie ta proceduralna zbroja ma uczynić poszczególne postaci bardziej wiarygodnymi, „treściwymi”. A ich nałożenie to banał.
Naturalny i wiarygodny
Ogólnie rzecz biorąc, istnieje podstawowy zestaw animacji, który nastręcza deweloperom nie lada kłopotów, jeśli chcą go zmodyfikować pod kątem wprowadzenia drobnych zmian u jednej postaci. Kiedyś nowe animacje lądowały w koszu, ponieważ wzbogacanie i modyfikacja szkieletu podstawowego wymagało za dużo wysiłku. W systemie proceduralnego przepływu pracy wszystkie postaci w grze noszą dodatkową warstwę kodu, nakładaną na szkielet, unikalną „zbroję”. I, jak już wspominaliśmy, jest to kod przetwarzany w czasie rzeczywistym przez rdzenie x86. Na dodatek position-based dynamics pozwala na zaimplementowanie realistycznej symulacji ubrania i innych elementów, w realistyczny sposób reagujących na oddziałujące na nie siły.
Michiel van der Leeuw wyjaśnił nam, na czym polega problem i jak funkcjonuje ich system:
- Na postać przypada 2500 animacji. Opracowanie osobnych animacji dla jednej postaci jest po prostu niepraktyczne. Do podstawowego szkieletu musielibyśmy dołączyć nowe kości i reeksportować cały zestaw animacji - wyjaśnia.
- I trzeba by to zrobić w weekend, gdy nikt nie pracuje. Jeśli rozbijesz zestaw animacji wykorzystywanych w całej grze, to i gra się rozsypie. Niektórych pomysłów nie eksportowaliśmy dobre pół roku, bo gra nieustannie się rozrastała. Prowadziliśmy wręcz absurdalnie złożone dyskusje o tworzeniu ciężkozbrojnej postaci z pojemnikiem na plecach, ale to kosztowałoby nas dodanie dwóch połączeń. Często bywało tak, że wyrzucaliśmy projekt do kosza i zaczynaliśmy nowy, bo „na tym etapie gry nie możemy eksportować animacji”.
- Teraz, gdy szkielet logiczny pozbawiony jest zbędnych elementów, możemy go wzbogacać o imponujące dodatki. Nie chodzi tylko o to, że ich świetny wygląd, ale też o fakt, że znacznie częściej możemy powiedzieć „tak” nowemu designowi; zmodyfikować postać, by przybrała na ciele, nieco urosła albo założyła specjalną zbroję.
„Wiele z tych rzeczy nie rzuca się w oczy, ale dodają postaciom wiarygodności - a właśnie do tego dążyliśmy. W mojej profesji, gdzie pracuje się nad postaciami, najważniejsze jest, żeby uczynić je wiarygodnymi.”
To kolejny przykład tego, jak moc zaklęta w konsoli nowej generacji otwiera przed deweloperami nowe ścieżki, pozwalając na stworzenie bardziej naturalnej i wiarygodnej gry.
- Wiele osób tego nie dostrzega. A to dlatego, że deweloper często ma ograniczone pole manewru - samo zarzucenie postaci płaszcza na barki może być nie lada problemem. I dlatego w grach nie widywaliśmy takich modyfikacji - kontynuuje van der Leeuw.
- Wszystkie postacie są takie same - masz dwóch żołnierzy, gdzie jeden tylko nieznacznie różni się od drugiego. Teraz znosimy te ograniczenia. Nie chodzi o to, że koleś w płaszczu reprezentuje nową generację, ale... że możemy umieścić w grze jego, gościa w masce gazowej i jeszcze jednego z baniakiem na plecach. Bo czas nam na to pozwala.
- System świetnie się sprawuje - dodaje młodszy artysta technologii Perry Leijten. - Początkowo nie bardzo wiedzieliśmy, na ile możemy sobie pozwolić przy implementacji position-based dynamics, więc szliśmy na całość, włączając w to suwaki ubrań. Z czasem nauczyliśmy się, że takie zastosowanie nie przyniesie większych efektów, więc wycięliśmy PD, reeksportowaliśmy to, co zostało i teraz w ogóle nie jest liczone.
- Wiele z tych rzeczy nie rzuca się w oczy, ale dodają postaciom wiarygodności - podsumowuje Daniele Antinolfi. - A właśnie do tego dążyliśmy. W mojej profesji, gdzie pracuje się nad postaciami, najważniejsze jest, żeby uczynić je wiarygodnymi.
Pionierskie poczynania Guerrilla Games na polu nowych technologii imponują tym bardziej, że Killzone: Shadow Fall opracowywano na pecetach w czasie, gdy ostateczny kształt PS4 nie był jeszcze znany (silnik Killzone ma również swoją wersję pecetową - jednak gdy prace na PS4 nabrały tempa, ta wersja stopniowo poszła w odstawkę). Biorąc jeszcze pod uwagę fakt, że Guerrilla Games przypadło stresujące zadanie przygotowania tytułu startowego konsoli, trzeba przyznać, że studio dokonało odważnego wyboru, decydując się na wyrwanie kluczowych systemów z tkanki gry i zbudowanie ich od nowa. Ale wysiłek się opłacił.
„Włączenie się do takiego modelu przepływu pracy miało sens... zyskujemy na tym samym, co wszyscy pozostali, a to pozwala na jeszcze silniejszą integrację z zespołu.”
- Włączenie się do takiego modelu przepływu pracy miało sens - wyjaśnia dźwiękowiec Anton Woldhek. - Inżynierowie dźwięku zajmują centralną pozycję w studiu, co pozwala na łatwą komunikację z pozostałymi działami. Gdy korzystamy z tych narzędzi, włączamy się do przepływu pracy i zyskujemy na tym samym, co wszyscy pozostali, a to pozwala na jeszcze silniejszą integrację zespołu.
Michiel van der Leeuw zwięźle podsumowuje nową politykę studia:
Programista powinien zadbać o to, by projektant nie musiał się z nim konsultować. Nie chodzi o to, że nie lubimy projektantów, ale jeśli programista jest na fali, to jego czas wykonania zadania ulega znacznemu obniżeniu w stosunku do innych osób.
- Artysta shaderów szybciej coś namaluje, a projektant dźwięku szybciej opracuje dźwięk, niż programista skompiluje silnik, odpali grę i przyjrzy się efektom. Gdy programista włącza się w czyjąś pracę, ta wyhamowuje. Ale jeśli uda się stworzyć niemalże czysto mechaniczny system, dając części osób większe możliwości, to będziemy mogli wyłączyć programistę z procesu twórczego, a artysta urzeczywistni swoją wizję bez jego udziału.
Wyzwania fizycznego modelu renderowania
Przejdziemy teraz od technik „niedostrzegalnych” do tych mocno rzucających się w oczy. Choć przepływ pracy za kulisami uległ diametralnej zmianie, tak naprawdę pierwsze, co zauważamy już po kilku chwilach spędzonych z kampanią Killzone: Shadow Fall, to piękno tej produkcji. Kluczowe znaczenie mają tutaj dwa elementy, dzięki którym gra wygląda tak wyjątkowo - pomijając większą liczbę wielokątów na ekranie, czego zwykle oczekujemy od tytułów nowej generacji. Materiały i oświetlenie prezentują niespotykany poziom, ściśle ze sobą współgrając, by dostarczyć wrażeń, których doświadczymy również w kolejnych tytułach nowej generacji.
Oświetlenie jest w dużej mierze zależne od rodzaju materiałów, jakie wykorzystano w otoczeniu. „Chropowatość” obiektu, która dostarcza danych systemowi dźwiękowemu MADDER, pomaga też zdefiniować, w połączeniu z innymi informacjami, w jaki sposób światło odbije się od poszczególnych materiałów. By je stworzyć, artyści musieli mocno przebudować swój model pracy.
- W czasach pierwszego Dooma cień wklejało się w teksturę. W kolejnej generacji twórcy musieli się tego oduczyć i stworzyć dwie osobne mapy: normalną i albedo - wspomina Michiel van der Leeuw.
- Dzisiaj wszyscy musimy się uczyć, jak zaimplementować tę chropowatość, albedo [refleksy zależne od materiału] czy guzki i jak intensywne powinno być światło kierowane. Musisz widzieć umieć spojrzeć na materiał w jego pierwotnej postaci. Pozbyć się przekonań i przełączyć umysł w tryb analityczny. Ludzie potrzebowali trochę czasu, żeby przestawić się na nowy sposób myślenia.
„Na PlayStation 3 mogliśmy użyć maksymalnie 7000-8000 bloków, a na PS4 wykorzystujemy 26000. Kiedyś opieraliśmy się na dwustopniowym LOD [level of detail - poziom szczegółów], który teraz jest siedmiostopniowy.”
Każdy obiekt trzeba było stworzyć tak, by współpracował z z systemem oświetlenia bazującym na rodzaju materiału - a biorąc pod uwagę skalę gry, nie była to bułka z masłem. Poziomy w Killzone: Shadow Fall są znacznie większe niż w poprzednich odsłonach serii. Guerrilla podzieliła je na kilka oddzielnych scen, umożliwiając tym samym równoległą pracę kilku projektantom otoczenia.
- W danej scenie - czy też, jak my to nazywamy, „sekcji” - na PlayStation 3 mogliśmy użyć maksymalnie 7000-8000 bloków, a na PS4 wykorzystujemy 26000. Kiedyś opieraliśmy się na dwustopniowym LOD [level of detail - poziom szczegółów; obiekt zyskuje na szczegółowości w miarę zbliżania się do niego], który teraz jest siedmiostopniowy - wyjaśnia główny artysta otoczenia, Kim van Heest.
- Upiększanie poziomów stało się łatwiejsze. Możemy skupić się na upchnięciu w grze maksymalnej liczby wielokątów... Jeśli przyjrzeć się ilości projektów artystycznych, które wykonano na potrzeby gry, to jest ich jakieś cztery razy więcej, niż w Killzone 3. Wszystkie te wizje możemy powołać do życia - ale musimy też pamięć o oświetleniu.
Gdy materiał jest gotowy, trzeba się zastanowić, jak wszystkie te elementy wpłyną na oświetlenie i w jaki sposób zmodyfikuje ono wygląd otoczenia. W Killzone: Shadow Fall wykorzystano system w dużej mierze oparty na realistycznym oświetleniu liczonym w czasie rzeczywistym, wspieranym dodatkowo przez przygotowane uprzednio wersje zapasowe. Takie połączenie dało zdumiewające rezultaty.
- Kluczowym znaczenie dla gry ma dynamiczne oświetlenie liczone w czasie rzeczywistym, z dodatkiem opracowanego zawczasu oświetlenia dla obiektów statycznych i dynamicznych oraz systemu refleksów świetlnych - wyjaśnia starszy artysta oświetlenia, Julian Fries. - W grze mamy odbicia opracowane wcześniej, jak i te liczone w czasie rzeczywistym, ale punktem wyjścia jest dynamiczne oświetlenie wykorzystywane dla dynamicznych źródeł światła, a wszystko inne ma wspierać ten system.
W tym przypadku „wszystko inne” odnosi się do kierunkowych map świetlnych, zlokalizowanego mapowania sześciennego i wolumetrycznej siatki próbek światła. Tyle że owe próbki są liczone w czasie rzeczywistym i to w dość unikalny sposób.
- Każdy piksel widoczny na ekranie, a nie korzystający z map świetlnych, przepuszczamy przez tę ogromną siatkę próbek światła i wybieramy najlepsze oświetlenie - wyjaśnia główny programista technologii, Michal Valient.
„W grze mamy odbicia opracowane wcześniej, jak i te liczone w czasie rzeczywistym, ale punktem wyjścia jest dynamiczne oświetlenie.”
- Poprzednio mieliśmy kilka tysięcy próbek światła na poziom i łączyliśmy ze sobą trzy najbliższe obiektowi. Teraz mamy ich jakieś dwa rzędy wartości więcej. Obliczamy, gdzie znajdują się cztery najbliższe danemu pikselowi - dodaje Michiel van der Leeuw.
- Granica między próbkami światła a mapą świetlną skurczyła się, obie struktury zeszły się ze sobą. Chcielibyśmy sięgnąć jeszcze dwa rzędy wartości wyżej - mieć kilka milionów próbek na każdy poziom i całkowicie zrezygnować z map świetlnych.
System refleksów światła opartych na śledzeniu promieni
Na spektakularne oświetlenie Shadow Fall wpływ ma również system refleksów świetlnych. Michal Valient przedstawił już podstawy tej technologii, gdy analizował demo zaprezentowane w trakcie PlayStation Meeting, ale podczas naszej wizyty w studio akurat był pod ręką, by szerzej przedstawić jej tajniki.
- Dla każdego piksela liczony jest pełny efekt śledzenia promieni (ray-tracing). Obliczamy wektor odbicia, sprawdzamy rodzaj materiału i jeśli okaże się, że jest bardzo chropowaty, to odbicie będzie niewyraźne - wyjaśnia.
- Wyszukujemy odbicie dla każdego piksela obecnego na ekranie oraz wektor tego odbicia. Następnie przeczesujemy piksele, aż trafimy na to, czego szukaliśmy. To śledzenie promieni w 2,5D... Możemy mniej więcej obliczyć punkt docelowy wektora i znaleźć piksele odpowiadające powierzchni, z którą się zetknie. Wszystko to jest zintegrowane z naszym modelem oświetlenia.
- Trudno dostrzec, gdzie kończy się jeden system, a zaczyna kolejny. Mamy przygotowane mapy sześcienne i liczone w czasie rzeczywistym refleksy świetlne oparte na śledzeniu promieni, a także źródła światła i wszystko to zlewa się ze sobą w jednej scenie - dodaje Michiel van der Leeuw.
Zastosowanie techniki śledzenia promieni narzuca oczywiście pewne ograniczenia. System refleksów nie oblicza zachowania źródeł światła umiejscowionych za obiektem, ale algorytm o tym wie - i może sięgnąć do gotowych danych oświetlenia po więcej informacji. Nie będą one w pełni matematycznie poprawne, ale ludzkie oko nie zauważy różnicy. Oświetlenie bazujące na rodzaju materiału stopniowo staje się standardem w grach nowej generacji, a Killzone: Shadow Fall to pierwszy tytuł na PS4, który daje nam posmakować tej technologii.
„Jeśli wszystko idealnie odpowiada rzeczywistości, to niczego nie można udawać. Nie dążymy do fotorealizmu czy hiperrealizmu; chcemy, by obraz był możliwie przyjemny dla oka.”
- Sądzę, że ta technika upowszechni się w grach nowej generacji. Każdy będzie wykorzystywał jakąś jej wariację, bo jest bardzo podobna do SSAO [screen-space ambient occlusion]. To takie prymitywne uogólnienie naturalnego zjawiska... ale wystarczająco przekonujące, by pomylić je z rzeczywistością - wyjaśnia van der Leeuw.
- Pod względem technicznym jest jak najbardziej do zrealizowania, a zyski przeważają nad kosztami, więc każdy opracuje własną wersję i będzie eksperymentować. Twórcy pracujący nad bardziej realistycznym, a mniej zasobożernym modelem oświetlenia będą opierać się na wskaźniku „chropowatości”. To naturalne, że światło będzie odbijać się od każdej powierzchni, od każdego piksela.
Technologia niesie ze sobą także nowe, interesujące wyzwania i możliwości w kwestii kreowania poziomów:
- Na jednym z poziomów chcieliśmy wykorzystać czarny materiał, ale okazało się, że niespecjalnie reaguje na światło, więc nieco go rozjaśniliśmy, by uwydatnić system oświetlenia - wyjaśnia Kim van Heest. Tłumaczy też, jak zespół zajmujący się oświetleniem może wykorzystać nowy model dla upiększenia poziomów gry.
- Oświetleniowiec może poprosić o „otworzenie” dachu, by więcej światła wpadało do środka, co z kolei zaowocuje ładnymi cieniami na ścianach. Ważniejsze od technicznych niuansów jest to, czy gra będzie fajnie wyglądała.
Oświetlenie globalne, antyaliasing i ambient occlusion
Nvidia przedstawiła niedawno demo techniczne przedstawiające oświetlenie globalne liczone w czasie rzeczywistym - precyzyjny pod względem obliczeń model, w którym od dawna upatruje się przyszłość oświetlenia w grach. W naszym niedawnym wywiadzie z Cevatem Yerlim przedstawiciel Cryteka wyraził zaniepokojenie możliwością, że w pełni matematyczna metoda obliczania oświetlenia może pozbawić projektantów gry kontroli nad wyglądem ich dzieła - pod czym podpisuje się również studio Guerrilla.
- To święta prawda - wyjaśnia nam starszy artysta oświetlenia Julian Fries. - Jeśli wszystko idealnie odpowiada rzeczywistości, to niczego nie można udawać. Nie dążymy do fotorealizmu czy hiperrealizmu; chcemy, by obraz był możliwie przyjemny dla oka.
- Jeśli chcesz pobawić się światłem w jednym pomieszczenia, ale w drugim już nie, bo zaburzyłoby to kontrast i jasność, to możesz opracować sobie takie rozwiązanie, o ile nie korzystasz z oświetlenia globalnego. Może i przyspieszyłoby naszą pracę, ale kosztem wydajności w grze. Prawdopodobnie spadłaby też jakość - zaletą opracowywania gotowych rozwiązań jest to, że jeśli nie potrzebujemy ich w rozgrywce na danym obszarze, bo bardziej pasuje tam statyczne, nieruchome źródło światła, to znacznie ekonomiczniej będzie upichcić coś zawczasu, oszczędzając na wydajność i zyskując na jakości.
Takie gotowe rozwiązania i udawanie mają jednak swoją cenę - wstępne obliczenia pożerają ogromną ilość mocy, nim ostateczne wersje zasobów trafią do gry. Guerrilla musiała znaleźć rozwiązanie również tego problemu.
„Nocą cała firma zamienia się w farmę renderingu, a i tak oddelegowaliśmy do tego zadania dodatkowe trzy osoby. Najważniejsza jest jakość.”
- W poprzedniej generacji wiele osób rezygnowało z map świetlnych, bo ich używanie nastręczało nie lada kłopotów. Zetknęliśmy się z tym problemem podczas prac nad Killzone, gdzie powtórne załadowanie map świetlnych (przy obróceniu postaci) zajmowało masę czasu - wyjaśnia Michiel van der Leeuw.
- Najnowsza odsłona serii jest wręcz ogromna w porównaniu do poprzedniej... Musieliśmy zamienić firmę w ogromną farmę renderingu. Gdy ktoś odchodził od komputera o 17:00, automatycznie dostawał zapytanie, czy chce dołączyć do grupy renderingu. Jeśli nie odpowiedziałeś albo nie wysłałeś negatywnej odpowiedzi, to komputer dołączał się automatycznie - i nocą cała firma zamienia się w farmę renderingu, a i tak oddelegowaliśmy do tego zadania dodatkowe trzy osoby. Najważniejsza jest jakość, atmosfera gry.
Ogólną jakość gry dodatkowo poprawia metoda antyaliasingu, na jaką zdecydowało się Guerrilla Games. Podczas lutowej prezentacji w grze widzieliśmy FXAA, a pojawiły się też pewne oznaki wskazujące, że Advanced Technology Group w Sony pracuje nad rozwojem bardziej zaawansowanej techniki, TMAA. Ta przeobraziła się z kolei w TSSAA - temporal super-sampling anti-aliasing.
- To technika bardzo zbliżona do FXAA. Filtr może nie jest identyczny, ale bardzo zbliżony, tyle że znacznie wyższej jakości - wyjaśnia Michal Valient.
- Nadal dotyczy przestrzenie ekranu, ale bez subsamplingu głębi. Stosowaliśmy go do rekonstrukcji krawędzi, ale uzyskana jakość obrazu nie usprawiedliwiała inwestycji mocy przerobowej konsoli, więc go wyeliminowaliśmy - dodaje van der Leeuw.
- Zbieramy próbki z poprzednich klatek animacji i próbujemy je ze sobą mieszać, wychodząc z założenia, że mamy do czynienia z pochodną FXAA. W grę wchodzi tu nieco obliczeń czasowych, gdy próbujemy coś odzyskać z poprzednich klatek.
- Uważnie dobieramy ten materiał. Jeśli klatka jest w porządku, to po co się jej pozbywać. Zasadniczo zbieramy tyle pikseli, ile się da z poprzednich klatek, jeśli tylko pasują do kolejnej - dodaje Valient. - Zyskujemy więcej próbek z każdego piksela. Żeby uzyskać podobny efekt, musielibyśmy wykorzystać supersampling albo multisampling. A my staramy się pozyskać dane z poprzedniej klatki.
Deweloperzy często wykorzystują recykling istniejących danych, implementując je w pozostałych systemach gry - ale Guerrilla stosuje to podejście nie tylko do antyaliasingu, ale i efektu ambient occlusion.
- To tzw. directional occlusion. Efekt uboczny naszego systemu oświetlenia. Obliczenia refleksów świetlnych pozwalają nam określić, co gracz będzie widział z danego miejsca i te same dane przekazujemy AO - wyjaśnia Michal Valient. - Jeśli się zastanowić, to AO również opiera się na refleksach, ale o znacznie większym zakrzywieniu. Możesz wykorzystać te informacje, by dowiedzieć się, co widać w półkuli wokół określonego punktu. Nie określiłbym tej techniki mianem SSAO (screen-space ambient occlusion), bo za dużo w niej trików, które negatywnie odbijają się na jakości.
Guerrilla Games, obliczenia GPU i przyszłość PlayStation 4
Podczas prac nad swoją pierwszą grą na platformę nowej generacji, Guerrilla przyglądało się też obliczeniom wykonywanym przez GPU - czyli dziedzinie, w której PS4 jest najlepiej przygotowane do długodystansowej walki z konkurencją. W demie zaprezentowanym podczas PlayStation Meeting jednostki obliczeniowe oddelegowano wyłącznie do defragmentacji pamięci. W wersji sklepowej rdzenie graficzne zajmują się również korektą kolorów i „polami siłowymi”. Owe „pola” to kolejny, niedostrzegalny na pierwszy rzut oka system, dzięki któremu gra zyskuje na naturalności.
- Tego systemu nie da się ot ta przedstawić w demie technicznym, jak wlewania wody do pojemnika, gdzie ciecz tworzy ładne fale, ale my nie mamy wpływu na jej ruchy. Chcieliśmy czegoś, co mogliśmy kontrolować - wyjaśnia Michal Valient.
- Artyści mogą dowolnie rozstawić pola siłowe. Na przykład pod stopami bohatera - by rośliny odchylały się na boki, gdy będzie szedł przez gęstwinę. Podczepiamy je też do eksplozji. Jeśli rzucisz granat, to na ułamek sekundy wytworzy pole siłowe. Dzięki temu artyści zachowują znacznie większą kontrolę nad wyglądem gry, która z kolei zyskuje na wydajności. Wokół gracza rozmieszczamy tysiące takich punktów.
„Przed nami jeszcze długa droga. To dopiero początek cyklu. Praca z PS4 jest banalna i wydaje mi się, że sporo osiągnęliśmy, ale nasz kolejny projekt będzie jeszcze lepszy, ponieważ zawsze mocno koncentrujemy się na stronie technicznej.”
- W każdej klatce animacji, dla każdego pola siłowego wokół gracza, przeprowadzamy symulację działających sił. Zebrane dane można potem dowolnie wykorzystać - kontynuuje Valient. - Korzystają z tego shadery roślin, a jeśli jakaś postać ma kaptur, to dzięki tej metodzie kaptur poruszy się przy eksplozji. To drobiazgi, rzeczy, które uważamy za całkowicie naturalne, ale dzięki nim świat wydaje się odrobinę bardziej wiarygodny.
- Takie obciążenie pracą lepiej się sprawdza na systemie przetwarzającym dane równolegle - w czym PS4 specjalizuje się dzięki swojemu GPU.
- Staramy się jak najwięcej z niego korzystać. Mamy procesy synchroniczne, które trzeba zgrać z renderingiem, ale i asynchroniczne, pojawiające się spontanicznie, więc korzystamy ze wszystkiego, co mamy pod ręką - mówi Valient.
- To zaledwie początek. Zdecydowaliśmy się na pola siłowe, system korekty koloru i defragmentację pamięci - rzeczy, które wykorzystujemy przy strumieniowaniu tekstur. To kilka oddzielnych systemów, które świetnie współpracują z jednostkami obliczeniowymi. Większość pozostałych systemów współpracuje z normalnymi shaderami, w tym efekty postprocessingu, więc jeszcze sporo przed nami.
- Naturalnym kolejnym krokiem będzie przesunięcie efektów postprocessingu pod jednostki obliczeniowe - nie zrobiliśmy tego ze względu na ograniczenia czasowe. Jestem pewien, że dużo rzeczy możemy poprawić - jest wiele dziedzin, które możemy jeszcze zgłębić.
Co dalej? Gdy odwiedziliśmy studio Guerrilla, członkowie zespołu byli w euforii po odesłaniu do tłoczni Killzone: Shadow Fall, i chociaż dało się słyszeć rozmowy dotyczące usprawnień w istniejących systemach - choćby w innowacyjnej technice animacji - dalsze plany dotyczące kolejnego tytułu na PlayStation przestawiono nam bardzo ogólnikowo.
- Przed nami jeszcze długa droga. To dopiero początek cyklu. Praca z PS4 jest banalna i wydaje mi się, że sporo osiągnęliśmy, ale nasz kolejny projekt będzie jeszcze lepszy, ponieważ zawsze mocno koncentrujemy się na stronie technicznej - powiedział nam Michal Valient.
- Przy Killzone 2 wydawało nam się, że naprawdę wiele dokonaliśmy. Przy Killzone 3 okazało się, że możemy w sumie podwoić budżet, ponieważ tak dobrze poznaliśmy technologię, że zdołamy wykorzystać więcej zasobów. Jestem przekonany, że wiele rzeczy możemy jeszcze poprawić.
Artykuł powstał w oparciu o wyjazd do studia Guerrilla Games w Amsterdamie. Podróż i zakwaterowanie opłaciło Sony.