Resources - Z Machine Infocom - Le Bottin des Jeux Linux

Resources - Z Machine Infocom

🗃️ Specifications

📰 Title: Resources - Z Machine Infocom 🕹️ / 🛠️ Type: Info
🗃️ Genre: Documentation & Link 🚦 Status:
🏷️ Category: Adventure & Action ➤ IF ➤ Texts & Graphics ➤ Games & Content 🍥️ Name:
🔖 Tags: Documentation; Resources 📦️ Arch:
🐣️ Approx. start: 🍥️ On Deb repo:
🐤️ Latest: 📦️ Deb:
📍️ Version: Latest : - 📦️ RPM:
🏛️ License type: FOSS/Libre 📦️ AppImage:
🏛️ License: CC BY 📦️ Snap:
🏝️ Perspective: Third person 📦️ Flatpak:
👁️ Visual: Text ⚙️ Generic bin.:
⏱️ Pacing: Real Time 📄️ Source:
👫️ Played: Single 🌍️ Browser-based:
🎖️ This record: 5 stars 📱️ PDA support:
🎖️ Game design: 👫️ Contrib.: Goupil & Louis
🎰️ ID: 15502 🐛️ Created: 2012-03-31
🐜️ Updated: 2021-09-26

📖️ Summary

[fr]: Un ensemble de liens vers des ressources et/ou documentations pour Z Machine Infocom [en]: A set of links to resources and/or documentation for Z Machine Infocom

🕸️ Links

Docs
• Wikipedia : [Wikipedia (Z-machine) [fr] [en] [de]]
• Misc. : (empty)

Resources
• Commercial (Windows, for contents extraction) : (empty)
• Misc. : (empty)
• Focus on some specific projects : (empty)
-
-
• Fan-sites : (empty)

Games
[RomsMania.cc] [Emulator.games]

📕 Description [fr]

Un ensemble de liens vers des ressources et/ou documentations pour Z Machine Infocom.

Nota : La copie d'écran provient du site Wikipedia (licence CC BY-SA 2.5).

Voir aussi / See also : Ressources - Fiction interactive, Ressources - Z Machine Infocom,


🌍️ Wikipedia:

La Z-machine est une machine virtuelle qui a été développée par Joel Berez et Marc Blank en 1979 et utilisée par Infocom pour ses jeux d'aventure textuels.

Histoire

Infocom

Le jeu d'aventure textuel Zork fut originellement créé pour les mini-ordinateurs PDP-10, par Dave Lebling et Marc Blank, alors étudiants au MIT. Devant le succès du jeu, qui se répandit via l'Arpanet, ils participèrent à la création d'Infocom, une société de développement de jeux d'aventure textuels. L'idée était d'adapter Zork pour les micro-ordinateurs, mais le jeu original était codé en MDL (en), et pesait 1 Mo, ce qui était bien trop gros pour les micro-ordinateurs de l'époque. Le jeu fut ainsi séparé en 3 parties, et un langage de programmation, le ZIL (pour "Zork Implementation Language") fut créé à partir de MDL (notamment en enlevant des fonctionnalités inutiles pour un jeu d'aventure textuel).

