Z-maskin (spelmotor)

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 21 december 2021; kontroller kräver 3 redigeringar .
Z maskin
Utvecklaren infocom
Lite djup 16
Presenteras 1979
Versioner 1,1 (2014)
Arkitektur CISC
Byte-ordning Stor
öppna? Ja

Z-maskinen  är en virtuell maskin utvecklad av Joel Berez och Mark Blank och användes av Infocom för textäventyrsspel . Med hjälp av en specialiserad kompilator kompilerades spelets källkod till så kallade "story files" eller "Z-code files", innehållande binära instruktioner för Z-maskinen, vilket gjorde det möjligt att porta spel till en ny plattform genom att helt enkelt skriva en Z-maskin för denna plattform. Med ett stort antal inkompatibla hemdatorsystem vid den tiden var detta en viktig fördel jämfört med att använda inbyggd kod eller att utveckla en kompilator för varje system separat.

Historik

Bokstaven "Z" är den första bokstaven i namnet Zork , det första äventyrsspelet som släppts av Infocom. Enligt modern konvention har historikfiler vanligtvis filändelserna .Z1, .Z2, Z3, .Z4, Z5, Z6, .Z7 eller .Z8, där numret är versionsnumret på Z-maskinen för vilken historikfilen är menat. Den första byten i historikfilen betecknade också versionen [1] , men de ursprungliga historikfilerna skapade av Infocom hade tilläggen .DAT (från engelska  data , data) och .ZIP (från engelska  Z-machine Interpreter Program ) .

I utvecklingshistorien har Infocom skapat sex versioner av Z-maskinen, med flest spel som släppts av studion för den tredje versionen. Senare versioner hade fler funktioner, till exempel spel med version sex som stödde grafik.

Kompilatorn som heter Zilch som användes för att skapa historikfilerna har aldrig publicerats, även om ZIL-dokumentation (Zork Implementation Language) har skrivits under en öppen licens [ 2] . Efter förvärvet av Infocom av Activision meddelade Computer Gaming World att "ZIL […] är ​​funktionellt död" och rapporterade rykten om en "helt ny parser som kanske aldrig kommer att användas" [3] . I maj 1993 släppte Graham Nelson den första versionen av en kompilator för hans Inform language , som genererar filer för Z-maskinen, även om Inform-språket skiljer sig från ZIL.

Inform har blivit populärt inom interaktiv litteratur . Mycket av den interaktiva fiktionen fanns i filerna för Z-maskinen. Efterfrågan på möjligheten att skapa stora spelfiler fick Nelson att skapa en specifikation för den sjunde och åttonde versionen av Z-maskinen, även om version 7 sällan användes. På grund av olika filadresser kan version 3-historikfiler vara upp till 128 KB, version 5 stöder upp till 256 KB och version 8 kan vara upp till 512 KB stora. Även om dessa dimensioner kan verka små med dagens datorstandarder, är de för textbaserade äventyr tillräckligt stora för att utveckla intrikata spel.

På 1990-talet utvecklade Nelson standarden Z-machine [4] baserat på en detaljerad analys av befintliga Infocom-filer.

Tolkar

Tolkar för Z-kodfiler finns tillgängliga på olika plattformar. Webbplatsen Inform tillhandahåller länkar till tolkar för 15 operativsystem (inklusive 8-bitars mikrodatorer från 1980-talet, som Apple II , TP-80 och ZX Spectrum , samt för Unix och Windows), 10 mobila operativsystem (inklusive Palm OS och Game Boy ), och för tre plattformsövergripande tolkar ( Emacs , Java och JavaScript ). Enligt Nelson är det "kanske den mest bärbara virtuella maskinen som någonsin skapats" [5] .

Populära tolkar är Nitfol och Frotz. Nitfol använder Glk API och stöder version 1 till 8, inklusive version 6 med grafik. spara filer lagras i Quetzal-format. Binärfiler finns tillgängliga för flera olika operativsystem , inklusive macOS , Linux , DOS och Windows . [6]

En annan populär klient för macOS är Zoom. Det stöder samma Quetzal-format, men filstrukturen är annorlunda. [7]

Frotz skrevs i C av Stefan Jokisch 1995 för DOS. Det har med tiden porterats till andra plattformar som Unix , RISC OS , macOS och iOS . [8] Ljudeffekter och grafik stöddes i varierande grad. År 2002 stannade utvecklingen av och programmet togs över av David Griffith. Koden för den virtuella maskinen och användargränssnittet har separerats så att den virtuella maskinen blir oberoende av vilket användargränssnitt som helst. Detta gjorde det möjligt att skapa fler varianter för portering av Frotz. En av de märkligaste anpassningarna var också en av de enklaste: en snabbmeddelandebot lindad runt Frotz med minimal I/O -kapacitet , med vilken du kan spela Z-maskinspel genom en snabbmeddelandeklient. [9]

Se även

Anteckningar

  1. Z-Machine Standards Document . inform-fiction.org . Hämtad 26 mars 2018. Arkiverad från originalet 1 februari 2018.
  2. McGrew, Jesse ZILF (länk ej tillgänglig) . Bitbucket . Hämtad 10 november 2018. Arkiverad från originalet 28 november 2021. 
  3. Inside the Industry: Infocom's West Coast Move Stirs Controversy, Computer Gaming World : 10 september 1989 
  4. Informera-ZMachine-Standards . inform-fiction.org . Hämtad 26 mars 2018. Arkiverad från originalet 18 mars 2018.
  5. Nelson, Graham om tolkar . Informera hemsidan . Hämtad 7 november 2009. Arkiverad från originalet 3 december 2009.
  6. if-archive/infocom/interpreters/nitfol . Hämtad: 29 oktober 2016.
  7. Logisk skiftzoom . Hämtad 29 oktober 2016. Arkiverad från originalet 9 augusti 2019.
  8. Frotz README-fil på Github . Hämtad: 29 oktober 2016.
  9. Frotz DUMB-fil på Github . Hämtad 29 oktober 2016. Arkiverad från originalet 27 mars 2018.

Länkar