A babó (1997)

Mint ismeretes, 1997 végén diplomáztam le az óbudai Kandó Kálmán Műszaki Főiskola informatikusi szakán – szöveges kalandjáték témából. Ez a szakdolgozatom egy bő fél éves megfeszített fejlesztői munka eredménye volt, amelyet máshol szintén ecsetelgettem már bővebben. Amit viszont kiemelnék itt: eme munka túlnyomó hányada A babó című PC-s kalandjáték programozásából állott (ami amúgy nem igazán érdekelt rajtam kívül ott a kutyát sem, és éppenséggel kihagyhattam volna, hiszen úgysem nézték meg…), Assembly-ben, DOS alatt (ami immár saját webhelyemen hozzáférhető). A szakdolgozat írott fogalmazvány részét csak a legutolsó néhány hétben csaptam össze mellé futólag… (Sajnos, ez a része olyan is.) Ez az írás időközben több helyen is felbukkant az interneten „magától” (a játék viszont – mostanáig – nem), és félig-meddig inkább csak amolyan dokumentáció jellegű, de azért talán szórakoztató is bír lenni, legalábbis remélem. (Természetesen ezt az egész leírást a ráfordított és az eltelt idő függvényében illik olvasni; például akkortájt még sokkal nehezebb volt adatokhoz jutni, nem volt tele éjjel-nappal mindenki az online forrásokkal stb.) Tizenhárom fejezetre osztva, teljes, pontos címe: Szöveges kalandjátékok készítésének gyakorlati problémái. Két független részből tevődik össze (mindösszesen 43 oldalon). A második és kisebbik rész benne a játékprogram ismertetése és leírása volt.

Amiközben írtam, a közvetlen és azonnali célom vele nyilvánvalóan a diploma megszerzése volt (természetesen ezt sikeresen teljesítettem), ám nem pusztán csak ez az egy cél vezérelt… Ismételten ott lebegett már előttem a következő fázis: egy nagyszabású, részletesen kidolgozott, aprólékos, intelligens, ugyanakkor rugalmasan továbbalakítható és fejlett kalandjáték-rendszer PC-re; azaz nemcsak egy-egy konkrét játék, hanem sokkal inkább általános fejlesztői környezet; olyan, mint egy saját programnyelv, és szerkesztő és programozó keretrendszer egybeépítve; melyben aztán tetszőleges kalandjáték könnyűszerrel kivitelezhető lesz később. (Mai szóval élve ugye motornak hívnánk ezt.) Mivel tudtam, hogy ez több év munkája, így eleinte vissza kellett fognom magam benne, és a legelemibb alapokat érinteni csak: annyit, ami néhány hónap (azaz végül bő fél év) leforgása alatt véghezvihetőnek marad még a szakdolgozat céljára. (Úgy is mondhatjuk, hogy összekötöttem a kellemest a hasznossal… Nem akartam elvesztegetni a diákként még rendelkezésre álló időt, hanem annak keretében fogtam bele azt követő munkámba.)

Ennek köszönhető az a fura kettősség, hogy míg rendszer szintjén ez a játékprogram jelentősen magasabb és fejlettebb az összes általam írt korábbihoz képest, ugyanakkor mégis elég rövid futamú, és hamar teljesíthető, sőt egy kissé hiányosnak, félkésznek is tűnő alkotmány. (Grafikája pedig egyáltalán nincs is.) A sztori és a cselekménye még csak nem is saját alkotásom, hanem feldolgozás, mivel annak kitalálására sem akartam az időt áldozni. Tehát hamarjában előkaptam egyik kedvenc regényemet, J. R. R. Tolkien A babó (azaz Hobbit) című könyvét, illetőleg annak régi, 8-bites környezetben elkövetett feldolgozását, s abból kiindulva, vázlatként is alkalmazva, megvoltak a tervek – lehetett a technikai kidolgozására koncentrálni helyette.

