Nem volt egyszerű PC-re hozni a PlayStation 4 húzócímeit

A shader nyelvek fejlődése nyitotta ki a kapukat, így a Decima video-játékmotor shaderei jól portolhatóvá váltak.

A Sony igen nagy meglepetést okozott azzal, hogy a PlayStation 4 két húzócíménél is elengedték az exkluzivitást, így ezeket megkaphatják a PC-sek is. Konkrétan a Horizon Zero Dawn Complete Edition és a Death Stranding nevű alkotásokról van szó, amelyek portjai nyáron meg is jelennek.

A PC-s verziók azonban nem voltak olyan egyszerűek, ugyanis korábban pusztán technikai szempontok alapján is elképzelhetetlennek tűnt, hogy a fenti két játék által használt Decima video-játékmotort PC-re hozzák. Az egyik legnagyobb problémát az adta, hogy ezt a rendszert alapjaiban a PlayStation 4-hez fejlesztették, tehát a meghozott döntések tekintetében csak az számított, hogy mit tud a Sony konzolja. Ez eléggé szabaddá teszi a lehetőségeket, de ugyanakkor gondot is jelent, ha valamikor esetleg egy címet egy másik platformra is ki kellene adni.

Ironikus módon a Microsoft segített, ugyanis az elmúlt pár évben nagyon rákapcsoltak a shader nyelv fejlesztése szempontjából, és ezzel egyébként kifejezetten jól tartotta a lépést a Vulkan API-t biztosító Khronos Group. Bizonyos tekintetben a PC-s iparág össze is dolgozott, hogy a modern specifikáció szerint írt magas szintű shader kódokat jól lehessen fordítani akármelyik explicit API köztes nyelvére. Ez különösen fontos a Decima video-játékmotor esetében ugyanis már az első verzióban erősen kihasználták a PlayStation 4 PSSL shader nyelvének legtöbb fejlett képességét, amelyekre viszont szabványos formában csak a shader modell 6.0 óta van alternatíva PC-s szinten. Ezért is kellemetlen, ha egy célplatformra kell dolgozni, majd onnan továbblépni, hiszen hiába vannak ugyanolyan vagy minimum hasonló hardverek egy másik platformon, ha a szabványos szoftveres alapok nem teszik lehetővé azok optimális kihasználását.

A shader modell 6.0-val azonban az érintett játékok, wave terminológiára erősen építő shader kódjai jól fordíthatóvá váltak, enélkül át kellett volna írni a meglévő kódok egy részét, ami magával vonja az optimalizálás újragondolását is, tehát viszonylag nagy munkát jelentene az egész portolás. Nem véletlen, hogy amikor egy multiplatform játék készül, akkor a célplatformok köztes képességei vannak célozva, így biztosítva azt, hogy különösebb nehézségek felvállalása nélkül, mindenhol jól futhasson a program.

A Horizon Zero Dawn Complete Edition és a Death Stranding esetében a Decima videojáték-motor ugyan egységes, de a két játék különböző verziót használ. Információink szerint ezeket a PC-s portok szempontjából amennyire lehet egységesítették, illetve a leképező a támogatott API-k tekintetében készült DirectX 12 és Vulkan leképező is. Az viszont nagyon valószínűtlen, hogy az érkező játékok mindkettőt tartalmazni fogják, mivel az a karbantartási költségeket növeli, miközben különösebb előnyt a felhasználók számára nem ad. A fejlesztés tekintetében azonban hasznos, ugyanis annyira hasonlít egymásra a két explicit API, hogy lényegében pár ezer kódsort kell csak megváltoztatni, hogy mindkettővel működjön az adott videojáték-motor. Ez a nagy projekteknél rendkívül csekély munkának számít, miközben valós előny, hogy a rendszer két API-n is tesztelhető. Nagyon sok stúdió csinálja így, függetlenül attól, hogy a végeredményt csak az egyik API-ra szállítják, ráadásul egyre egyszerűbb is erre a koncepcióra építeni, mivel a Vulkan már eléggé jó eredménnyel kezeli a HLSL-ben írt shadereket, hála a fordító-infrastruktúrák fejlődésének.

A Decima videojáték-motor PC-s verziója egyébként kifejezetten jól fut mindkét játék alatt, nem igényel rendkívül erős hardvereket, de persze, hogy ha 4K-s felbontásra vágyik a játékos, akkor azért nem árt egy izmosabb gép.

Előzmények

Hirdetés