Some research this week led me to an interesting discovery. I was going to add a new, modern text adventure title called Airlock to the list (still will) and discovered that the author used a version of Inform to create the adventure and then compiled for the C64 (and other systems) using something called Ozmoo. This is exciting because those of us who want to focus on the writing with a tool like Inform and less on the code can use some of these neato toolsets to make our adventures a playable “reality”. Awesome! Here are some details and resources:
Ozmoo Online: https://microheaven.com/ozmooonline
Ozmoo Source: https://github.com/johanberntsson/ozmoo
PunyInform: https://github.com/johanberntsson/PunyInform
Inform 6 – VS Code Extension: https://github.com/toerob/inf6langtools
ZCode Interpreter (Frotz): http://www.davidkinder.co.uk/frotz.html
Inform 6 compiler (needed by PunyInform): https://www.ifarchive.org/indexes/if-archiveXinfocomXcompilersXinform6Xexecutables.html
Puddle Build Tools for PunyInform: https://github.com/ByteProject/Puddle-BuildTools
The Interactive Fiction Archive: https://www.ifarchive.org/index.html
Borogrove (Online developer interface for IF offering a variety of environments): https://borogove.app/
Some history / definitions:
- Z-code is an Interactive Fiction (IF) file format. A Z-code file contains a series of instructions for the Z-machine, a virtual machine designed by Infocom.
- Infocom was a company that started at MIT. Started the Zork text-based adventure game, inspired by an earlier game called Colossal Cave Adventure.
- Interactive Fiction (IF) are text-based adventures or interactive stories.
- Inform – An excellent (now open source as of 2022) tool for building adventures.
- Ozmoo – a Z-code interpreter for the Commodore 64, 128, Plus/4 and the MEGA65.
Taking a look at Ozmoo Online:
- Grabbed the Colossal Cave Adventure from here (.z5 file)
- Loaded the compiled file into Ozmoo Online.
- Selected defaults and clicked build.
- This process produced a d64 file that can be played in an emulator or on C64 hardware (original or new).
But, what about writing your own text adventure for the C64?
I was hoping to use Inform 7 for Windows to create a tiny text adventure sample and save (“release”) to a .zblorb file — a filetype that’s compatible with Ozmoo. This all worked and Ozmoo DID convert the zblorb to a zcode 8 file (.z8) but it was very large (in C64 terms)! So, it was necessary to use another tool that’s based on Inform but has been built to make some smaller .z3 files. We can then produce a single disk image for a Commodore emulator using something like Ozmoo.
I won’t go into the process here, as there is a great tutorial over at Vintage is the New Old. They cover the process, which is not as easy as I originally thought — but it is manageable and doesn’t completely distract from the creativity of authoring an adventure. There is an extension for VSCode that will help with this but some of the solutions are still verging on the writer to be a part time coder.
I’d like to challenge developers to build an easy-to-use front-end for Punyform and Inform6! I’m sure it can be done — web-based, desktop, or both.
I just discovered the Borogrove IDE, which gets us a little closer but still looks like there is still a learning curve for authors.
More to come on this, as far as research and curation of more of these awesome resources.