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) |
|