Skip to content

Tone & Narrative Design

Source: Extracted and expanded from master_gdd.md §8.
Status: DRAFT — character roster and last-will templates need writing.


Table of Contents

  1. The Vibe
  2. Meta-Narrative
  3. Character Roster
  4. The Last Will System
  5. Banter System
  6. Mystery Event Writing
  7. Tone Boundaries
  8. MVP Scope
  9. Open Questions

1. The Vibe

Comedic tragedy. The world is ending. Your units are the last weirdos standing. Permadeath is real. But the tone is someone cracking jokes during the apocalypse because what else are you going to do?

Tone Reference Points

WorkWhat We Take
DisgaeaSelf-aware humor. Characters comment on tropes. The UI is in on the joke.
Discworld (Terry Pratchett)Absurdity grounded in character. The world is ridiculous, but the characters take it seriously.
HadesDeath is narrative. Every failure advances the story. Characters remember.
Adventure TimeEarnest weirdos in a broken world. Sincere despite absurdity.
Monty PythonThe universe is hostile and that's funny.

Tone Spectrum

← TRAGIC ──────────────────────────────────────── COMEDIC →
     │                                              │
  Unit dies,                               A goblin dies,
  player feels                              the game asks
  genuine loss                              "Did you really
                                            expect him to
                                            use cover?"
     │                                              │
     └──────── OUR ZONE ───────────────────────────┘
              (mostly here, with
              genuine moments)

2. Meta-Narrative

The Frame

The world of Aethelgard is collapsing. Reality is fraying at the edges — time loops, spatial rifts, impossible geographies. You are the Commander, a being outside time who can send squads into the breach.

Each run is a timeline. Some succeed. Most fail. All are canon. The Commander learns from every timeline.

Between-Run Narrative

The Hub is the Commander's sanctum — a floating observatory outside time. Between runs, you can:

  • View the Timeline Tapestry (run history visualization)
  • Read the Book of Fallen (all permadead units, their last wills)
  • Visit the Echo Market (meta-progression shop)
  • Recruit new characters for the next run

Story Progression

The meta-narrative advances across runs through:

  1. Milestone events: First win, first permadeath, first synergy discovery, etc.
  2. Character arcs: Characters remember previous timelines. They comment on recurring events.
  3. Mysteries: The cause of the collapse is revealed slowly across many runs.
  4. The Commander's identity: Who are you? Why can you loop time? Revealed late in meta-progression.

Tone of Meta-Narrative

The Commander is not grim. They're exhausted but hopeful. They've watched a thousand timelines fail. They keep trying because one of them has to work. The humor comes from the Commander's dry observations and the characters' refusal to be dignified about their own deaths.

Commander's Journal, Entry #247: "Brick died again. Fell into a pit. He was warned about the pit. There was a sign. He said, and I quote, 'Signs are for people who can read.' Brick cannot read."


3. Character Roster

Starting Characters (MVP)

CharacterKey AspectPersonalityVoice Sample
BrickKnightEarnest, stupid, believes in his bucket-armor"This bucket has protected me for twelve years. It was a good bucket before I wore it."
MiraMageExhausted time-traveler, knows every outcome"I've watched this battle play out 847 times. Please don't step on that trap." (Player steps on trap.) "...847."
WhiskersAlchemist (Function)Mad scientist cat, no idea what anything does"I mixed the red one and the blue one. It's bubbling. Should I—" (Throws potion.) "Huh. That's new."

Unlockable Characters (Post-MVP or Meta-Progression Shop)

CharacterKey AspectPersonalityUnlock
GretaBerserkerRetired blacksmith. Swings hammer. Mom energy.80 Echoes
NullShamanA void that learned to want things. Creepy but polite.120 Echoes
TiberiusPriestWashed-up former high priest. Drinks. Still heals.100 Echoes
ClickEngineerClockwork automaton. Extremely literal. Doesn't understand jokes.100 Echoes
LyricBardActually a terrible musician. Somehow it works.80 Echoes

