Hirdetés

Marvel’s Spider-Man: Miles Morales Tech Review

Az Insomniac Games megint hatalmas technológiai bravúrt alkotott, ezúttal PS5-ön.

Előszó

Az Insomniac Games már számtalanszor bebizonyította, miért is tartoznak a világ vezető videojátékfejlesztő cégei közé. Az elmúlt 3 konzolgeneráció alatt olyan híres játéksorozatokat köszönhetünk nekik, mint például a Spyro, a Ratchet & Clank, a Resistance, Sunset Overdrive, vagy épp a cikk témája, a Marvel’s Spider-Man. Ez utóbbi eredetileg PS4-re jelent meg 2018 szeptemberében, és kevesebb, mint másfél év alatt a legkelendőbb PlayStation exkluzív lett az Egyesült Államokban. Ez különösen nagy dolognak számít annak a fényében, hogy már akkor milyen exkluzívokkal rendelkezett a konzol (Uncharted 4, Horizon Zero Dawn, The Last of Us, God of War, Detroit Become Human stb.).

A játék sikerességéhez nyilván hozzátett a Marvel képregények, illetve az MCU filmek mindent elsöprő sikere, viszont nem szabad figyelmen kívül hagyni a stúdió tehetségét. Sikerült megragadniuk a Spider-Man esszenciát, és átültetniük azt egy játékba, mellé egy kellően kidolgozott és szórakoztató sztorit írtak, létrehozva ezzel a valaha készült legjobb Spider-Man játékot. A sikeren felbuzdulva a Sony nem sokkal később fel is vásárolta a stúdiót, így már teljesértékű belsős fejlesztőcsapattá vált a cég. A folytatásra nem kellett sokat várni, 2020 novemberében jelent meg PS5 nyitócímként a Marvel’s Spider-Man: Miles Morales, mely felfogható egyfajta spin-off résznek is a maga 8 óra hosszú sztorijával. Ugyan a játék megjelent PS4-re is, a tesztben elsősorban a next gen verzióra fókuszálnék, pár szóban kitérve a két verzió közti különbségre.

A játékban 3 választható grafikai beállítás található: Fidelity, Performance és Performance RT. Nyers technikai adatok és számok alapján ezek a beállítási módok jól elkülöníthetőek egymástól.

Fidelity Mode

A Fidelity mode szolgáltatja a legjobb képi megjelenítést, Ray Tracing mellett natív 4K felbontást, mindezt 30FPS-sel. Apró szépséghiba viszont, hogy a játékban jelen van a Dynamic Resolution Scaling, aminek köszönhetően a megjelenített kép és effektek függvényében dinamikusan változtatja a megjelenített kép felbontását annak érdekében, hogy ne következzen be frame drop. Mivel a DRS jelen van mindhárom mode esetén, így kicsit nehéz volt tesztelni és pixeleket számolgatni. Általánosságban elmondható, hogy a legtöbb esetben tartja a natív 4K felbontást, legrosszabb esetben sem ment lejjebb 1800p-nél.

Valós idejű sugárkövetett tükröződések… Ha csak egy mód van rá, lehetőleg kerüljük a magyar fordítását a Ray Tracingnek, elég bután hangzik. Mindenütt halljuk, tudjuk, hogy jó dolog, de mi is ez egész pontosan és hogyan működik? Maga a technológia nem új dolog, már a 2000-es évek elején is létezett. Viszont, hogy elterjedjen az erre alkalmas hardver a gaming piacon, egészen 2018-ig várni kellett. A technológia lehetőséget ad arra, hogy valósághűen szimulálja azt, ahogy a fény az adott objektumokról visszaverődik, így élethű tükröződéseket, árnyékokat és fény effekteket eredményezve. Ez azért fantasztikus dolog, mert eddig statikus megoldásokra (többnyire cube map és SSR) kellett támaszkodniuk a fejlesztőknek. A Ray Tracing megjelenésével viszont egyrészt sokkal valósághűbb végeredményt kapnak, ráadásul a global illumination-nek hála mindehhez sokkal kevesebb időre és befektetett munkára van szükség, ezzel óriási terhet levéve a fejlesztőkről.

Ray Tracing. Ray Tracing everywhere! Figyeljük meg Miles ruhájáról a padlón visszaverődő diffused bounce lighting effektet. A visszatükröződéseken látszik, hogy a rendering felbontás negyede csupán

