Stroj Z | |
---|---|
Vývojář | infocom |
Bitová hloubka | 16 |
Prezentováno | 1979 |
Verze | 1.1 (2014) |
Architektura | CISC |
Pořadí bajtů | Velký |
OTEVŘENO? | Ano |
Z-machine je virtuální stroj vyvinutý Joelem Berezem a Markem Blankem 1979 a používaný společností Infocom pro textové adventury . S pomocí specializovaného kompilátoru byl zdrojový kód hry zkompilován do tzv. "story files" nebo "Z-code files", obsahujících binární instrukce pro Z-machine, což umožnilo portovat hry na novou platformu. jednoduše napsáním Z-stroje pro tuto platformu. S velkým počtem nekompatibilních domácích počítačových systémů v té době to byla důležitá výhoda oproti používání nativního kódu nebo vývoji kompilátoru pro každý systém zvlášť.
Písmeno „Z“ je prvním písmenem jména Zork , první adventury vydané Infocomem. Podle moderní konvence mají soubory historie obvykle přípony .Z1, .Z2, Z3, .Z4, Z5, Z6, .Z7 nebo .Z8, kde číslo je číslo verze Z-stroje, pro který soubor historie je zamýšlen. Také první bajt v souboru historie také označoval verzi [1] , nicméně původní soubory historie vytvořené Infocomem měly přípony .DAT (z angličtiny data , data) a .ZIP (z angličtiny Z-machine Interpreter Program ) .
V historii vývoje Infocom vytvořil šest verzí Z-machine, přičemž nejvíce her studio vydalo pro třetí verzi. Pozdější verze měly více funkcí, například hry používající verzi šest, která podporovala grafiku.
Kompilátor nazvaný Zilch používaný k vytvoření souborů historie nebyl nikdy publikován, ačkoli dokumentace ZIL (Zork Implementation Language) byla napsána pod otevřenou licencí [ 2] . Po akvizici Infocom společností Activision oznámil Computer Gaming World , že „ZIL […] je funkčně mrtvý“ a oznámil zvěsti o „zcela novém analyzátoru, který možná nikdy nebude použit“ [3] . V květnu 1993 vydal Graham Nelson první verzi kompilátoru pro svůj jazyk Inform , který generuje soubory pro Z-machine, i když se jazyk Inform liší od jazyka ZIL.
Inform se stal populární v oblasti interaktivní literatury . Velká část interaktivní fikce byla v souborech pro Z-machine. Poptávka po schopnosti vytvářet velké herní soubory přiměla Nelsona k vytvoření specifikace pro sedmou a osmou verzi Z-machine, ačkoli verze 7 se používala jen zřídka. Kvůli odlišnému adresování souborů mohou mít soubory historie verze 3 až 128 KB, verze 5 podporuje až 256 KB a verze 8 může mít velikost až 512 KB. I když se tyto rozměry mohou zdát podle dnešních počítačových standardů malé, pro textová dobrodružství jsou dostatečně velké na vývoj složitých her.
V 90. letech Nelson vyvinul standard Z-machine [4] na základě podrobné analýzy existujících souborů Infocom.
Interprety pro soubory Z-kódu jsou dostupné na různých platformách. Webová stránka Inform poskytuje odkazy na interprety pro 15 operačních systémů (včetně 8bitových mikropočítačů z 80. let, jako jsou Apple II , TP-80 a ZX Spectrum a také pro Unix a Windows), 10 mobilních operačních systémů (včetně Palm OS a Game Boy ) a pro tři multiplatformní interprety ( Emacs , Java a JavaScript ). Podle Nelsona je to „možná nejpřenosnější virtuální stroj, jaký byl kdy vytvořen“ [5] .
Populárními interprety jsou Nitfol a Frotz. Nitfol používá Glk API a podporuje verze 1 až 8, včetně verze 6 s grafikou. uložené soubory jsou uloženy ve formátu Quetzal. Binární soubory jsou dostupné pro několik různých operačních systémů , včetně macOS , Linux , DOS a Windows . [6]
Dalším oblíbeným klientem pro macOS je Zoom. Podporuje stejný formát Quetzal, ale struktura souborů je odlišná. [7]
Frotz napsal v C Stefan Jokisch v roce 1995 pro DOS. Postupem času byl portován na další platformy, jako je Unix , RISC OS , macOS a iOS . [8] Zvukové efekty a grafika byly podporovány v různé míře. V roce 2002 se vývoj zastavil a program převzal David Griffith. Kód virtuálního stroje a uživatelského rozhraní byl oddělen tak, aby se virtuální stroj stal nezávislým na jakémkoli uživatelském rozhraní. To umožnilo vytvořit více variant pro portování Frotze. Jedna z nejpodivnějších adaptací byla také jedna z nejjednodušších: bot pro rychlé zasílání zpráv omotaný kolem Frotz s minimálními I/O schopnostmi , se kterým můžete hrát hry Z-machine prostřednictvím klienta pro rychlé zasílání zpráv. [9]