From 06edea33525276d23c8fd0f645a38c32041e5308 Mon Sep 17 00:00:00 2001 From: Bryce Date: Fri, 20 Mar 2026 11:39:31 -0700 Subject: [PATCH] Complete: Reorganize KQVI chart with better readability, clustering, and fan-out flow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Apply fontsize=18 to all nodes via node[fontsize=18] - Add index-based color palette with stroke colors for each area - Restructure to fan-out/fan-in flow: Crown → 4 islands → convergence → Crown Final - Group pawn shop items (Nightingale, Mint, Tinderbox, Flute, Paintbrush, Ink) under Village area_8 - Group gnome items under Isle of Wonder Five Senses area_2 - Isle of Crown (area_1) repeats at start and end with same color - Update skill files with clustering rules and layout guidelines - Build succeeds with 0 orphans, 0 undefined --- .../skills/create-dependency-graph/SKILL.md | 62 ++++ .opencode/skills/qa-dependency-graph/SKILL.md | 56 +++- src/inspiration/kings-quest-vi-chart.mmd | 282 ++++++++++-------- src/inspiration/kings-quest-vi-chart.svg | 2 +- todos/TODOS.md | 34 +++ 5 files changed, 294 insertions(+), 142 deletions(-) diff --git a/.opencode/skills/create-dependency-graph/SKILL.md b/.opencode/skills/create-dependency-graph/SKILL.md index c9f7ecc..42cfcc3 100644 --- a/.opencode/skills/create-dependency-graph/SKILL.md +++ b/.opencode/skills/create-dependency-graph/SKILL.md @@ -199,6 +199,68 @@ end #### Color-Coded Areas +Apply index-based palette with consistent stroke colors: + +| Index | Hex | Stroke | Area Example | +|-------|-----|--------|--------------| +| 1 | `#E3F2FD` | `#1976D2` | Isle of Crown | +| 2 | `#FFF3E0` | `#F57C00` | Isle of Wonder | +| 3 | `#F3E5F5` | `#7B1FA2` | Isle of Beast | +| 4 | `#E8F5E9` | `#388E3C` | Isle of Mists | +| 5 | `#FFF8E1` | `#F9A825` | Sacred Mountain | +| 6 | `#FCE4EC` | `#C2185B` | Druid Island | +| 7 | `#E0F7FA` | `#00838F` | Realm of Dead | +| 8 | `#F5F5F5` | `#616161` | Village | + +**Same area can appear multiple times** at different logical points (e.g., Isle of Crown at game start AND as final area). Use the SAME color for repeated areas. + +#### Font Size Requirement + +**All nodes must use `fontsize=18`** or larger for readability: + +```mermaid +flowchart TD + node[fontsize=18] + %% This sets default font size for all nodes +``` + +Apply this at the very start of the flowchart, before any nodes or subgraphs. + +#### Clustering Rules + +**Pawn Shop Items**: Group ALL pawn shop items under the Village (area_8) subgraph: +- Nightingale, Mint, Tinderbox, Flute, Paintbrush, Ink +- These items originate from the Village pawn shop broker interaction + +**Gnome Items**: Group ALL Five Senses gnome outcomes under Isle of Wonder (area_2) subgraph: +- Smell, Hearing, Taste, Touch, Sight gnome satisfaction outcomes +- These are all part of the Five Senses puzzle sequence + +```mermaid +subgraph area_8["Village - Pawn Shop Items"] + classDef area_8 fill:#F5F5F5,stroke:#616161,stroke-width:2px + class O_RECEIVE_NIGHTINGALE,O_RECEIVE_MINT,O_RECEIVE_TINDERBOX,O_RECEIVE_FLUTE,O_RECEIVE_PAINTBRUSH,O_RECEIVE_INK area_8 +end + +subgraph area_2_gnomes["Isle of Wonder - Five Senses Gnomes"] + classDef area_2_gnomes fill:#FFF3E0,stroke:#F57C00,stroke-width:2px + class O_GNOMES_SMELL_DONE,O_GNOMES_HEARING_DONE,O_GNOMES_TASTE_DONE,O_GNOMES_TOUCH_DONE,O_GNOMES_SIGHT_DONE area_2_gnomes +end +``` + +#### Subgraph Styling Format + +Use this exact format for subgraph titles to ensure proper font size: + +```mermaid +subgraph area_name["Area Title"] + classDef area_X fill:#HEXCOLOR,stroke:#STROKECOLOR,stroke-width:2px + class node1,node2,node3 area_X +end +``` + +#### Color-Coded Areas (Index-Based) + Apply index-based palette: | Index | Hex | Area Example | diff --git a/.opencode/skills/qa-dependency-graph/SKILL.md b/.opencode/skills/qa-dependency-graph/SKILL.md index 110008b..2c90426 100644 --- a/.opencode/skills/qa-dependency-graph/SKILL.md +++ b/.opencode/skills/qa-dependency-graph/SKILL.md @@ -204,30 +204,60 @@ A_PAY_PAWN_BROKER_COIN --> O_FLUTE_UNLOCKED ## Color Palette (Index-Based) -Use this fixed palette for area/subgraph coloring. Same area can appear multiple times at different logical points. +Use this fixed palette for area/subgraph coloring. Same area can appear multiple times at different logical points. Use the SAME color for repeated areas (e.g., Isle of Crown appears at start AND end with same color). -| Index | Hex | Sample | -|-------|-----|--------| -| 0 | `#FFFFFF` | Default/ungrouped | -| 1 | `#E3F2FD` | Light Blue | -| 2 | `#FFF3E0` | Light Orange | -| 3 | `#F3E5F5` | Light Purple | -| 4 | `#E8F5E9` | Light Green | -| 5 | `#FFF8E1` | Light Amber | -| 6 | `#FCE4EC` | Light Pink | -| 7 | `#E0F7FA` | Light Cyan | -| 8 | `#F5F5F5` | Light Grey | +| Index | Hex | Stroke | Area | +|-------|-----|--------|------| +| 1 | `#E3F2FD` | `#1976D2` | Isle of Crown | +| 2 | `#FFF3E0` | `#F57C00` | Isle of Wonder | +| 3 | `#F3E5F5` | `#7B1FA2` | Isle of Beast | +| 4 | `#E8F5E9` | `#388E3C` | Isle of Mists | +| 5 | `#FFF8E1` | `#F9A825` | Sacred Mountain | +| 6 | `#FCE4EC` | `#C2185B` | Druid Island | +| 7 | `#E0F7FA` | `#00838F` | Realm of Dead | +| 8 | `#F5F5F5` | `#616161` | Village | ### Applying Colors in Mermaid ```mermaid subgraph "Isle of Wonder"["**Isle of Wonder**"] - classDef area2 fill:#FFF3E0,stroke:#FF9800,stroke-width:2px + classDef area2 fill:#FFF3E0,stroke:#F57C00,stroke-width:2px class O_RECEIVE_NIGHTINGALE area2 class O_RECEIVE_MINT area2 end ``` +## Fan-Out/Fan-In Flow Structure + +Adventure game puzzles naturally follow a **fan-out/fan-in** pattern where: +1. START → Initial area (single path) +2. Initial area → Multiple parallel islands/branches (fan out) +3. Parallel branches converge at a meeting point +4. Meeting point → Final area (single path) → END + +### Layout Template + +``` +START + ↓ +[ISLE OF CROWN - Beach & Village - Phase 1] + ↓ (fan out to 4 parallel islands) +[ISLE OF WONDER] | [ISLE OF BEAST] | [ISLE OF MISTS] | [SACRED MOUNTAIN] + ↓ (fan in) +[DRUID ISLE / REALM OF DEAD] + ↓ +[ISLE OF CROWN - Final] (REPEAT AREA with same color) + ↓ +END +``` + +### Validation + +- [ ] START at top, END at bottom +- [ ] Fan-out from single path to parallel branches +- [ ] Fan-in from parallel branches to convergence point +- [ ] Repeated areas use SAME color throughout + ## Known Acceptable False Positives The following are NOT errors: diff --git a/src/inspiration/kings-quest-vi-chart.mmd b/src/inspiration/kings-quest-vi-chart.mmd index ef3b4be..d3b90cc 100644 --- a/src/inspiration/kings-quest-vi-chart.mmd +++ b/src/inspiration/kings-quest-vi-chart.mmd @@ -1,106 +1,117 @@ flowchart TD %% ============================================================================= - %% STYLE DEFINITIONS - Modern, accessible colors with 4.5:1+ contrast + %% FONT SIZE - Set default for all nodes + %% ============================================================================= + node[fontsize=18] + + %% ============================================================================= + %% COLOR PALETTE (index-based for repeat areas) + %% ============================================================================= + %% area_1: #E3F2FD (light blue) - Isle of Crown + %% area_2: #FFF3E0 (light orange) - Isle of Wonder + %% area_3: #F3E5F5 (light purple) - Isle of Beast + %% area_4: #E8F5E9 (light green) - Isle of Mists + %% area_5: #FFF8E1 (light amber) - Sacred Mountain + %% area_6: #FCE4EC (light pink) - Druid Island + %% area_7: #E0F7FA (light cyan) - Realm of Dead + %% area_8: #F5F5F5 (light grey) - Village + + %% ============================================================================= + %% CLASS DEFINITIONS - Area colors with stroke %% ============================================================================= classDef start_end fill:#FFD700,stroke:#996600,stroke-width:3px,color:#000000 classDef problem fill:#FFB3B3,stroke:#8B0000,stroke-width:2px,color:#8B0000 classDef action fill:#B3FFB3,stroke:#006400,stroke-width:2px,color:#006400 classDef outcome fill:#B3D9FF,stroke:#004080,stroke-width:2px,color:#004080 - classDef area_ioc fill:#E6E6FF,stroke:#333399,stroke-width:2px - classDef area_iow fill:#FFE6FF,stroke:#660066,stroke-width:2px - classDef area_iob fill:#FFE6CC,stroke:#663300,stroke-width:2px - classDef area_maze fill:#CCFFCC,stroke:#006633,stroke-width:2px - classDef area_ism fill:#CCFFFF,stroke:#006666,stroke-width:2px - classDef area_iom fill:#FFFFCC,stroke:#666600,stroke-width:2px - classDef area_rod fill:#F0F0F0,stroke:#333333,stroke-width:2px - classDef area_castle fill:#FFD9CC,stroke:#663320,stroke-width:2px - classDef area_final fill:#FFCCE6,stroke:#660033,stroke-width:2px + classDef area_1 fill:#E3F2FD,stroke:#1976D2,stroke-width:2px + classDef area_2 fill:#FFF3E0,stroke:#F57C00,stroke-width:2px + classDef area_3 fill:#F3E5F5,stroke:#7B1FA2,stroke-width:2px + classDef area_4 fill:#E8F5E9,stroke:#388E3C,stroke-width:2px + classDef area_5 fill:#FFF8E1,stroke:#F9A825,stroke-width:2px + classDef area_6 fill:#FCE4EC,stroke:#C2185B,stroke-width:2px + classDef area_7 fill:#E0F7FA,stroke:#00838F,stroke-width:2px + classDef area_8 fill:#F5F5F5,stroke:#616161,stroke-width:2px %% ============================================================================= - %% COLOR PALETTE (index-based for repeat areas) - %% ============================================================================= - %% 0: #FFFFFF (white - default/ungrouped) - %% 1: #E3F2FD (light blue - Isle of Crown) - %% 2: #FFF3E0 (light orange - Isle of Wonder) - %% 3: #F3E5F5 (light purple - Isle of Beast) - %% 4: #E8F5E9 (light green - Isle of Mists) - %% 5: #FFF8E1 (light amber - Sacred Mountain) - %% 6: #FCE4EC (light pink - Druid Island) - %% 7: #E0F7FA (light cyan - Realm of Dead) - %% 8: #F5F5F5 (light grey - Village) - - %% ============================================================================= - %% TOP: START NODE (only non-subgraph node besides END) + %% START NODE %% ============================================================================= START(["START: Wake on Isle of the Crown Beach"]) - %% Beach - Item Collection (parallel independent actions) - subgraph area_beach["Isle of the Crown - Beach"] - A_MOVE_PLANK["A: Move debris on beach"] - O_RECEIVE_COPPER_COIN["O: Receive Copper Coin"] - A_EXAMINE_DEBRIS["A: Examine debris more closely"] - O_RECEIVE_ROYAL_RING["O: Receive Royal Insignia Ring"] + %% ============================================================================= + %% PHASE 1: ISLE OF CROWN - Beach, Castle Entry, Village + %% ============================================================================= + subgraph area_1_initial["Isle of Crown - Beach & Village"] + %% Beach - Item Collection + subgraph area_1_beach["Beach"] + A_MOVE_PLANK["A: Move debris on beach"] + O_RECEIVE_COPPER_COIN["O: Receive Copper Coin"] + A_EXAMINE_DEBRIS["A: Examine debris more closely"] + O_RECEIVE_ROYAL_RING["O: Receive Royal Insignia Ring"] - A_MOVE_PLANK --> O_RECEIVE_COPPER_COIN - A_EXAMINE_DEBRIS --> O_RECEIVE_ROYAL_RING + A_MOVE_PLANK --> O_RECEIVE_COPPER_COIN + A_EXAMINE_DEBRIS --> O_RECEIVE_ROYAL_RING + end + + %% Castle Entry - Guards + subgraph area_1_castle_entry["Castle Entry"] + A_SHOW_RING_TO_GUARDS["A: Show Royal Ring to guards"] + C1["Consequence: Meet Vizier, then kicked out"] + end + + O_RECEIVE_ROYAL_RING --> A_SHOW_RING_TO_GUARDS + A_SHOW_RING_TO_GUARDS --> C1 + + %% Village - Multiple Parallel Independent Paths + subgraph area_8_village["Village"] + %% Pawn Shop - All items grouped under Village area_8 + P_PROBLEM_PAWN_SHOP["Problem: Need items from Pawn Shop"] + A_TALK_TO_PAWN_BROKER["A: Talk to Pawn Shop broker"] + O_RECEIVE_NIGHTINGALE["O: Receive Mechanical Nightingale"] + O_RECEIVE_MINT["O: Receive Mint"] + O_RECEIVE_TINDERBOX["O: Receive Tinderbox"] + O_RECEIVE_FLUTE["O: Receive Flute"] + O_RECEIVE_PAINTBRUSH["O: Receive Paintbrush"] + O_RECEIVE_INK["O: Receive Invisible Ink Bottle"] + + %% Magic Map Trade + P_PROBLEM_NEED_MAP["Problem: Cannot travel to other islands"] + A_TRADE_RING_FOR_MAP["A: Trade Royal Ring for Magic Map"] + O_RECEIVE_MAGIC_MAP["O: Receive Magic Map"] + + %% Ferryman - Rabbit's Foot + P_PROBLEM_FERRYMAN["Problem: Need ferry info and items"] + A_TALK_TO_FERRYMAN["A: Talk to Ali the ferryman"] + O_RECEIVE_RABBIT_FOOT["O: Receive Rabbit's Foot"] + + %% Jollo in Bookstore + P_PROBLEM_JOLLO["Problem: Need Jollo's help for story"] + A_TALK_TO_JOLLO["A: Talk to Jollo in Bookstore"] + O_RECEIVE_JOLLO_TRUST["O: Receive Jollo's trust"] + A_SHOW_RING_TO_JOLLO["A: Show Royal Ring to Jollo"] + + %% Love Poem (optional) + A_SEARCH_BOOKSHELF["A: Search poetry bookshelf"] + O_RECEIVE_LOVE_POEM["O: Receive Love Poem"] + + %% Ali's Bookstore - Rare Book trade + A_TRADE_RARE_BOOK_FOR_SPELL["A: Trade Rare Book to Ali"] + O_RECEIVE_SPELL_BOOK["O: Receive Spell Book"] + end + + %% Class assignments for Village pawn shop items (area_8) + class O_RECEIVE_NIGHTINGALE,O_RECEIVE_MINT,O_RECEIVE_TINDERBOX,O_RECEIVE_FLUTE,O_RECEIVE_PAINTBRUSH,O_RECEIVE_INK area_8 end START --> A_MOVE_PLANK START --> A_EXAMINE_DEBRIS - %% Castle Entry - Guards - subgraph area_castle_entry["Isle of the Crown - Castle Entry"] - A_SHOW_RING_TO_GUARDS["A: Show Royal Ring to guards"] - C1["Consequence: Meet Vizier, then kicked out"] - end - - O_RECEIVE_ROYAL_RING --> A_SHOW_RING_TO_GUARDS - A_SHOW_RING_TO_GUARDS --> C1 - - %% Village - Multiple Parallel Independent Paths - subgraph area_village["Isle of the Crown - Village"] - %% Pawn Shop - Locked Choice Mechanic (trade sequence) - P_PROBLEM_PAWN_SHOP["Problem: Need items from Pawn Shop"] - A_TALK_TO_PAWN_BROKER["A: Talk to Pawn Shop broker"] - O_RECEIVE_NIGHTINGALE["O: Receive Mechanical Nightingale"] - O_RECEIVE_MINT["O: Receive Mint"] - O_RECEIVE_TINDERBOX["O: Receive Tinderbox"] - O_RECEIVE_FLUTE["O: Receive Flute"] - O_RECEIVE_PAINTBRUSH["O: Receive Paintbrush"] - O_RECEIVE_INK["O: Receive Invisible Ink Bottle"] - - %% Magic Map Trade - P_PROBLEM_NEED_MAP["Problem: Cannot travel to other islands"] - A_TRADE_RING_FOR_MAP["A: Trade Royal Ring for Magic Map"] - O_RECEIVE_MAGIC_MAP["O: Receive Magic Map"] - - %% Ferryman - Rabbit's Foot - P_PROBLEM_FERRYMAN["Problem: Need ferry info and items"] - A_TALK_TO_FERRYMAN["A: Talk to Ali the ferryman"] - O_RECEIVE_RABBIT_FOOT["O: Receive Rabbit's Foot"] - - %% Jollo in Bookstore - P_PROBLEM_JOLLO["Problem: Need Jollo's help for story"] - A_TALK_TO_JOLLO["A: Talk to Jollo in Bookstore"] - O_RECEIVE_JOLLO_TRUST["O: Receive Jollo's trust"] - A_SHOW_RING_TO_JOLLO["A: Show Royal Ring to Jollo"] - - %% Love Poem (optional) - A_SEARCH_BOOKSHELF["A: Search poetry bookshelf"] - O_RECEIVE_LOVE_POEM["O: Receive Love Poem"] - - %% Ali's Bookstore - Rare Book trade - A_TRADE_RARE_BOOK_FOR_SPELL["A: Trade Rare Book to Ali"] - O_RECEIVE_SPELL_BOOK["O: Receive Spell Book"] - end - C1 --> P_PROBLEM_PAWN_SHOP C1 --> P_PROBLEM_NEED_MAP C1 --> P_PROBLEM_FERRYMAN C1 --> P_PROBLEM_JOLLO C1 --> A_SEARCH_BOOKSHELF - %% Village - Parallel independent paths (S3, S4, S5, S6 in original) + %% Village - Parallel independent paths P_PROBLEM_PAWN_SHOP --> A_TALK_TO_PAWN_BROKER A_TALK_TO_PAWN_BROKER --> O_RECEIVE_NIGHTINGALE A_TALK_TO_PAWN_BROKER --> O_RECEIVE_MINT @@ -123,9 +134,24 @@ flowchart TD A_SEARCH_BOOKSHELF --> O_RECEIVE_LOVE_POEM %% ============================================================================= - %% PHASE 2: Isle of Wonder - Five Senses Gnomes + %% FAN-OUT: Magic Map unlocks travel to 4 parallel islands %% ============================================================================= - subgraph area_iow_gnomes["Isle of Wonder - Five Senses Gnomes"] + O_RECEIVE_MAGIC_MAP --> UNLOCK_ISLAND_TRAVEL["UNLOCK: Island Travel"] + UNLOCK_ISLAND_TRAVEL --> P_PROBLEM_GNOMES + UNLOCK_ISLAND_TRAVEL --> P_PROBLEM_BOILING_POOL + UNLOCK_ISLAND_TRAVEL --> P_PROBLEM_LOGIC_CLIFFS + + O_RECEIVE_NIGHTINGALE --> UNLOCK_GNOME_ACCESS["UNLOCK: Gnome Access"] + O_RECEIVE_MINT --> UNLOCK_GNOME_ACCESS + O_RECEIVE_RABBIT_FOOT --> UNLOCK_GNOME_ACCESS + O_RECEIVE_INK --> UNLOCK_GNOME_ACCESS + O_RECEIVE_STINKY_FLOWER --> UNLOCK_GNOME_ACCESS + UNLOCK_GNOME_ACCESS --> P_PROBLEM_GNOMES + + %% ============================================================================= + %% ISLE OF WONDER - Five Senses Gnomes (area_2) + %% ============================================================================= + subgraph area_2_gnomes["Isle of Wonder - Five Senses Gnomes"] P_PROBLEM_GNOMES["Problem: Five gnomes block path north"] A_GIVE_STINKY_FLOWER["A: Give Flower of Stench to Smell gnome"] @@ -144,17 +170,9 @@ flowchart TD O_GNOMES_SIGHT_DONE["O: Sight gnome satisfied"] end - O_RECEIVE_MAGIC_MAP --> UNLOCK_ISLAND_TRAVEL["UNLOCK: Island Travel"] - UNLOCK_ISLAND_TRAVEL --> P_PROBLEM_GNOMES - UNLOCK_ISLAND_TRAVEL --> P_PROBLEM_BOILING_POOL - UNLOCK_ISLAND_TRAVEL --> P_PROBLEM_LOGIC_CLIFFS + %% Class assignments for gnome outcomes (area_2) + class O_GNOMES_SMELL_DONE,O_GNOMES_HEARING_DONE,O_GNOMES_TASTE_DONE,O_GNOMES_TOUCH_DONE,O_GNOMES_SIGHT_DONE area_2 - O_RECEIVE_NIGHTINGALE --> UNLOCK_GNOME_ACCESS["UNLOCK: Gnome Access"] - O_RECEIVE_MINT --> UNLOCK_GNOME_ACCESS - O_RECEIVE_RABBIT_FOOT --> UNLOCK_GNOME_ACCESS - O_RECEIVE_INK --> UNLOCK_GNOME_ACCESS - O_RECEIVE_STINKY_FLOWER --> UNLOCK_GNOME_ACCESS - UNLOCK_GNOME_ACCESS --> P_PROBLEM_GNOMES P_PROBLEM_GNOMES --> A_PLAY_NIGHTINGALE P_PROBLEM_GNOMES --> A_GIVE_MINT P_PROBLEM_GNOMES --> A_GIVE_RABBIT_FOOT @@ -168,21 +186,21 @@ flowchart TD A_USE_INK_ON_SELF --> O_GNOMES_SIGHT_DONE %% Isle of Wonder Beach - Oyster Pearl (INDEPENDENT of gnomes) - subgraph area_iow_beach["Isle of Wonder - Beach (independent)"] + subgraph area_2_beach["Isle of Wonder - Beach"] A_READ_BOOK_TO_OYSTER["A: Read Boring Book to Oyster"] O_RECEIVE_PEARL["O: Receive Pearl"] end - O_RECEIVE_PEARL --> O_RECEIVE_ROYAL_RING - O_GNOMES_SMELL_DONE & O_GNOMES_HEARING_DONE & O_GNOMES_TASTE_DONE & O_GNOMES_TOUCH_DONE & O_GNOMES_SIGHT_DONE --> C2["Path through gnomes now open"] C2 --> A_READ_BOOK_TO_OYSTER A_READ_BOOK_TO_OYSTER --> O_RECEIVE_PEARL + O_RECEIVE_PEARL --> O_RECEIVE_ROYAL_RING + %% ============================================================================= - %% PHASE 3: Isle of Wonder - Garden, Chessboard, Point + %% ISLE OF WONDER - Garden, Chessboard, Point (area_2) %% ============================================================================= - subgraph area_iow_garden["Isle of Wonder - Garden"] + subgraph area_2_garden["Isle of Wonder - Garden"] A_PLAY_FLUTE_FLOWERS["A: Play Flute for shy flowers"] O_RECEIVE_HOLE_IN_WALL["O: Receive Hole-in-the-Wall"] @@ -222,7 +240,7 @@ flowchart TD O_RECEIVE_ROTTEN_TOMATO --> A_GIVE_ROTTEN_TOMATO A_GIVE_ROTTEN_TOMATO --> O_RECEIVE_SWAMP_OOZE - subgraph area_iow_chessboard["Isle of Wonder - Chessboard Land"] + subgraph area_2_chessboard["Isle of Wonder - Chessboard Land"] A_TALK_TO_QUEENS["A: Talk to Chessboard queens"] O_RECEIVE_RED_SCARF["O: Receive Red Scarf"] O_RECEIVE_LUMP_OF_COAL["O: Receive Lump of Coal"] @@ -236,7 +254,7 @@ flowchart TD O_RECEIVE_LUMP_OF_COAL --> A_TRADE_COAL_FOR_EGG A_TRADE_COAL_FOR_EGG --> O_RECEIVE_SULFUR_EGG - subgraph area_iow_point["Isle of Wonder - Point / Book Garden"] + subgraph area_2_point["Isle of Wonder - Point / Book Garden"] A_PULL_THREAD["A: Pull thread from spider web"] O_RECEIVE_LOVE_WORD["O: Receive word 'LOVE' (for Gate riddle)"] O_RECEIVE_SPIDER_WEB["O: Receive Spider Web Paper"] @@ -260,9 +278,9 @@ flowchart TD A_TRADE_RARE_BOOK_FOR_SPELL --> O_RECEIVE_SPELL_BOOK %% ============================================================================= - %% PHASE 4: Isle of the Beast - Initial Visit + %% ISLE OF THE BEAST - Initial Visit (area_3) %% ============================================================================= - subgraph area_iob_initial["Isle of the Beast - Initial Visit"] + subgraph area_3_initial["Isle of the Beast - Initial Visit"] P_PROBLEM_BOILING_POOL["Problem: Boiling pool blocks crossing"] A_COOL_POOL["A: Use Iceberg Lettuce on pool"] C3["Path to north area now open"] @@ -288,9 +306,9 @@ flowchart TD A_GET_DANGLING_PARTICIPLE --> O_RECEIVE_DANGLING_PARTICIPLE %% ============================================================================= - %% PHASE 5: Minotaur's Maze / Catacombs + %% MINOTAUR'S MAZE (area_3 - part of Isle of Beast) %% ============================================================================= - subgraph area_maze_l1["Minotaur's Maze - Level 1"] + subgraph area_3_maze_l1["Minotaur's Maze - Level 1"] P_PROBLEM_MAZE_L1["Problem: Navigate maze to find items"] A_SOLVE_TILE_PUZZLE["A: Solve tile puzzle (use manual)"] O_MAZE_PATH_OPEN["O: Tile path opens"] @@ -314,7 +332,7 @@ flowchart TD A_NAVIGATE_TO_SKELETON --> O_RECEIVE_SKULL A_COLLECT_COINS --> O_RECEIVE_COINS - subgraph area_maze_l2["Minotaur's Maze - Level 2 (Dark)"] + subgraph area_3_maze_l2["Minotaur's Maze - Level 2 (Dark)"] P_PROBLEM_DARK_L2["Problem: Cannot see in dark passage"] A_LIGHT_TINDERBOX["A: Light Tinderbox to see"] P_PROBLEM_DARK_L2 --> A_LIGHT_TINDERBOX @@ -338,7 +356,7 @@ flowchart TD O_CAN_SEE --> A_FIND_SHIELD A_FIND_SHIELD --> O_RECEIVE_SHIELD - subgraph area_maze_lair["Minotaur's Lair"] + subgraph area_3_maze_lair["Minotaur's Lair"] P_PROBLEM_MINOTAUR["Problem: Minotaur blocks exit"] A_LURE_MINOTAUR["A: Lure Minotaur with Red Scarf"] O_RECEIVE_DAGGER["O: Receive Dagger"] @@ -354,15 +372,15 @@ flowchart TD A_LURE_MINOTAUR --> O_RECEIVE_SACRED_WATER A_LURE_MINOTAUR --> O_RECEIVE_ORACLE_VIAL - %% Parallel paths after maze - S23/S24 are PARALLEL, S20/S21 are PARALLEL + %% Parallel paths after maze O_MAZE_PATH_OPEN & O_RECEIVE_SKULL & O_RECEIVE_COINS & O_TRAP_STOPPED --> A_NAVIGATE_TO_SKELETON A_NAVIGATE_TO_SKELETON --> O_NAVIGATE_MAZE["O: Maze navigated, shield found"] O_NAVIGATE_MAZE --> P_PROBLEM_DARK_L2 %% ============================================================================= - %% PHASE 6: Isle of the Beast - Return Visit (with Shield) + %% ISLE OF THE BEAST - Return Visit with Shield (area_3) %% ============================================================================= - subgraph area_iob_return["Isle of the Beast - Return Visit"] + subgraph area_3_return["Isle of the Beast - Return Visit"] P_PROBLEM_ARCHER["Problem: Archer statue kills you"] A_USE_SHIELD_STATUE["A: Use Shield to block arrows"] C4["Safe passage through archer gate"] @@ -382,7 +400,7 @@ flowchart TD A_CUT_HEDGE --> C5 %% Beast's Domain - subgraph area_beast_domain["Isle of the Beast - Beast's Domain"] + subgraph area_3_beast_domain["Beast's Domain"] P_PROBLEM_MEET_BEAST["Problem: Need to meet Beast"] A_GIVE_WHITE_ROSE["A: Give White Rose to Beauty"] O_BEAUTY_TRUSTS["O: Beauty's trust gained"] @@ -408,9 +426,9 @@ flowchart TD O_RECEIVE_WHITE_ROSE_2 --> O_JOLLO_HELPS %% ============================================================================= - %% PHASE 7: Isle of Sacred Mountain + %% SACRED MOUNTAIN (area_5) %% ============================================================================= - subgraph area_ism_cliffs["Isle of Sacred Mountain - Logic Cliffs"] + subgraph area_5_cliffs["Isle of Sacred Mountain - Logic Cliffs"] P_PROBLEM_LOGIC_CLIFFS["Problem: Copy protection puzzles block summit"] A_SOLVE_CLIFF_PUZZLES["A: Solve 5 cliff puzzles (manual required)"] C6["Path to clifftop opens"] @@ -430,7 +448,7 @@ flowchart TD C6 --> A_GET_STINKY_FLOWER A_GET_STINKY_FLOWER --> O_RECEIVE_STINKY_FLOWER - subgraph area_ism_clifftop["Isle of Sacred Mountain - Clifftop & Cave"] + subgraph area_5_clifftop["Sacred Mountain - Clifftop & Cave"] P_PROBLEM_DARK_CAVE["Problem: Dark cave blocks path"] A_LIGHT_CAVE["A: Light way with Tinderbox"] O_RECEIVE_PEPPERMINT["O: Receive Peppermint Leaves"] @@ -452,7 +470,7 @@ flowchart TD O_SURVIVED --> A_RIDE_NIGHTMARE %% Winged Ones - subgraph area_ism_winged["Isle of Sacred Mountain - Winged Ones"] + subgraph area_5_winged["Sacred Mountain - Winged Ones"] P_PROBLEM_SPELL_COMPONENTS["Problem: Need spell components for Night Mare"] A_COLLECT_COMPONENTS["A: Gather Ember, Hair, Spoiled Egg"] O_SPELL_READY["O: Charm Creatures spell ready"] @@ -482,9 +500,13 @@ flowchart TD A_CAST_CHARM_SPELL --> O_NIGHTMARE_MOUNT %% ============================================================================= - %% PHASE 8: Isle of the Mists - Druids + %% FAN-IN: Convergence from parallel paths %% ============================================================================= - subgraph area_iom["Isle of the Mists - Druids"] + + %% ============================================================================= + %% ISLE OF THE MISTS - Druids (area_4 + area_6) + %% ============================================================================= + subgraph area_4_iom["Isle of the Mists - Druids"] P_PROBLEM_DRUIDS["Problem: Druids will burn you without protection"] A_CAST_RAIN_SPELL["A: Cast Rain Spell (Baby's Tears + Milk + Hunter's Lamp)"] O_RAIN_PROTECTION["O: Rain protection active"] @@ -513,9 +535,9 @@ flowchart TD O_RECEIVE_COAL_IOM --> A_TRADE_COAL_FOR_EGG %% ============================================================================= - %% PHASE 9: Realm of the Dead + %% REALM OF THE DEAD (area_7) %% ============================================================================= - subgraph area_rod_landing["Realm of the Dead - Landing Point"] + subgraph area_7_rod_landing["Realm of the Dead - Landing Point"] P_PROBLEM_ENTER_ROD["Problem: Need to reach Land of the Dead"] A_RIDE_NIGHTMARE["A: Ride Nightmare horse"] C7["Arrive at Land of the Dead"] @@ -532,7 +554,7 @@ flowchart TD P_PROBLEM_ZOMBIES --> A_AVOID_ZOMBIES A_AVOID_ZOMBIES --> O_ZOMBIES_PASSED - subgraph area_rod_pathway["Realm of the Dead - Pathway"] + subgraph area_7_rod_pathway["Realm of the Dead - Pathway"] A_TALK_TO_CASSIMA_PARENTS["A: Talk to Cassima's parents"] O_RECEIVE_TICKET["O: Receive Ticket to Underworld"] @@ -546,7 +568,7 @@ flowchart TD A_TALK_TO_GHOST_MOTHER --> O_RECEIVE_HANKERCHIEF O_RECEIVE_HANKERCHIEF --> A_TALK_TO_GHOST_BOY - subgraph area_rod_gate["Realm of the Dead - Gate"] + subgraph area_7_rod_gate["Realm of the Dead - Gate"] P_PROBLEM_GATE["Problem: Need ticket for underworld"] A_GIVE_TICKET["A: Give ticket to skeleton gatekeeper"] C8["Gate to Styx opens"] @@ -570,7 +592,7 @@ flowchart TD A_PAY_CHARON --> O_FERRY_ACCESS O_FERRY_ACCESS --> A_RIDE_NIGHTMARE - subgraph area_rod_styx["Realm of the Dead - River Styx"] + subgraph area_7_rod_styx["Realm of the Dead - River Styx"] P_PROBLEM_STYX["Problem: Need Styx Water for paint spell"] A_COLLECT_STYX_WATER["A: Collect Styx Water with Tea Cup"] O_RECEIVE_STYX_WATER["O: Receive Styx Water"] @@ -586,7 +608,7 @@ flowchart TD A_SEARCH_KNIGHT --> O_RECEIVE_GAUNTLET O_RECEIVE_GAUNTLET --> P_PROBLEM_DEATH - subgraph area_rod_throne["Realm of the Dead - Talking Gate & Throne"] + subgraph area_7_rod_throne["Realm of the Dead - Talking Gate & Throne"] P_PROBLEM_GATE_RIDDLE["Problem: Gate asks riddle"] A_ANSWER_LOVE["A: Answer 'LOVE' (from spider web)"] C9["Gate opens to Death's domain"] @@ -606,9 +628,13 @@ flowchart TD C10 --> C_RETURN["Return to Isle of the Crown Beach"] %% ============================================================================= - %% PHASE 10: Castle Infiltration + %% FAN-OUT: Return to Isle of Crown for final phase %% ============================================================================= - subgraph area_castle_approach["Castle Infiltration - Two Paths Converge"] + + %% ============================================================================= + %% ISLE OF CROWN - Final Phase / Castle Infiltration (area_1) + %% ============================================================================= + subgraph area_1_final_approach["Isle of Crown - Castle Infiltration"] P_PROBLEM_ENTER_CASTLE["Problem: Cannot enter castle normally"] %% Long Path - Paint Door @@ -631,7 +657,7 @@ flowchart TD O_RECEIVE_BEAUTYS_DRESS --> A_WEAR_DISGUISE A_WEAR_DISGUISE --> O_CASTLE_ACCESS - subgraph area_castle_basement["Castle - Basement / Cells"] + subgraph area_1_basement["Castle - Basement / Cells"] P_PROBLEM_GUARDS["Problem: Guards patrol basement"] A_DISTRACT_GUARDS["A: Use Nightingale to distract guards"] O_GUARDS_DISTRACTED["O: Guards distracted"] @@ -654,7 +680,7 @@ flowchart TD A_TALK_TO_GHOST_BOY --> O_RECEIVE_PASSAGE_HINT O_RECEIVE_PASSAGE_HINT --> P_PROBLEM_PASSWORD - subgraph area_castle_passage["Castle - Secret Passage"] + subgraph area_1_passage["Castle - Secret Passage"] P_PROBLEM_PASSWORD["Problem: Need password to proceed"] A_FIND_ALI_PASSWORD["A: Eavesdrop to learn 'ALI'"] A_FIND_ZEBU_PASSWORD["A: Spy on Vizier to learn 'ZEBU'"] @@ -679,7 +705,7 @@ flowchart TD O_RECEIVE_DAGGER --> A_GIVE_DAGGER A_GIVE_DAGGER --> O_CASSIMA_ARMED - subgraph area_castle_vizier["Castle - Vizier's Bedroom"] + subgraph area_1_vizier["Castle - Vizier's Bedroom"] P_PROBLEM_VIZIER_CHEST["Problem: Need to open Vizier's chest"] A_UNLOCK_CHEST["A: Use Skeleton Key on chest"] O_RECEIVE_VIZIER_LETTER["O: Receive Vizier's Letter"] @@ -699,9 +725,9 @@ flowchart TD O_TREASURY_OPEN --> P_PROBLEM_GENIE %% ============================================================================= - %% PHASE 11: Final Confrontation + %% FINAL CONFRONTATION (area_1) %% ============================================================================= - subgraph area_1_final ["Final Confrontation"] + subgraph area_1_final["Final Confrontation"] P_PROBLEM_GENIE["Problem: Genie attacks"] A_USE_FAKE_LAMP["A: Use Fake Genie Lamp (from Jollo)"] @@ -715,7 +741,7 @@ flowchart TD end %% ============================================================================= - %% BOTTOM: END NODE (only non-subgraph node besides START) + %% END NODE %% ============================================================================= END(["END: Victory - KQVI Complete"]) diff --git a/src/inspiration/kings-quest-vi-chart.svg b/src/inspiration/kings-quest-vi-chart.svg index 5f313ea..381e4ed 100644 --- a/src/inspiration/kings-quest-vi-chart.svg +++ b/src/inspiration/kings-quest-vi-chart.svg @@ -1 +1 @@ -

