Inform - ZMachine - Standards

See also Glulx  

In the late 1980s and early 90s many people sought to decode and emulate the Infocom story file format, and these efforts culminated in a set of largely working tools to disassemble story files (txd), extract text from them (Infodump), play them (InfoTaskForce and Zip) and create them (Inform). By the mid-1990s, the format was well understood, but poorly documented, at a time when an increasing number of tools were being written to work with it. In 1996, a committee of interested parties compiled the first draft of a Standard (0.2): the presently accepted Standard is 1.0, dating from May to September 1997.

The format is regarded as being mature and stable. Relatively minor improvements, mainly concerning the Version 6 Z-Machine, have been made. It's generally felt that it would be inappropriate to radically restructure the Z-Machine with, for instance, a 32-bit architecture because (a) there are grave technical difficulties with this, and (b) the Glulx virtual machine is already a solution to this problem.

The Standard is discussed and maintained by the Z-Machine Mailing List, to which all interpreter-writers will probably wish to belong. There is no formal standards committee, and instead all are invited to comment; decisions are taken by general consensus as far as possible.

Related to the Standard, but not a part of it, are three formats for resources generated and used by the Z-Machine. Interpreter-writers are urged to use these standards, too.

Z-Machine Standards Document 1.1  (9th revision, May 2006; errors corrected February 2014)   Link  
The web edition of the current standard. This existed as a 1.1 proposal document for many years; it has now been integrated into the main text.
Z-Machine Standards Document 1.0  (May 1997; errors corrected February 2014)   Link  
The first released version of the standard.
Quetzal  (Version 1.4, 971103)   Link  
A standard for saved game files. Adherence to Quetzal is enormously helpful for players, as it allows games to be saved on one interpreter (say on a person's desktop machine) and resumed on another (say on a personal organiser on the train). Since there is no argument about what information needs to be saved, there is no real reason not to observe this standard.
Blorb     Link  
A standard package to hold resources needed by the story file in play (graphics, sound effects, etc.), one of which can be the story file itself, so that a multimedia work can be distributed as a single Blorb file. Even purely textual interpreters on platforms which could not manage graphics can benefit from supporting Blorb: the only absolute requirement is that an interpreter should be able to extract the Z-code part of a Blorb file and play it (ignoring all the other resources present if it chooses), and this is easily coded up.
The Treaty of Babel     Link  
A standard for bibliographic information for interactive fiction games. This enables IF interpreters and web services to catalog and display metadata (title, author, and so on) in a consistent way. The Babel plan has been adopted by most major IF development systems.
Z-machine directory at the IF Archive     Link  
Zipped PDF  (280303)  Peer Schaefer Link (500KB) 
Z-Machine Standard 1.0, with Standard 1.1 version 7, Blorb 1.1 and Quetzal 1.3b appended, in Portable Document Format.


Last updated 25 February 2014. This site is no longer supported; information may be out of date.
Maintained as a historical archive by the Interactive Fiction Technology Foundation. Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
This page was originally managed by Graham Nelson (graham@gnelson.demon.co.uk) assisted by C Knight.