Z-maskine (spilmotor)

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 21. december 2021; checks kræver 3 redigeringer .
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.

Historie

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

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]

Se også

Noter

  1. Z-Machine Standards Document . inform-fiction.org . Hentet 26. marts 2018. Arkiveret fra originalen 1. februar 2018.
  2. McGrew, Jesse ZILF (link utilgængeligt) . Bitbucket . Hentet 10. november 2018. Arkiveret fra originalen 28. november 2021. 
  3. Inside the Industry: Infocom's West Coast Move Stirs Controversy, Computer Gaming World : 10, september 1989 
  4. Inform-ZMachine-Standards . inform-fiction.org . Hentet 26. marts 2018. Arkiveret fra originalen 18. marts 2018.
  5. Nelson, Graham om tolke . Informer hjemmesiden . Hentet 7. november 2009. Arkiveret fra originalen 3. december 2009.
  6. if-archive/infocom/interpreters/nitfol . Hentet: 29. oktober 2016.
  7. Logisk skiftzoom . Hentet 29. oktober 2016. Arkiveret fra originalen 9. august 2019.
  8. Frotz README-fil på Github . Hentet: 29. oktober 2016.
  9. Frotz DUMB-fil på Github . Hentet 29. oktober 2016. Arkiveret fra originalen 27. marts 2018.

Links