GTA 4 po latach. Jak Rockstar, wiedziony ambicjami, wydał techniczny koszmarek

GTA 4 po latach. Jak Rockstar, wiedziony ambicjami, wydał techniczny koszmarek

gtxxor_OV | Dzisiaj, 17:00
Google Chcesz częściej widzieć nasze treści w Google? Dodaj do źródeł

Rockstar Games jest dziś synonimem jakości i nie dziwne, że fani na całym świecie z wypiekami na twarzy wypatrują nadchodzącego GTA 6. Historia firmy nie jest jednak usłana różami, a wydana w 2008 roku czwarta część serii – dla kontrastu wobec wymuskanych dzieł takich jak Red Dead Redemption 2 – pod względem technicznym była kompletnym szrotem. Niemniej o tym, że tytuł delikatnie mówiąc, radził sobie na PlayStation 3 dość średnio, wie każdy, Pytanie, co właściwie nie zagrało, a tu robi się ciekawie. W odróżnieniu od wielu innych, kulejących technicznie projektów, lenistwa nikomu w R* zarzucić nie można. Za to chorobliwe ambicje już tak.

To jasne, PS3 miało zbyt skomplikowaną architekturę, przez co zwłaszcza w pierwszych latach sprawiało programistom mnóstwo problemów – to zdanie powtarza się niczym mantrę. I nie sposób się z nim nie zgodzić, gdyż w 2008 roku, gdy debiutowało GTA 4, na dobrą sprawę nie było jeszcze na platformie Sony tytułów o rozbudowanej logice, który działałby przynajmniej przyzwoicie. Fallout 3 każdą wykonywaną akcję dopisywał do utrzymywanego w pamięci pliku stanu, przez co po kilkudziesięciu godzinach zabawy zajeżdżał RAM i stawał niegrywalny. Assassin’s Creed miał ogromne problemy ze strumieniowaniem danych, co dotykało graczy zwłaszcza na szczycie wież widokowych, gdy gra łapała kilkusekundowe zawieszki. Far Cry 2 docelowe 30 fps trzymał chyba jedynie w menu głównym i generalnie mógłbym tak wymieniać i wymieniać.

Dalsza część tekstu pod wideo

Patrząc z tej perspektywy, GTA 4 było niczym szarża z motyką na słońce, bo w gruncie rzeczy zakresem zaimplementowanych mechanik przewyższyło wszystkie trzy powyższe. Razem wzięte. Twórcy bowiem chcieli, aby Liberty City było nie tylko otwarte w rozumieniu eksploracyjnym, ale też żywe, a wręcz namacalne. Mieszkańcy mieli nosić zakupy, czytać prasę, chować się przed deszczem i aktywnie reagować na działania gracza, a to nie wszystko. Open world w zamyśle uczyniono także sugestywnym akcyjniakiem, z liczonymi w czasie rzeczywistym reakcjami wrogów na postrzały, wybuchy czy upadki, a ponadto fizycznym modelem jazdy. A jakby tego było mało, cały ten zestaw atrakcji zdecydowano się osadzić w środowisku maksymalnie plastycznym, umożliwiającym destrukcję ze szczegółowością zarezerwowaną wcześniej dla oskryptowanych korytarzówek, i to bez ekranów ładowania ani sektorowania mapy na mniejsze części.

Pomysł, który wyprzedził epokę

GTA IV grafika
resize icon

Blisko dwie dekady temu sam ten pomysł musiał robić piorunujące wrażenie, przyznajcie. On nawet dziś brzmi kozacko. O ile jednak papier może przyjąć wszystko, o tyle krzem niekoniecznie, a technologia nie była na ambicje R* gotowa. Twórcy mieli co prawda do dyspozycji autorski silnik RAGE, który zaliczył już przetarcie w nieco zapomnianym dziś Rockstar Table Tennis, ale prosta gierka w ping-ponga nijak się ma do skali Grand Theft Auto. Może pozwolić zapoznać się z narzędziami czy sprawdzić podstawowe aspekty fizyki, takie jak wykrywanie kolizji czy deformacja obiektów. Może stanowić koncepcyjny model działania dynamicznej animacji postaci. Ale kiedy dwóch zawodników, piłeczkę i stół zastępuje ożywione miasto, skala obliczeń rośnie wykładniczo. Co gorsza – wobec eksperymentalnego charakteru poszczególnych pomysłów – jest jednocześnie niezwykle trudna do trafnego oszacowania.

