Z gép | |
---|---|
Fejlesztő | infocom |
Bit mélység | 16 |
Bemutatták | 1979 |
Verziók | 1.1 (2014) |
Építészet | CISC |
Byte sorrend | Nagy |
nyisd ki? | Igen |
A Z-gép egy virtuális gép , amelyet Joel Berez és Mark Blank fejlesztett 1979-ben, és az Infocom szöveges kalandjátékokhoz használta . Egy speciális fordító segítségével a játék forráskódja úgynevezett "sztori fájlokba" vagy "Z-kód fájlokba" lett összeállítva, amelyek bináris utasításokat tartalmaztak a Z-géphez, ami lehetővé tette a játékok új platformra történő portolását . egyszerűen csak ír egy Z-gépet erre a platformra. Mivel akkoriban sok inkompatibilis otthoni számítógépes rendszer volt, ez fontos előnyt jelentett a natív kód használatához vagy az egyes rendszerekhez külön fordítóprogramok fejlesztéséhez képest.
A "Z" betű a Zork név első betűje, az Infocom által kiadott első kalandjáték. A modern konvenció szerint az előzményfájlok általában .Z1, .Z2, Z3, .Z4, Z5, Z6, .Z7 vagy .Z8 kiterjesztéssel rendelkeznek, ahol a szám annak a Z-gépnek a verziószáma, amelyhez az előzményfájl szánják. Szintén az előzményfájl első bájtja a verziót is jelölte [1] , azonban az Infocom által készített eredeti előzményfájlok .DAT ( angolul data , data) és .ZIP ( angol Z-machine Interpreter Program ) kiterjesztéssel rendelkeztek. .
A fejlesztés története során az Infocom hat verziót készített a Z-gépből, a legtöbb játékot a harmadik verzióhoz adta ki a stúdió. A későbbi verziók több funkcióval rendelkeztek, például a grafikát támogató hatodik verziót használó játékok.
Az előzményfájlok létrehozásához használt Zilch nevű fordító soha nem jelent meg, bár a ZIL (Zork Implementation Language) dokumentációja nyílt licenc alatt készült [ 2] . Az Infocom Activision általi felvásárlását követően a Computer Gaming World bejelentette, hogy "a ZIL […] funkcionálisan meghalt", és egy "egy teljesen új értelmezőről, amelyet valószínűleg soha nem fognak használni" [3] pletykákról számolt be . 1993 májusában Graham Nelson kiadta az Inform nyelvhez tartozó fordítóprogram első verzióját , amely fájlokat generál a Z-gép számára, bár az Inform nyelv eltér a ZIL-től.
Az inform népszerűvé vált az interaktív irodalom területén . Az interaktív fikció nagy része a Z-gép fájljaiban volt. A nagy játékfájlok létrehozásának képessége iránti igény arra késztette Nelsont, hogy készítsen specifikációt a Z-gép hetedik és nyolcadik verziójához, bár a 7-es verziót ritkán használták. Az eltérő fájlcímzés miatt a 3-as verziójú előzményfájlok 128 KB-ig, az 5-ös verzió 256 KB-ig, a 8-as verzió pedig 512 KB-ig terjedhet. Bár ezek a méretek a mai számítástechnikai szabványok szerint kicsinek tűnhetnek, a szöveges kalandokhoz elég nagyok ahhoz, hogy bonyolult játékokat fejlesszenek ki.
Az 1990-es években Nelson kifejlesztette a Z-machine [4] szabványt a meglévő Infocom-fájlok részletes elemzése alapján.
A Z-kód fájlok tolmácsai különféle platformokon állnak rendelkezésre. Az Inform webhely 15 operációs rendszer (beleértve az 1980-as évek 8 bites mikroszámítógépeit, mint például az Apple II , TP-80 és ZX Spectrum , valamint a Unix és a Windows), 10 mobil operációs rendszer (beleértve a Palm OS -t is) tolmácsaihoz nyújt hivatkozásokat. és Game Boy ), valamint három platformközi értelmezőhöz ( Emacs , Java és JavaScript ). Nelson szerint ez "talán a valaha készült leghordozhatóbb virtuális gép" [5] .
A népszerű tolmácsok Nitfol és Frotz. A Nitfol a Glk API -t használja , és támogatja az 1–8. verziókat, beleértve a 6-os verziót grafikával. A mentési fájlok Quetzal formátumban vannak tárolva. A bináris fájlok számos különböző operációs rendszerhez állnak rendelkezésre , beleértve a macOS -t , a Linuxot , a DOS -t és a Windows -t . [6]
A macOS másik népszerű kliense a Zoom. Ugyanazt a Quetzal formátumot támogatja, de a fájlszerkezet eltérő. [7]
A Frotz-ot C nyelven Stefan Jokisch írta 1995-ben DOS-ra. Idővel más platformokra is portolták, mint például a Unix , a RISC OS , a macOS és az iOS . [8] A hanghatások és a grafika különböző mértékben támogatott. 2002-re a fejlesztés leállt, és a programot David Griffith vette át. A virtuális gép és a felhasználói felület kódja szét lett választva, így a virtuális gép minden felhasználói felülettől függetlenné válik. Ez lehetővé tette több variáció létrehozását a Frotz portolásához. Az egyik legfurcsább adaptáció egyben az egyik legegyszerűbb volt: egy Frotz köré tekert azonnali üzenetküldő bot minimális I/O képességgel , amellyel Z-gépes játékokat játszhatunk azonnali üzenetküldő kliensen keresztül. [9]