🎮 Z3 Adventure Studio

The Great London Underground Treasure Hunt

The Great London Underground Treasure Hunt

113 rooms 11 items Modified: Mar 2, 2026
The Great Roundhay Park Treasure Hunt

The Great Roundhay Park Treasure Hunt

23 rooms 11 items Modified: Mar 1, 2026
Murder at Ashworth Hall

Murder at Ashworth Hall

23 rooms 14 items Modified: Mar 1, 2026
Black Death Comes to York 1349

Black Death Comes to York 1349

43 rooms 10 items Modified: Feb 28, 2026
The Black Death: Rickmansworth 1349 - Student Edition

The Black Death: Rickmansworth 1349 - Student Edition

26 rooms 14 items Modified: Feb 27, 2026
Trouble at Bramblemead — Ultimate Fourfold Harmony Edition

Trouble at Bramblemead — Ultimate Fourfold Harmony Edition

20 rooms 8 items Modified: Feb 26, 2026
The Missing Tent Peg: Director's Cut

The Missing Tent Peg: Director's Cut

16 rooms 8 items Modified: Feb 20, 2026
🎮 v1.0
v3.0.5

Rooms

No rooms yet

📦 Room Contents

Click a room to inspect its contents.

⚠️ Issues

Click ↻ to check game
Click a room to select it — then use the Room tab to edit its content
🗺️
No room selected
Go to the Map tab and click a room to start editing it.

Items

No items yet.

NPCs

No NPCs yet.

Export Adventure

Choose how you want to export your adventure

💾

.z3ta Project

Complete project with all data - reimport to continue editing

Inform 6 Source

Source code ready to compile to .z3 with Inform 6 compiler

📦

.z3 Game File

Compile to playable .z3 for any Z-machine interpreter

🌐

Standalone HTML

Web page with embedded interpreter (coming soon)

📥 Import Adventure

Import games from other text adventure formats. Each import creates a new Z3TA adventure you can then edit natively.

🆕 Twine / Twee
Accepts .twee, .tw, or .html (Twine export). Find games at itch.io or IF Archive.
📚 Inform 6
Accepts .inf source files. Find games at IF Archive or IFDB.
📚 Inform 7
Accepts .ni or .i7 source files. Find games at IF Archive.
🏭 Quest
Accepts .aslx or .quest XML files. Find games at textadventures.co.uk.
💻 TADS
Accepts .t source files. Find games at IF Archive.

Upload Source File

📥
Drop file here or click to browse
Accepts .twee .tw .html .inf .ni .i7 .aslx .quest .t
⚠ About imported adventures: Imports create a working scaffold — rooms, descriptions, exits and items — but no import is perfect. Complex logic, puzzles and scripting from the original format will need manual recreation in Z3TA. The more complex the source, the more editing you'll need to do.

📋 Solution Walkthrough

Build a hint system for your players. Generate a skeleton from your game data, then annotate each step with spoiler-controlled hints.

📋

No walkthrough yet. Click Generate Skeleton to build one from your game data, or load an existing one.

The skeleton analyses your rooms, items, exit conditions, and win events to suggest a traversal order.

📊 Variables & Flags

Track game state: flags, counters, and story variables.

How to use variables in-game:
During play, type SET flagname or SET varname = value to change a variable. Type FLAGS to see current values. Variables can be set automatically by item events (take, examine, use).

Game Variables

No variables yet. Add your first flag or counter above.

Max Score

Set the maximum possible score for this game (shown as "X / MAX" to the player). Leave 0 to hide score.

points total
Variable Room Event Rule
🔍 Switch to Analysis to generate the dependency map

⚡ Events

Events are triggered by gameplay actions (onTurn, onEnterRoom, onTakeItem, etc.) and can execute actions when their conditions are met.

Event Triggers:
onTurn - Every turn
onGameStart - When game starts
onEnterRoom - Entering a room
onExitRoom - Leaving a room
onTakeItem - Taking an item
onUseItem - Using an item

Game Events

No events yet. Add your first event to create dynamic gameplay.

Example: Timed Escape Sequence

{
  "id": "escape_timer",
  "trigger": "onTurn",
  "conditions": [{ "var": "escape_started", "equals": true }],
  "actions": [
    { "incrementVar": "timer" },
    { "ifVarEquals": { "timer": 10 }, "then": { "endGame": "Time ran out!" } }
  ]
}

⚙️ Rules

Rules are reusable logic blocks evaluated continuously after each turn. When conditions are met, their actions execute automatically.

Rules vs Events:
• Rules execute silently in the background (no output messages)
• Events can display messages and are triggered by specific actions
• Use rules for persistent world state logic (e.g., "if generator is fixed, power is on")
• Use events for one-time or reactive gameplay moments

Game Rules

No rules yet. Add your first rule to create systemic world logic.

Example: Power System

{
  "id": "power_rule",
  "conditions": [{ "var": "generator_fixed", "equals": true }],
  "actions": [{ "setVar": "power_on", "value": true }]
}

🎨 Game Theme

Customise how your game looks for the player. Changes apply in Play and Playtest mode.

12px22px
My Adventure
The Old Stone Chamber
You stand in a damp chamber. Moss clings to the ancient walls. A single torch flickers in the draught from somewhere unseen.
Exits: NORTH, EAST
> examine torch
The torch is old but burns steadily, casting long shadows across the floor.
> _
> Type a command...

This is how your game will look to players.

🎮

Ready to Playtest?

Click below to launch the full playtest screen and test your adventure as a player.

Tip: Save your game before playtesting to make sure all your latest changes are included.

▶ Split Playtest
● unsaved
Room: Turn: 0 Score: 0
>

Playtest Mode

>

Score & Stats

0 / 0
Turn 0
0% explored

Inventory

Empty