Character Design Principles

  1. Every character has a want and a flaw. Brick wants to be a hero; his flaw is terminal stupidity. Mira wants the loop to end; her flaw is apathy from seeing too many timelines.
  2. Every character has a relationship with at least 2 other characters (for banter).
  3. Characters never break the 4th wall. The game winks at the player (UI jokes, item descriptions), but the characters are sincere in their absurdity.
  4. No "chosen one" characters. These are misfits, not legends.

4. The Last Will System

Generation Pipeline

UNIT DIED → Gather context → Fill template → Display note → Save to Book of Fallen

Context Variables

VariableSourceExample
{name}Character nameBrick
{aspect}Key AspectKnight
{death_cause}Damage type / hazardfall damage
{death_location}Tile descriptiona +3 ledge in the Caldera
{killer}If killed by enemya very angry Fire Elemental
{kills}Enemies defeated this run12
{damage_dealt}Total damage this run247
{runs}Times this character has been used7
{tone}Character personalityearnest_stupid

Templates

Brick (Knight, earnest_stupid)

"Here lies {name}. He died by {death_cause} at {death_location}. He would want you to know that this was a tactical decision and definitely not a mistake. He was a {aspect} of great... enthusiasm. His bucket will be passed to the next generation. It has been sanitized. Mostly."

"In {runs} timelines, {name} died in {runs} of them. This is not a great ratio. But he believed in every one. He killed {kills} enemies and dealt {damage_dealt} damage. That's roughly {damage_dealt/100} damage per brain cell."

Mira (Mage, exhausted)

"Mira has died in 4,912 timelines. This makes 4,913. She saw it coming at least 3 ticks before it happened. She sighed. She closed her eyes. She muttered something about 'the predictability of it all.' Then {death_cause}. She was tired. Now she gets to rest. For about 20 minutes, until you start another run."

Whiskers (Alchemist, chaos_cat)

"Whiskers has left this timeline. Cause of death: {death_cause}. Secondary cause: possibly one of the potions. Tertiary cause: definitely one of the potions. In their defense, the red one and the blue one had NEVER turned that specific shade of purple before. It was worth it. For science."

Tone Rules for Last Wills

  • Always funny, never cruel
  • Celebrate what the unit accomplished
  • Acknowledge the absurdity of their death
  • Never mock the player for losing the unit (mock the UNIT for how they died)
  • Variation: 3–5 templates per character to avoid repetition across runs

5. Banter System

Triggers

TriggerWho SpeaksContext
Camp start2 random units in squadResting, reflecting
After ally permadeathSurviving unit with highest relationship to deceasedGrief (comedic or sincere depending on character)
Synergy discoveredBoth units in synergyCelebration
Boss killRandom unitVictory quip
Near-death (HP < 25%)The damaged unitFear, defiance, or obliviousness
Co-op: cross-player1 unit from each playerReactions to the other player's playstyle

Banter Content Types

TypeDescriptionExample
RelationshipPre-written between two specific charactersBrick and Mira: Brick asks for battle advice. Mira gives it. Brick ignores it.
ReactiveResponds to game stateAfter falling off a ledge: "I meant to do that." / "Gravity is the real enemy."
ObservationalComments on the environment or enemy"Is that volcano getting closer, or...?"
MetaComments on run context"This timeline feels better than the last one. The lighting is nicer."

Scope

  • MVP: 3–5 banters per character (30–50 lines total for 6 starting characters)
  • Co-op: 5–8 cross-player banters (shared character reactions)

6. Mystery Event Writing

Structure

[PARAGRAPH OF NARRATIVE FLAVOR]
[DILEMMA PRESENTED]
[2–4 CHOICES WITH CLEAR (OR CLEARLY VAGUE) CONSEQUENCES]

Event Pool Size

Mystery events are fully designed (8 events across 2 islands) but deferred to v0.3 when Mystery nodes are added to the node pool. See Roguelike Structure for node type scope.

IslandEvents Designed
1 (Plains)4
2 (Caldera)4
3 (Spire)6 (v0.2+)
Total drafted14

