Módosított Unreal Engine-nel jön a Gears 5

Egy ideje már lehet tudni, hogy érkezik a Gears of War sorozat legújabb része, amely Gears 5 néven PC-re is tiszteletét teszi, ráadásul a héten már lehet is rajta játszani. A fejlesztést a The Coalition végzi, amely stúdió a Gears of War: Ultimate Edition és a Gears of War 4 címekért is felelt. Minden esetben az Unreal Engine-re építettek, viszont a Gears 5 szempontjából úgy tudjuk, hogy nagyon belenyúltak a videojáték-motor alapvető működésébe. Ennek egy fő indoka van: az Unreal Engine egy elég jól felépített általános megoldás, de pont a sokszínűsége akadályozza meg abban, hogy bizonyos körülmények között gyors legyen. Olyan hatalmas tragédiát ez nem jelent, ugyanis a tehetős stúdiók vagy írnak saját videojáték-motort, vagy képesek olyan erőforrást belerakni a fejlesztésbe, hogy igényeik szerint módosítják az Unreal Engine-t, és ezt a The Coalition már megkezdte a korábbi Gears of War címeknél is, de most érett be igazán a munka.

A Gears 5 esetében két fő szempont volt az Unreal Engine átalakítása tekintetében. Az egyik a jobb skálázódás biztosítása. Azt tudni kell, hogy az Epic ugyan folyamatosan dolgozik ezen, viszont számukra nem annyira kritikus a DirectX 12 API támogatása. Ehelyett a fókuszt a DirectX 11 és a Vulkan kapja. Nem véletlen, hogy ez a két API számít az egyes, célzott operációs rendszereken az alapértelmezettnek. A Linuxon és Androidon a Vulkan, míg Windows esetében a DirectX 11. Ettől függetlenül a DirectX 12 is támogatott, csak a PC tekintetében sehol sem alapértelmezett, mert az Epic számára nem kritikus fontosságú API-ról van szó. A The Coalition nem is ezt használja, hanem már a korábbi Gears of War címekhez is írtak egy saját DirectX 12-es leképezőt, amit természetesen a megfelelő licenc mellett meg tudnak tenni, és a Gears 5-höz ezt fejlesztették tovább. A már említett korábbi játékokban két problémája volt a leképezőnek, egyrészt nem skálázódott eléggé, továbbá az aszinkron compute is limitált körülmények mellett volt használva. Ettől függetlenül működött, de a jobb minőség eléréséhez változtatni kellett rajta.

A The Coalition számára nagy segítség volt, hogy a Microsoft visszaportolta Windows 7-re is a DirectX 12-es futtatási környezetet, mivel így el tudták dobni a DirectX 11-et, amely immáron nem számít fontosnak a meghozott döntések tekintetében. Ilyen formában csakis a DirectX 12-höz igazodó rendszert tudnak kialakítani, és ebben a tekintetben a többszálú parancsgenerálásra való optimalizálás volt a kulcstényező. Ennek hála az új leképező sokkal jobban skálázódik a korábbi verziókhoz viszonyítva, vagyis nyugodtan lehet építeni a manapság terjedő sokmagos processzorok erejére. Maga a skálázódás 20 szálig lineáris, de bizonyos helyzetekben akár tovább is, viszont ezzel kapcsolatban megtudtuk, hogy azért nagyon nehéz meghatározni a maximális értékeket, mert függ a jelenettől is. A Gears 5 esetében elég ritkák lesznek azok a helyzetek, ahol szükség lesz 20 szálra, hogy optimális legyen a feldolgozás, viszont ez nagyrészt egy játékdizájnból eredő döntés, a rendszer amúgy bírná.

Az aszinkron compute is alapos átdolgozásra került. Egyrészt amelyik futószalagot lehetett, azt átírták compute shaderre. Gyakorlatilag az utófeldolgozás teljesen erre épít, és amíg a korábbi részekben csak egy-két ilyen effekt futott a grafikai futószalagokkal párhuzamosan, addig a Gears 5 esetében majdnem az összes aszinkron compute módban kerül végrehajtásra. Persze sok tízezer sornyi shadert átírni elég sok munka volt, viszont a mai hardverek mellett már nagyon megéri ez a fajta optimalizálási irány.

Végül lényeges szempont volt az is, hogy grafikai szinten skálázható legyen annyira a rendszer, hogy a réginek számító hardverekkel is fusson. Információink szerint a Gears 5 leginkább a rendszermemóriára érzékeny. Ebből mindenképpen kell 8 GB, különben nem lesz túl jó az élmény, ugyanakkor a processzor szempontjából nagyon jól elvan egy régebbi négymagossal is. VGA-ból viszont kell egy nagyjából másfél TFLOPS-ot biztosító modell, akkor is, ha csak 2 GB-nyi fedélzeti memóriája van. Erre azért van szükség, mert bizonyos, korábban CPU-n futó eljárások átkerültek a GPU-ra, vagyis a számítási teljesítmény tekintetében megnőttek az igények. Cserébe viszont a grafikai minőség egészen sokat ugrik.