Valójában a modern game engine-ekbe egész egyszerű implementálni a ray tracing támogatást. Viszont vannak hátrányai a technológiának: elsősorban az, hogy rettentően erőforrásigényes, ugyanis valós időben kell minden dinamikus objektumot renderelnie a tükröződő felületre, azokat a dolgokat is, amiket alapesetben nem kellene, hiszen nem látszódnak a kamera látóterében. De hogy is működik mindez? Először is, a GPU lekéri a környezetében található összes objektum primitív mását. Erre azért van szükség, mert egy adott jelenetben a fény bármelyik irányból érkezhet, bármilyen távolságból és bármilyen objektumról visszapattanhat. Ezért a GPU-nak kell valamilyen fogalmának lenni a környezet felépítéséről. Ehhez pedig egyszerű, könnyen olvasható geometriai alakzatokra bontja a környezetet (többnyire téglatestekre), hiszen ilyen egyszerű alakzatokkal könnyebb dolgozni és számolni.

A jeges aszfaltról visszaverődő diffused lighting és dinamikus árnyékok. A mozgó npc-k képmásai is visszaverődnek a jégről.

Második lépésként (erről kapta a technológia a nevét) sugarakat küld az így kapott környezetre, hogy megállapítsa, milyen objektumokba ütközik a fény. Ehhez a kisebb objektumokat egy láthatatlan dobozba csomagolja, hogy pontosabban tudja követni a fény mozgását. Minden egyes ütközési pontot, amin a fény áthalad, regisztrál és eltárol. Nyilván az ütközési pontokról is visszaverődnek fénysugarak, és azoknak az útját is nyomon követi. Beláthatjuk, hogy nagyon hamar nagyon komplex végeredményt kaphatunk. Minél több ilyen fénysugarat küld a környezetre, minél messzebb pattan egy-egy fénysugár, vagy minél több ütközési zónát kell nyomon követnie az algoritmusnak, annál erőforrásigényesebb folyamat ez. A harmadik és negyedik lépéshez szükséges a hardverszintű támogatás a Ray Tracinghez. Ez a shading, mely során minden regisztrált ütközési ponthoz pixelenként kiválasztja a megfelelő színt, amit aztán tükröz a felületre. Az így kapott tükröződés viszont meglehetősen csúnya, torz és zajos lehet. Ennek kiküszöbölésére van szükség a negyedik lépésre, mely során ezeket a hibákat kijavítja az algoritmus, hogy tökéletes tükröződést kapjunk.

Ez mind nagyon jól hangzik, viszont könnyen beláthatjuk, hogy ez a folyamat nagyon idő és hardverigényes. Mivel ezt mind néhány milliszekundum alatt kell létrehoznia (és persze folyamatosan fenntartania a dinamikus objektumok és környezet miatt), így nem várhatjuk el, hogy ugyanolyan minőségben látszódjon minden tükröződés, mint ahogy a játék renderel. Éppen ezért különböző technikákat kell a folyamat után eszközölni, hogy az eljárás ne járjon teljesítményvesztéssel.

Miles tökéletesen visszaverődik az ablakról, ahogy a kamerán nem látható objektumok is. Figyeljük meg, ahogy a dinamikusan mozgó npc-k a tükröződésben is árnyékot vetnek.

Először is, a legszembetűnőbb a tükröződések felbontása: konkrétan a renderelt kép felbontásának a negyede lesz (DRS függvényében). A másik a dinamikus objektumok mozgása: Miles és az utcán mozgó járművek minden képkockában frissítésre kerülnek. Ellenben a járókelőkkel, ők ugyanis csak minden második frame-ben kerülnek frissítésre. Így tudják elérni azt, hogy minden megfelelően kerüljön tükrözésre, még a dinamikus árnyékok is. A következő megkötés a másodlagos visszatükröződéseket érinti, ugyanis itt nincsenek ilyenek. Arra kell gondolni, hogy például egy irodaház üvegéről visszatükröződő másik irodaház üvegéről visszavetülő objektumok már nem jelennek meg az eredeti tükröződésben. Ez egyébként egy nagyon erőforrásigényes folyamat lenne, abban a kevés játékban, amik támogatják, ezt is cube map segítségével valósítják meg. Továbbá a tükörképben látható irodaházak belseje nem tükröződik. Még egy apró drawback, hogy az ambient árnyékok nem kerülnek bele a visszatükröződésbe. Az utolsó pedig a víz, ami körülveszi New Yorkot. Mivel a felülete túl nagy, ezért a játék egyszerűen SSR technológiát használ a benne lévő tükröződések megjelenítésre. Ez utóbbi egyébként nem annyira zavaró, hiszen gameplay közben messzire elkerüljük a vizet.

Szerintem önmagáért beszél...

Performance mode