Pracując nad GTA 4, Rockstar nie miał jednego, komplementarnego środowiska. Tak, jak dziś Unreal Engine 5 ma swój pakiet Insights do profilowania, który w milisekundach pokazuje, ile czasu pochłaniają sprzętowi poszczególne procesy w torze renderowania. Miał natomiast autorski silnik renderowania, wcześniej niesprawdzony w skali choćby zbliżonej, który na potrzeby konkretnych funkcji był nadpisywany dodatkowymi bibliotekami. Tak więc w końcowym produkcie, obok zasadniczego silnika szkieletowego, znalazł się też szeroki pakiet innych rozwiązań, wcześniej niestosowanych w takim zestawieniu. Jeśli ciekawi Was na przykład to, czemu postrzeleni wrogowie padają w zależności od miejsca trafienia i kalibru broni, to odpowiedź stanowi zewnętrzny silnik animacji Euphoria. W odróżnieniu od innych gier z epoki, animacje postaci nie były dzięki niemu zakodowane na sztywno, ale liczone w czasie rzeczywistym. Zresztą, podobnie uszkodzenia samochodów czy elementów otoczenia, za które odpowiadały z kolei otwartoźródłowe biblioteki Bullet Physics. Nadawały one każdemu obiektowi w świecie gry parametry fizyczne, w tym masę i środek ciężkości, jak również definiowały sposób interakcji poszczególnych materiałów między sobą, choćby przez symulację sprężystości czy współczynników tarcia.

Woda wystrzelona z hydrantu w GTA 4 to nie tylko siatka wielokątów z shaderem, ale w pełni fizyczny obiekt z wyczuwalnym ciśnieniem, siłą przepływu czy gęstością. I takich smaczków jest w kodzie na pęczki. Ba, z potrzeby chwili napisano nawet dedykowany silnik dźwięku, później włączony do głównej gałęzi jako RAGE Audio. Deweloperzy zrezygnowali z odtwarzania jednego, płaskiego ambientu z gwarem miasta, co stanowiło wówczas branżowy standard. Postawili na generowanie odgłosów na bazie – chyba zero zdziwienia – obiektów fizycznych, obecnych w danej chwili w świecie gry, a specjalny moduł analizował przy tym geometrię. Przeszkody jak budynki w naturalny sposób tłumiły fale dźwiękowe, strzał oddany w tunelu brzmiał inaczej niż na wolnym powietrzu, a syrena radiowozu słyszana w oddali była oznaką tego, że ten jako przeliczony obiekt faktycznie się zbliża do pozycji gracza. 

Niestety o ile w przypadku reżyserowanych produkcji liniowych – nawet przy skomplikowanej logice – łatwo jest zaplanować każdą kolejną klatkę tak, by zmieścić się w budżecie platformy, o tyle sandbox stawia wyzwanie losowości. Gracz może bowiem pędzić z maksymalną prędkością przez żyjące miasto, by po kilku chwilach rozpocząć pełną wybuchów rzeźnię w tunelu, wdać się w strzelaninę z policją i usłać asfalt trupami i odłamkami. Stąd też opasły stos warunków, funkcji logicznych i ich podstawowych zmiennych trzeba utrzymywać przez cały czas. Teraz – Xbox 360 miał trzy fizyczne rdzenie i zunifikowaną pulę pamięci, PC-ty brutalną siłę przetwarzania, a PS3 problem. Cell jak doskonale wiadomo, radził sobie doskonale z przetwarzaniem masowo równoległym, czyli szybko opracowywał duże pakiety powtarzalnych danych. Wszelkie skoki warunkowe w jego bezwzględnie uporządkowanym potoku generowały ogromne opóźnienia. Nie pomagała też sztywno podzielona pula pamięci, bo gdy brakowało miejsca na przykład na bufor zachowań NPC, to nie wystarczyło wyczyścić nieobecnych już na scenie modeli niczym w konsoli Microsoftu. Mówiąc kolokwialnie, leżały w innych workach.