Ugyanazt a logikai szálat vettem újra fel, amit A gálya után egy időre letettem, és onnan folytattam tovább. Mivel a pécés környezet már jelentősen tágabb lehetőségeket kínált fel a Commodore-hoz képest (sokkal nagyobb sebesség- és memóriakapacitás elsődlegesen), vagy legalábbis – az akkori fejlettségű hardverviszonyokhoz képest – Assembly-ben maradéktalanul kiaknázva minden képességét, el lehetett érni általa, így nyilván engem sem hagyott hidegen a kihívás, hogy nekilássak ennek. Tehát a megelőző elképzeléseimet építettem tovább az új környezetben, immár azok gátló korlátai nélkül.

A két szereplő létét kibővítettem benne elméletben tetszőleges számúra – a gyakorlatban ez a regény tizennégy főszereplőjét jelentette itt és most. Ezen túlmenőleg, itt most már a nem játékos szereplők (az ún. NPC-k) is közvetetten irányíthatóakká váltak, például a nekik adott kéréseken keresztül. Egyúttal igyekeztem minél sokrétűbben saját cselekvési lehetőségekkel felruházni őket: nemcsak önállóan mászkáltak, mint korábban, a térben, hanem – elméletben – megszűnt teljesen a különbségtétel a valós és a virtuális szereplők között: e szempontból mindössze csak az tesz különbséget köztük, aktuálisan épp honnan kapják parancsaikat; ami viszont tetszés szerint cserélgethető. Azt jelenti mindez, hogy a játékban benne foglalt valamennyi cselekvési lehetőség olyan módon programozott, mely az alany kilététől közvetlenül nem függő, és bármelyikkel összeköthető: minden, amit megtehetünk, megtehető volna akármelyik másik szereplővel is. Valamilyen szintű „mesterséges intelligenciával” azt is beleprogramoztam az általunk épp nem vezérelt (ilyenkor a számítógép által irányított) szereplők belső viselkedésgenerátorába, hogy a lépéskombinációik elérhető minél nagyobb hányadára magától is „rájöjjön” (ez esetben itt ez túlnyomórészt véletlenszerűen kialakult döntéseket jelentett).

Ehhez még egy másik (korábban még jelenlévő) korlát áthágása szükségessé vált: a felhasználói beavatkozásra való várakozás megszüntetése. Más szóval: a játék cselekményét mindenképpen valós idejűvé (realtime) kellett alakítani. Erre én még rátettem egy lapáttal: a grafikusan négy részre osztott képernyőn a játék szereplői közül tetszőleges kiválasztott négy karakter szemével tudjuk egyidejűleg nyomon követni a zajló eseményeket. Vagyis, a több szereplő megléte már nemcsak felváltva, de ténylegesen párhuzamos módon érvényesülhetett. (A meghaladott, régi, 8-bites környezetben ezt már holmi nehézkes és visszafogott – ebből kifolyólag pedig élvezhetetlen – módon lehetett volna csupán elérni; itt azonban végre megnyílt rá a lehetőségem.)

Véleményem szerint ez a játék mai szemmel megnézve is élvezetes, szórakoztató; sőt, mindörökké az marad. (Persze nyilván el kell hozzá szakadni és vonatkoztatni lélekben a háromdimenziós és az internetes mennyiségi erőfitogtatástól, és az eltelt évek során kialakult más kényelmi berendezkedésektől… Egy kis időre megéri.) A magyar nyelvi környezetben meghonosult szöveges kalandjáték kifejezés helyett, érzéseim szerint, ez már inkább közel áll a – klasszikusan, tisztán – eredetileg még Interactive Fiction néven emlegetett fogalomhoz. (Noha sokszor eleve is nehéz meghatározni, hogy mi a kettő közti különbség, ha létezik ilyen egyáltalán, vagy mit is értünk alattuk, hiszen egymás szinonimájaként is alkalmazzák őket; nézeteim szerint az IF – amellett, hogy tágabb, többmindent is magában foglaló kategória – kicsit talán közelebb található az irodalomhoz.)


  A babó
2011.09.01.
  
Interactive Fiction J. R. R. Tolkien regényéből (1997)
  

Következő: „A vér meséi (1997-2001)”

 

 

A kezdetek... (1987-88)

Az Alvilág Ura (1989-90)

A gálya (1991-93)

A C64 korszak hattyúdalai (1993-96)

A babó (1997)

A vér meséi (1997-2001)