Final Confrontation

Castle - Vizier's Bedroom

Castle - Secret Passage

Castle - Basement / Cells

Castle Infiltration - Two Paths Converge

Realm of the Dead - Talking Gate & Throne

Realm of the Dead - River Styx

Realm of the Dead - Gate

Realm of the Dead - Pathway

Realm of the Dead - Landing Point

Isle of the Mists - Druids

Isle of Sacred Mountain - Winged Ones

Isle of Sacred Mountain - Clifftop & Cave

Isle of Sacred Mountain - Logic Cliffs

Isle of the Beast - Beast's Domain

Isle of the Beast - Return Visit

Minotaur's Lair

Minotaur's Maze - Level 2 (Dark)

Minotaur's Maze - Level 1

Isle of the Beast - Initial Visit

Isle of Wonder - Point / Book Garden

Isle of Wonder - Chessboard Land

Isle of Wonder - Garden

Isle of Wonder - Beach (independent)

Isle of Wonder - Five Senses Gnomes

Isle of the Crown - Village

Isle of the Crown - Castle Entry

Isle of the Crown - Beach

START: Wake on Isle of the Crown Beach

A: Move debris on beach

O: Receive Copper Coin

A: Examine debris more closely

O: Receive Royal Insignia Ring

A: Show Royal Ring to guards

