Mythras GM

Mythras GM

Database: alh_mythras · Namespace: myth- · Repo: mythras-gm · Site: Fourth Wall Gaming

Mythras GM shows how far the Skillful Alhazen engine reaches beyond research: it is a persistent tabletop RPG Gamesmaster. The player talks in natural language; the agent narrates the world, plays the NPCs, and calls for rolls — while every mechanical resolution and everything worth remembering is persisted to the alh_mythras database, so any future session picks up exactly where the last left off.

It is its own application: a separate repo, a separate database, a single skill. Select alh_mythras in the dashboard switcher and you are in the campaign, not the notebook.

The skill

The mythras-gm skill runs campaigns under the Mythras Imperative rules, with the original Veilwrack sky-realm setting bundled in.

  • The CLI is the dice tower and the save file. mythras_gm.py adjudicates every roll deterministically (roll-skill, roll-opposed, resolve-attack, …) and persists campaign state, so the agent rarely needs the rules prose in context at all.
  • Context discipline. get-context --compact loads the current scene, live combat cards, NPC names, factions, and recent events — the minimum to play. Full character sheets and rules are fetched on demand.
  • Rules as a graph. Rules live as queryable entities (list-rules, query-rules --facet …, get-rule); the agent pulls just the pieces a situation needs instead of loading rulebooks wholesale.
  • Novelization. The campaign journal can be turned into prose (novelist.py), writing the session history into a narrative.

Data model

Everything lives in the myth- namespace in alh_mythras: campaigns, scenes, characters (with per-location HP, fatigue, luck, combat styles), NPCs, factions, the session event journal, and the rules graph. Because it is a fully separate database, a campaign is portable and isolated — backing up or handing off a game is backing up one database, with no entanglement with any research or personal data on the same server.

Where it fits

Mythras GM is the clearest illustration of the Multi-Database Model: the same agent, TypeDB server, and dashboard that run the research and personal-assistant applications also run a game — kept entirely separate by its database. It shares the engine and nothing else.