Je tomu přes tři týdny, co společnost Crytek vydala svou první pořádnou hru v proběhnuvší tříletce. S Crysis 2 frankfurtské vývojářské studio dosáhlo úrovně technicky excelentní, graficky výjimečné a v mnoha aspektech zlomové střílečky. Jak jste se mohli dočíst v singleplayerové recenzi, Crysis 2 je prostě radost hrát. Než ale zhodnotíme i multiplayerovou část hry, která si přecijen žádá o něco delší testovací dobu, pojďme se spolu s Digital Foundry vrátit k prvním krůčkům Crysis 2. Přiblížit si, jak vůbec hra vznikla. Dnes o tom, jakým způsobem probíhala adaptace CryEnginu na obě konzole.
V první řadě musel vývojářský tým Cryteku přizpůsobit jádro CryEnginu, aby bylo schopno běžet i na konzolích. Po letech práce na nejmodernějších vymoženostech v oblasti počítačové techniky nebylo pro lidi z Cryteku vůbec jednoduché přizpůsobit se technologiím relativně zastaralých konzolí. Tiago Sousa, hlavní grafický inženýr Cryteku, dokonce prohlašuje, že šlo o „největší výzvu v historii společnosti“. Němci ale byli na druhou stranu hodně zvědaví, nakolik Xbox 360 a PS3 dokáží vymáčknout.
„Co se GPU obou konzolí týče, jsou si docela podobné. Museli jsme si pouze uvědomit, že RSX čip u PS3 je v oblasti vertex processingu (jeden z bloků vnitřní architektury Direct3D, pozn. Czechgamer) handicapován, jinak jsou rozdíly smazatelné. Zejména tedy v porovnání s PC platformou,“ vysvětluje Sousa.
„Jestliže mám ale Microsoftu a Sony něco vytknout, je to paměť jejich konzolí. Je velmi malá a jde o ochromující faktor z vizuální perspektivy. Rozhodně bych byl rád, kdyby další generace konzolí přišla alespoň s 8GB pamětí. Naopak velmi chválím profilování obou konzolí. PIX Xboxu 360 i GPAD třetího PlayStationu odvedly výbornou práci. Průmysl počítačových technologií by se mohl z takovýchto nástrojů lecčemu přiučit,“ tvrdí Sousa.
Celé optimalizační úsilí německého týmu vývojářů stavělo na přizpůsobení CryEnginu pro fungování na multijádrové architektuře konzolí. Zatímco Xbox 360 běží na šesti hardwarových threadech tříjádrového procesoru Xenon, PS3 má na své PPU thready dva. V záloze však obsahuje dalších šest SPU koprocesorů.
First-party vývojáři Sony právě na tyto koprocesory často přesouvají všechny či alespoň určité procento grafických procesů z RSX čipu. Vzniknou tak jakési video koprocesory. Pakliže dostačuje paměť a vytížení nedosahuje enormních hodnot, lze tuto operaci využít k značnému zrychlení průběhu čekajících procesů. Jako kdybyste přidali další grafickou kartu. Výpočet shaderů realizovaný na SPU procesorech může PS3 verzi oproti X360 verzi zrychlit několikanásobněkrát. U Crysis 2 je to ale složitější, RAM paměť je totiž silně limitována.
„SPU procesory jsou samozřejmě schopny odlehčit zátěž na RSX, vše ale ukusuje hlavní paměťové úložiště. SPU mohou stínovat, provádět triangle culling, skinning a tak dále. Vzhledem k tomu, že levely v Crysis 2 jsou ale poněkud rozsáhlejší než v jiných hrách, jsou SPU procesory částicemi, animacemi, low-level renderingem a podobnými úkony již natolik zaneprázdněny, že na maximální výpomoc RSX už nezbývá paměť,“ vysvětluje technický vedoucí Cryteku a rovněž hlavní programátor PS3 verze hry Michael Glück.
Glück dále dodává, že metoda implementace multijádrové podpory využitá u X360 byla velmi podobná té na PC. Kvůli PlayStationu 3 ale museli vývojáři výpočetně náročné části enginu výrazně pozměnit. Bylo nutné, aby se spouštěli jinak, než měly ve zvyku – úkonově.
Rozdíly mezi oběmi verzemi nakonec tedy jsou. A jaké? Dozvíte se v příštím díle.