A single-player Choose Your Own Adventure RPG where a deterministic rules engine owns dice, state, and outcomes, and an LLM only narrates.
Built on Cepheus Engine (2D6 sci-fi TTRPG) mechanics — used under the Open Game License — with an original fantasy theme pack.
uv sync
uv run pytest tests/ -vClient surfaces (TUI, web) have been removed. The headless game controller (src/game/) is the API that future client surfaces will build on.
- Engine (
src/engine/) — deterministic command funnel, append-only event log, seeded RNG, Pydantic state models, JSON persistence - Rule-sets (
src/rulesets/) — pluggable resolution mechanics behind a Protocol interface - Theme packs (
src/themepacks/) — YAML content data (careers, skills, oracle tables) - Game controller (
src/game/) — headless controller layer (LifepathController,GameSession) over the engine - LLM (
src/llm/) — Pydantic AI adapter for narration with tool-call-only mutations
The engine is the trust boundary. Every dice roll, state mutation, and outcome calculation runs in deterministic Python code. The LLM receives outcomes as facts and produces prose — it can never influence mechanics.
Andromeda is dual-licensed (see NOTICE.md):
- Code, tests, and the original fantasy theme pack — MIT (
LICENSE). - Sci-fi theme pack (
src/themepacks/data/scifi/) — Open Game License v1.0a (LICENSE.OGL), as Open Game Content derived from the Cepheus Engine System Reference Document.
Andromeda is an independent, unofficial project. "Cepheus Engine" and "Samardan Press" are trademarks of Jason "Flynn" Kemp; this project is not affiliated with or endorsed by Jason "Flynn" Kemp or Samardan Press. Cepheus Engine SRD content is used under the OGL 1.0a.