Consequence: Meet Vizier, then kicked out

Problem: Need items from Pawn Shop

A: Talk to Pawn Shop broker

O: Receive Mechanical Nightingale

O: Receive Mint

O: Receive Tinderbox

O: Receive Flute

O: Receive Paintbrush

O: Receive Invisible Ink Bottle

Problem: Cannot travel to other islands

A: Trade Royal Ring for Magic Map

O: Receive Magic Map

Problem: Need ferry info and items

A: Talk to Ali the ferryman

O: Receive Rabbit's Foot

Problem: Need Jollo's help for story

A: Talk to Jollo in Bookstore

O: Receive Jollo's trust

A: Show Royal Ring to Jollo

A: Search poetry bookshelf

O: Receive Love Poem

A: Trade Rare Book to Ali

O: Receive Spell Book

Problem: Five gnomes block path north

A: Give Flower of Stench to Smell gnome

O: Smell gnome satisfied

A: Play Nightingale for Hearing gnome

O: Hearing gnome satisfied

A: Give Mint to Taste gnome

O: Taste gnome satisfied

A: Give Rabbit Foot to Touch gnome

O: Touch gnome satisfied

A: Use Invisible Ink on self

O: Sight gnome satisfied

UNLOCK: Island Travel

Problem: Boiling pool blocks crossing

