| Crates.io | amble_engine |
| lib.rs | amble_engine |
| version | 0.65.0 |
| created_at | 2025-11-09 17:35:26.197907+00 |
| updated_at | 2026-01-04 04:54:22.166427+00 |
| description | Data-first interactive fiction engine and REPL for worlds authored in the Amble DSL. |
| homepage | https://github.com/pygmy-twylyte/amble |
| repository | https://github.com/pygmy-twylyte/amble |
| max_upload_size | |
| id | 1924315 |
| size | 3,545,490 |
Data‑first interactive fiction engine and authoring DSL in Rust.
I wanted to learn Rust and thought an 80s‑style parser adventure (think Zork) would be the perfect project. A small game prototype quickly snowballed into a data‑driven engine, a friendly DSL, and tooling to build real adventures.
Amble is a data‑first engine that loads worlds from compiled WorldDef data (world.ron), plus a DSL and compiler that make worldbuilding fast and readable. The repo includes developer tools and a fully playable demo you can run immediately.
The Amble DSL is designed to read like plain English while staying precise and composable.
amble_script/docs/dsl_creator_handbook.md for the language tour.amble_engine (use amble_engine.exe on Windows).help in the game REPL for commands. Saves go to saved_games/.rust-toolchain).cd into it.cargo run -p amble_enginehelp in the REPL; saves land in saved_games/.amble_script/docs/—start with dsl_creator_handbook.md.world.ron:
cargo run -p amble_script -- compile-dir amble_script/data/Amble --out-dir amble_engine/datacargo run -p amble_engineamble_script lint … to catch missing references early.amble_engine - loads world data from world.ron (plus TOML configs for themes/help) or a saved state, then runs the gameamble_script - an intuitive, English-like language (DSL) for defining the game world, which compiles into WorldDef (RON) used by amble_enginextask - automation helpers for builds, packaging, and the content pipelinetree-sitter-amble - a tree-sitter parser / syntax highlighter for the amble_script DSLzed-amble-ext - a full-featured extension for the Zed editor with not only syntax highlighting but a language server that supports outlining, references / go to definition, symbol renaming, formatting, diagnostics, autocomplete -- the works..amble -> world.ron (WorldDef) data, not code