Appearance
Tribunal — Master Game Design Document v4.0
A fantasy courtroom where justice is decided by tactical combat. You are the Judge. The noble refuses evidence. The bailiffs march into a pocket dimension. "Who thought these rules would work?!"Updated: July 22, 2026 — Major thematic pivot. Setting rebased around fantasy tribunal.
What This Document Is
The single entry point to the project. Every system has a short summary here and a full design doc in design/. Architecture decisions and open technical questions live in architecture/. Reference material from our source inspirations lives in reference/.
Elevator Pitch
You are a fantasy Judge presiding over a trial. A noble defendant — arrogant, powerful, and legally untouchable — refuses to accept witnesses or evidence. Instead, they invoke an ancient, absurd law: Trial by Combat.
You dispatch your bailiffs into a pocket dimension — a sealed arena generated by the court's magic — where they face the noble's hired champions in tactical combat. Enemy intentions are telegraphed: you see what they plan to do, but not exact numbers. Height matters. Speed matters. Positioning IS survival.
When a bailiff falls, they're gone for the trial. Lose all of them and the noble walks free. Win, and justice is served — unlocking new Aspects, bailiffs, and relics for future cases. Your inner monologue never stops: "Who thought these rules would work?!"
Co-op: Two judges preside together. Shared grid, shared CT timeline — Speed decides turn order for all units. Joint synergies. (Co-op narrative fiction TBD.)
Core Loop
SUMMON bailiffs → BATTLE (~10 min) → UPGRADE (relic, aspect, recruit)
→ CHOOSE PATH (branching case docket) → REPEAT → NOBLE'S CHAMPION → VERDICT
Bailiff downed? → 3-turn counter to extract → 0 = PERMADEATH for the case.
All bailiffs dead? → Case dismissed. Noble walks. Claim meta-currency. Try again.
Defeat the noble's champion? → Guilty verdict. Unlock next difficulty.Solo case: 30–40 minutes. Co-op case: 40–60 minutes. Full details: Roguelike Structure
Design Pillars
Every decision traces back to one of these:
| # | Pillar | Source | Meaning |
|---|---|---|---|
| 1 | Build Expression | FFT | The Aspect system lets players express themselves through builds. No two runs feel identical. |
| 2 | Readable Combat | FFT + ITB | Enemy intentions are telegraphed. RNG is tight and bounded — you can plan around ranges. Losses are your fault. Wins are earned. |
| 3 | Position IS Power | FFT + ITB | Height, displacement, and terrain are the core mechanics. Damage is secondary to position. |
| 4 | Speed As Strategy | FFT | The CT timeline is a resource. Manipulating turn order is as important as dealing damage. |
| 5 | Comedic Absurdity | Disgaea + Phoenix Wright | Self-aware, funny. The legal framing is inherently ridiculous — trial by combat, pocket dimensions as courtrooms, a judge screaming internally. Even permadeath is darkly humorous ("Bailiff Briggs has been held in contempt... of life."). |
| 6 | Roguelike Replayability | ITB + StS | 45–60 minute runs. Procedural variety. Meta-progression. Every run is a fresh puzzle. |
| 7 | Anti-Grind | ITB + StS | No grinding. No random encounters. No filler. Every node is meaningful. |
| 8 | Together Is Better | NEW | Co-op amplifies the core mechanic. Two players building synergies creates moments neither could achieve alone. |
| 9 | Solo-Dev Scoped | Reality | 5 Key Aspects, not 20. 2 islands at launch. Procedural gen fills gaps hand-crafted content can't. |
Systems Overview
Battle System
8×8 isometric grid with 5 height tiers (−1 to +3) inside a pocket dimension arena. CT timeline determines turn order (Speed fills CT, CT ≥ 100 = act). Enemy intentions are telegraphed — the player sees what the enemy plans to do (e.g., "will charge in," "will cast offensive spell," "will heal ally") but not exact numbers or targets. Spells have charge time — cancellable by damaging/displacing the caster. RNG is present (like FFT) but damage/spread ranges are tight to keep outcomes readable.
Full doc: Battle System
Aspect System (Character Building)
No classes. Five typed slots per bailiff: Key (permanent), Function, Movement, Defense, Utility. 30 aspects at MVP launch (51 post-MVP). Aspects are equipment-like items dropped by enemies and swapped freely between battles. After each battle, the player manually allocates earned EXP between two paths: Level Up (raises raw stats: HP, Speed, Attack, etc.) or Aspect Invest (improves the abilities and power of a chosen equipped Aspect). Synergies between Aspects are discoverable and celebrated.
Full doc: Aspect Catalog
Procedural Level Generation
Template + Fill approach. Grammar rules for height, cover, hazard, and path generation. Four mission templates (Standard, Ambush, Escort, King of the Hill). Solvability validator ensures no unfair scenarios. Dynamic mid-battle events (floods, cave-ins, eruptions). Boss maps are hand-crafted.
Full doc: Level Generation
Enemy & AI
Enemies follow visible behavior scripts — they create puzzles, not play to win. Six archetypes: Brute, Flanker, Artillery, Guardian, Swarm, Trickster. Two factions at launch (Unwoven, Ember Court), 10 enemy types. Two hand-crafted boss fights. Difficulty scales through new behaviors and speed, not HP bloat.
Full doc: Enemy & AI Design
Tone & Narrative
Fantasy courtroom drama meets tactical combat. The player is a Judge — a lowly commoner who rose to the bench through sheer conviction rate, now saddled with an absurd legal system. Inner monologue drives the comedy: weary, sarcastic, increasingly incredulous. Each case (run) pits you against a noble who has exploited an ancient loophole: Trial by Combat. The pocket dimension is visually a standard RPG arena (forest, volcanic, etc.) — the court's magic conjures a battlefield, not a themed courtroom. Three starting bailiffs with distinct courtroom roles and voices (e.g. veteran enforcer, idealistic rookie, cynical clerk). Permadeath generates procedurally-written "Court Transcripts." Narrative nodes feature defendant taunts, witness cameos, and legal absurdities. Mystery events offer narrative choices with mechanical consequences.
Full doc: Tone & Narrative
Meta-Progression
Court Prestige (meta-currency) earned per case. Spent on permanent unlocks: new Key Aspects, bailiffs, starting relic slots, difficulty modes, and Aspect pool expansions. Hub screen between cases: Case Archive, Memorial Wall, Prestige Exchange. Target: ~50 cases to full unlock.
Full doc: Meta-Progression
Co-op
Two judges, one trial. Shared grid and shared CT timeline — all units (both players' and enemies) act in Speed-determined order, not fixed player turns. Steam invite. Both draft from shared bailiff pool, share rewards, and trigger cross-player Aspect synergies. Ghost Mode when one player loses all bailiffs (can still ping, emote, spectate). ~15–20% additional dev overhead on solo. Co-op narrative framing is an open decision.
Full doc: Co-op Design
Reference Material
These documents track what we're borrowing from each source inspiration:
| Game | Reference Doc | What We Take |
|---|---|---|
| Final Fantasy Tactics | ref/fft-mechanics.md | CT timeline, height system, job→aspect evolution, isometric grid |
| Into the Breach | ref/itb-mechanics.md | Deterministic combat, telegraphed actions, roguelike structure, push/displacement |
| Disgaea | ref/disgaea-tone.md | Comedic tone, character voice, self-aware humor |
| Phoenix Wright: Ace Attorney | ref/ace-attorney-tone.md | Courtroom framing, legal absurdity as comedy, judge inner monologue, defendant personalities |
| Slay the Spire / Hades / ITB | ref/roguelike-benchmarks.md | Run duration targets, meta-progression pacing, unlock curves |
Architecture
Technical decisions live here. All files are stubs — questions documented, answers pending.
| Doc | Status |
|---|---|
| Tech Stack | STUB — Unity version, packages, rendering pipeline TBD |
| Grid System | STUB — coordinate model, pathfinding, LOS |
| Aspect Data Model | STUB — ScriptableObject schema, slot validation, serialization |
| Proc-Gen Pipeline | STUB — grammar engine, validation, dynamic events |
| Save System | STUB — run state, meta-progression, save slots |
| Networking | STUB — turn-passing protocol, Steamworks, ghost mode |
| Folder Structure | STUB — Unity Assets/ conventions |
Scope & Production
MVP (20–24 weeks, part-time solo)
| Category | Scope |
|---|---|
| Key Aspects | 5 (Knight, Mage, Rogue, Archer, Priest) |
| Flex Aspects | 10 (4 Function, 3 Movement, 3 Defense). No Utility aspects at launch. |
| Squad size | 3 bailiffs (solo), 3 each (co-op) |
| Islands (Case Domains) | 2 (Plains, Caldera). Domain 3 (Spire) v0.2. |
| Mission templates | 4 (Standard, Ambush, Escort, King of the Hill) + Noble's Champion |
| Bosses | 2 noble champions (Golem-Lord, Wyrm) |
| Enemy factions | 2 (House Guard, Ember Court), 10 types |
| Relics | 20 (14 common, 5 rare, 1 legendary) |
| Node types | 3 (Contest, Acquire, Recess) + Noble's Champion per domain |
| Permadeath | Full downed state + 3-turn counter + Court Transcript |
| Co-op | Non-negotiable. Direct invite, shared grid, ping system, ghost mode. |
| Difficulty | Normal + Hard at launch. Lethal post-MVP. |
| Case length | 30–40 min solo, 40–60 min co-op |
| Hub | Case Archive, Memorial Wall, Prestige Exchange |
| Tech | Unity (C#), custom grid, grammar proc-gen, TextMeshPro, Steamworks.NET |
Post-MVP Content Pipeline
| Update | Content |
|---|---|
| v0.2 | Domain 3 (Spire), +4 Key Aspects (Monk/Berserker/Shaman/Bard), expanded relics |
| v0.3 | Mystery/Recruit/Relic Forge nodes, cross-player synergy codex, remaining flex aspects |
| v0.4 | Utility aspects, Lethal + Breach difficulty, unlockable bailiffs |
| v1.0 | Steam achievements, cloud saves, full unlock catalog, cosmetics, polish |
Open Questions (Cross-Cutting)
- Co-op narrative framing: Solo is Judge + bailiffs vs noble. What is the co-op fiction? Two judges? Judge + prosecutor? DECIDED: defer to later.
- Pocket Dimension flavor: The arena visually reflects a standard RPG biome (forest, volcanic, etc.), not a themed courtroom. DECIDED.
- Judge character: Fixed personality — a lowly commoner who rose to the bench through conviction rate. Voiced inner monologue. DECIDED.
- Defendant count per domain: DECIDED: defer to later.
- Island 3 timing: Deferred to v0.2. Does this delay hurt the launch value proposition? A 30–40 minute roguelike is short by genre standards — is 2 domains enough for "1.0" or does Spire need to ship in the launch window?
- Aspect duplicates: Auto-convert to EXP, or let players combine duplicates to craft higher rarity? Design question with economic implications.
- Win rate target on Normal: 30–40% proposed. Needs playtesting to validate.
- Co-op save/resume: Can a co-op case be saved mid-trial and resumed? Solo cases are short enough to not need this. Co-op at 40–60 minutes might.
- Utility slot: The slot exists on units but has zero Utility aspects at launch. Should the slot be hidden until v0.4, or visible but greyed out to build anticipation?
- Relic pool size: 20 relics for 2 domains (~6 relics per run). Is this enough variety, or will runs feel samey? StS has ~175 relics in the pool.
Document Map
gdd/
├── master_gdd.md ← You are here
├── gdd-folder-plan.md # This folder's governance
│
├── design/
│ ├── battle-system.md # Grid, CT timeline, damage, height, verbs, downed state
│ ├── aspect-catalog.md # All 51 aspects, progression, synergy, balance
│ ├── roguelike-structure.md # Islands, nodes, relics, consumables, pacing
│ ├── level-generation.md # Grammar rules, templates, biomes, validation
│ ├── enemy-catalog.md # AI philosophy, factions, bosses, scaling
│ ├── narrative-tone.md # Meta-narrative, characters, last wills, banter
│ ├── meta-progression.md # Echoes economy, unlock shop, hub, difficulty
│ ├── co-op-design.md # Turn flow, synergies, ghost mode, networking
│ └── ui-ux-design.md # HUD layout, timeline bar, tooltips, menus, input
│
├── architecture/
│ ├── tech-stack.md # Unity version, packages, rendering pipeline
│ ├── grid-system.md # Coordinate data model, pathfinding, LOS
│ ├── aspect-data-model.md # ScriptableObject schema, serialization
│ ├── proc-gen-pipeline.md # Grammar engine, validation, performance
│ ├── save-system.md # Run state, meta-progress, save slots
│ ├── networking.md # Turn-passing protocol, Steamworks, ghost mode
│ └── folder-structure.md # Unity Assets/ conventions
│
└── reference/
├── fft-mechanics.md # What we borrow from FFT
├── itb-mechanics.md # What we borrow from Into the Breach
├── disgaea-tone.md # Tone reference from Disgaea
└── roguelike-benchmarks.md # Run duration, meta-progression benchmarksMaster Design Document v3.0 — July 19, 2026Next: Resolve architecture stubs. Then prototype the CT timeline + grid + 3 Key Aspects in Unity.