Olyan
értelmetlen dolog ez a kalandjáték-fejlesztés… Már húsz éve is
az volt; bár akkor azért még nem annyira – legalább egy néhány
embert érdekelt. Viszont vannak, akik sosem bírnak elszakadni
tőle – én is ilyen volnék sajna. Több, mint egy évtizede felhagytam
vele, és az egész programozással, így normálisan mostanra már
szépen feledésbe kellett volna merülni a témának… De nem. Valamelyest
párhuzamosan a retró-lázzal (mely 2012-ben immár valósággal tombolt,
legalábbis a hihetetlen méreteket öltő C64 aktivitást látva, és
még mindig úgy tűnik, hogy nem áll meg), az elmúlt évek során
körülnézve látható: az Interactive Fiction műfaj szintén
köszöni, és egészen jól elvan manapság – csak hát ugye csendben,
inkább észrevétlenül. Több okból is; egyrészt ez a tömegeknek
nem annyira érdekes, és nem is túl sok üzleti perspektívát kínál
fel (kábé ugye semmit sem); másrészt mindig is egy elvont, különc
értelmiségi dologként tűnt elő; aztán pedig jól kell tudni hozzá
angolul… Ezzel együtt már a ’90-es évek óta világszerte egyre
nagyobb virtuális kisközösség épül körülötte, akik továbbra is
többé-kevésbé aktívan írogatnak ezt-azt. Személy szerint akkor
fedeztem fel újra, miután 2010-ben elhatároztam, hogy szerencsét
próbálok külföldön; melynek folyományaképpen részint elszakítottam
magamat a megelőző évtizedben kialakult honi kötődéseimtől; s
az így keletkezett űrt (a kis lelkemben) azzal sikerült csak betömni,
hogy visszafordultam a még korábbi dolgaim felé… Újra leporoltam
tehát régi rögeszméimet.
Jó
lenne azonban a régi hibákat már nem megismételni. Utoljára
szintén azzal töltöttem el négy évet (beleszámítva a szakdolgozatot),
hogy egy IF rendszert építgettem, ami aztán úgy maradt.
Egyre jobban elvesztem a részletekben, csiszolgatva megszállottan,
miközben a lényegi céljaimhoz nem jutottam (sokkal) közelébb.
Ez a rendszer lett volna a TAPLO (azaz: „Traditional
Adventure Programming Language by Olessák”). A rövidítéseknél
megmaradva pedig akkor mindjárt azt is hozzátehetjük, hogy: R.
I. P.
1997-ben
A babó koncepciójából kiindulva fejlesztettem tovább
annak magvát (és éveken át tervezgettem általa egy másik, sokkal
nagyobb, A vér meséi című játékot). Mivel akkor még csak
egy (illetőleg nemsokára több) 486-os gépem volt (lett), s a hazai
átlagkonfigok is kábé erre hajaztak, muszáj volt még Assembly-ben
kódolni, hogy a zsenge hardver összes képességét kihozzam. Mivel
azt akartam, hogy mindenhol fusson (és nemcsak DOS, de lehetőleg
Windows alatt is), ezért a konzervatív valós módú futást választottam,
mindenféle memóriamenedzserek és más kiegészítések nélkül, azaz
csak az 1MB alatti (valójában pár száz kB-os) memóriával. Ehhez
is az Assembly nyelv kellett, hogy a kód majd ennyiből is kijöjjön.
Aztán persze ehhez jött a maximalizmus, és mindent be akartam
ebbe préselni. Egyre aprólékosabban kidolgozott GUI, olyan
(valójában persze tök fölösleges) dolgokkal, mint mindenféle CPU
és videokártya támogatása (a programindításkor végzett hardverteszttel
választva a használható utasításkészletek és elérhető üzemmódok
közt, a legöregebb monokróm karakteres MDA/Hercules monitorkártyáktól,
a 16- és 256-színű, a kétféle, 15/16-bites Hicolor és ugyancsak
kétféle, 24/32-bites Truecolor felbontású, a 320x200-tól a 1280x1024-ig
terjedő, saját formátumú ikon/menü rendszerekkel és ki/be kapcsolható
grafikus panelokkal felszerelt képernyőtervekig; az XT-től a Pentiumig
stb.). Ha valaki elindítja, és a kereteken elhelyezett (görgethető)
panelsávban lévő gombokkal elkezdi végigzongorázni a lehetséges
beállításokat (vagy az .INI fájlban és a parancssori paraméterekben
megadható számos kapcsolóval elkezd játszani), elképesztő mennyiségű
lehetőséget talál.
Rugalmas
egérkezelés egy saját egérszoftverrel (többféle definiált egérmutatóval,
ki/be kapcsolható árnyékkal és jobb/balkezes irányítással); változatos
grafikai képhatások, dekorációk (színes és fekete-fehér képkezelés,
az utóbbi akár kék/zöld/piros színszűrőkkel, fokozatos átmenetű
skálák, a gomboknak és ikonoknak is egyenként ki/be kapcsolható
árnyékkal; többszínű karakterkészlet – lehetőleg persze mindjárt
több is –, plusz négyszerezett méretű extra óriásbetűkkel); négy
független ablak, ami tetszés szerint átméretezhető, külön-külön
mindben a szöveg/kép arányok egyénileg megváltoztathatóak, vagy
akár a scrollozási lépték, vagy a keretek; folyamatos hálózati
kapcsolattartás (a soros vagy a párhuzamos kábelkapcsolaton, IPX-en,
vagy megosztott hálózati fájlokon át) saját, speciális szerver/kliens
protokollal; saját, speciális RAMDRIVE kezelés; több ezernyi ragozott
alakokat előállító szövegértelmező rutin (felkészítve számos nyelvtani
szabályra és kivételre, egyúttal a tárhely-foglalásra és a sebességre
optimalizáltan); saját, speciális tömörítő algoritmusok a szövegekhez
és a képekhez… És még lehetne ezt hosszan sorolni, de minek? A
lényeg: évek munkájával csiszolgatott apróságok túlnőtt tárháza,
ami aztán végül mégsem állt össze egy szerves egésszé – pontosabban
szólva félbehagytam azelőtt, hogy eggyel magasabbra lépne (mely
egy saját, speciális programnyelv lett volna, ami ebben a környezetben
fut).
Kissé
baljós perspektíva lehet látni, hogy egy ehhez hasonlító tervezésbe
fogtam ismét jelenleg… Az eltelt évek során azért persze megváltozott
sokminden. Részben emiatt is döntöttem most úgy, hogy ezennel
még messzebbre merészkedem vissza a múltba (és a jelenbe!), azaz
megcélzom a jó öreg, nyolcbites környezetet újra. Ott a korlátok
még sokkal jobban szorítanak, ettől egyrészt nehezebb
(de érdekesebb is!), és jóval nagyobb kihívás… ugyanakkor viszont
határokat is szab a hardver, ami (mint a neve is oly jól mutatja)
keményebben egybentart, és nem annyira lehet elszaladni vele így.
Egy szó, mint száz: mégiscsak az az igazi… Természetesen
a fejlesztésnek az az oldskool módja, amelyet a 64-eseken folytattunk
még annak idején, az teljességgel elképzelhetetlen volna manapság.
Ott ülni egy lepukkant Commodore gép előtt, és a 40x25-ös karakteres
monitoron hegeszteni néhány kB-os forráskódokat, majd percekig
várni minden egyes mentésnél a floppy lemezeket cserélve… abszurdum.
Ma már hihetetlen belegondolni, hogy valaha ez működött.
Jó
ideje százszor hatékonyabb módon lehet mindezt pécén csinálni.
Mentés, fordítás és tesztelés (a létező összes régi hardver egyre
tökéletesedő szoftveremulációjával) villanásnyi idő alatt megvan,
egyes forráskódok akár több száz kB-osra (vagy MB-osra) felhízhatnak,
pillanatok alatt rugalmasan átírva vagy átszerkesztve bennük bármit.
Jelentősen gyorsabban és könnyedebben lehet haladni, s az ócska
hardverre a korábbinál nagyobb, összetettebb struktúrákat álmodni.
Épp ettől lesz érdekes és izgalmas. Futtatáshoz ma már (floppy
helyett) vannak óriás-cartridge-ek és memóriabővítők (még ha sokszor
pusztán emulálva is); a VICE-ban pedig épp most támad fel
a SuperCPU… (!) A kész végeredmény azután – amennyiben jól
végzi az ember – autentikusan visszavarázsolható egy teljességgel
originál vasra is. Akkor ténylegesen bekövetkezik a varázslat:
megjelennek rajta olyan dolgok, amelyekről annyit álmodoztunk
régen (sosem gondolva azt közben, hogy egyszer azért tényleg
lesz ilyen). És lesz.
Ööö…
hát persze azért ezt még meg kell csinálni…
Update:
a fentiekhez fölkerült (mint látható, a jobbszélen) a Rosetta-blog
linkje, ahol majd a fejlesztési folyamatot fogom dokumentálni.
(Oda lehet kommenteket küldeni.)
Olessák
Róbert (2013)
|
|
Az
óperenciás rendszeren is túl |
2012.12.12. |
|
|
|
avagy:
Miért jó halott platformokon dolgozni? |
|
|
|
Rosetta |
2012.11.01. |
|
|
|
Remélem,
hogy hamarosan bemutatkozik a kis Rosetta |
|
|
Az
IF vára |
|