Problem: Copy protection puzzles block summit

UNLOCK: Gnome Access

O: Receive Flower of Stench

A: Read Boring Book to Oyster

O: Receive Pearl

Path through gnomes now open

A: Play Flute for shy flowers

O: Receive Hole-in-the-Wall

A: Pick Iceberg Lettuce from garden

O: Receive Iceberg Lettuce

A: Pick up Rotten Tomato

O: Receive Rotten Tomato

A: Give Rotten Tomato to bump-on-log

O: Receive Swamp Ooze

A: Give Milk to baby's tears plant

O: Receive Baby's Tears

A: Pick up Milk Bottle

O: Receive Milk

A: Pick up Tea Cup

O: Receive Tea Cup

A: Pick up 'Drink Me' Potion

O: Receive 'Drink Me' Potion

A: Talk to Chessboard queens

O: Receive Red Scarf

O: Receive Lump of Coal

A: Trade coal to white queen for sulfur egg

O: Receive Sulfur Egg

A: Pull thread from spider web

O: Receive word 'LOVE' (for Gate riddle)

O: Receive Spider Web Paper

A: Search poetry bookshelf

O: Receive Love Poem

A: Trade Dangling Participle to bookworm

O: Receive Rare Book

O: Receive Dangling Participle

A: Use Iceberg Lettuce on pool

