Discussion utilisateur:TheDarkTiger/Brouillon

La Z-machine est une machine virtuelle développée par Joel Berez et Marc Blank en 1979, utilisé par la société Infocom pour ses nouvelles interactives. Infocom compilait le code source du jeu en un fichier contenant des instructions pour la Z-machine (nommé fichier histoire, story files, ou fichiers Z-code), et pouvait, de ce fait, porter toutes ses nouvelles interactives sur une nouvelle machine simplement en écrivant une Z-Machine pour cette plateforme. En effet, à l'époque, un grand nombre d'ordinateurs individuels existaient et ils n'étaient pas compatibles entre eux. Il était donc plus avantageux d'écrire une Z-Machine par plateforme, puis d'y ajouter les aventures, plutôt que de devoir redéveloper tous les jeux pour toutes les plateformes.

Le "Z" de Z-machine vient de Zork, la première nouvelle interactive d'Infocom. Les fichiers Z-code ont généralement des extention suivantes : .z1, .z2, .z3, .z4, .z5, .z6, .z7 et .z8, o`u le numéro est la version de la Z-machine sur laquelle le fichier doit être exécuté. Le premier octet du fichier le confirme. Version# et specification. Néanmoins, ceci reste une convention récente. Infocom utilisait les extensions .dat (Data, données en français) et .zip (ZIP = Z-machine Interpreter Program, Programme à Interpréter sur une Z-Machine), mais des conflits sont apparus au début des années 90 avec la diffusion des fichiers compressés .zip des archives compatibles PKZIP et la fermeture par Activision d'Infocom. Infocom à produit six versions des Z-machines. Les fichiers des versions 1 et 2 sont très rares (deux pour chacune des version). La version 3 couvre la grande majorité des jeux sortis par Infocom. Les versions suivantes ont de plus en plus de possibilités, culminant au support d'éléments graphiques dans la version 6.

Le compilateur (nonmmé Zilch) qu'utilisait Infocom pour produire ses nouvelles interractives n'as jamais été diffusé, néanmoins, une documentation du langage de programmation utilisé (nommé ZIL pour Zork Implementation Language) existe toujours et un doccument open-source de remplacemment (nommé ZILF) à été écrit. En mai 1993, Graham Nelson diffuse la première version de son compilateur Inform, qui génère des nouvelles interractives au format Z-machine, et ce m^eme si le langage d'Inform est bien différen deZIL. La plupart des fichiers produits par Inform sont compatibles avec la version 5 de la Z-machine.

Inform est devenu très populaire dans les communautés des nouvelles interactives

Inform has since become very popular in the interactive fiction community and, as a consequence, a large proportion of the interactive fiction now produced is in the form of Z-machine story files. Demand for the ability to create larger game files led Graham Nelson to specify versions 7 and 8 of the Z-machine, though version 7 is very 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 very elaborate games.

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

Interpréteurs modifier

Une implémentation de Frotz sur un iPhone, interprétant 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 Graham Nelson, it is "possibly the most portable virtual machine ever created".[1]

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 currently available for several different operating systems, including Macintosh, Linux, DOS, and Windows.

Frotz modifier

Frotz a originalement été écrit en C par Stefan Jokisch en 1995 pour Micrisoft DOS. Avec le temps, il fut porté sur d'autres platesformes comme Unix, RISC OS, et Macintosh. les effet sonore et les graphismes étant supportés à différents degrés en fonction des portages. A partir de 2002 le développement et le programme ont été repris par David Griffith. Le code de base fut distinctement séparé. La machine virtuelle et l'interface utilisateur sont désormais totalement indépendants. Cela permet une variété bien plus importante dans les portages de Frotz. Un des ports les plus étranges est aussi l'un des plus simples, il s'agit de celui sur instant messenger. Il à été développé autour d'une version de Frotz utilisant le minimum de fonctionnalités d'entrées/sortie. Il permet donc de jouer à quasiment tous les jeux d'une Z-Machine en utilisant un client de messagerie.

Un autre portage populaire est le client pour Mac (OS X) : Zoom. Il supporte également les m^emes fichiers de sauvegarde que Quetzal, mais la structuration du fichier est différente.

Autres utilitaires modifier

ZorkTools est une collection de programmes utilitaires proposant des fonctionnalités normalement non disponibles avec une nouvelle en Z-Code, comme lister tous les objets ou l'ajout de mots de vocabulaire.[1]

Voir également modifier

  • Glulx - Similaire à la Z-machine, mais en levant certaines limitations des versions officielles.
  • SCUMM - Script Creation Utility for Maniac Mansion par LucasArts, un système graphique similaire à la Z-machine
  • TADS - Similaire à la Z-machine, mais, à l'instar de Glulx, sans aucune de ses limitations.

Références modifier

  1. Graham Nelson, « About Interpreters », Inform website (consulté le )

Liens externes modifier


Retour à la page de l’utilisateur « TheDarkTiger/Brouillon ».