Rosetta

 

Remélem, hogy hamarosan bemutatkozik a kis Rosetta. Teljes nevén: Rosetta Ados; azért, mert ez olyan szép szappanope… akarom mondani, latinosan hangzik (és halványan még alliterál is a saját nevemmel). Persze most még pici, pusztán csak egy petesejt. Majd ha megszületik, egy ideig Juniornak fogják hívni; aztán talán Senior lesz belőle – amennyiben nem lesz ismét halvaszületett, vagy életképtelen a drága… Nyilván sejthető, a névhez honnan kölcsönöztem el az ihletet.

Természetesen a Rosette-i kőről, amit angolul Rosetta Stone-nak hívnak. Segítségével fejtette meg Champollion és Young az egyiptomi hieroglifákat 1823-ban: mivel kétféle nyelven, háromféle írással volt ráróva ugyanaz a szöveg. Ennek mintájára szeretnék egy olyasvalamit írni, amit eddig talán senkinek sem jutott még az eszébe (vagy legalábbis egyelőre nem hallottam ilyen tárgyú megvalósult próbálkozásról), azaz egyidejűleg is többnyelvűként funkcionáló Interactive Fiction rendszert. (Ugyan az Apple felhasználta már a névötletet korábban a saját PPC/Intel átállásakor, de azt hiszem, az nem releváns most itt.) Magától értetődőleg ez mindjárt két, teljesen különálló dolgot foglal magában: egyfelől a szövegértelmezés és a mondatképzés leprogramozását egyenkénti nyelvi kódmodulok formájában; másfelől pedig – a későbbiekben – egy-egy konkrét játék összes szövegének (beleértve a szótárakat is) a lefordítását. A nyelvek közül én a magyart és az angolt tudom támogatni személyesen, mivel ezt a kettőt ismerem csak annyira (plusz esetleg a német kódhoz némi alapszintű kezdeményt); ám miután a kész rendszert a publikálás után nyitottá (nemcsak ingyenessé, hanem nyílt forráskódúvá is) szeretném tenni, ezért tetszés szerint bővítheti továbbiakkal majd bárki. Az elbeszélés nyelve futásidőben lenne rugalmasan változtatható; a bevitelhez használt nyelvváltozat pedig – legalábbis terveim szerint és a legteljesebb verzióban – a benne lévők bármelyike lehetne (elvileg az algoritmus képes rá).

A játékmenet szintjén: többszereplős jelleg, többjátékos üzemmód és valós idejű végrehajtás várható (a történések szintjén erőteljes non-linearitással és rétegzettséggel). (Ezek azért persze összefüggenek ám egymással, és egymásra is épülnek: a többjátékos üzemmódot gyakorlatban nem is nagyon volna lehetséges kivitelezni a valós idejűség nélkül – mint ahogyan a többszereplős jelleg nélkül sem stb.) Aki ismerte régebben a MUD-okat (Multi User Dungeon): mindezek a jellemzők – kábé arra voltak jellemzők. A leányzó vezetékneve, az Ados, pedig azt jelenti: Adventure Operating System (nem pedig, hogy „adós”). A v1-es verzió (a Jr.) a kisebb, mivel korlátozott hardverkörnyezetre épül, az készülne elsőként (Assembly-ben, optimalizáltan, relatíve szerény képességekkel); a v2-es (a Sr.) majd utána következhet (egyszer…), C-ben avagy C++-ban, jóval nagyobb hardverkövetelménnyel (és tudással), a visszafelé való kompatibilitást is őrizve. Utóbbi a forráskódból kiindulva pedig könnyen portolható marad más, további (modern) környezetekbe. A játéknyelv és -szerkezet egy független és elvont (persze nem túlbonyolított) szkriptnyelvszerű képződmény lesz, mely változatlan formájában átvihető, indítható akármelyik alkalmazott futtatási környezetében.

