Képzelj el egy teljes cyberpunk várost, amely kizárólag billentyűzetről gépelt karaktermátrixból és zölden izzó szövegből épül fel. A Grow Now! Games egyszemélyes fejlesztője pontosan ezt hozta létre egy meglepően komplex interaktív prototípusban.
A modern videojáték-ipar évtizedek óta a fotórealizmus hajszolásával van elfoglalva. A gigantikus költségvetésű stúdiók sokmillió poligonból álló modellekkel, komplex fény-árnyék szimulációkkal és összetett árnyékolókkal igyekeznek lenyűgözni a játékosokat. Ezzel a tendenciával szembemegy az az alkotó, aki megmutatta, hogy a térbeliség élménye és a magával ragadó atmoszféra eléréséhez nem feltétlenül van szükség erőteljes grafikus kártyákra vagy több gigabájtos letöltési méretekre.
Az ASCII cyberpunk város koncepciója a számítástechnika hőskoráig nyúlik vissza, amikor a grafikus kijelzők korlátai miatt a programozók egyszerű billentyűzet-karakterekből építettek illusztrációkat. A mostani kísérlet azonban messze túlmutat a statikus szöveges képeken vagy a kétdimenziós ábrázoláson. Az alkotó egy saját fejlesztésű sugárkövető (ray-casting) rendszert épített fel, amely valós időben számítja ki a térbeli koordinátákat, és azokat kizárólag betűkkel, számokkal, valamint írásjelekkel jeleníti meg a képernyőn.
A megszokott játékmotorok, mint az Unreal Engine vagy a Unity, teljesen hiányoznak a projekt mögül. Nincsenek előre elkészített textúrák, nincsenek 3D-s hálók, sem külső programkönyvtárak. A teljes virtuális környezet tiszta JavaScript kód segítségével generálódik le egyetlen HTML5 Canvas felületen, amely közvetlenül bármelyik modern webböngészőben futtatható.
Egyetlen HTML-fájlba csomagolt háromdimenziós rácsszerkezet
A fejlesztés alapja egy térbeli rácshálózat, amely eltárolja az utcaszintek, az épületek, a felhőkarcolók, a fák, a járművek és a gyalogosok pontos pozícióját. A képernyő minden egyes képfrissítési ciklusában a sugárkövető algoritmus virtuális fénysugarakat bocsát ki a játékos kamerájából a rácsra. Amikor egy sugár akadályba ütközik, a rendszer a távolság alapján határozza meg a tárgyak perspektíváját, méretét, takarási viszonyait és mélységét.
Az így kapott adatokból a motor automatikusan kiszámítja, hogy az adott felületet milyen típusú és fényerejű szöveges karakter reprezentálja. A közelebbi épületek és tárgyak nagyobb, világosabb betűkkel jelennek meg, míg a távolabbi struktúrák apróbb, sötétebb jelekké törpülnek, fokozatosan egybemosódva a virtuális sötétséggel. Az eredmény egy olyan dinamikus világ, ahol a játékos szabadon nézelődhet, fel-le tekinthet és sétálhat a felhőkarcolók között, miközben körülötte neonszerű fényben úszó járművek közlekednek.
A technológia emlékeztet a korai retro klasszikusok, mint a Wolfenstein 3D működésére, de annál jóval összetettebb térbeli mozgást tesz lehetővé. A felhasználónak nincs szüksége fejlesztői környezetre vagy összetett telepítőkre: az egész projekt működik egyetlen elmentett HTML-fájl megnyitásával. Ez az átlátható, függőségektől mentes felépítés különösen vonzóvá teszi a kísérletet a retro programozás és a független játékfejlesztés iránt érdeklődők számára.
Az első nyilvános demó mindössze 120-szor 56 karakteres felbontásban futott, ám az eredeti bemutató videó gyorsan átlépte az egymilliós megtekintést a videómegosztókon. A visszajelzések alapján a játékosok kifejezetten nyitottak az olyan egyedi vizuális megközelítésekre, amelyek szakítanak a megszokott sémákkal. A Grow Now! Games azóta jelentősen továbbfejlesztette a prototípust: a legújabb verzió már 180-szor 80-as felbontásban jeleníti meg az ASCII cyberpunk város környezetét, ami lényegesen simább és részletgazdagabb látványt biztosít.
A szöveges mátrixból teljes értékű szerepjáték születhet
A frissítések nemcsak a felbontást növelték, hanem a világgal való interakciót is mélyítették. Az épületek belsejébe immár be lehet lépni, a felhőkarcolók több emelettel rendelkeznek, így a játékosok teljesen új perspektívából tekinthetnek le az alant elterülő utcai forgatagra. A környezetben féltranszparens hatású fák, mozgó autóáradat és járókelők színesítik a látképet. Ez a vizuális megoldás sokakat a Mátrix ikonikus zöld kódáradatára vagy a Cyberpunk 2077 emlékelemző braindance szekvenciáira emlékeztet.
Az egyszemélyes indie fejlesztő tervei között szerepel egy párbeszédrendszer megvalósítása is, amellyel a puszta technológiai demóból egy valódi, történetvezérelt szerepjáték formálódhat. Bár a piacon léteznek más szövegalapú címek, mint a Dwarf Fortress vagy a Cataclysm: Dark Days Ahead, a teljes mértékben háromdimenziós, sugárkövetéses ASCII cyberpunk város élménye jelenleg párját ritkítja az indie szcénában.
A kísérlet bebizonyította, hogy a technikai korlátok nem gátolják, hanem ösztönzik a kreativitást. Egyetlen, mindössze néhány kilobájtos HTML-fájl képes olyan immerszív hangulatot teremteni, amelyre sok tízmillió dolláros produkció sem mindig képes. A tesztverzió folyamatos fejlődése jól mutatja, hogy a retro stílusjegyek és a modern algoritmusok ötvözése még mindig tartogat feltáratlan lehetőségeket a játékfejlesztésben.