Afin de résoudre le problème de la portabilité et de pouvoir commercialiser le jeu sur un grand nombre de plateformes, il fut décidé de créer une machine virtuelle, capable de lancer Zork et tout autre jeu codé en ZIL. Notons que le concept de machine virtuelle était relativement nouveau à l'époque, bien que popularisé par la P-machine, créée en 1978 qui permettait d'exécuter des programmes écrits en Pascal. Il suffisait ensuite de créer, pour chaque micro-ordinateur, du code spécifique qui émulait la Z-machine et permettait de lancer des fichiers compilés pour la Z-machine ; on n'avait ainsi besoin d'écrire ce code qu'une seule fois pour que tous les jeux compilés pour la Z-machine puissent être joués sur ce type de micro-ordinateur. C'est ainsi que les jeux Infocom sortirent un grand nombre de micros nord-américains (Atari 400/800, CP/M, IBM PC, TRS-80 Model II et III, NEC APC, DEC Rainbow, Commodore 64, TI Professional, DECmate, Tandy-2000, Kaypro II, Osborne 1, MS-DOS, TI 99/4A, Apple Macintosh, Epson QX-10, Apricot, Atari ST, Amiga ; on peut noter l'absence de l'Amstrad CPC ou l'Oric, plus populaires en Europe.

Plusieurs versions de la Z-machine furent développées par Infocom pendant les années 1980. La version 3 vit le jour en 1982, et permettait de jouer à des jeux de 128 Ko ; les jeux développés pour cette version de la Z-machine étaient ceux de la série « Standard ». La version 4 vit le jour en 1985, avec A Mind Forever Voyaging et Trinity, et d'autres jeux de la série « Plus ». La version 5 apparut en 1987 avec Beyond Zork, et introduisit de nouvelles fonctionnalités et opcodes qui enrichissent la Z-machine, tels que les jeux de 256 Ko ou les effets temporels. Notons qu'à cette époque Infocom voyait ses ventes ralentir, et Activision, qui venait de l'acheter, voulait augmenter le rythme de production et la rentabilité, ce qui conduisit à l'implantation d'idées et de fonctionnalités qui s'éloignent des aventures purement en mode texte, parfois de façon pas forcément très heureuse. La version 6 de la Z-machine vit le jour en 1988, et ajouta des capacités graphiques et la gestion de la souris, ce qui s'éloignait des jeux Infocom traditionnels ; seulement quatre jeux sortirent avant la fermeture du studio.

Scène amateur

Le début des années 1990 vit la création par Graham Nelson d'Inform, un langage de programmation pour aventures textuelles muni d'un compilateur qui permettait de compiler les jeux Inform pour la Z-machine. Ceci relança l'intérêt pour la Z-machine, puisqu'il était désormais possible à n'importe qui de créer des fictions interactives pour la Z-machine. Deux nouvelles versions furent créées ; la dernière, la version 8, permet la création de jeux pesant jusqu'à 512 Ko.

Dans les années 1990 une machine virtuelle nommée Glulx fut créée par Andrew Plotkin, avec pour but d'étendre les capacités de la Z-machine et de s'affranchir des contraintes, notamment de taille. Les jeux créés pour Glulx permettent ainsi d'utiliser des images, des sons et musiques, des effets temporels, des fenêtres et des liens hypertextes ; de plus, leur taille n'est (en théorie) pas limitée. De plus, le fait que le compilateur Inform peut compiler du code pour en faire un jeu Glulx en fait en quelque sorte le successeur de la Z-machine.

De nos jours, il existe des milliers de jeux pour la Z-machine, dont des classiques du genre tels que Galatea, Spider and Web et Photopia. Elle risque cependant d'être moins utilisée dans les années qui suivent, puisque la dernière version du langage Inform, Inform 7 6L38, intègre trop de fonctionnalités pour qu'un jeu de taille moyenne puisse avoir une taille inférieure à 512 Ko ; le format par défaut est ainsi la machine virtuelle Glulx. Cependant il est toujours possible d'écrire des jeux pour la Z-machine, en utilisant le langage Inform 6 (qui est toujours maintenu) ou même ZIL, pour lequel un compilateur moderne (ZILF) a été écrit.

Interpréteurs Z-machine

Il existe de nombreux interpréteurs pour la Z-machine, permettant d'émuler la Z-machine sur un système particulier et ainsi de jouer aux jeux compilés pour la Z-machine. Ces fichiers se reconnaissent à leur extension : .dat pour les jeux Infocom, et .z3, .z5, .z6, .z8 pour les fichiers modernes.

L'interpréteur historique pour la Z-machine est Frotz, un logiciel libre écrit en C, et disponible sur une grande variété de plateformes : Windows (via Windows Frotz), Mac, Unix, iOS, Palm OS, mais aussi Kindle, Game Boy Advance ou Raspberry Pi. Un autre interpréteur important est Parchment, un interpréteur écrit en JavaScript et qui permet donc de jouer aux jeux pour Z-machine dans un navigateur Internet.

Il existe de nombreux interpréteurs pour Z-machine, écrits dans de nombreux langages et permettant de jouer sur de nombreuses plateformes. Il existe ainsi des interpréteurs récents sur mobile (iOS et Android) ou pour iRC (Grue), ainsi que pour des vieux micro-ordinateurs (Zeugma, qui permet de jouer à des jeux pour la Z-machine version 5 sur un Commodore 64) ou des calculatrices scientifiques (Foblub pour TI-89) ; mais également, de façon plus inattendue, pour Arduino (Zorkduino) ou même pour stylos Livescribe.

Enfin, la Z-machine a récemment été implantée en hardware (pour la première fois, s'agissant d'une machine virtuelle), puisque la version 3 de la Z-machine peut être implantée sur FPGA.

📕 Description [en]

A set of links to resources and / or documentation for the Z Machine Infocom.


🌍️ Wikipedia:

The Z-machine is a virtual machine that was developed by Joel Berez and Marc Blank in 1979 and used by Infocom for its text adventure games. Infocom compiled game code to files containing Z-machine instructions (called story files Z-code files) and could therefore port its text adventures to a new platform simply by writing a Z-machine implementation for that platform. With the large number of incompatible home computer systems in use at the time, this was an important advantage over using native code or developing a compiler for each system.

History

The "Z" of Z-machine stands for Zork, Infocom's first adventure game. Z-code files usually have names ending in .z1, .z2, .z3, .z4, .z5, .z6, .z7, or .z8, where the number is the version number of the Z-machine on which the file is intended to be run, as given by the first byte of the story file.

This is a modern convention, however. Infocom itself used extensions of .dat (Data) and .zip (ZIP = Z-machine Interpreter Program), but the latter clashed with the widespread use of .zip for PKZIP-compatible archive files starting in the 1990s, after Activision closed Infocom. Infocom produced six versions of the Z-machine. Files using versions 1 and 2 are very rare. Only two version 1 files are known to have been released by Infocom and only two of version 2. Version 3 covers the majority of Infocom's released games. Later versions had more capabilities, culminating in some graphic support in version 6.

The compiler (called Zilch) that Infocom used to produce its story files has never been released, although documentation of the language used (ZIL) still exists, and an open-source replacement has been written. After Mediagenic moved Infocom to California in 1989, Computer Gaming World stated that "ZIL ... is functionally dead", and reported rumors of a "completely new parser that may never be used". In May 1993, Graham Nelson released the first version of his Inform compiler, which also generates Z-machine story files as its output, even though the Inform source language is quite different from ZIL.

Inform has become popular in the interactive fiction community. A large proportion of interactive fiction is in the form of Z-machine story files. Demand for the ability to create larger game files led Nelson to specify versions 7 and 8 of the Z-machine, though version 7 is rarely used. Because of the way addresses are handled, a version 3 story file can be up to 128K in length, a version 5 story can be up to 256K in length, and a version 8 story can be up to 512k in length. Though these sizes may seem small by today's computing standards, for text-only adventures, these are large enough for elaborate games.

During the 1990s, Nelson drew up a Z-Machine Standard based on detailed studies of the existing Infocom files.

Interpreters
An implementation of Frotz running on an iPhone, playing Zork I.

Interpreters for Z-code files are available on a wide variety of platforms. The Inform website lists links to freely available interpreters for 15 desktop operating systems (including 8-bit microcomputers from the 1980s such as the Apple II, TRS-80, and ZX Spectrum, and grouping "Unix" and "Windows" as one each), 10 mobile operating systems (including Palm OS and the Game Boy), and three interpreter platforms (Emacs, Java, and JavaScript). According to Nelson, it is "possibly the most portable virtual machine ever created".

Popular interpreters include Nitfol and Frotz. Nitfol makes use of the Glk API, and supports versions 1 through 8 of the Z-machine, including the version 6 graphical Z-machine. Save files are stored in the standard Quetzal save format. Binary files are available for several different operating systems, including Macintosh, Linux, DOS, and Windows.

Another popular client for the Mac (OS X) is Zoom. It supports the same Quetzal save-format, but the packaging of the file-structure is different.

Frotz was written in C by Stefan Jokisch in 1995 for DOS. Over time it was ported to other platforms, such as Unix, RISC OS, Mac OS, and iOS. Sound effects and graphics were supported to varying degrees. By 2002, development stalled and the program was picked up by David Griffith. The code base was split between virtual machine and user interface portions in such a way that the virtual machine became independent from any user interface. This allowed more variety in porting Frotz. One of the stranger ports is also one of the simplest: an instant messaging bot is wrapped around a version of Frotz with the minimum IO functionality creating a bot with which one can play most Z-machine games using an instant messaging client.