GRACE

Graphic Adventure Creation Engine

GRACE

Build, edit, and play classic-style point-and-click adventures on Amiga and desktop — with a modern ImGui editor and a runtime that still speaks GRAAL.

What it is

A C rewrite of GRAAL for today’s machines — and yesterday’s Amigas.

GRACE is the engine and the toolkit. It plays classic GRAAL adventure data (graal.main / .room / .section / scenes while adding platforms, authoring tools, and control schemes the original never had.

Runtime
SDL2 host on desktop; real ACE on Amiga for rendering and OS services.
Authoring
grace_editor — rooms, dialogue, actions, pack, and run from one ImGui workspace.
Compatibility
Classic GRAAL scripting still works. Omit modern options and you get the SCUMM-style verb bar.

Capabilities

What GRACE can do

Engine features for adventure creators — not a single game. Use them to ship your own worlds.

  • Multi-platform play

    Ship the same adventure to Windows/desktop via SDL2, and to Amiga via ACE — 68000/OCS and 68020/AGA builds.

  • Visual room editing

    Place objects, walkable floors, exits, and start positions on a room canvas. Zoom, select, and tweak properties in docked panels.

  • Dialogue & closeups

    Author talk shots and dialogue flows. Non-classic control modes collapse the command bar in play, then restore it for CLOSEUP / dialogue.

  • Control schemes

    CLASSIC verb bar, VERBCOIN at-cursor picker (ring/list/grid, words/icons), or CONTEXT smart cursor with inventory hotkey.

  • Display modes

    Target ECS-style 32 / EHB-64, or AGA 256-colour gameplay with DISPLAY_MODE — choose the look your hardware can carry.

  • Pack & ship

    Pack ACE-format paks from the editor, convert art (PNG-first, IFF/BM path), and prepare Amiga floppy / ADF workflows.

  • Cutscenes & options

    Fullscreen-capable cutscene play, speech Text/Audio/Both, mute, and walk-button prefs via in-game Options and grace.cfg / grace.opt.

  • Shared palette tools

    Extract, edit, and apply a project shared.plt across images — sprite pens, world colours, and reserved UI range.

Editor

One workspace for the whole adventure.

Open a data folder with graal.main. Edit main config, sections, rooms, scenes, patterns, and images. Save, then Run → Launch Game or Test Room against the live runtime.

  1. 01 Configure globals — verbs, characters, limits, UI layout
  2. 02 Build sections and rooms on the canvas
  3. 03 Wire actions, dialogue, and closeups
  4. 04 Pack for Amiga or run on desktop

Targets

Built for Amiga heritage and desktop iteration.

Desktop

SDL2 host with ACE header shims — fast edit/test loops on Windows without a full Amiga ACE stack on PC.

cmake → graal · grace_editor

Amiga

Links real ACE for rendering and OS services. Variants for 68000/OCS and 68020/AGA via the Bartman m68k toolchain.

graal_000.exe · graal_020.exe

Continuity

Still compatible with classic GRAAL scripting.

Olaf-style demos and Herald data keep the classic verb + inventory bar when CONTROL_METHOD is omitted or set to CLASSIC. Opt into verb coin, context cursor, AGA colour, and editor packing when you want them.