Path to north area now open

A: Pick up Brick from garden

O: Receive Brick

A: Pick up Hunter's Lamp

O: Receive Hunter's Lamp

A: Get Dangling Participle from beach

Problem: Navigate maze to find items

A: Solve tile puzzle (use manual)

O: Tile path opens

A: Navigate maze to skeleton room

O: Receive Skull

A: Collect Dead Man's Coins

O: Receive Dead Man's Coins

A: Use Brick to stop falling ceiling

O: Falling ceiling trap stopped

Problem: Cannot see in dark passage

A: Light Tinderbox to see

O: Dark passage illuminated

A: Use Hole-in-the-Wall at correct wall

O: Minotaur tapestry revealed

A: Navigate to find Shield

O: Receive Shield

Problem: Minotaur blocks exit

A: Lure Minotaur with Red Scarf

O: Receive Dagger

O: Receive Sacred Water

O: Receive Oracle Vial

O: Red Scarf acquired from Chessboard

O: Maze navigated, shield found

Problem: Archer statue kills you

A: Use Shield to block arrows

Safe passage through archer gate

Problem: Rose hedge blocks path to Beast

A: Cut hedge with Scythe

Path to Beast's domain opens

O: Receive Scythe

Problem: Need to meet Beast

A: Give White Rose to Beauty

