Z-machine (herní engine)

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 21. prosince 2021; kontroly vyžadují 3 úpravy .
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ášť.

Historie

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.

Tlumočníci

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]

Viz také

Poznámky

  1. Dokument standardů Z-Machine . inform-fiction.org . Získáno 26. března 2018. Archivováno z originálu 1. února 2018.
  2. McGrew, Jesse ZILF (odkaz není k dispozici) . Bitbucket . Získáno 10. listopadu 2018. Archivováno z originálu dne 28. listopadu 2021. 
  3. Uvnitř průmyslu: Pohyb společnosti Infocom na západním pobřeží vyvolává kontroverze, Svět počítačových her : 10. září 1989 
  4. Inform-ZMachine-Standards . inform-fiction.org . Získáno 26. března 2018. Archivováno z originálu 18. března 2018.
  5. Nelson, Graham O tlumočnících . Informovat webové stránky . Získáno 7. listopadu 2009. Archivováno z originálu 3. prosince 2009.
  6. if-archive/infocom/interpreters/nitfol . Staženo: 29. října 2016.
  7. Zoom s logickým posunem . Získáno 29. října 2016. Archivováno z originálu 9. srpna 2019.
  8. Soubor Frotz README na Githubu . Staženo: 29. října 2016.
  9. Soubor Frotz DUMB na Githubu . Získáno 29. října 2016. Archivováno z originálu dne 27. března 2018.

Odkazy