W świecie wektorów

Sam RAGE – a właściwie cały jego stos – w dobie GTA 4 był narzędziem dość osobliwym. Mieliśmy oczywiście kilku konkurentów, których można byłoby zaklasyfikować jako rozwiązania zaawansowane, w tym szalenie wówczas eksploatowaną trzecią generację Unreal Engine, Cry Engine 2 czy słynący ze świetnej fizyki Source. Rzecz w tym, że autorzy wszystkich tych silników, nawet budując światy możliwie realistyczne, zamykali się dość ściśle w jednej domenie. Cry Engine 2 zasłynął z pięknej i niemal fotorealistycznej dżungli, której klimat podkreślało wolumetryczne oświetlenie, ale jego system zniszczeń był pod pewnymi względami wydmuszką. Bazował na metodach szkieletowych i motion capture, bez głębokiej symulacji proceduralnej w tle. Unreal Engine 3 postawił na efekty cząsteczkowe, które wpisywały się w charakter korytarzowych strzelanek, ale pokpił animację postaci i nawet w zamkniętych pomieszczeniach – przez paradygmat ciągłego rotowania teksturami – miał problemy ze strumieniowaniem danych. Source z kolei błyszczał przy symulacjach fizycznych, jednak dusiły go sztywne limity liczby obiektów i wielkości mapy, przez co nie nadawał do sandboksów. Tymczasem Rockstar Games zapragnął adresować wszystkie wyzwania na raz.

Cała rozgrywka miała mieć dynamikę gier na UE3, otoczenie realizm Cry Engine 2, a fizyka nie mniej przeliczanych zmiennych niż Source. Wszystko to w ożywionym, interaktywnym świecie na mapie o powierzchni ponad 16 kilometrów kwadratowych. Znacznie mniejszej niż w San Andreas (ok. 38 km²), ale za to niemal pozbawionej wypełniaczy, takich jak lasy czy pustynie. Zatem, przestrzeni na kompromisy właściwie nie przewidziano. Niestety pracownicy spółki jak teraz, tak i wtedy niechętnie dzielili się szczegółami technicznymi, więc procesy decyzyjne są niejasne. Trzeba jednak przyznać, że rzucenie się z projektem tego kalibru na konsole wyposażone w procesory in-order oraz szczytowo 512 MB pamięci jest ruchem z gatunku tych brawurowych. 

Akcja optymalizacja

GTA IV frame rate
resize icon

Rzecz jasna, ludzie z Rockstar mieli świadomość ograniczeń, jednak widać wyraźnie, że nie chcieli rezygnować z kanonicznych założeń. Zamiast tego postawili na maksymalne odciążenie sprzętu tam, gdzie było to możliwe. Zamiast w 720p, GTA 4 na PS3 renderowane było w nietypowej rozdzielczości 1152x640 piksele. W dodatku bez klasycznego wygładzania krawędzi, lecz z techniką Quincunx (QAA), która najprościej rzecz ujmując, jest filtrem rozmywającym obraz. Idąc dalej, spore ograniczenia dotknęły cieniowania. Obiekty na dalszym planie w ogóle cieni nie rzucały, a zastąpiono je efektem ditheringu, czyli kropkowaniem. Zmniejszono również m.in. zasięg reflektorów w nocy oraz precyzję filtrowania. Powrócił nawet patent z szóstej generacji, a mianowicie ładowanie do pamięci ograniczonej liczby modeli aut, więc powróciły też rzędy identycznych taksówek czy radiowozów. Mimo iż unikalnych modeli pojazdów na potrzeby gry przygotowano bagatela 127.

