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 web site has not been fully supported since April 2008. Information may be out of date. This page was originally managed by Graham Nelson (graham@gnelson.demon.co.uk) assisted by C Knight.