„Metro Redux” – jak powstawał port na Nintendo Switch?

Tworzenie portów gier budzi sporo wątpliwości. Bo poleci grywalność, grafika… Twórcy jednak nadal podejmują wyzwanie konwertowania tytułów na inne konsole. Świeżym przykładem jest debiutujący niebawem „Metro Redux”, czyli remaster dwóch pierwszych gier opartych na prozie Dmitrija Głuchowskiego. Portal Eurogamer opublikował artykuł, w którym rąbka tajemnicy dotyczącego konwersji uchyla dyrektor ds. technologii 4A Games.

Jak nie dać się ograniczeniom specyfikacji

Metro Redux to zdaniem Richarda Leadbettera to najbliższy oryginałowi i najbardziej autentyczny port FPS-a jaki dotąd widzieliśmy. 4A Games musiało się przy nim nieco natrudzić. Pierwotna konwersja z wersji Redux na PS4 i Xbox One osiągała zaledwie 7 – góra 15 klatek na sekundę. Celem natomiast było osiągnięcie klatkażu 30 fpsów, co i tak byłoby połową tego, co można było znaleźć na Playstation i Xboksie.

Jak tłumaczy CTO 4A Games Oleś Sziszkowstow, zaczęto od umieszczenia optymalizacji z Metro Exodus w bazie kodów Metro Redux. Następnie skupiono się nad przetwarzaniu animacji na wysokim poziomie i wydobyciu na niskim parametru ILP z rdzeni Cortex-A57, znajdujących się w CPU Switcha – NVIDIA Tegra X1. Same optymalizacje niskiego poziomu dały nam niestabilne 30 Hz, kiedy nie byliśmy zależni od GPU – wyjaśnił Sziszkowstow. – Potem pojawił się podstawowy poziom szczegółów (LOD) i kwestia CPU została „rozwiązana”, nawet z prześwitem potrzebnym do uzyskania stabilnego klatkażu. A – jak wcześniej mówił – już samo przejście pomiędzy ośmiordzeniowymi procesorami od AMD do Tegry X1 brzmiało nieco strasznie.

NVN, TSR i FBI

Kolejnym krokiem przy porcie Metro Redux były optymalizacje GPU i wybór interfejsu. Zdecydowano się na przygotowany przez NVIDIA NVN. Zdaniem Sziszkowstowa jest on dobrze wykonany, czysty oraz zdolny do ujawnienia pełnego potencjału hardware’u. A Leadbetter przypomina, że NVIDIA stworzyła to API właśnie pod kątem umożliwienia Switchowi jak najwydajniejszej pracy. To również NVN ma według redaktora być tym czynnikiem, który robi kluczową różnicę. Jak bowiem sugeruje 4A Games to właśnie to API umożliwia bezpośredni dostęp do architektury Maxwell, stanowiącej podstawę GPU Tegra X1. Według Sziszkowstowa twórcom udało się wykorzystać wszystkie dostępne dzięki niej funkcje. A dzięki nim udało się zmniejszyć ograniczenia związane z zarządzaniem pamięcią GPU.

Innym istotnym elementem była technologia wykorzystywana przy poprawianiu jakości aparatów w smartfonach czy… przy odczytywaniu przez FBI tablic rejestracyjnych za pomocą satelitów. Chodzi tu o czasowy supersampling (temporal super-sampling, TSR). Wykorzystuje ona koncept stojący za zwykłym supersamplingiem, w którym przed zejściem do wybranej przez twórcę liczby pikseli przeprowadza się rendering w rozdzielczości wyższej niż natywna. W TSR dodatkowe szczegóły uzyskuje się z wcześniejszych klatek. Sziszkowstow wyjaśnił, że dla GPU Switcha problemem była spora liczba tekstu i obliczeń. Trochę trwało więc znalezienie metody, która nie skutkowałaby znacznym kompromisem wydajności.

Efekt końcowy oferuje ok. 2 ms przy rozdzielczości 1080p przy dziewięciu próbkach tekstury i zawiłej matematyce, a przy okazji daje antyaliasing. Dociśnięty zbyt mocno (…) algorytm wciąż daje doskonałe krawędzie i wyraźne szczegóły tekstur – mówił Sziszkowstow, wskazując jedynie na niedostrzegalne pogorszenie się jakości AA.

nintendo switch metro
Źródło: 4A Games

Czysty obraz i stałe 30 fps w Metro Redux

Sukcesem 4A Games jest to, że czy gra się w trybie stacjonarnym, czy przenośnym, czystość wyświetlanego obrazu dopasowuje się do wyświetlanej zawartości. Sziszkowstow przyznał, że przy stacjonarce taktowanie GPU jest dwa razy szybsze, choć przepustowość zwiększa się umiarkowanie. W rezultacie udaje się osiągnąć nieco lepsze TSR i AA. Przy handheldzie twórcy mogli sobie jedynie pozwolić na większą szybkość renderowania dla HUD czy broni.

Zarówno wersja stacjonarna, jak i przenośna, korzystają z oryginalnej geometrii PS4/Xbox One, ale handheld bardziej agresywnie stosuje przełączanie poziomu szczegółów, choć na małym ekranie jest to ledwie dostrzegalne – dodał CTO 4A Games, mówiąc o uzupełnieniu zawartości Metro Redux o brakujące LOD geometrii – Z punktu widzenia gracza, wersja przenośna ma zawsze 720p, a stacjonarna to zawsze 1080p. Poza tym są takie same.

Zdradził także, że cieszył się, że udało się osiągnąć stałe 30 fps, który to klatkaż nie wymaga kompromisów . Gdyby chciano zostać w okolicach 60 klatek na sekundę, znacząco obniżyłaby się jakość i pojawiłyby się lagi. A na to Sziszkowstow nie chciał się zgodzić. Dodał, że nawet bez TSR gra miałaby stałe 30 fpsów w trybie przenośnym. Czasowy supersampling jest bardziej użyteczny podczas rozgrywki Metro Redux w trybie stacjonarnym i 1080p.

Rdzenie i RT – czyli przyszłość konsol

Sziszkostow wypowiedział się także w temacie rozwijania konsolowej technologii. Jego zdaniem w nowej wersji Switcha przydałyby się dodatkowe rdzenie w CPU, zważywszy na to, jak mocno twórcy gier są związani z możliwościami procesora. Nie zabolałoby też wzmocnienie mocy GPU i pasma.

Choć z uwagi na klauzulę poufności nie można zbyt wiele powiedzieć o PS5 czy Xbox X, również i im poświęcono chwilkę. A konkretnie ray tracingowi, na którym – według Sziszkostowa – twórcy w zupełności się opierają, odrzucając starsze rozwiązania. Na pytanie jak bardzo RT się rozwinął od czasu Metro Exodus, odparł, że sporo eksperymentowali, a efekty są spektakularne. Społeczność graczy musi jednak trochę poczekać, żeby je zobaczyć.

Tymczasem Metro Redux na Nintendo Switch zadebiutuje 28 lutego. W sklepie x-kom tytuł ten dostępny jest w przedsprzedaży. A jeśli chcesz poznać inne gry, które miały lub będą jeszcze miały premierę w tym miesiącu – sprawdź tekst Łukasza.

Źródło: Eurogamer