Infogames Z-Machine Editor and Builder

Create your own Zork-style text adventures with a modern, all-in-one Windows editor, compiler, and interpreter.

This toolchain, created by DJ Sures, lets you design classic Infocom-style interactive fiction using the Z-Machine v3 format — the same virtual machine that powered legendary games like Zork, Planetfall, and Enchanter. Build rooms, objects, characters, verbs, and puzzles visually, then compile and instantly run your game inside the built-in interpreter. No external compilers, scripting languages, or legacy tools required.

*Requires .NET 8

Z-Machine Editor Manual (PDF)

This PDF file is a living document which contains step-by-step instructions to use the Z-Machine Infogames editor and create a text adventure. It includes details about Z-Machine scripting, conditions and other features.

Z-Machine Editor Online Short Manual

Whether you’re recreating the golden age of text adventures or inventing something entirely new, this editor gives you full control over your game’s world and logic:

-
Visual editor for rooms, objects, verbs, and game logic
- One-click compile and play with an integrated Z- Machine v3 interpreter
- Load and edit existing Z-Machine v3 story files
- Designed for rapid iteration: build, test, tweak, repeat
- Outputs standard Z-Machine v3 files compatible with classic interpreters
- Runs natively on Windows

Perfect for retro computing fans, interactive fiction authors, and anyone who wants to create rich story-driven games without reinventing the engine. If you’ve ever wanted to make your own Zork-like adventure — this is the tool.

1) Create a new project

Start the app and choose New Project. In the Project area, fill in:

* Title — the game title shown by interpreters

* Author — your name / studio

* Intro Text — the opening text players see when the game starts

* Start Room — the first room the player spawns in

Projects are saved as a readable JSON file: *.zproj.json

This makes it easy to back up, version, and share your source project.

2) Build your world with Rooms

Go to the Rooms list and click Add Room. Each room has:

* Id — the internal identifier (auto-generated like room_1, room_2, etc.)

* Name — what the room is called

* Description — what the player reads when they “look”

Select a room and edit its properties in the Property Grid. As you add rooms, the Start Room dropdown stays in sync so you can pick where the adventure begins.

Tip: keep room IDs stable once you start building content, since rooms and items reference them.

3) Add Items (things the player can see or take)

Go to the Items list and click Add Item.

Items support:

* Id — internal identifier (auto-generated like item_1, item_2)

* Name — what the player calls it

* Description — text shown when examined / described

* StartRoomId — where the item begins in the world

* Takeable — whether the player can pick it up

Select an item to edit it in the Property Grid.

This is how you populate rooms with objects and build the classic adventure “find/use/solve” loop.

4) Define Verbs (player commands)

Go to the Verbs list and click Add Verb. Verbs define how your game responds to player input:

* Verb — the command keyword (ex: look, take, open)

* SynonymsCsv — comma-separated alternates (ex: grab,pickup)

* ResponseText — what the game prints when that verb is used

This is the fastest way to get a playable prototype running: add a few verbs and responses, compile, and iterate.

5) Save your project

Click Save Project to write your *.zproj.json file.

This saves everything you’ve built (title/author/intro/start room, rooms, items, verbs) so you can keep iterating without touching the compiled story file directly.

6) Compile a Z-machine v3 story file (.z3 or .dat)

Open the Generate / Compile area and choose Compile Z-machine v3.

You can output:

-  .z3 (standard Z-machine v3 extension)
- .dat (common on CP/M ports and retro distributions)

The compiler generates the story file using the built-in Z-machine v3 compiler, then validates the build by loading it back and verifying the checksum.

You’ll see build output like:
* output path
* header checksum vs computed checksum
* final file size

Optional: if Include COM is enabled, the compiler also drops a CP/M runner (VEZZA_K4.COM) into the output folder so you can launch the story on CP/M with:

VEZZA_K4 <yourfile.z3-or-dat>

7) Run your game instantly (Windows interpreter)

Click Run Interpreter (or Compile and Run).

The editor launches the included Windows interpreter (Frotz) and passes it your compiled story file automatically, so your testing loop is:

edit → compile → run → repeat

No external setup required.

Version History

v2026.02.07.03

- First public release.

v2026.02.08.00

- Popup for script editor with cheat sheet.
- Popup for condition editor with cheat sheet.
- Removed DisplayName for verbs.
- Verbs and Items have dropdowns for IDs
- Added help display on every property when editing so you can see what the property does.

v2026.02.08.01

- Added a new update check by querying cloud.nabu.ca for a new version available on startup.
- Updated UI with a few more details and layout.
- Added links to the included cpm.com interpreter and the frotz Windows interpreter to the about page.