„Sokasodjatok és növekedjetek”

Az eddigiek folyamán egy meglehetősen kihalt és sivár valóságot építettünk föl – egyelőre úgy fest az egész, mint az őstengerek, a bennük úszkáló egysejtűek nélkül. Hiányzik belőle valami, ami elevenné teszi azt: a játék szereplői még nincsenek bekapcsolva az események vérkeringésébe. Az élőlényeket nemcsak az különbözteti meg a többi tárgytól, hogy a sorszámozás legelején foglalnak helyet, hanem hogy sokkal változatosabb módokon lehetséges érintkezésbe kerülni velük, illetve a mi közreműködésünk nélkül is mindenféle „akciókra” ragadtatják magukat. Szélsőséges esetben ezek akár valóságos személyek is lehetnek – ld. a második fejezetben megemlített hálózatos kalandjátékokat –, máskülönben nekünk kell a program segítségével emulálnunk őket. Az egyes élőlényeket leginkább az különbözteti meg egymástól, hogy különféle közeledési kísérleteinkre eltérő módon reagálnak. Vannak bizonyos alapvető magatartás-formák, amelyeket egy jó kalandjátéknak föl szükséges ismernie, és általános jelleggel lekezelnie őket: agresszív cselekedetek (megütni vagy megtámadni valakit), a beszélgetés különböző formái (köszönni, beszédbe vegyülni általában, vagy pontosan meghatározott dolgokat mondani, esetleg faggatózni jól körülírt témákról) és a tárgy-csere jellegű dolgok (megmutatni, odaadni vagy elkérni egy tárgyat, netalántán pénzt). Ezeket valamennyi szereplőre nézve külön-külön ki kell dolgozni, úgy, hogy látszólag egyéni módon reagáljanak.

Sajnos, a legtöbb kalandjáték úgy készül, hogy már eleve egy szilárdan lebetonozott nézőpontból mutatja a benne zajló eseményeket. Ez azt jelenti, hogy létezik egy e célra kiválasztott főhős, és mi mindent egyedül az ő szemein keresztül látunk. Kétségtelenül ez a legkényelmesebb megoldás, ám sokkal izgalmasabb a játék, hogyha kívülről is megfigyeljük benne önmagunkat közben. Programozástechnikailag legjobb, ha – a manapság divatos objektumorientált programozáshoz hasonlóan – a játék szereplőinek mindegyike egy önálló, zárt egységet alkot, s valamennyiükhöz tartozik egy-egy, a magatartásukat generáló program vagy programrész, amiről a vezérlő főprogram gyakorlatilag semmit nem tud, csupáncsak az általuk jelzett cselekvési szándékaikat látja. Ebben a felállásban – a főprogram szempontjából legalábbis – maga a játékos, „a” főhős is csak „egy a sok közül”, a többiekkel egyenrangú lény, aki hasonló korlátokkal és lehetőségekkel rendelkezik, akárcsak balsorsában osztozó társai; más kérdés, hogy – valódi léténél fogva – ezekkel a lehetőségekkel hasonlíthatatlanul sokoldalúbban képes élni és cselekedni, mint ők. Ez egyúttal azt is jelenti, hogy bármilyen lépésre képesek vagyunk, azt akárki más is megtehetné helyettünk ugyanebben a helyzetben – elméletileg –, más szóval a többieket is aktívan bevonhatjuk a játék feladványainak teljesítésébe; ahelyett, hogy magunk tennénk meg valamit, megkérünk rá valaki mást. (Pl. NYISD KI AZ AJTÓT helyett így: KÉRD MEG AZ ŐRT, HOGY NYISSA KI AZ AJTÓT.) Ettől egyrészt mindjárt változatosabb lehetőségeink nyílnak, hiszen ha többször próbálkozunk valamivel, nem kell mindig ugyanazon a módon megfogalmaznunk, amit szeretnénk; másrészt pedig meglehet, vagy a program netán el is várja tőlünk, hogy másokat is megmozgassunk a végső siker érdekében: lehetnek benne olyan epizódok, amelyek feloldása kizárólag csapatmunka árán lehetséges. Például áll valahol egy őrszem, aki egy bizonyos ponton nem enged átlépni senkit – de ha egy szereplőnkkel ügyesen eltereljük a figyelmét a feladatáról, akkor másvalaki észrevétlenül elsurranhat a háta mögött közben… Egycsapásra érdekesebbé válnak ily módon a játékunk feladványai! Arra is lehetőséget nyújt ez a rendszer, hogy akár egyszerre több szereplő bőrébe is belebújjunk, állandóan váltogatva azt, hogy melyiküket alakítjuk éppen. Egy játék résztvevőinek viselkedése az alábbi forrásokból származhat:

1.) Közvetlenül a billentyűzetről begépelt utasítások határozzák meg számára a következő lépést. Tipikusan a főszereplő magatartása ilyen. Egy főhős személyének kiválasztása nem is olyan bonyolult, mint hinnénk: adott a szereplők listája, amelyek közül választani lehet, s mindössze egy változóban folyton nyilván kell tartani annak sorszámát, akik jelen pillanatban éppen vagyunk. Amikor a játékos azt mondja, hogy ÉN, MAGAMAT, ENGEM… stb., ezeket a személyes névmásokat kicseréljük az itt tárolt sorszámra, üzenetek kiíratása közben pedig annak neve helyett a „te” (Ön), „magad” (maga)… stb. alakokat kell – persze helyesen felragozott formában – használni. Na ez utóbbival szokott inkább gond lenni – szeretjük az üzeneteket kész szövegként, rögzítetten tárolni, és nemigen fűlik a fogunk hozzá, hogy mindenféle képlékeny kifejezésekkel bonyolítsuk őket. Elvégre ez nemcsak egyetlen szónak a cseréjét jelenti, de a teljes szövegkörnyezetet is hozzá kell igazítani ehhez. (Pl. „Valaki kinyitja az ajtót.” helyett „Kinyitod az ajtót.” – az alany mellett az állítmány is megváltozik stb.) Ha azt akarjuk elérni, hogy egyes tevékenységekre csak bizonyos „kiválasztottak” legyenek képesek, nem kell mást tenni, mint előtte ellenőrizni, hogy éppen ők vagyunk-e mi.

2.) Ösztönös sugallatait egy külön e célra készített, irányító programrésztől kapja. Ez kétféle módon történhet: vagy adott helyzetben egy előre lerögzített cselekménysort hajt végre (pl. van valahol egy éjjeliőr, aki bizonyos időközönként egy határozott útvonalat végigjár, és ellenőrzi, minden rendben van-e arra – napközben meg lefekszik aludni, és ki lehet figyelni az őrségváltás idejét stb.), avagy pedig részben véletlenszerűen állítja elő ezeket a program (egyes alakok a játékban szeszélyesen kóborolnak ide-oda, miközben időnként az „eszükbe jut” valami – mondjuk becsukni egy ajtót vagy eldobni egy tárgyat stb.). Esetenként ez az előbbi ponttal kombinálódhat, olyképpen, hogy a saját figuránkon keresztül megkérünk rá valaki mást, hogy tegyen meg számunkra valamit (az említett KÉRD MEG AZ ŐRT… kezdetű példa!), s ha jó kedvében találjuk a fickót, akkor lehet, hogy még engedelmeskedik is… Nem könnyű – de igen hálás! – feladat minden egyes szereplőnkhöz különböző programokat írni, és bizony komoly előzetes tervezést igényel összhangba hozni számos olyan eseményt, amelyek egyidőben, de a játéktér különböző pontjain mennek majd végbe…

3.) Valahonnan „kívülről”, a számítógép számára ismeretlen külvilágból érkeznek a parancsai – rendszerint már előértelmezett, azaz a legrövidebb, legtömörebb alakra faragott formában. Ez az eset akkor állhat elő, amikor egy olyan programot írunk, amivel egyszerre több felhasználó is üzekedhet – az egymással összeköttetésben álló felek a hálózaton keresztül kommunikálnak egymással. Vegyük észre, hogy ez alig különbözik az első ponttól, szinte csak annyiban, hogy itt egyszerre több kalandorhoz kell hozzárendelt sorszámokat nyilvántartani.