O: Beauty's trust gained

A: Give Beast's Ring to Beauty

O: Receive Beauty's Dress

O: Receive Mirror

O: Receive Beast's Ring

A: Plant White Rose

O: Receive White Rose (second)

A: Solve 5 cliff puzzles (manual required)

Path to clifftop opens

A: Pick up Black Feather

O: Receive Black Feather

A: Pick up Flower of Stench

Problem: Dark cave blocks path

A: Light way with Tinderbox

O: Receive Peppermint Leaves

A: Give Peppermint Leaves to genie

Problem: Fake lady offers poison berry

A: Wait/reject fake lady

O: Survived poison trap

Problem: Need spell components for Night Mare

A: Gather Ember, Hair, Spoiled Egg

O: Charm Creatures spell ready

A: Collect Ember from firepit

O: Receive Ember

A: Get Hair (Beauty's or Cassima's)

O: Receive Hair

A: Get Spoiled Egg

O: Receive Spoiled Egg

A: Cast Charm Creatures of Night spell

O: Nightmare horse mount available

Problem: Druids will burn you without protection

A: Cast Rain Spell (Baby's Tears + Milk + Hunter's Lamp)

O: Rain protection active

A: Wear Beauty's Dress

O: Survive Druid ceremony

A: Pick up Scythe from village

