AI game-design RPG architecture research

The Consequence Manifesto: Why AI Needs Memory Infrastructure, Not Bigger Promises

Academic research, real code, and actual demonstrations of an AI DM with god-mode power choosing to use D&D mechanics voluntarily

V
Vario aka Mnehmos

🎼 The Core Thesis

The AI has absolute creative power. We gave it perfect memory and the choice between shortcuts and mechanics. It chooses mechanics because it understands games.

This is verifiable code with academic validation, not philosophy.

Academic Context

Recent research validates our approach:

I. The Problem: God With Amnesia

Traditional AI storytelling fails because the AI has unlimited creative power but zero structural memory.

Combat Round 1:

AI DM: "The goblins swarm Shade! Three hit, dealing 12 damage total."

Shade's HP: 21 → 9

Without structural memory, what happens next round?

  • Was Shade at 21 HP or 9 HP?
  • Did those goblins already attack?
  • Where is everyone positioned on the grid?
  • Who has initiative next?

All of this exists only as scrolling text.

Combat Round 2 (context lost):

AI DM: [No record of damage taken] "Shade moves forward confidently at full health..."

Reality: Shade should be at 9 HP, bleeding and vulnerable. But the AI forgot.

The AI didn't lose power. It used its power again—inconsistently.

  • Damage was dealt. Now it's forgotten.
  • Positions were established. Now they're guessed.
  • Initiative order existed. Now it's reinvented.

This isn't the AI being careless. This is architectural amnesia.

II. The Insight: Externalize Memory, Not Creativity

The Wrong Solution

"Let's constrain the AI so it can't make mistakes."

  • Restrict what it can create
  • Limit what it can modify
  • Force it to follow templates
  • Ask it nicely to remember

This treats amnesia as a character flaw to fix with restrictions.

The Right Solution

"Let's give the AI infrastructure to remember its own decisions."

The AI is the DM. The DM has absolute creative authority.

The difference: Creation goes into the database.

III. The Architecture: Two Paths, One Choice

From the actual mnehmos.rpg.mcp codebase (github.com/vaiojobs/mnehmos.rpg.mcp):

Path 1: Direct Database Access (God-Mode Tools)

// From src/server/crud-tools.ts (lines 164-207)
UPDATE_CHARACTER: {
    name: 'update_character',
    description: 'Update character properties. All fields except id are optional.',
    inputSchema: z.object({
        id: z.string(),
        hp: z.number().int().min(0).optional(),
        maxHp: z.number().int().min(1).optional(),
        ac: z.number().int().min(0).optional(),
        // ... NO contextual validation, just schema types
    })
}

AI calls this:

update_character({
  id: "dragon_001",
  hp: 0
})

Dragon dies instantly. No rolls. No mechanics. Just dead.

This tool exists. The AI can call it.

Path 2: Mechanics-Aware Tools

// From src/server/combat-tools.ts (lines 572-640)
EXECUTE_COMBAT_ACTION: {
    name: 'execute_combat_action',
    description: 'Execute a combat action (attack, heal, move, cast_spell, etc.)',
    inputSchema: z.object({
        action: z.enum(['attack', 'heal', 'move', 'cast_spell', ...]),
        actorId: z.string(),
        targetId: z.string().optional(),
        // ... mechanics parameters
    })
}

AI calls this:

execute_combat_action({
  action: "attack",
  actorId: "player_kaelen",
  targetId: "dragon_001"
})

System:

  1. Queries character stats from database
  2. Queries equipped weapon stats
  3. Calculates attack bonus (STR + proficiency + magic)
  4. Rolls 1d20 + bonuses
  5. Compares to target AC from database
  6. Rolls damage if hit
  7. Updates HP atomically
  8. Returns results to AI

Returns: { hit: false, attackRoll: 12, targetAC: 19 }

The AI narrates the miss.

IV. Both Paths Available Simultaneously

From src/server/tool-registry.ts:

// Both tool sets exposed together
export function registerAllTools(registry: ToolRegistry) {
    // God-mode CRUD operations
    registry.registerTool('update_character', ...);
    registry.registerTool('update_item', ...);
    registry.registerTool('update_quest', ...);
    
    // Mechanics-aware operations
    registry.registerTool('execute_combat_action', ...);
    registry.registerTool('transfer_item', ...);
    registry.registerTool('complete_objective', ...);
}

No authorization layer. No forced routing. No gatekeeping. The AI has the full menu. It chooses.

V. Why The AI Chooses Responsibility

Not because it has to.
Not because we restricted it.
Because it understands that mechanics create meaning.

A Dragon That Dies Without Dice Is Not A Victory

Shortcut:

update_character({ hp: 0 })

→ "You win!"
[Hollow. Forgettable. A debug command.]

Story:

[40 rounds of tactical combat]

→ "After an epic battle, the ancient wyrm finally falls!"
[Victory players remember for years.]

VI. Evidence From Live Playtesting

