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.pyadjudicates 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 --compactloads 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.