A: Pick up Coal from firepit

O: Receive Coal (from IoM)

Problem: Need to reach Land of the Dead

A: Ride Nightmare horse

Arrive at Land of the Dead

Problem: Zombies block path

A: Navigate past zombies carefully

O: Zombies avoided

A: Talk to Cassima's parents

O: Receive Ticket to Underworld

A: Talk to Ghost Mother

O: Receive Handkerchief

Problem: Need ticket for underworld

A: Give ticket to skeleton gatekeeper

Gate to Styx opens

A: Play bone xylophone

O: Receive Skeleton Key

Problem: Need to pay Charon's ferry

A: Pay Charon with Dead Man's Coins

O: Ferry access granted

Problem: Need Styx Water for paint spell

A: Collect Styx Water with Tea Cup

O: Receive Styx Water

A: Search dead knight

O: Receive Gauntlet

Problem: Gate asks riddle

A: Answer 'LOVE' (from spider web)

Gate opens to Death's domain

Problem: Must make Death cry

A: Show Mirror to Death

Death cries, parents freed

Return to Isle of the Crown Beach

Problem: Cannot enter castle normally

A: Paint door (Feather + Ooze + Styx + Paintbrush)

A: Cast Magic Paint Spell (with Spellbook)

O: Secret door appears

A: Wear Beauty's Dress as disguise

O: Castle access granted

Problem: Guards patrol basement

A: Use Nightingale to distract guards

O: Guards distracted

A: Talk to Ghost Boy

O: Hint about secret armor

Problem: Need Jollo's help for best ending

A: Give lamp replica to Jollo

O: Jollo will help in finale

Problem: Need password to proceed

A: Eavesdrop to learn 'ALI'

A: Spy on Vizier to learn 'ZEBU'

O: Password fragment 'ALI'

O: Password fragment 'ZEBU'

Problem: Cassima needs weapon

A: Give Dagger to Cassima

O: Cassima has dagger

A: Combine 'ALI ZEBU'

Problem: Need to open Vizier's chest

A: Use Skeleton Key on chest

O: Receive Vizier's Letter

Problem: Treasury password required

A: Enter 'ALI ZEBU'

O: Treasury opens

Problem: Genie attacks

A: Use Fake Genie Lamp (from Jollo)

O: Genie controlled - BEST ENDING

O: Genie incapacitated - ALT ENDING

Problem: Vizier fights

A: Fight Vizier with Sword + Cassima

END: Victory - KQVI Complete

A_SHOW_LETTER

A_CASSIMA_FIGHTS

\ No newline at end of file +

Final Confrontation

Castle - Vizier's Bedroom

Castle - Secret Passage

Castle - Basement / Cells

Isle of Crown - Castle Infiltration

Realm of the Dead - Talking Gate & Throne

Realm of the Dead - River Styx

Realm of the Dead - Gate

Realm of the Dead - Pathway

Realm of the Dead - Landing Point

Isle of the Mists - Druids

Sacred Mountain - Winged Ones

Sacred Mountain - Clifftop & Cave

Isle of Sacred Mountain - Logic Cliffs

Beast's Domain

Isle of the Beast - Return Visit

Minotaur's Lair

Minotaur's Maze - Level 2 (Dark)

Minotaur's Maze - Level 1

Isle of the Beast - Initial Visit

Isle of Wonder - Point / Book Garden

Isle of Wonder - Chessboard Land

Isle of Wonder - Garden

Isle of Wonder - Beach

Isle of Wonder - Five Senses Gnomes

Isle of Crown - Beach & Village

Village

Castle Entry

Beach

fontsize=18

START: Wake on Isle of the Crown Beach

A: Move debris on beach

O: Receive Copper Coin

A: Examine debris more closely

O: Receive Royal Insignia Ring

A: Show Royal Ring to guards

Consequence: Meet Vizier, then kicked out

Problem: Need items from Pawn Shop

A: Talk to Pawn Shop broker

O: Receive Mechanical Nightingale

O: Receive Mint

O: Receive Tinderbox

O: Receive Flute

O: Receive Paintbrush

O: Receive Invisible Ink Bottle

Problem: Cannot travel to other islands

A: Trade Royal Ring for Magic Map

O: Receive Magic Map

Problem: Need ferry info and items

A: Talk to Ali the ferryman

O: Receive Rabbit's Foot

Problem: Need Jollo's help for story

A: Talk to Jollo in Bookstore

O: Receive Jollo's trust

A: Show Royal Ring to Jollo

A: Search poetry bookshelf

O: Receive Love Poem

A: Trade Rare Book to Ali

O: Receive Spell Book

O: Jollo will help in finale

UNLOCK: Island Travel

Problem: Five gnomes block path north

Problem: Boiling pool blocks crossing

Problem: Copy protection puzzles block summit

UNLOCK: Gnome Access

O: Receive Flower of Stench

A: Give Flower of Stench to Smell gnome

O: Smell gnome satisfied

A: Play Nightingale for Hearing gnome

O: Hearing gnome satisfied

A: Give Mint to Taste gnome

O: Taste gnome satisfied

A: Give Rabbit Foot to Touch gnome

O: Touch gnome satisfied

A: Use Invisible Ink on self

O: Sight gnome satisfied

A: Read Boring Book to Oyster

O: Receive Pearl

Path through gnomes now open

A: Play Flute for shy flowers

O: Receive Hole-in-the-Wall

A: Pick Iceberg Lettuce from garden

O: Receive Iceberg Lettuce

A: Pick up Rotten Tomato

O: Receive Rotten Tomato

A: Give Rotten Tomato to bump-on-log

O: Receive Swamp Ooze

A: Give Milk to baby's tears plant

O: Receive Baby's Tears

A: Pick up Milk Bottle

O: Receive Milk

A: Pick up Tea Cup

O: Receive Tea Cup

A: Pick up 'Drink Me' Potion

O: Receive 'Drink Me' Potion

A: Talk to Chessboard queens

