Extrém mértékű, GPGPU-s terepgenerálást használ a Serious Sam 4

Másképp nem igazán lehetne szállítani 16 384 km²-nyi információt a célzott platformokra.

Már hónapok óta nem titok, hogy érkezik a Serious Sam 4: Planet Badass című játék, amitől valószínűleg minden rajongó tudja, hogy mit várhat, a kérdés leginkább az, hogy mekkora méretben, mennyi ellenféllel. Az idei GDC-n a kérdések egy részére maga Alen Ladavac, a Croteam technikai igazgatója válaszolt, aki részletezte, hogy miképp tudják biztosítani a célzott platformokon azt az elképesztő kiterjedésű játékterek, amit kitaláltak.

A méretre tehát választ kaptunk, konkrétan 128 x 128 km-es terep áll majd rendelkezésre az ellenségek aprításra. Belőlük is lesz jócskán, mondhatni a játékos többet fog lőni, mint futni, de ez nem tartozik szorosan a terepre vonatkozó problémák közé. Mert gondok ilyen méretekben azért akadnak, elvégre virtuálisan 16 384 km²-ről van szó. Alen Ladavac azért kiemelte, hogy minden megadott hosszúsági adatnál 1024 a váltószám az valóságban megszokott 1000 helyett, de ez a számítógépek jellegéből adódik.

De miért is baj a nagy terep? Igazából nem baj, de a stúdió azt tervezi, hogy virtuális méterenként 64 vertex lesz, ami olyan háromszögeket fog eredményezni, amelyek legnagyobb oldala átlagosan 1,5 cm hosszú. Ez akkora adatmennyiség, amely gyakorlatilag a 100 TB-ot közelíti, vagyis a terep hagyományos módon történő szállítása nem alternatíva, egyszerűen a célzott gépeknek nincs kellő tárhelye. És akkor itt még nem is beszéltünk a textúrázásról, ami négyzetméterenként 1024x1024 texelt jelentene maximum, ez az a szint, ami Serious Sam 4 játékmenetét tekintve szükséges a megfelelő minőség eléréséhez.

A Croteam számára világos volt, hogy a tervezett koncepció még a vertexek számának drasztikus csökkentése mellett sem fog működni, így már a kezdetektől a procedurális megközelítésben gondolkodtak. Végül egy quadtree alapokon működő adatstruktúrát dolgoztak ki, ami tartalmazza a terepre vonatkozó adatokat, ezen belül olyanokat, amelyeket előre megterveztek, például növényzet, sziklák, illetve egyéb tipikus tereptárgyak. Ugyanakkor a virtuális tér nagy része nem előre rajzolt, vagyis a felhasználók rendszerei valós időben generálják majd, bizonyos előre tárolt információk alapján.

A szállított adatokat tekintve a fenti megoldással a terep belefér nagyjából 200 MB-ba, viszont az adott számítógépnek kell gondoskodnia arról, hogy a terepnek az éppen aktív szelete megfelelően le legyen generálva a leképezés megkezdése előtt. Ez nagyrészt a GPU feladata lesz. Itt ugye abból a szempontból kellemes a helyzet, hogy ha az adott szelet már le van generálva, akkor az már benne lesz a memóriában, a probléma tehát nem is igazán a számítási teljesítmény, hanem grafikus vezérlők melletti fedélzeti tár. Az erre vonatkozó igényekről egyelőre nincsenek konkrét adatok.

Az biztos, hogy a Serious Sam 4: Planet Badass a terepgenerálás szempontjából igen innovatívnak ígérkezik, és remélhetőleg koncepciót más fejlesztők is átveszik.

Előzmények

Hirdetés