Your Wounds Tell the Story
"Real mechanics. Authored prose. No visible dice."
With a savage arc, your Elvish Sword severs the troll's sword arm at the elbow. The limb tumbles away, weapon still clutched in its grip.
It staggers back, clutching the stump — then lunges at you with its remaining fist. Desperate, weakened, but refusing to fall.
The troll's single eye darts toward the passage behind it. With a bellow that is equal parts rage and bewilderment, it turns and crashes away through the darkness. The ground trembles with each retreating footfall.
Three systems working together: the limb wound drops the weapon. The penalty engine degrades the attack. The morale system triggers retreat — not at zero HP, but when the troll's personality says enough.
Coming Soon for iOS and macOSNPCs remember. Companions follow. The world has a permanent history.
Every conversation is recorded as a structured event in the world's graph database. Kill a guard? Elmo witnessed it. Ask about the inn? The innkeeper remembers your question three sessions later. NPC memory isn't an LLM summary that degrades — it's queryable fact stored as typed graph nodes. The relationship isn't a number from 0-100. It's a structured record of what happened, who was there, and what was agreed.
Ask Elmo to join you and he follows — not as a flag, but as an autonomous agent with his own arc. He moves when you move, fights on your side in combat, and reacts to the rooms you explore together. When the arc completes — you reach the inn he was heading to — he parts ways naturally. Companions aren't permanent followers. They're NPCs with intersecting agendas.
Companions fight alongside you with their own initiative, attacks, and behavior. Set Elmo to aggressive and he charges the nearest enemy. Tell him to hold back and he defends only when targeted. Party members get their own 3-action turns in initiative order — but you always act first. If an ally falls, they enter a downed state before death, giving you a chance to turn the tide.
Elmo follows you into the room. He tenses, scanning for threats.
You say to Elmo: "Where is the inn?"
Elmo jerks a thumb northward. "The Welcome Wench — just up the road. Ostler Gundigoot runs the place. Tell him Elmo sent ya."
Three rooms later, you ask about the inn again.
Elmo scratches his head. "Already told you — the Welcome Wench, north of here. Gundigoot's place. You forget already?" He grins.
"Elmo didn't repeat himself. The graph recorded the first exchange as a structured event. When asked again, the anti-repetition system told the LLM to acknowledge the prior answer — not parrot it."
Combat is suspense. Choices are dramatic intentions, not action menus.
No more "Attack / Defend / Flee" menus. The Tension Engine reads the scene — your wounds, the enemy's state, the torch guttering on the wall — and presents 2-4 emotionally loaded intentions. "Press the wounded troll," "Grab the torch and use fire against its weakness," or "Run for the northern passage." The d20 engine still resolves underneath. You just don't see it.
Four invisible dimensions drive every combat moment: threat, urgency, stakes, and momentum. When the troll is regenerating and the torch is about to go out, urgency spikes. When you sever its arm and it staggers, momentum swings your way. The prose tightens and loosens with the tension — calm scenes offer measured choices, desperate ones give you binary do-or-die.
"The troll's wounds are knitting shut." That's not flavor text — it's a countdown. In three more actions, it fully regenerates 20 HP. Grab the torch to pause its healing. Or ignore the timer and press the attack before it fires. Countdowns create real urgency without exposing numbers — you feel the time pressure through the prose itself.
The troll snarls, wounded but still dangerous. Already you can see the scratches on its hide knitting shut. The torch on the wall sputters in the draft.
You need to decide — strike while it's overextended, grab the torch to use fire against its weakness, or fall back north.
> grab the torch
You snatch the guttering torch from the wall and thrust it at the troll's face! The creature shrieks and recoils, its regeneration halting as flames lick at its flesh.
"Every choice changes the pressure. Grabbing the torch paused the regeneration countdown — buying time the troll didn't want to give."
Trip, disarm, grapple, or shove your enemies. Type "trip the troll" and watch it crash to the ground. Disarm a dangerous foe and send their weapon clattering across the floor. But be careful — overextend on a trip and you'll be the one eating dirt.
Cast a spell in melee range? The troll's axe interrupts you before your incantation completes. Enemies with combat training now punish reckless actions — turn your back to flee and they'll strike before you take a step. Every decision in combat carries real weight.
Enemies no longer just swing and hope. An aggressive troll hits harder but leaves openings. A defensive knight raises their shield and waits for your mistake. A cornered goblin drops its weapon and begs for mercy. NPC strategies now have real mechanical teeth.
Enemies don't just fight to zero HP. They think, fear, and remember.
Every NPC has a psychological profile — morale thresholds, personality traits, and moral lines they won't cross. A wounded troll retreats at 25% health. The thief surrenders at 15% — but tries to negotiate first. The cyclops? It doesn't care about HP. Say "Odysseus" and it flees in primal terror, regardless of health.
The thief flicks something small and bright at your eyes — a distraction, nothing more — and by the time you blink, it has melted into the shadows like smoke.
NPCs have ethics that constrain their behavior. The thief won't kill you in your sleep. The troll won't negotiate — it only understands force. These rules aren't suggestions; they mechanically filter which strategies an NPC can choose. The same enemy makes different tactical decisions across playthroughs — weighted-random selection from 40+ named strategies means no two fights play out identically.
NPCs remember how you've treated them. Threaten the thief and it fights harder. Show compassion and its trust rises — at 70%, it reveals something it has never told anyone: it was once an adventurer like you. These aren't scripted cutscenes. The trust system gates what the NPC is willing to share, and the prose adapts accordingly.
The thief's sardonic mask slips for just a moment. "I had a party once, you know. Good people. We went into the barrow together." A pause. "I came out alone."
Before each combat round resolves, every NPC telegraphs its intentions through prose. A stunned troll staggers. A desperate enemy winds up for a reckless swing. A calculating thief feints low, hinting at where the real strike will come. These aren't flavor text — the severity level reflects actual combat math, and paying attention gives you a real tactical edge.
The troll's eyes gleam as it winds up with its bloody axe. Its stance suggests a committed, reckless attack.
Every wound has mechanical consequences. Every scar tells a story.
Attacks target specific body parts — head, torso, arms, legs. Each limb tracks its own damage through six severity tiers: scratched, wounded, injured, mangled, crippled, destroyed. A scratched arm is cosmetic. A mangled sword arm applies -4 to attack rolls. A crippled arm drops whatever it's holding.
This is the "Black Knight" design philosophy: enemies keep fighting with serious wounds, but they fight worse. A troll with a crippled sword arm drops its axe and swings with bare fists. One with mangled legs can barely stand. Wound penalties stack and persist — the enemy you've been fighting for three rounds is genuinely weaker than the one you met in round one.
Your blade sweeps across the troll's sword arm, carving deep into muscle and bone. Its grip fails — the bloody axe clatters to the stone floor.
The troll snarls, swinging its remaining fist at you. The blow is clumsy, desperate.
Wounds at "injured" or worse begin to bleed. Each bleeding wound drains 1 HP per round — a character with three bleeding limbs loses 3 HP every turn until treated. Severed limbs bleed automatically. Time pressure becomes real: do you press the attack or fall back before the bleeding finishes you?
A natural 1 isn't just a miss — it's a disaster. Roll a critical failure and you might drop your weapon (it's mechanically unequipped — you fight unarmed until you retrieve it) or stumble and fall prone (-4 to your next melee attack). These aren't narrative flourishes. They change the mechanical state of the fight.
Your grip slips, your Elvish Sword flying from your hand! It skitters across the stone floor, just out of reach.
Return to a room where you killed an enemy and the body description reflects the specific wounds you dealt. If you severed the troll's arm, the body mentions it. If you pierced its heart, that's what you see. The world remembers what happened — even after you've moved on.
Every attack resolves d20 + base attack bonus + strength modifier vs. armor class. Critical hits require confirmation rolls. The PF2e three-action economy gives you tactical choices each round — attack again at -5 penalty, switch to a defensive stance, or try something creative. Six attributes, feats, saving throws, armor penetration — the complete ruleset runs silently beneath the prose.
Prose on the left. Dice on the right. Both real, both running simultaneously.
The troll is here, brandishing a bloody axe. It blocks all passages out of the room.
The troll's eyes gleam as it winds up with its bloody axe. Its stance suggests a committed attack.
You twist aside at the last moment, the troll's axe whistling past your ear.
Your blade carves across the troll's sword arm, drawing a spray of dark blood. Its grip wavers — the axe dips.
The troll snarls through clenched teeth, fighting through the pain. It swings again, slower now, favoring the wounded arm.
Your Elvish Sword severs the troll's sword arm at the elbow. The limb tumbles away, axe still clutched in its grip. The troll staggers, then swings its remaining fist — desperate, weakened, refusing to fall.
The troll's single eye darts toward the passage behind it. With a bellow of rage and bewilderment, it crashes away through the darkness.
The narrative view shows authored prose. The action panel shows the Pathfinder mechanics underneath — wound escalation, equipment drops, morale checks, and the dice that drove it all.
| Feature | AI Dungeon | Classic IF | BG3 / Solasta | RPGFuture |
|---|---|---|---|---|
| Combat | LLM decides | Puzzle logic | Full d20, visible UI | Full Pathfinder d20, hidden in prose |
| Wound System | None | None | HP bar only | Per-limb wounds, cascading penalties, equipment drops |
| Enemy AI | LLM improv | Scripted | Tactical AI | Personality-driven morale, moral lines, weighted strategies |
| Narrative | LLM-generated | Hand-authored | Voice-acted | Hand-authored + LLM polish for dramatic moments |
| Combat Choices | Free-form | Verb parser | Action menu UI | Dramatic intentions driven by scene pressure, hidden mechanics |
| Dialogue | Free-form | Keyword parser | Branching trees | Ink branching + trust-gated secrets + graph-backed memory |
| NPC Memory | Context window | Flags only | Approval meter | Graph events: witnessed, reacted to, told — queryable forever |
| Companions | LLM decides | Fixed followers | Party management UI | Arc-based accompaniment, ally combat, ambient reactions |
| Reliability | Hallucinations | Deterministic | Deterministic | Deterministic core, LLM enhances but never controls state |
"The mechanical depth of a tabletop RPG, the authored quality of interactive fiction, the natural language of an AI game — without the hallucination risk. Wounds cascade. Enemies think. Tension rises. Every battle reads like a novel."
Infocom (1980) — Reimagined
"You are standing in an open field west of a white house, with a boarded front door."
The Great Underground Empire with real combat. Sever the troll's arm and watch it drop its axe. Say "Odysseus" to route the cyclops. The thief wanders the map stealing your treasures — and if you earn its trust, it tells you why.
Classic D&D Module — Adapted
"Beneath its quiet exterior, rumors of ancient evil stir unease among the villagers."
A village of NPCs with competing loyalties, hidden agendas, and faction politics. Each character remembers how you've treated them. Trust the wrong person, and the consequences ripple through every conversation.
Original Starter World
"Every adventure begins somewhere quiet."
A purpose-built tutorial world that teaches exploration, dialogue, puzzle-solving, and combat through natural play — no instructions, just discovery.
A macOS companion app for world creation.
Design your own worlds with a visual graph editor. Build locations, connect exits, define NPCs with full psychological profiles, author Ink dialogue trees, place interactive objects, and design condition-gated quests — all in a node-based interface that maps directly to the game's graph database.
What's been built. What's coming next.
Core engine, Pathfinder combat (d20, 3-action economy, MAP), limb-specific wounds, bleeding, equipment drops, morale, fumbles, 100+ NPC strategies, combat maneuvers (trip/disarm/grapple/shove), attacks of opportunity, LLM narrative pipeline, Ink dialogue, action composition, graph database.
Ink dialogue tunnels and conditional branches. Turn-based timed event scheduler (NPC movement, environmental changes, quest timers). NPC first-contact player awareness — NPCs react to your appearance, weapons, wounds, and demeanor when they first see you. Hostile beat sequencing with initiative-driven tension.
Dramatic combat choices driven by scene pressure instead of action menus. Four-dimensional pressure model (threat, urgency, stakes, momentum). Soft countdowns creating narrative time pressure. Consequence echoes that persist across scenes. Tension-aware LLM narration — prose quality rises with dramatic stakes.
Graph-based narrative event system. NPCs remember what they witnessed, what the player told them, and how they feel about it. Session-scoped coherence buffer prevents same-conversation repetition. Graph-extracted briefings give each NPC accurate, permanent memory without LLM hallucination. Anti-repetition directives keep conversations fresh across multiple exchanges.
Arc-based party accompaniment — NPCs join for narrative reasons and resume autonomous behavior when the arc completes. Auto-follow with single-tick movement, conditional exit blocking with breadcrumb reminders, party-aware room descriptions, template-based ambient reactions, and full ally combat with behavior modes (aggressive, defensive, hold-back).
AI-assisted generation of new locations, NPCs, quests, and puzzles from world templates. Expand beyond hand-authored content while maintaining narrative quality through the 10-layer authoring stack.
Full spell slot system with prepared and spontaneous casting. Verbal, somatic, and material components. Spell effects resolved through the combat engine with LLM-narrated results. Area-of-effect targeting, saving throws, and concentration mechanics.
Cooperative play with shared world state. Party-based combat with coordinated dramatic choices. Each player sees their own narrative perspective of shared encounters.