PC és konzol, avagy az új generációs játszma

Rendszerszintű integráció a gyakorlatban

A konzolokba tervezett APU-kban az összes hardveres újítás arra vonatkozik, hogy a fejlesztők a GPGPU (grafikus processzoron végzett általános számítási feladatok) algoritmusokat ne csak a grafika minőségének javítására, hanem a játékmenet befolyásolására is kiterjesszék. Erre bonyolult és egyszerű példákat is fel lehet hozni. Utóbbira vonatkozóan megemlíthető, hogy részecskeeffekt szinte minden modern játékban van. Gondolhatunk itt a füstre, ami egy alapvető játékelem. Ez azonban csak vizuálisan jelenik meg, vagyis a füstöt lényegében csak a felhasználó látja. Ennek az oka, hogy az aktuális játékokban soha semmilyen GPGPU-s részecskeszimuláció nem kerül visszaírásra a játék jelenetének számításába. Ennek az egyik hatása, hogy a füstre nem reagálnak direkten a virtuális világban kóborló szereplők, így rengeteg trükköt kell bevetni, hogy a mesterséges intelligencia egyáltalán felfogja, hogy a játékos olyan helyen van, amit az adott gép által irányított ellenfél nem láthat, így ne is tüzeljen oda.

Aki viszonylag sok játékkal játszott, tapasztalhatta már, hogy a mesterséges intelligencia nincs mindig a helyzet magaslatán, így például előfordulhat, hogy a felhasználó érzi, hogy a füst szélén áll, így az ellenfelek elméletben biztos látják, de mégsem tüzelnek. Valójában a gép által irányított karakterek csak azt csinálják, amit a program kér tőlük, és a rendszer szerint a játékos még mindig abban az előre meghatározott zónában van, ahol elvileg a füst láthatatlanná teszi.

Ennek gyökeres ellentéte az a szituáció, amivel szintén lehet találkozni, és hasonlóan kellemetlen. Alapvetően arról van szó, hogy a füsttel teli területen teljes vakságra kényszeríteni a mesterséges intelligenciát igen kockázatos, így a fejlesztők inkább az ellenfelek úgymond látását korlátozzák. Ez a program szintjén azt jelenti, hogy a virtuális karakterek nézőpontjából rengeteg sugár indul ki, viszont ezek jó részét a füstként jellemzett területen eldobja a rendszer. Ez reális eredményt ad akkor, ha közel kerülünk az ellenfélhez, viszont magával hozza azt a kellemetlenséget is, hogy a legnagyobb füstben is eltalálhatja a játékos virtuális mását egy pásztázó sugár, aminek a legrosszabb esetben egy halálpontos fejlövés a következménye.

Ezek az apró problémák annyira általánossá váltak, hogy a legtöbb játékos már nem is érzékeli, de a fejlesztők rengeteg területen kutatják a jobb játékélmény lehetőségét, márpedig a jobb mesterséges intelligencia egyértelműen segíthet ezt javítani. Ehhez viszont pontosabb adatokkal kell táplálni a gépi ellenfeleket, és az integráció rengeteg területen pont ezt teszi lehetővé. A részecskeeffektek például még az adott jelenetbe visszaírhatók, vagyis a gép pontosan ugyanazokat az információkat kapja meg, amiket a játékos a képernyőn lát. Persze a mesterséges intelligencia nem kap képi megjelenítést, viszont a visszaírt adatokból igen pontos képet festhet le a rendszer például a füstről, így sokkal több adat áll rendelkezésre ahhoz, hogy a mesterséges intelligencia megfelelően döntsön egy-egy szituációban. Ez kétségtelenül az egyik legegyszerűbb példa arra, hogy a fejlesztők miért szeretnének mély integrációt, és ebből könnyen kitalálható, hogy más területeken is igen drámai lehet az újítások hatása. Ami a legfontosabb, hogy nem érdemes már csak a grafikára gondolni, ha az integrált grafikus vezérlőről beszélünk, mivel az sokkal komolyabb feladatokat kap.