A Performance mode kicsit másabb az előbbinél, ugyanis itt nincs ray traced reflection, cserébe viszont 60FPS mellett igyekszik 4K-ban megjeleníteni a képet. Itt a DRS sokkal agresszívabban van használva, legrosszabb esetben 1440p-re is leeshet a felbontás. Öröm az ürömben, hogy ebben a mode-ban megnő a képernyőn megjelenő tömeg (járókelők, autók) denzitása, így sokkal hitelesebben adja vissza a nyüzsgő New York érzetét.

Ettől függetlenül nyugodtan kijelenthető, hogy a három grafikai mód közül ez a legunalmasabb. Mégpedig pontosan azért, mert a magasabb felbontáson és fps-en kívül nem tud semmi plusszal szolgálni. Ugyanazon problémákat sorakoztatja fel, amelyeket az előző konzolgenerációban szinte minden játék. És a problémák forrása pont az, amiről ez a grafikai beállítás szól: a ray tracing hiánya. Hiszen enélkül a fejlesztők kénytelenek más módszerekhez fordulni annak érdekében, hogy valamilyen tükröződést varázsoljanak a megfelelő felületekre. Ilyen módszerek közé tartozik a Cube Mapping, valamint a Screen Space Reflection.

Rossz ránézni… A visszatükröződött város kihalt, a felbontás kritikán aluli. Miles nem tükröződik vissza az üvegről az SSR technológia korlátozottsága miatt.

