A nagy next-gen őrületben, ami generációról-generációra megjelenik a videojáték-iparágban, olykor elfelejtjük, milyen eszközök és fejlesztői, valamint kreatív művészeti tudásháttér bújik meg egy-egy projekt mögött. Bár a zárt ajtók zajló, éveken át tartó alkotói tevékenységek az utóbbi időben több nyilvánosságot kaptak, a játékosok többsége leginkább annyit érthetett meg ezekből az "ügyekből", hogy egy topkategóriás cím esetében az elvárások (minőségi, alkotói, üzleti és közösségi) még a legedzettebb csapatokat is megingathatják.
Talán ezekre a jelekre reagálnak az Unreal Engine fejlesztői is, akik nemcsak a saját bőrükön érzik az egyre növekvő nyomást a vizuális határok kitolása közben, hanem a teljes iparágat nyomasztó fejlesztői problémákkal is tisztában vannak. A játékmotor 5. generációjának korai hozzáférésű változata egyszerre kápráztat el és nyújt már-már álomszerű hatékonyságot, aminek kettőse jelenti tulajdonképpen az igazi "next-genséget".
Fotórealisztikus világot mindenkinek
Ha most visszapörgetjük picit az idő kerekét, shaderes emlékeink közül előbukkanhat az UE3-as verziójának startja és menetelése, ami egyrészt berobbantotta az aktuális Xbox generáció iránti lelkesedést a Gears of War megjelenésével, másrészt az első törekvés volt a multi-platform működés irányába. A konzolok és PC-k közötti átjárás előszele játékfejlesztői és játékosközösségi szempontból is izgalmas lehetőségeket tartogatott, az igazi forradalmat azonban a mobileszközök beillesztése jelentette. Emlékezzünk vissza, mekkora megdöbbenéssel néztük az Epic Citadel demóját az akkori iOS készülékeken, majd nem sokkal később az Infinity Blade című akció-RPG izzasztotta az iPhone és iPad hardvereket.
Ahogy nőtt az elérhető játékosbázis, úgy emelkedtek az elvárások is, és például a 4. generációs UE-vel párhuzamosan egy teljesen új licencelési modellt kellett behozni a piacra, ami leköveti a fejlesztői oldal szüntelen mozgolódását. Az UE4 természetesen az adott trendeknek, hardvereknek és API-knak (DirectX, OpenGL, Metal, Vulkan, stb.), megfelelve további grafikai fejlesztésekkel lett gazdagabb, ám talán nem rugaszkodunk el túlságosan a valóságtól azzal a véleménnyel, hogy ez a generáció már mutatott abból némi ízelítőt, mi lesz fókuszban az elkövetkezendő évtizedekben. Ez pedig nem más, mint a valós időben történő, fotórealisztikus játékfejlesztés és játékélmények, platformtól függetlenül.
Lásd és mutasd, amit megálmodtál
Az Unreal Engine 5 rengeteg kisebb-nagyobb újítással érkezik, ám van egy-két olyan funkció, illetve eljárás, ami alapjaiban változtathatja meg a játékgyártási folyamatokat. Nem azért, mert az Epic most hirtelen feltalált valami olyat, amire eddig senki sem gondolt, vagy kínált volna rá valamilyen megoldást, sokkal inkább az elterjedésbe vetett energia akkora, hogy várhatóan új vágányra teszi át a fejlesztői gőzmozdonyokat. Miről is van szó pontosan? Kicsit lépjünk vissza, és próbáljunk meg egyszerű játékos fejjel gondolkodni. 2021-ben mit várunk el egy next-gen játéktól? Amellett, hogy legyen hibamentes, próbáljon meg valamilyen módon lenyűgözni, láttasson és hallasson velem olyan minőségben, amire emlékezni fogok, és ehhez az audiovizuális élményhez olyan történet, cselekményvezetés társuljon, ami képes magába szippantani.
Úgy fest, hogy az UE5-ben létrejött pár olyan elem, amiknek köszönhetően a fejlesztői fókusz a játékélményre terelődhet vissza, vagy másképp mondva több idő juthat olyan finomhangolásokra, amiktől korábban az alap játékszerkezeti és tervezési kihívások vették el az erőforrásokat.
Még több részlet még szebb megvilágításban
A Nanite néven futó fejlesztés az UE5 egyik alapköve. Ez az egyszerűen virtualizált mikrosokszöges geometria rendszernek nevezett funkció új szintre emeli a megjelenített képi elemek (tereptárgyak, felszínek, építmények, karakterek) részletességét, és akár több milliárd háromszöget képes egy jelenetre rajzolni úgy, hogy a kitűzött képkockasebesség megmarad és a kameramozgástól függően tartja a megszabott részletességet az adott felbontáshoz igazodva.
Ráadásul a különböző, nagyrészletességű modellek beimportálása egyszerűbb, mint valaha, a motor azonnal, valós időben behúzza és beépíti az adott jelenet részeként. Ez utóbbit a fejlesztői környezetbe integrált Bridge teszi lehetővé, ami a Megascans könyvtárat tallózva több ezer nagyfelbontású mintához, pályaelemhez nyújt hozzáférést ingyenesen. Mindkét fejlesztői funkció attól a Quixeltől érkezik, ami sokezres nagyságrendben kínál két és háromdimenziós grafikai elemekhez (tájak, növényzet, épületek, tereptárgyak, stb.) hozzáférhetőséget, ráadásul a vizuális könyvtár folyamatosan bővül. Talán nem véletlen, hogy a cég egy ideje az Epic Games irányítása alá tartozik.
A Nanite által generált pályarészeknek ad életet a teljesen dinamikus megvilágítást előidéző Lumen, ami az adott jelenethez társított fényhatásoknak megfelelően (pl. napszak változása, elemlámpa használata) igazítja a fény-árnyék megjelenítést azonnal, késlekedés nélkül. A Lumen részeként az időjárási tényezők összetettségét képes modellezni és finomhangolni a Sky Atmosphere, amivel nemcsak az egyszerűbb napszakváltások és felhőmozgások állíthatók be, hanem akár egyedi atmoszférát is létrehozhatunk a jelenetnek megfelelően. Mindezt pár kattintással, valós időben látható módosítások mellett.
Világok teremtése együtt
Bizonyos szempontból talán még a Nanite és Lumen párosánál is fontosabb fejlesztés a World Partition funkció, ami egy olyan kollaborációs eszköz, mely segítségével rendkívüli mértékben növelhető a fejlesztői csapat egyes részlegeinek együttes hatékonysága, illetve az egyes projektszalagok is rövidebbé válhatnak a teljes idővonalat tekintve. A hagyományos pályatervezési módszerek mögül lép előre az újítás, ami lehetővé teszi, hogy az adott jeleneten vagy épp pályarészen egyszerre több csapattag is dolgozhasson anélkül, hogy a változtatások ütközzenek vagy felülírják egymást. A kezelőfelület automatikusan cellákra bontja a betöltött pályarészt, így az alkotó ténylegesen csak az adott cellán dolgozik, illetve az egyes tárgyakat nem a pálya szintjén kezeli az UE5, hanem az adott alkotó szintjén; például bármilyen változtatás a növényzeten az ehhez tartozó alkotói fájlban tárolódik.
A World Partition ezen felül egyfajta hardverkímélési eszköz is lehet, az egyre nagyobb virtuális világok betöltése ugyanis hamar memória és tárhely limitekbe ütközhet. A szerkesztőfelületen mi magunk állíthatjuk be, hogy a kamera mozgásnak megfelelően milyen sugarú körben töltse be a motor az új pályacellákat, a távolodó elemeknél pedig váltson át alacsony minőségű textúrák megjelenítésére.
A játék cselekménye közben dinamikusan változó világokat ráadásul úgynevezett adatrétegekbe menthetjük, amiket egy kattintásra engedélyezhetünk vagy tüntethetünk el az adott jelenetből. Például létrehozhatunk egy rejtett útvesztőt, ami bizonyos akciógombra reagál, és csak a játék adott pontjain van rá szükség, vagy az adott pályarész klónját, ami a játékos átváltozásának megfelelően alakul át, de az alap elemeit megtartja.
Karakterek egymás között
Nem meglepő módon az egyes karakterek mozgási és fizikai jellemzői is fejlődést mutatnak az új generációs játékmotorban. Apróságnak tűnhet, de mégis mennyire alapvető elvárás például az, hogy a főhősünk az adott felületeknek, tereptárgyaknak megfelelően sétáljon és emelje másképp a lábát, ha pl. egy nagyobb kődarabra lép. Ennél picit többet kínál a karakter és a környezeti elemek interakcióján javító Animation Motion Warping, ami már egy létrehozott animációt képes módosítani a különféle pályaelemeknek megfelelően.
A demonstrációs videóban jól látszik, ahogy a karakter egyik mászási animációja miképp alkalmazkodik a méretben eltérő sziklákhoz. A Motion Warping a betáplált méretadatoknak megfelelően állítja be, hogy milyen magasra kell ugrania karakternek, valamint hova kell pontosan érkeznie az ugrást követően. Sőt, még arra is figyel, hogy az eredeti animációba épített, a "karakter a kezével megérinti a sziklát" parancs is meglegyen az ugrás során.
Kis érdekesség, hogy a különböző karakterek egymáshoz viszonyított animációjában is történtek előrelépések, az egymással tusakodó felek küzdelmében bizonyos animációk pontosabb és finomabb módon kivitelezhetők a másik karakter helyzetének, mozgásának megfelelően. Talán nem is egy-egy összecsapás kivitelezése lesz az érdekes a jövő játékaiban, hanem a mainál összetettebb NPC-k interakciója a főhőssel a párbeszédek, közös akciójelenetek során.
Hangolódj rá te is
Végül de nem utolsósorban a hanghatások megalkotásának folyamatát teljesen új alapokra helyezték az UE5-ben. A Meta Sounds egyfajta procedurális megoldás, amely átláthatóbb és ezáltal kezelhetőbb audiostruktúrát valósít meg. Előre megadott paraméterek mentén lépnek be a különböző hangeffektek, melyek parancsra egyéb hangokat hívnak és szólaltatnak meg. Kiváló példa a videóban látott lézeres tüzelés hangja, amelynek folyamatábrája megmutatja, miképp jön létre ez az elem.
Nehéz írásos formában átadni mindazt, amire az Unreal Engine új kiadása képes, ezért érdemes megnézni a fenti bemutató videót is. Ha pedig megjönne a kedved a fejlesztői környezet kipróbálásához, és a demót is kipróbálnád, látogass el az Early Accesst biztosító weboldalra.