Graphic Adventure Creation Engine

GRACE

Classic GRAAL adventures — Amiga and desktop.

A C rewrite of Per Thulin’s GRAAL language and runtime, with an ImGui editor and multi-platform play. Same script structure (graal.main, sections, rooms, scenes). Same conditions and commands. New platforms and tools on top.

In the editor

Visual rooms. Docked documents. Live run.

grace_editor opens a GRAAL data folder and edits the same files the runtime loads — with a room canvas, world map, properties, and the GRAAL guide wired into help tips.

grace_editor editing room 1 with backdrop, objects, project tree and world map
Editing 1.room — backdrop, objects, Project Tree, World Map, Flags (Olaf demo data).

What it is

GRAAL is a language. GRACE is the modern engine for it.

From the original guide: GRAAL lets you create graphic adventures in a “classic” format — driver + script files + IFF/art + optional music. GRACE keeps that model, plays it on desktop (SDL2) and Amiga (ACE), and authors it in ImGui instead of the old Amiga editor alone.

Language

Statements, conditions, and commands from GRAAL 2.3 — documented in the adapted on-line reference.

Runtime

SDL2 on PC; real ACE on Amiga (68000/OCS and 68020/AGA). Classic verb bar by default.

Editor

Rooms, dialogue, actions, sprites, packing, Launch Game / Test Room — see the Editor page.

How a game is structured

main → section → room (from the GRAAL guide).

Adventures are folders of scripts and art. Put handling where it applies: one room → .room; anywhere in a section → .section; anywhere in the game → graal.main. On player input the engine scans room → section → main.

graal.main ← globals, verbs, character, UI, shared actions └── n.section ← area images / objects / actions └── n.room ← backdrop, floors, exits, room objects, DACT Also: n.scene (cutscenes / command sequences) n.ptrn (animation patterns)

Full chapter: Structure of a GRAAL Game.

  1. Open a folder with graal.main in grace_editor (or run graal.exe --data Folder).
  2. Configure main — limits, character, verbs, UI, control/display modes.
  3. Author rooms on the canvas — floors, exits, objects, actions, dialogue.
  4. Test with Run → Launch Game / Test Room.
  5. Ship Amiga with Pack Paks + EXEs beside the data.

In the runtime

Same adventure data, playable.

GRAAL runtime playing Olaf demo room Miklagard Constantinople tavern
Desktop runtime — Olaf demo room (“Miklagård / Constantinople”).

vs GRAAL 2.3

Compatible language. More platforms and tools.

AreaGRAAL 2.3GRACE
PlatformsAmigaAmiga (ACE) + Windows/desktop SDL2
AuthoringAmiga GRAAL editorgrace_editor (ImGui) + guide tips
Display32 / EHB-64DISPLAY_MODE: 32 | EHB | AGA256
Control UIClassic verb barCLASSIC | VERBCOIN | CONTEXT
ReferenceGRAAL.guideSame guide in-editor + on this site

Explore

Go deeper.

GRAAL Guide →

Structure, syntax, limits, interface keys, statements, conditions, commands.

Editor →

Docks, room canvas modes, document kinds, build & run from the editor.

Capabilities →

Control schemes, colour depth, packing, speech options, Amiga targets.