Draft Events (Examples)

Event: "The Singing Stone"

A floating obelisk hums with an entrancing melody. Carved runes pulse in rhythm. Approaching it, you feel... hungry. Or inspired. Hard to tell.

  1. Touch the obelisk. Gain 1 random Rare Aspect. 30% chance: unit who touched it is Cursed for the next battle.
  2. Study the runes. Gain 50 bonus EXP for all units. Safe.
  3. Smash it. Gain 100 gold. 50% chance: obelisk explodes (3 damage to adjacent unit).
  4. Leave it. Nothing happens.

Event: "The Merchant's Offer"

A hooded figure sits at a crossroads, a collection of wares spread on a tattered cloth. "I don't take gold," they rasp. "I take memories. Specifically, embarrassing ones."

  1. Trade an Aspect for a random Rare Aspect. The traded aspect is lost.
  2. Trade 20 max HP from one unit (permanent for this run). Gain 1 Legendary Relic.
  3. Tell them your most embarrassing secret. Nothing happens mechanically. The merchant laughs. +1 funny line in the run summary.

7. Tone Boundaries

What We Do

  • [x] Dark comedy about death and failure
  • [x] Absurdist humor grounded in character
  • [x] Self-aware UI (tooltip jokes, loading screen tips)
  • [x] Earnest moments between jokes (the ratio is ~70% funny, 30% sincere)
  • [x] Death treated seriously — but mourned comedically

What We DON'T Do

  • [x] No mean-spirited humor (punching down)
  • [x] No 4th wall breaks by characters (the Commander and UI are outside the 4th wall; characters are inside)
  • [x] No references to real-world politics or current events
  • [x] No sexual humor
  • [x] No grimdark despair (the world is dying, but the tone is "let's make the best of it")
  • [x] No mocking the player for their choices (mock the characters for theirs)

8. MVP Scope

Included

  • [x] Meta-narrative frame (Commander + time loop)
  • [x] 3 starting characters (Brick, Mira, Whiskers) with full voice
  • [x] Last Will system (3 templates per character = 9 templates)
  • [x] Camp banter (5 lines per character pair = ~15 banters)
  • [x] Hub screen: Timeline Tapestry (run history), Book of Fallen, Echo Market
  • [x] Mystery events: deferred to v0.3. Content drafted but not in MVP node pool.

Deferred to Post-MVP

  • [ ] Unlockable characters (Greta, Null, Tiberius, Click, Lyric)
  • [ ] Full character arcs (across-run narrative progress)
  • [ ] The Commander's identity reveal
  • [ ] Mystery events (8 drafted, ship with v0.3 when Mystery nodes are added)
  • [ ] Co-op cross-player banter
  • [ ] Voice acting (any amount)

9. Open Questions

  1. Writing tone calibration: "Comedic tragedy" is a narrow target. Should we audience-test last will templates to see if they land? (Recommend: test with 5 people. If 4 laugh, it works.)
  2. Character death frequency: If Brick dies in every run, the Brick last-will templates will repeat quickly. Do we need more templates (5–7 per character) or is repetition acceptable at 3 templates?
  3. Mystery event replayability: 8 events for 2 islands. A player doing 10 runs will see each event 1–2 times. Is this enough variety, or do events need randomization within templates?
  4. The Commander's voice: Is the Commander a defined character with dialogue, or a silent protagonist? (Recommend: the Commander has a dry, written voice in the Journal and UI, but no dialogue. They're the narrator, not a unit.)
  5. Cultural humor: Disgaea references and Discworld humor work for a Western audience that overlaps with anime fans. Is our target audience that specific intersection, or broader? Affects how many references we use.
  6. Narrative integration with permadeath: Hades makes death narrative. We make death funny. Does this undermine the stakes? If permadeath is a joke, is it still permadeath? (Recommend: the Last Will is funny, but the loss of the unit and their aspects IS serious gameplay. The humor softens the blow; it doesn't remove it.)

Next: Meta-Progression

Markdown is the canonical GDD source.