O: Receive Red Scarf

O: Receive Lump of Coal

A: Trade coal to white queen for sulfur egg

O: Receive Sulfur Egg

A: Pull thread from spider web

O: Receive word 'LOVE' (for Gate riddle)

O: Receive Spider Web Paper

A: Search poetry bookshelf

O: Receive Love Poem

A: Trade Dangling Participle to bookworm

O: Receive Rare Book

O: Receive Dangling Participle

A: Use Iceberg Lettuce on pool

Path to north area now open

A: Pick up Brick from garden

O: Receive Brick

A: Pick up Hunter's Lamp

O: Receive Hunter's Lamp

A: Get Dangling Participle from beach

Problem: Navigate maze to find items

A: Solve tile puzzle (use manual)

O: Tile path opens

A: Navigate maze to skeleton room

O: Receive Skull

A: Collect Dead Man's Coins

O: Receive Dead Man's Coins

A: Use Brick to stop falling ceiling

O: Falling ceiling trap stopped

Problem: Cannot see in dark passage

A: Light Tinderbox to see

O: Dark passage illuminated

A: Use Hole-in-the-Wall at correct wall

O: Minotaur tapestry revealed

A: Navigate to find Shield

O: Receive Shield

Problem: Minotaur blocks exit

A: Lure Minotaur with Red Scarf

O: Receive Dagger

O: Receive Sacred Water

O: Receive Oracle Vial

O: Red Scarf acquired from Chessboard

O: Maze navigated, shield found

Problem: Archer statue kills you

A: Use Shield to block arrows

Safe passage through archer gate

Problem: Rose hedge blocks path to Beast

A: Cut hedge with Scythe

Path to Beast's domain opens

O: Receive Scythe

Problem: Need to meet Beast

A: Give White Rose to Beauty

O: Beauty's trust gained

A: Give Beast's Ring to Beauty

O: Receive Beauty's Dress

O: Receive Mirror

O: Receive Beast's Ring

END: Victory - KQVI Complete

A: Plant White Rose

O: Receive White Rose (second)

A: Solve 5 cliff puzzles (manual required)

Path to clifftop opens

A: Pick up Black Feather

O: Receive Black Feather

A: Pick up Flower of Stench

Problem: Dark cave blocks path

A: Light way with Tinderbox

O: Receive Peppermint Leaves

A: Give Peppermint Leaves to genie

Problem: Fake lady offers poison berry

A: Wait/reject fake lady

O: Survived poison trap

A: Ride Nightmare horse

Problem: Need spell components for Night Mare

A: Gather Ember, Hair, Spoiled Egg

O: Charm Creatures spell ready

A: Collect Ember from firepit

O: Receive Ember

A: Get Hair (Beauty's or Cassima's)

O: Receive Hair

A: Get Spoiled Egg

O: Receive Spoiled Egg

A: Cast Charm Creatures of Night spell

O: Nightmare horse mount available

Problem: Druids will burn you without protection

A: Cast Rain Spell (Baby's Tears + Milk + Hunter's Lamp)

O: Rain protection active

A: Wear Beauty's Dress

O: Survive Druid ceremony

A: Pick up Scythe from village

A: Pick up Coal from firepit

O: Receive Coal (from IoM)

Problem: Need to reach Land of the Dead

Arrive at Land of the Dead

Problem: Zombies block path

A: Navigate past zombies carefully

O: Zombies avoided

A: Talk to Cassima's parents

O: Receive Ticket to Underworld

A: Talk to Ghost Mother

O: Receive Handkerchief

A: Talk to Ghost Boy

Problem: Need ticket for underworld

A: Give ticket to skeleton gatekeeper

Gate to Styx opens

A: Play bone xylophone

O: Receive Skeleton Key

Problem: Need to pay Charon's ferry

A: Pay Charon with Dead Man's Coins

O: Ferry access granted

Problem: Need Styx Water for paint spell

A: Collect Styx Water with Tea Cup

O: Receive Styx Water

A: Search dead knight

O: Receive Gauntlet

Problem: Must make Death cry

Problem: Gate asks riddle

A: Answer 'LOVE' (from spider web)

Gate opens to Death's domain

A: Show Mirror to Death

Death cries, parents freed

Return to Isle of the Crown Beach

Problem: Cannot enter castle normally

A: Paint door (Feather + Ooze + Styx + Paintbrush)

A: Cast Magic Paint Spell (with Spellbook)

O: Secret door appears

A: Wear Beauty's Dress as disguise

O: Castle access granted

Problem: Guards patrol basement

A: Use Nightingale to distract guards

O: Guards distracted

O: Hint about secret armor

Problem: Need Jollo's help for best ending

A: Give lamp replica to Jollo

Problem: Need password to proceed

A: Eavesdrop to learn 'ALI'

A: Spy on Vizier to learn 'ZEBU'

O: Password fragment 'ALI'

O: Password fragment 'ZEBU'

Problem: Cassima needs weapon

A: Give Dagger to Cassima

O: Cassima has dagger

A: Combine 'ALI ZEBU'

Problem: Need to open Vizier's chest

A: Use Skeleton Key on chest

O: Receive Vizier's Letter

Problem: Treasury password required

A: Enter 'ALI ZEBU'

O: Treasury opens

Problem: Genie attacks

A: Use Fake Genie Lamp (from Jollo)

O: Genie controlled - BEST ENDING

O: Genie incapacitated - ALT ENDING

Problem: Vizier fights

A: Fight Vizier with Sword + Cassima

A_SHOW_LETTER

A_CASSIMA_FIGHTS

\ No newline at end of file diff --git a/todos/TODOS.md b/todos/TODOS.md index 355bb71..20a39b7 100644 --- a/todos/TODOS.md +++ b/todos/TODOS.md @@ -241,3 +241,37 @@ Complete overhaul of the King's Quest VI puzzle dependency chart based on compre ## Build Command `./build.sh` (not `mdbook build`) + +--- + +## 10. Reorganize Chart for Better Readability ✅ + +### 10a: Update skills with layout guidelines ✅ +- [x] **10a.1: Update `create-dependency-graph/SKILL.md`** with clustering rules + - Add pawn shop items clustering rule + - Add gnome items clustering rule + - Add fontsize=18 requirement +- [x] **10a.2: Update `qa-dependency-graph/SKILL.md`** with layout guidelines + - Add color palette section + - Add fan-out/fan-in flow structure + +### 10b: Reorganize kings-quest-vi-chart.mmd ✅ +- [x] **10b.1: Apply fontsize=18 to all nodes** +- [x] **10b.2: Restructure with proper fan-out/fan-in flow** +- [x] **10b.3: Group pawn shop items in Village cluster** + - Nightingale, Mint, Tinderbox, Flute, Paintbrush, Ink +- [x] **10b.4: Group gnome items under Isle of Wonder - Five Senses** +- [x] **10b.5: Apply index-based color palette consistently** + - area_1 (light blue): Isle of Crown + - area_2 (light orange): Isle of Wonder + - area_3 (light purple): Isle of Beast + - area_4 (light green): Isle of Mists + - area_5 (light amber): Sacred Mountain + - area_6 (light pink): Druid Island + - area_7 (light cyan): Realm of Dead + - area_8 (light grey): Village + +### 10c: Build and verify ✅ +- [x] **10c.1: Run `./build.sh` successfully** +- [x] **10c.2: Verify SVG renders correctly** +- [x] **10c.3: Commit changes**