To nie skorzystali z SPE? – zapytacie. Ano skorzystali, obliczenia zasadnicze silników Bullet czy Euphoria przerzucono właśnie na koprocesory wektorowe, tylko nie rozwiązało to kwestii ich warunkowania tak, by odpowiedni kod wykonywany był w odpowiednim momencie. Siłą rzeczy nie mogło też wpłynąć na zarządzanie pamięcią, choć R* tu akurat też próbował pewnej sztuczki. Otóż grę należało zainstalować na dysku konsoli, ale nie w całości. Dane tym samym strumieniowano zarówno z płyty Blu-ray, jak i HDD. W jednym momencie. Przy prędkości napędu optycznego na poziomie 9 MB/s z pewnością nie był to przełom, ale nieznaczne przyspieszenie dostępu do plików niewątpliwie uzyskano. Że gra dalej dość gęsto notowała spadki do 18 fps, to inna sprawa, choć co ciekawe, sam producent był innego zdania. W wywiadzie udzielonym niedługo po premierze MTV Jeronimo Barrera, ówczesny wiceprezes ds. rozwoju produktu Rockstar Games, gorączkowo zapewniał, że wersje na PS3 oraz X360 są identyczne zarówno pod względem jakości grafiki, jak i wydajności. Jedyne, co potwierdził, to geneza opóźnienia premiery, pierwotnie planowanej na rok 2007. Jak przyznał, dodatkowy czas na optymalizację dla PlayStation istotnie okazał się niezbędny. Cóż, nie muszę chyba dodawać, że ekipa Digital Foundry – podobnie jak gracze przed telewizorami – miała nieco inną opinię.

Sztuka (nie)przyznania się do błędu

Z perspektywy czasu wiemy, że ambicje projektantów GTA 4 po prostu przerosły dostępny wówczas na rynku sprzęt. Ten od Niebieskich zwłaszcza, choć i na 360-tce profil wydajności tytułu był daleki od pożądanego dla dynamicznej akcji. Najlepszym potwierdzeniem tej tezy jest zaś wydana w 2013 roku piąta odsłona serii, z której wiele subtelnych smaczków zwyczajnie wycięto. Zniknęło otwieranie parasoli przez przechodniów w deszczu, realistyczne zachowania służb, takie jak próby reanimacji rannego ze strony medyków, spektakularny system zniszczeń karoserii aut czy szereg zmiennych fizycznych, z modelem jazdy uwzględniającym masę pojazdu na czele. Bohaterom odebrano możliwość zbierania przedmiotów z ziemi, żywioły pokroju wody i ognia utraciły wektor siły, a wiele otwartych wcześniej budynków pozamykano. Świat stał się tym samym bardziej sterylny, ale czy pomijając wysyp narzekań vloggerów po premierze, ktoś narzeka, śmiem wątpić. Kosmiczny nakład 230 mln sprzedanych sztuk na trzy różne generacje sprzętu mówi sam za siebie.

Dopiero po dekadzie i już na kolejnej generacji – w 2018 roku w Red Dead Redemption 2 – niektóre z obietnic GTA 4 uda się dowieźć w elegancki sposób. Przede wszystkim dynamiczny model trafień, który odkurzono po epizodzie z konwencjonalnym ragdollem w GTA 5. Trochę paradoksalnie, RDR2 dalej wszystkich założeń duchowego prekursora nie spełnia, aczkolwiek sprytnie maskuje to przyjęta konwencja. Koniec końców podróże konne to nieco inny poziom dynamiki niż sportowe super samochody, a pustkowia na Pograniczu nie są zatłoczonym Liberty City. Ostatecznie czwarta część złodzieja samochodów stanowi w pewnym sensie intrygujące studium przypadku, jak może wyglądać gra, której twórcy bezkompromisowo windują realizm, bez wzięcia poprawki na uwarunkowania sprzętowe. Na marginesie – ciekawe, co w tej materii pokaże GTA 6.

Google Chcesz częściej widzieć nasze treści w Google? Dodaj do źródeł
Źródło: własne
gtxxor_OV Strona autora
cropper