Z maskine | |
---|---|
Udvikler | infocom |
Lidt dybde | 16 |
Fremlagde | 1979 |
Versioner | 1.1 (2014) |
Arkitektur | CISC |
Byte rækkefølge | Stor |
åben? | Ja |
Z-maskinen er en virtuel maskine udviklet af Joel Berez og Mark Blank 1979 og brugt af Infocom til teksteventyrspil . Ved hjælp af en specialiseret compiler blev spillets kildekode kompileret til såkaldte "story files" eller "Z-code files", indeholdende binære instruktioner til Z-maskinen, som gjorde det muligt at porte spil til en ny platform ved blot at skrive en Z-maskine til denne platform. Med et stort antal inkompatible hjemmecomputersystemer på det tidspunkt var dette en vigtig fordel i forhold til at bruge native kode eller udvikle en compiler for hvert system separat.
Bogstavet "Z" er det første bogstav i navnet Zork , det første eventyrspil udgivet af Infocom. Ifølge moderne konvention har historiefiler normalt filtypenavnene .Z1, .Z2, Z3, .Z4, Z5, Z6, .Z7 eller .Z8, hvor nummeret er versionsnummeret på den Z-maskine, som historiefilen for har til hensigt. Den første byte i historiefilen betegnede også versionen [1] , men de originale historiefiler oprettet af Infocom havde filtypenavnene .DAT (fra engelsk data , data) og .ZIP (fra engelsk Z-machine Interpreter Program ) .
I udviklingshistorien har Infocom skabt seks versioner af Z-maskinen, med det største antal spil udgivet af studiet til den tredje version. Senere versioner havde flere funktioner, såsom spil med version seks, der understøttede grafik.
Kompileren kaldet Zilch, der blev brugt til at oprette historiefilerne, er aldrig blevet offentliggjort, selvom ZIL (Zork Implementation Language) dokumentation er skrevet under en åben licens [ 2] . Efter overtagelsen af Infocom af Activision annoncerede Computer Gaming World , at "ZIL […] er funktionelt død" og rapporterede rygter om en "helt ny parser, der måske aldrig bliver brugt" [3] . I maj 1993 udgav Graham Nelson den første version af en compiler til sit Inform -sprog , som genererer filer til Z-maskinen, selvom Inform-sproget er forskelligt fra ZIL.
Inform er blevet populært inden for interaktiv litteratur . Meget af den interaktive fiktion var i filerne til Z-maskinen. Efterspørgsel efter evnen til at skabe store spilfiler fik Nelson til at lave en specifikation for den syvende og ottende version af Z-maskinen, selvom version 7 sjældent blev brugt. På grund af forskellig filadressering kan version 3-historikfiler være op til 128 KB, version 5 understøtter op til 256 KB, og version 8 kan være op til 512 KB i størrelse. Selvom disse dimensioner kan virke små efter nutidens computerstandarder, er de til tekstbaserede eventyr store nok til at udvikle indviklede spil.
I 1990'erne udviklede Nelson Z-machine [4] standarden baseret på en detaljeret analyse af eksisterende Infocom-filer.
Tolke til Z-kodefiler er tilgængelige på forskellige platforme. Inform-webstedet indeholder links til tolke til 15 operativsystemer (inklusive 8-bit mikrocomputere fra 1980'erne, såsom Apple II , TP-80 og ZX Spectrum , samt til Unix og Windows), 10 mobile operativsystemer (inklusive Palm OS og Game Boy ), og for tre tolke på tværs af platforme ( Emacs , Java og JavaScript ). Ifølge Nelson er det "måske den mest bærbare virtuelle maskine, der nogensinde er skabt" [5] .
Populære tolke er Nitfol og Frotz. Nitfol bruger Glk API og understøtter version 1 til 8, inklusive version 6 med grafik. gemte filer gemmes i Quetzal-format. Binære filer er tilgængelige for flere forskellige operativsystemer , herunder macOS , Linux , DOS og Windows . [6]
En anden populær klient til macOS er Zoom. Det understøtter det samme Quetzal-format, men filstrukturen er anderledes. [7]
Frotz blev skrevet i C af Stefan Jokisch i 1995 til DOS. Det er over tid blevet overført til andre platforme såsom Unix , RISC OS , macOS og iOS . [8] Lydeffekter og grafik blev understøttet i varierende grad. I 2002 gik udviklingen i stå, og programmet blev overtaget af David Griffith. Koden til den virtuelle maskine og brugergrænsefladen er blevet adskilt, så den virtuelle maskine bliver uafhængig af enhver brugergrænseflade. Dette gjorde det muligt at skabe flere variationer til portering af Frotz. En af de mærkeligste tilpasninger var også en af de enkleste: en instant messaging bot viklet rundt om Frotz med minimal I/O -kapacitet , hvormed du kan spille Z-maskine spil gennem en instant messaging klient. [9]