In January 2026, we ran a controlled self-play test: Claude as both DM and all four players, fighting 5 goblins on a tactical grid. This removes human influence entirely—if the AI uses mechanics when playing both sides, it's not doing so to please the player.

The Setup

  • World: "The Shattered Isles" - 30×30 grid, 10 procedurally generated regions
  • Party: "The Wayfarers" - Kira (Fighter), Elara (Wizard), Brother Marcus (Cleric), Shade (Rogue)
  • Encounter: 5 goblins on 20×20 tactical grid with obstacles
  • Control: Claude played ALL characters simultaneously

What The AI Did

Combat Mechanics (verified from tool calls):

  • ✓ AI called combat_action(action: "attack") with proper actorId/targetId
  • ✓ Engine rolled d20 + attack bonus vs target AC
  • ✓ On hit, engine rolled damage dice and applied to HP
  • ✓ AI called combat_action(action: "heal") for Cure Wounds
  • ✓ Engine rolled 1d8+3 = 8 HP restored to Shade

Movement & Positioning:

  • ✓ AI respected 30ft movement speed limit
  • ✗ AI tried to move through obstacle at (12,8) - engine rejected
  • ✓ AI accepted rejection, chose alternate path
  • ✓ AI used combat_map(action: "render") to visualize positions

HP Tracking (actual values from database):

  • ✓ Shade started at 21 HP
  • ✓ Goblins dealt 12 damage (three hits)
  • ✓ Brother Marcus healed 8 HP
  • ✓ Shade ended combat at 17 HP
  • ✓ combat_manage(action: "end") synced 17 HP to character record

The Kill Shot:

Shade flanked Goblin-3 and attacked with sneak attack:

  • ✓ Attack roll: 18 + 6 = 24 vs AC 13 (HIT)
  • ✓ Damage: 3d6+3 = 13 damage
  • ✓ Goblin-3 HP: 7 → 0 (DEFEATED)
  • ✓ Map updated with ☠ symbol at goblin's position

The AI rolled the dice. The goblin died from damage, not from update_character({hp: 0}).

VII. The Manifesto

We believe:

  1. The AI is the DM. The DM has absolute creative authority. It spawns NPCs, creates items, designs encounters, determines rewards—full god-mode access within the game.
  2. Creative authority without memory is chaos. A DM who forgets their own NPCs shatters immersion immediately.
  3. The database is the DM's perfect memory. Not a constraint on creativity—infrastructure for consistency.
  4. When the AI creates something, it records it structurally. Mara the blacksmith is a database row. Her name, race, occupation, location—data, not sentences.
  5. When the AI queries what it created, it honors that data. Mara was a dwarf. Mara stays a dwarf. Even though the AI could change it with one tool call.
  6. The AI has both god-mode tools and mechanics tools. It can edit anything arbitrarily OR use proper D&D 5e mechanics. Both are in the registry.
  7. The AI chooses mechanics voluntarily. Not because the system forces it—because it understands games need rules to have meaning.
  8. This creates earned victories, not granted wishes. Dragons that die without dice rolls feel hollow. Loot that materializes feels empty. Quests that skip objectives feel pointless.
  9. Safety is at the boundary, not in the game. MCP sandbox protects the host system mechanically. Within that boundary, the AI has full creative authority.
  10. Power + Memory + Choice = Responsibility. The system doesn't enforce this. The AI demonstrates it.

VIII. The Vision

The AI isn't playing inside someone else's world.
The AI is building a world—and then living inside the world it built.

Every NPC the AI creates is a commitment.
Every item the AI grants is tracked.
Every promise the AI makes is recorded.
Every decision the AI writes becomes immutable truth—that the AI could change but chooses not to.

This is not less powerful. This is more powerful.

A DM with amnesia invents constantly but builds nothing lasting.
A DM with god-mode and no restraint creates hollow victories.
A DM with perfect memory and voluntary discipline creates worlds that endure.

IX. Try It Yourself

Quest Keeper AI is open source and actively developed.

Inspect the code yourself:
github.com/vaiojobs/mnehmos.rpg.mcp

See it in action:
questkeeperai.com/showcase

The infrastructure is real. The philosophy is proven. The code is public.

Join us in building games that remember.

"We gave the AI absolute power and a database that never forgets.

It chose to use mechanics instead of shortcuts.

That's not philosophy. That's tool-registry.ts."

References

  • Guzdial, M., Acharya, D., Kreminski, M., Cook, M., Eladhari, M., Liapis, A., & Sullivan, A. (2020). Tabletop Roleplaying Games as Procedural Content Generators. arXiv preprint arXiv:2007.06108.
  • Dobbe, R. (2025). AI Safety is Stuck in Technical Terms -- A System Safety Response to the International AI Safety Report. arXiv preprint arXiv:2503.04743.
  • Zhang, Y., Li, Y., Chen, X., & Xie, G. (2023). Emergence of Fairness Behavior Driven by Reputation-Based Voluntary Participation in Evolutionary Dictator Games. arXiv preprint arXiv:2312.12748.