A játékban cube mapek segítségével valósítják meg az épületek visszatükröződését. Ez egy hasznos és nem túl erőforrásigényes technika tükröződések megvalósítására. Képzeljünk el egy 3D objektumot, melynek minden oldaláról tárolunk egy statikus képet. Ezeket rendereljük rá egy 6 oldalú kockára (minden nézőpontból alkotott képet a kocka egy-egy oldallapjára. A nézőpontot a kocka középpontjába helyezve minden irányból nagyjából hihető visszatükröződést látunk a 3D objektumról. Ezt az eljárást párosítják az úgynevezett Probe-okkal, melyek segítségével a környezetben bárhova elhelyezhetünk ilyen cube map-eket, akárcsak ahogy a fényforrásokkal tennénk. Ez leegyszerűsíti az eljárást, hiszen a tükröződő felületekre automatikusan ráhelyezi a cube mapeket az adott hatótávolságon belül.

A fizikai alapú renderingnek hála a különböző felületekre különböző tükröződéseket tudunk alkalmazni. Erre azért van szükség, mert különböző felületekről különböző módon tükröződik vissza a fény, másként vetnek árnyékot. Shadow map-eket tudunk megjeleníteni vele, diffused lighting, ambient diffuse értékeket tudunk módosítani, sőt, még bounce lighting effektet is rá tudunk helyezni a visszatükrözött objektumra azáltal, hogy a probe-ok a környezetben található objektumok színeiről visszatükröződő fényt közvetlenül alkalmazzák a diffused felületre.

Itt mégszembetűnőbb az SSR korlátozottsága, Miles azon testrészei, melyek nem láthatók a kamerával, egyszerűen nem jelenítődnek meg a reflekcióban. A magasabb tömeg denzitás viszont bónusz pont.

Miles visszatükröződését pedig Screen Space Reflection segítségével érik el. Ez nagyon egyszerűen működő technológia, több konzolgeneráció óta ez a standard megvalósítása a tükröződéseknek, véleményem szerint emiatt annyira fontos a ray tracing megjelenése és elterjedése. Az SSR úgy működik, hogy a kamerán látható (renderelt) képet nemes egyszerűséggel egy tükrözést alkalmazva rá megjeleníti a tükröződő felületen is. Mindkét techológiának megvan a maga hátránya sajnos: ezek statikus tükröződést tesznek lehetővé, nem pontosak, nem is korrektek. Az SSR technológiából fakadó korlátozottságok még inkább szembetűnőbbek. Elég, ha egy visszatükröződő felület előtt elkezdjük mozgatni a kamerát.

Performance RT Mode

A Performance RT mode a megjelenés után, utólag került bele a játékba. A nevéből nem nehéz rájönni, hogy mit is takar: 60FPS mellett igyekszik real time ray traced tükröződéseket megjeleníteni a képernyőn. Nyilván ehhez mélyebben bele kellett nyúlni a game engine-be (különösen a streamingért felelős részébe), továbbá egyéb megszorításokat is alkalmazni kellett. Kezdjük a felbontással: a maximális felbontás ebben a módban megáll 1440p-nél, a DRS-nek hála viszont ez a szám akár 1080p-re is leeshet. (Itt meg kell jegyeznem, hogy egyetlen egy képet tudtam lőni, amin sikerült ilyen alacsony pixelszámot számolnom, így elmondható, hogy a legtöbb esetben tartani tudja az 1440p-t.)

Még a jeges aszfalton is tökéletesen tükröződnek vissza a távoli épületek.

Továbbá a felbontással együtt a tükröződések minősége is romlik. Erre, illetve a Fidelity mode-ra is vonatkozik, hogy a renderelt kép felbontásának függvényében változik a tükröződés felbontása is. Konkrétan negyede lesz a felbontása. A gyakorlatban ez annyit tesz, hogy ha például a megjelenített kép 4K, akkor a tükröződések a játékon belül csupán 1080p-esek lesznek. Továbbá a tükröződések minősége is romlik: a statikus objektumok ugyan ugyanúgy vetnek árnyékot a visszatükrözött képben, viszont az npc-k már nem. A másik fontos változás, hogy habár a gameplay közben a játék szinte hibátlanul tartja a 60FPS-t, a tükröződésekben visszaverődött mozgásmegjelenítés csak 30FPS-ben történik. Ez akkor figyelhető meg, ha egy kirakat előtt sétálunk, és a kirakat üvegén visszatükröződő npc-k mozgását követjük nyomon. A tömeg denzitása is leredukálódott, valahol a Fidelity/PS4 Pro szinten van. Amit még sikerült észrevennem, hogy a városban több homályos/poros üvegfelület található, mint Fidelity mode-ban. Erre nyilván azért volt szükség, hogy csökkentsék a visszatükröződésre alkalmas felületek számát és méretét.

Nemcsak a padló, hanem Miles ruhája is megfelelően veri vissza a fényeket.

Habár az 1440 és 1080p kicsit ijesztőnek hat, különösen a 4K megjelenítők korszakában, viszont aggodalomra semmi ok. Az Insomniac csapata már a 2016-ban megjelent Ratchet & Clank játékukba is sikeresen implementálták az általuk kifejlesztett Temporal Injection technikájukat. Ezzel az eljárással úgy tudtak közel 4K felbontású megjelenített képet előállítani, hogy a hardvernek nem kellett teljes felbontáson renderelnie, csupán kicsivel több, mint a felét (valahol 1080p-1360p között). Ezután a renderelt képet beleillesztik egy teljes méretű 4K képbe (injektálás). Az így kapott kép renderelt képkockáin ezután az algoritmus végigmegy, és mindegyiket a megfelelő helyre igazítja. Az így rekonstruált képre ezután Temporal Anti-Aliasing (TAA) élsimítást implementálnak. A végeredmény pedig egy szinte tökéletesen megjelenített 4K kép lesz. Ez azért fantasztikus eljárás, mert így nem kell a hardver erőforrásokat elpazarolni arra, hogy natív 4K-ban renderelje a megjelenített képet, mindemellett pedig egyidejűleg a jó minőségű élsimítást is megvalósítják ezzel. Szóval nem kell félni az alacsonyabb felbontás miatt, 4K kijelzőn sem lesz okunk panaszra az image quality miatt.

Miles egész teste (a maszk is, amit a kamera nem lát) visszatükröződik. Továbbá az utca azon része is, ami a kamera mögött van.

Optimalizálás szempontjából is jelesre vizsgázott a fejlesztőcsapat, mindhárom mode-ban igyekszik tartani a target FPS számot a játék. Professzionális eszközök híján ezt sajnos nem tudom lemérni, viszont szabad szemmel a cutscene-ek alatt bizonyos kameravágások után duplikált frame-ek keletkeznek, aminek köszönhetően eggyel csökken az FPS szám az adott vágást követően. Ezt nagyon nehéz szabad szemmel észrevenni, de jelen van. Gameplay közben viszont tartja az FPS számot, szóval jól működik a DRS technológia.

Megfigyelhető, hogy a járókelők által vetett árnyék már nem verődik vissza az üvegről. Továbbá a visszaverődő épület is ray tracing segítségével verődik vissza, nem cube map által.

Amik még kimaradtak, végszó

Habár minden kétséget kizáróan a ray tracing a leglátványosabb és leghangzatosabb pontja a játéknak, számtalan egyéb aspektusból is érdemes megközelíteni a játékot, és fontosnak tartom, hogy beszéljek róluk. Az első ilyen a már PS4-en is top kategóriát képviselő per pixel motion blur tökéletes shutter speed-del. Gameplay közben úgy működik, hogy hálóingázás közben a kamera középpontjában lévő dolgok élesek maradnak, míg a kamera jobb és bal oldalán elsuhanó környezetet elhomályosítja. Ennek az erőssége természetesen állítható, vagy akár ki is kapcsolható. Egyéni preferencia, véleményem szerint hibátlan, nem is láttam olyan játékot, ahol ennél jobb motion blur lenne. Ugyanígy ki-és bekapcsolható a film grain effekt is. Szemcsésedés effektet alkalmazva igyekszik filmszerűbb élményt biztosítani, melyből elsősorban a cutscene-ek profitálnak.

Kivételesen magas texture detail, és tökéletes motion blur akció közben.

Külön kiemelendőek a rendkívül magas minőségű karaktermodellek. Az előző generációhoz képest rettentő sokat fejlődött a skin és eye shading, kidolgozottabb és élethűbb fogazatot alkottak nekik, melyek sokat hozzátesznek a cutscene-ek minőségéhez. Továbbá, új hair strand system került implementálásra a játékon belül, melynek köszönhetően többfajta hajtípust is képes hibátlanul megjeleníteni, a róla visszavetülő fények extra layert adnak a grafikai részletességhez, valamint a haj mozgás közbeni megjelenítése is páratlan. Ez a kidolgozottság ugyanúgy igaz az egyszerű járókelőkre is, akiket normál gameplay mellett sosem kellene ilyen közelről néznünk. A különböző anyagú ruházatok is eddig nem látott, páratlan minőségű textúrákat kaptak, melyekről a fény is természetes hatást keltve verődik vissza.

Figyeljük meg, mennyire sok részlet jelenik meg az arcán, az új skin-es eye shadingnek hála. Ugyanúgy megfigyelhető a kabát textúrájának részletessége.

Az új hair strand system az első, amivel a főmenüben találkozhatunk. Figyeljük meg a kabát bundájáról és Miles hajáról visszacsillanó neonfényt. És igen, a fejhallgatóról is visszatükröződik a külvilág .

Megint csak a rettentően részletes karaktermodellekre egy példa. Figyeljük meg Peter fülcimpáján lévő pehelyszőrökről visszaverődő holdfényt. Illetve ilyen élethű szemöldöke se volt még egy videojáték karakternek sem…

Nem szabad elfelejtenünk, hogy az új generáció nemcsak a grafikai minőségben lépett szintet, hanem egyéb quality of life szempontból is. Ilyen például a meglepően gyors töltési idő. Csupán 4,5 másodperc alatt a főmenüben találjuk magunkat, további 1,5 másodperc szükséges ahhoz, hogy onnan egyből a játékba dobjon be minket. Csak összehasonlításként PS4-en ehhez 34 másodpercre volt szükség. Újdonságként hat továbbá a kontrollerben található haptic feedback, illetve a játékon belüli implementációja. A DualSense kontrollerben nem egyszerű rezgőmotor található, hanem egy speciális programozható membrán, ami hihetetlenül nagy ellenállást tud biztosítani, valamint minden pontja programozható, nem csak egy-egy rezgőmotorja. Ez leírhatatlanul immerzív élményt biztosít, mintha az ujjunk nyomná meg a hálóvető gombját. Talán az Astro’s Playroom, illetve bármely FPS játékban ez szembeötlőbb és jobban kihasznált feature, de abszolút kellemes újítás. Továbbá minden hálólövés után hangot ad ki a kontroller, amelybe ezúttal minőségibb hangszóró került. Ezek nagyon sokat hozzáadnak a játékélményhez.

Végül, csupán a fun factor miatt szeretnék egy összehasonlító képet mutatni a játék PS4-es, illetve PS5-ös változatáról, csak hogy érezzük a generációnyi különbséget.

Így nézett ki PS4-en a játék

És így PS5-ön. Itt már befizették az áramszámlát

Összegezve az elhangzottakat, elmondható hogy az Insomniac Studio kitett magáért. Parádés technikai showcase-t szállítottak le PS5 nyitócímként, előrevetítve a konzol gaming jövőjét: hardver accelarated real time ray tracing, akár 4K felbontás, 60FPS, adaptív triggerek, szinte nem létező töltési idők. És mindez elérhető már az első napon. Bele se merek gondolni, mit fog kihozni ebből a hardverből a többi belsős stúdió (igen, rátok gondolok Naughty Dog és Santa Monica). Szerencsére nem kell sokáig várni az Insomniac következő nagy dobására, hiszen júniusban érkezik a következő játékuk, a Ratchet & Clank: Rift Apart.

Azóta történt

  • Cica, téged választalak!

    Valószínűsíthető, hogy az idei nyári uborkaszezon egyik legfrissítőbb és legaranyosabb címe a Stray.

Előzmények