The Z-Machine Preservation Project
About
The Z-Machine Preservation Project (ZMPP) is an interpreter for Interactive Fiction on the Java Virtual Machine. It was originally written from scratch using Java 5 to create a Z-Machine implementation that is easy to understand maintain and extend.
The goal is to provide an interpreter implementation that is standard compliant and offers the possibility to play Interactive Fiction on many platforms without recompiling the source code, either as a desktop application or within the web browser.
Starting in 2010, ZMPP will also run games written for Andrew Plotkin's virtual machine standard Glulx, previews can be seen on the game page.
The current version supports the following features:
- all story file versions supported
- Saves and restores in Quetzal 1.4 format (also in applet mode)
- Supports the Blorb standard (graphics, AIFF sound, metadata)
- Reads traditional Z-code files and Inform 7 release files
- runs standalone and applet
- different font styles, accents, unicode
- color support (Frotz style)
- timed input and preinitialized input
- command history
- multiple undo
- customizable text rendering (color, size, antialias)
- -> Further information
- -> Comparison with ZPlet
Download current version
The current version is 1.5, it can be downloaded from the Sourceforge project page or the Interactive Fiction Archive.
Games
As a demonstration, I setup a list of games that are representative showing both the nature of IF and the applet features of ZMPP:
Screenshot
ZMPP on other websites
- Fredrik Ramsberg uses ZMPP for swedish games (using his Inform library Swedish.h) on his website. He also helped finding several bugs in the interpreter.
- Adam Cadre has made a link to his "9:05" to the list of games on the ZMPP project page. This also contains several of his games.
- Dan Sanderson has an entry in his Blog about ZMPP.
- The website fiction-fr offers interactive fiction playable both with Zplet and ZMPP.
- Andrew Baio wrote a great blog entry about an unreleased Infocom game using ZMPP to run it on his blog
Acknowledgements
Over its life span, ZMPP has more and more become a project of the
Interactive Fiction community and I am very happy about it, a lot of
ideas for improvement are now coming from its users.
People, I want to explicitly thank here (in alphabetical order):
- An Ni for testing and suggestions to improve support for Japanese
- Eric Forgeot for the french translation, testing and bug reports,
JNLP implementation and the redesign of the homepage
- Fredrik Ramsberg for bug reports and improvement suggestions, ZMPP's
support for accented latin languages is mainly due to his testing and
sugeestions
- Pichuneke for testing and improvement suggestions for Spanish
- Sandy McArthur for motivating the ongoing development to make the ZMPP
core more reusable
© 2005-2010 by Wei-ju Wu,
Box of Rats LLC, website design by Eric Forgeot, Java is a Trademark of Oracle, Inc.