A visszaírásnak a fizikai szimulációk szempontjából is szerepe lesz. A GPGPU alkalmazása a fizika számításához nem újdonság, de az aktuális rendszerek csak vizuális tartalomként értelmezik ezt, vagyis mondhatjuk úgy is, hogy grafikai effektekről van szó. Az új konzolokon a fizika szimulálására úgy lesz lehetőség, hogy még ugyanabban a jelenetben megkapja a rendszer a szükséges információkat, ami lehetőséget ad arra, hogy az IGP-vel gyorsított fizikai hatások a játékmenetet is befolyásolják, ami dedikált grafikus processzorral nem igazán valósítható meg.

Egy játékban a rendezésre is viszonylag sokszor van szükség, ami számítással jár ugyan, de végső soron segíti az adott képkocka hatékony leképzését. Számos GPGPU algoritmus létezik a rendezés szempontjából, melyek a CPU-n futó megoldásokhoz képest számottevően gyorsabbak. Az meg főleg segít ennek az elvnek, hogy a konzolok APU-jai egységes címteret használnak, aminek hála a GPGPU-s rendezés eredményét azonnal látja a processzor.

A mesterséges intelligencia által irányított egységek útkeresése is egy igen érdekes terület. A mai játékokban nincs túl sok szereplő az adott jelenetekben, leszámítva persze a stratégiai játékokat, de azok amúgy sem tudták megvetni a lábukat a konzolokon. Viszont a jövőben az életterek szimulálása igencsak megváltozhat, hiszen elsősorban azért nincs ezernyi nem játékos karakter egy jelenetben, mert igen nehéz lenne ezeket megfelelő sebességgel szimulálni. Hát még ha ezekbe a virtuális szereplőkbe saját életet táplálnak, azaz nem csak értelmetlen részei a világnak, hanem mindenki tart valahova, ami nagymértékben növelné a realizmust. A legnagyobb probléma itt, hogy a komplex terepek esetében a sok karakter útkeresése igen számításigényes, amit a mai központi processzorok szimplán nem bírnak el. A grafikus vezérlő viszont sokkal több számítási teljesítménnyel rendelkezik, és ami a legfontosabb, hogy pár programszál helyett több tízezret futtathat. A konzolokban gyakorlatilag egy szál a grafikus multiprocesszorokon hozzárendelhető egy egység útkereséséhez, így rendkívül gyorsan kiszámítható akár ezer jelenetben szereplő karakter számára is az ideális útvonal.

A tartalom dekódolásának szempontjából is fontos szerep juthat az integrált grafikus vezérlőknek. Ez főleg abból a szempontból igaz, hogy a játékok egyre részletesebb textúrákat kapnak, miközben a tárhely azért nem növekszik robbanásszerűen, így esetenként szükséges alkalmazni valamilyen tömörítést. Ez persze kellemetlen, hiszen a kódolt textúraformátumot esetleg a hardver nem kezeli, ami rögtön ahhoz vezet, hogy a processzornak a tartalmat dekódolnia kell egy támogatott formátumra. Ezt viszont egységes címtér mellett megteheti a grafikus vezérlő is, hiszen nagyságrendekkel nagyobb számítási kapacitással rendelkezik, ráadásul az egész folyamat nagyon jól párhuzamosítható. A nagy teljesítménynek ráadásul komoly jelentősége lehet a jövőben, hiszen észrevehető, hogy a fejlesztők alapvető célkitűzése, hogy a lehető legtöbbször hanyagolják a töltőképernyőt. Ehhez rendkívül hatékony streaming rendszer szükséges, ahol a tartalom dekódolásának sebessége nagyon fontos lesz. Akár olyan játék is elképzelhető, ahol lényegében teljesen mellőzhető a töltőképernyő alkalmazása.

A fentebb leírtak persze csak példák, amelyeket relatíve egyszerű bevetni. Ennél sokkal komplexebb feladatok is megoldhatók, így például a sportjátékokban bevezethető az izomzat szimulációja, illetve az APU-k számítási kapacitásának kihasználásával következetesebb és valósághűbb lehet a játékosok mozgása, illetve reakciójuk egymásra. Extrémebb lehetőség lehet az időjárási elemek valós idejű szimulálása, így például a széllel való játék, ami szintén új lehetőségeket teremthet a játékokban.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Előzmények

Hirdetés