C64. Természetesen én direkte a lehetetlen módon önsorsrontó küldetéshez vonzódtam csak világéletemben, ezért ezt is ilyen módon fogom kezdeni: mint említettem, petesejt. Jelen esetben e zigóta már (csaknem) 8-bites (axióma gyanánt tételezzük, hogy az 1-től a 7-bitesig tartó szakaszt előzőleg gondolatban letudta), állandó és bejelentett lakóhelye pedig nem más, mint a C64 platform lesz. (Mi? Hogy?! Miért…? Csak.) S ha lúd már, legyen kövér: mindenféle egzotikus hardverkiegészítővel (vagy emulációjával) elbánik: úgymint EasyFlash (az 1MB-os, írható és olvasható EPROM), a memóriabővítők (REU, GeoRAM és társai, max. 16MB-ig) és processzorbővítések (C128 és SuperCPU, Turbo Chameleon stb.), extra beviteli eszközök (egér és fényceruza) stb. Ezek jellemzően hozzájárulnak a felhasználói élmény fokozásához. Többjátékos üzemmód: trükkösen, a lemezegység memóriáján keresztül (még nem biztos, még nem próbáltam ki, hogy gyakorlatban egyáltalán használható-e a módszer… amennyiben mégsem, akkor kimarad).

x86. Ikertestvérei: x86 Assembly-ben 16-bites variánsok DOS alá, és (a tervek szerint) különálló 32-bites és 64-bites változatban Windows alá is. Azután a v2-ben mindez később újraírva C/C++-ban, ami (mivel várhatóan nem sok rendszerspecifikus részt tartalmaz) megnyitja a lehetőséget az utólagos portolásokhoz. Például: Linuxra, MeOS-ra, vagy még inkább a modern mobil platformokra (iOS, tablet) stb. (Addig is a két elavult platform biztosíthatja a hordozhatóságot, elvégre ha más nem, akkor legalább egy emulátor vagy egy DOSBox lényegében minden környezetben jelen van.) Többjátékos üzemmód: a lehető legegyszerűbb módon (megosztásban lévő hálózati fájlok írás/olvasásával, ami univerzális, a jogosultságokon kívül nem függ semmitől, és kényelmes). GUI (Graphical User Interface): szigorúan külön alkalmazásban.

Miután a keretrendszer és a szkriptnyelv elkészült, következhet két „remake”: a két saját, régi jó kis kalandom: A gálya (The Galleon) és A babó (The Hobbit) kiterjesztett újraírása a megváltozott környezetekben (majd utána tetszés szerint újabb IF-ek). Mindkettőnek található némi apropója manapság. Egyik nemsokára húsz éveshez közelítve jubilál. (Másikat meg Peter Jackson alkalmazza forgatókönyvként…) Jó lenne most ideírni azt, hogy: „két év alatt áttekerünk húsz évet”; csakhogy, ugye, várhatóan azért több lesz az (meglehet, hogy sokkal több, ha mindent tekintünk). Amit eddig összehordtam fentebb, mindenképpen több év munkája. Nem baj, úgyis szabadidős tevékenység, nem? Nem. De. De nem csupán csak annyi lehetne – ha valaki mást is érdekelne rajtam kívül még… (Akárkinek akad valamilyen használható ötlete, teszemazt egy esetleges anyagi támogatás megszerzéséhez, vagy bármilyen más hasonló, az írjon!) Gondolkodtam már egy kickstarter.com-os regisztrációban például; de jelen pillanatban jó eséllyel csak valami halálközeli és/vagy felsüléses élmény lenne belőle; igaz, jó látni, hogy akad, aki ezt már sikeresen meglépte – Andrew Plotkin két éve. (Nyilván ő egy világszerte ismert név, egy kvázi-rétegsztár, vagy mi; mely magában egy márka; valamint a tálalás is sokat számíthat. Megugyeja zájfón.) (Lásd itt: Hadean Lands IF)

Összegezve tehát, hívószavakban a lényeg:

többnyelvűség,
többszereplős játék,
többjátékos üzemmód,
valós idejű játékmenet,
független szkriptnyelv,
továbbalakíthatóság,
hordozhatóság.

   

Olessák Róbert (2012)


  Az óperenciás rendszeren is túl
2012.12.12.
 
  
avagy: Miért jó halott platformokon dolgozni?
  

Az IF vára