Ezenkívül gondoskodni kell még arról, hogyha egy szereplő valamilyen módon „önkívületi” állapotba került (meghalt vagy elájult), akkor az eredeti irányítás ne érvényesüljön nála, és ne is kommunikálhasson a környezetével többet (de bizonyos idő elteltével azért újra magához térjen – kivéve, ha meghalt). Az eddigiek konkrét megvalósítása nehéz, de nem túlságosan bonyolult programozói feladatot jelent (meg lehet írni egy általános szervező programot, ami minden lehetséges bemenetet lekezel), sokkal keményebb mogyoró azonban ennek a fordítottja, vagyis az egyes résztvevők tájékoztatása a különféle történések hatásairól. A gyakorlatban ez annyit tesz, hogy a központi résznek a játék világában végbemenő minden egyes eseményt figyelnie kell, és erről az összes szereplő felé valamilyen üzenetet továbbítania – mégpedig minden egyes szereplő felé más-más tartalmú üzenetet! Ráadásul az egyes események is – mintegy következmény gyanánt – további eseményeket vonhatnak maguk után. Egy nagyon egyszerű példával illusztrálva a dolgot: ha valahol egy Tompika nevű szereplő pl. kinyit egy ajtót (hogy továbbra is ennél az oly sűrűn fölbukkanó motívumnál maradjunk), akkor nem elég az ajtó állapotát nyitottra változtatni, hanem az illetőt értesíteni is kell róla: „Kinyitod az ajtót.” (Az egyszereplős kalandjátékok meg is elégednek ennyivel!) A vele azonos helyszínen tartózkodókat ugyanakkor már arról kell tájékoztatni, hogy „Tompika kinyitja az ajtót.” – míg végül a távol maradóknak abszolúte semmit nem szabad megszimatolniuk erről az egész cselekményről. Sőt, még egy negyedik csoport is van: az ajtó túloldalán állók nem tudhatják, ki cselekszik, így mindössze annyit észlelnek belőle, hogy „Valaki kinyitja az ajtót.” Ezenkívül a helyzetet még tovább bonyolíthatja, ha teszemazt a kétféle helyiség közül valamelyikben sötét van: ekkor tudniillik az ott-tartózkodók nem láthatják, amidőn Tompika kinyitja az ajtót, tehát akkor ezeket nem is szabad értesíteni róla… Viszont megeshet, hogy a másik szobából, az immáron nyitott ajtón keresztül beárad a fény, aminek következtében ezek a bácsik nemcsak hogy az ajtó kinyitásáról szereznek tudomást, de ráadásul még megpillantják azokat a dolgokat is, amiket eddig a teremben honoló sötétség eltakart a szemük elől. (Tehát mindjárt a helyszínleírást is ki kell nekik írni, és az egész szoba kezelése megváltozik.) És akkor akár ez még folytatódhat azzal, hogy mondjuk a hirtelen világosságban valaki fölismeri az ellenségét, és azonnal rátámad… Vagy nála van egy tekercs film, ami fényt kap és tönkremegy stb. Egy ilyen egyszerű döntés is, mint amilyen egy ajtónak a kinyitása, alkalmasint a történések egész láncolatával (vagy inkább: hálójával) járhat együtt – amiről pedig szintén mindig tudósítanunk kell az érintett felek mindegyikét. Egy dinamikusan szerveződő kalandjátékban lépten-nyomon előfordulhatnak hasonló jellegű problémák, ahol rengeteg, egymástól látszólag független külső körülmény együttes hatását kell figyelembe venni.


Következő: „Az idő kerekéhez kötve”

 

 

A kalandjáték fogalmának tisztázása

Kalandjáték és mitológia

A számítógép beszélni tanul

A szavaktól a mondatok felé

Helyiségek összefüggő labirintusa

Barangolás a térképen

Lakberendezővé változunk

Hogyan találjunk meg valamit

„Sokasodjatok és növekedjetek”

Az idő kerekéhez kötve

Néhány jótanács és további lehetőségek

A program működésének leírása

Használati útmutató