A
Kandó Kálmán Műszaki Főiskolán (ami hároméves képzést nyújtott)
háromszor felvételiztem, és bő hat esztendőn át álltam valamilyen
hallgatói jogviszonyban náluk (1991 és 1997 között). Ezt úgy sikerült
összehozni, hogy az első felvételi vizsgám nem sikerült (épp egy
ponttal értem el kevesebbet a hivatalos felvételi ponthatárhoz
képest), majd a következő évben már igen (de akkor csak a villamosmérnöki
szakra vettek fel, ahol el is kezdtem, azután halaszottam egy
félévet), végül harmadszor is nekifutottam (ekkor már az informatikára
vettek fel). Igyekeztem „szakaszosan” kinyújtani minél hosszabbra
az ott-tartózkodást (többszöri félév-halasztásokkal… és más hasonló
trükkökkel), s ezalatt összekapcsolni a kellemest a hasznossal:
egyrészt – mivel kellően jó tanulmányi eredménnyel bírtam – rendszeresen
elég ösztöndíjat kaptam, másrészt pedig tetemes mennyiségű szabadidőm
volt. (Még egy érdekesség: hét éven át minden egyes évben behívtak
a katonai sorozóbizottság elé a kötelező sorkatonai szolgálat
megkezdése céljából, ám minden egyes alkalommal sikerült azt elhárítani…
A diplomázás után persze végül elvittek.)
A
fent említett néhány évet főként játékprogram-fejlesztéssel töltöttem.
(Lásd a többi leírást és cikket!) Miután a halasztási
lehetőségek már elfogytak, az utolsó pár szemesztert egyben lehúztam,
s a végén persze diplomázni kellett. Csakhogy ekkor is még megtaláltam
ügyesen a – magam – módját rá, hogy ezt az eseményt is legfontosabb
szenvedélyem előnyére fordítsam: úgy döntöttem, ebből írok szakdolgozatot.
(Ld. külön publikációmat Szöveges kalandjátékok készítése
címmel.) A végzett munka túlnyomó része ezen belül is A babó
című játékprogram köré koncentrálódott. (Több, mint fél évig,
mialatt egy sajátos életritmust alakítottam ki magamnak külön
e célból: 48 órás napokban éltem, azaz pontosan és szabályosan
minden második éjjelt töltöttem csak alvással.)
Egy
Interactive Fiction (vagy ahogyan nálunk inkább elterjedt
a szóhasználat, szöveges kalandjáték) adaptáció J. R. R. Tolkien
hasonló című regényéből (eredetileg: The Hobbit). Jópár
évvel korábban elterjedt már világszerte az a Melbourne House
szoftverház által (más Tolkien-feldolgozások mellett) elkövetett
változat, mely az egyik alapkövét képezi ez egész műfajnak. (A
nyolcvanas évek elejétől kezdve több különböző számítógéptípusra
is kiadták. Az egyik legnépszerűbb és legismertebb kalandjáték
volt.) Számomra is egyik legmeghatározóbb alapélményt nyújtotta
az eredeti játék (mint ahogyan maga a könyv is), többek között
ebből kifolyólag esett rá a választás.
|
|
A
helyszínleírások és más bekezdések egy részét közvetlen a könyv
szövegéből merítettem (Szobotka Tibor kitűnő fordításában, a Ciceró
Könyvkiadó, az író születésének századik évfordulójára, azaz 1992-ben
megjelentetett változatából), némiképpen összekeverve a saját
szövegeimmel. A cselekmény s a játék szerkezete némely összetevői
pedig a Melbourne House programkiadásból származnak.
Egyikhez sem maradtam azonban hű: a régi játékprogramot már túl
egyszerűnek, elavultnak találtam, és magasabban álló technikai
színvonalra törekedtem helyette.
Először
is, magyar nyelvű parsert kellett írni, ami jóval nehezebb,
mint angolul. (A parser a szövegértelmezést végző programrész,
a magyar nyelvtan pedig sokkal nehezebben kezelhető ilyen
szempontból az angolnál.) Továbbá e régi adaptációban még mindössze
Bilbó és Thorin figurája szerepelt, én pedig belevettem mind a
tizenhárom törpe karaktert. Éppenséggel utóbbi a másik oka választásomnak:
az irodalmi regény sokszereplős jellege tette alkalmassá célomra.
Ugyanis egy olyan program készítése volt a szándékom, amelyben
több különböző főhős kezelhető egyszerre. Ez a törekvés A
gálya koncepciójának szerves továbbfejlesztése volt: ott
egyelőre két főszereplőt kellett irányítani. Mindamellett e két
főszereplő között pusztán váltogatni tudtunk, míg A babó
esetén már valós időben, és ténylegesen párhuzamos módon futnak
karaktereink a térben.
Négy
ablakra osztott képernyőn, a négy ablak mindegyikében a tizennégy
főhős bármelyikét elhelyezve, egyidejűleg tudjuk nyomon követni
a cselekmény alakulását a szereplőink nézőpontjából: bármelyikkel
bármit teszünk, belső és külső szemmel látjuk egyaránt. (Azokat
a szereplőket pedig, amelyeket felügyelet nélkül hagyunk, automatikusan
vezérli a számítógép helyettünk.) A játék ezen kívül eső összes
többi karakterét – legalábbis többé-kevésbé, és feltételektől
is függő, korlátozott módon – ugyancsak lehet befolyásolni: mondhatunk
nekik bármit, amit szeretnénk, ha megtennének helyettünk. (Természetesen
ez nem garantálja azt, hogy tényleg mindig megteszik…) Ráadásul
maguktól is folyton cselekednek valamit, így minden egyes programfutam
kissé másként alakul; a játékmenet – egészében – sosem marad kiszámítható.
|
|
|
Az
értelmezés általános módja hasonló a korábbi játékaimban is alkalmazott
parser-változatokhoz (pl. A gálya és Az Alvilág Ura),
azaz felszólító módú, teljes (tő)mondatszerkezet (pl. NYISD KI
AZ AJTÓT), melynek szükségtelenebb elemei általában opcionálisan
elhagyhatóak (NYISD AJTÓT), azonban nem maradhat semmi értelmezhetetlen
összetevője. (Bármit nem ért meg a program, rögtön reklamál, és
nem hajt végre semmit sem, míg ki nem javítjuk. Ez alól kivétel,
ha MONDunk valamit egy másik félnek; olyankor az értelmezés folyamata
ténylegesen már a másik félnél történik, s mi közvetlen nem kapunk
visszajelzést róla. Ezek akár többszörösen egymásba is ágyazódhatnak,
pl. így: MONDD MEG ÓINNAK, HOGY MONDJA MEG GLÓINNAK, HOGY NYISSA
KI AZ AJTÓT.) Ha a mondat hiányos (NYISD), akkor célzatosan kérdéseket
tesz fel rá a program („Mit akarsz kinyitni?”), melyre nekünk
elég már csak válaszokat adni (AJTÓT). Természetesen csak olyan
dolgokra hivatkozhatunk, amelyek elérhetőek a számunkra, s ezt
minden másnál előbb ellenőrzi is a rendszer. (Ha nincs a közelünkben
ajtó, akkor üzenetet kapunk – „Nincs itt semmiféle ajtó.” –, kizárólagosan
és azonnal, mielőtt még bármi egyéb történne.) Össze lehet fűzni
több mondatot egyben (vesszővel vagy ÉS-sel elválasztva). És
így tovább: mindezek a fejlett, intelligens parser általános
jellemzői, többségében ugyanilyen szintre jutottak el nagyjából
a világhírű, ismert, angol nyelvű IF játékvilág legkitűnőbb alkotásai.
(Azzal a különbséggel, hogy mivel a magyar ragozó nyelv, míg az
angol pedig nem, így magyarul ez nehezebb és bonyolultabb feladat.
Ugyancsak a ragozásból származik egy másik fontos eltérés, a magyarban
a szórend szabadsága, ami angolul kötött.)
Egy-egy
IF viszont nem kizárólag szövegbevitelből (és arra adott válaszokból)
áll, hanem van mögötte valamilyen felépített háttérvilág, amit
leképeznie kell a számunkra ezen keresztül. Egyfajta szimuláció:
úgy is mondhatjuk, hogy világmodell-szimuláció. Ezzel összefüggésben
szokás használni a rétegzettség fogalmát, mely azt fejezi
ki, hogy milyen mélységben és finomságban sikerül e világ szövetének
ábrázolása. Számos tényező és alkalmazott eszköz együtthatásából
alakul ez ki (bővebb kifejtését ld. máshol), s A babóban
igyekeztem ezt is minél fejlettebbre formálni. Például: minden
egyes hely vagy dolog részletesen megvizsgálható vagy átkutatható,
és tetszőleges mélységben – rekurzívan – beágyazva tartalmazhat
más további rejtett, fölfedhető dolgokat. A történet kulcsmotívuma,
a varázsgyűrű ezt még egy újabb, speciális dimenzióval gazdagítja
jelen esetben: ama láthatatlansággal, melynek révén adott szereplővel
egyrészt eltűnünk a többiek elől, másrészt pedig egy füst alatt
átláthatóbbá is válnak számunkra. (Például a program megmutatja
nekünk a náluk lévő tárgyakat is, ami alapjában rejtett volna
egyébként – ezeket ráadásul észrevétlen módon el is tudjuk venni
stb.) Valamint hozzátehetjük a teljességgel rugalmasan alakítható
és non-lineáris játékmenetet, mely amúgy a régi játéknak
is jellemzője volt.
|
|
A
program MS-DOS környezetben, x86 Assembly-ben íródott (MASM Assembler
fordítóprogram használatával). (Az Assembly szintű optimalizációra
feltétlenül szükség volt, ugyanis az akkori, igen gyenge fejlettségű
hardver környezetben, egy átlagosabb 486-os gépen programozva,
nem lehetett volna elérni még másként a fenti eredményeket, hozzájuk
számítva a grafikus képernyőkezelést is, mely a négy ablak egymástól
független és párhuzamos, realtime megjelenítéséhez kellett.) Mindazonáltal
némi korlátozottsággal azért Windows környezetben is szokott működni,
bár nem mindig. (Egy fő probléma, hogy a magyar ékezetes billentyűzetkiosztás
ilyenkor „elakad”, tehát vagy a Windows-t kell angol kiosztásra
állítani előtte, vagy a játékot kell átkapcsolni, ehhez ld. a
mellékelt használati útmutatóban a leírást. Egy másik gond, hogy
a program használná a Scroll Lock billentyűt, amit nem enged neki
automatikusan beállítani a Windows, ezt is kézzel kell.)
Vagy
pedig egy másik lehetőség Windows környezetben (sőt további operációs
rendszereken) való futtatásra, ha nem natív módon tesszük, hanem
ún. DOS
Box
emulátor környezeten keresztül.
Olessák
Róbert (2011)
|
|
Játékaim
(1987-2001) /5. |
2011.09.01. |
|
|
|
5.
fejezet: A babó |
|
|
|
Játékaim
(1987-2001) |
2011.09.01. |
|
|
|
Személyes
nézőpontból írott összefoglalóm a játékaim fejlesztéséről |
|
|
|
Szöveges
kalandjátékok készítése |
2011.08.28. |
|
|
|
Az
1997-ben íródott főiskolai szakdolgozatom szövege, egy cikkbe
foglalva |
|
|
|
Game(s)
Over… |
2011.09.01. |
|
|
|
Képgyűjtemény
játékokról, amelyekhez közöm volt (200
kép) |
|
|
|
A
babó |
2011.08.28. |
|
|
|
A
játék letöltése (1.1 MB) |
|
|
|
A
babó (leírás) (PDF) |
2011.11.01. |
|
|
|
A
játék leírása (az eredetiből)
(0.1 MB) |
|
|
|
A
babó (megoldás) (PDF) |
2011.11.01. |
|
|
|
A
játék megoldása (az eredetiből)
(0.1 MB) |
|
|
|
A
babó (The Hobbit) (IFDB) |
|
|
|
|
A
játék IFDB oldala (Interactive Fiction Database) |
|
|
|
A
babó (onlinekönyv.info, PDF) |
|
|
|
|
A
regény Szobotka-féle fordítása letölthető PDF-ben ingyen |
|
|
|
The
Hobbit: Animated (YouTube) |
|
|
|
|
Az
1977-es animációs rajzfilmfeldolgozás (a teljes film a jutyúbon) |
|
|
PC
játékok |
|