The study of a game that improvises.
Etude Fantasia is a way to study Magic: The Gathering. Play a trained manabot in your browser, replay every decision, and train your own — the whole loop also runs on your laptop from one command.

Three subsystems, one loop
Etude
The authored play, replay, and study experience. A finished game is study material: the Score restores consequential decisions as you understood them, shows what else was worth considering, and lets you retry a line before the reveal.
manabot
The trainable agent — search and learning library, Gymnasium wrappers, and experiment tracking. The default preset trains a small manabot on a laptop CPU in under a minute; serious runs scale to the cloud.
managym
The deterministic Rust rules engine and vectorized environment the agent lives in, with Python bindings. One rules authority plays the game, replays it, and answers what could have been.
Play locally
You need uv, Node, and a Rust toolchain. One command installs locked dependencies, builds the engine, starts backend and frontend, and opens the curated matchup against a trained manabot in your browser.
git clone [email protected]:loopflowstudio/etude.git
cd etude
./scripts/play Train a manabot
No accounts, no GPU. Checkpoints save locally; point the play screen's opponent selector at what you trained and face it. Play, train, play against your own manabot — that loop is the project.
uv run manabot train The research ledger
Etude's research program is preregistered and reproducible: every experiment states its prediction, budget, and kill criteria before running, and negative results are recorded alongside positive ones.