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 ConfrontationCastle - Vizier's BedroomCastle - Secret PassageCastle - Basement / CellsCastle Infiltration - Two Paths ConvergeRealm of the Dead - Talking Gate & ThroneRealm of the Dead - River StyxRealm of the Dead - GateRealm of the Dead - PathwayRealm of the Dead - Landing PointIsle of the Mists - DruidsIsle of Sacred Mountain - Winged OnesIsle of Sacred Mountain - Clifftop & CaveIsle of Sacred Mountain - Logic CliffsIsle of the Beast - Beast's DomainIsle of the Beast - Return VisitMinotaur's LairMinotaur's Maze - Level 2 (Dark)Minotaur's Maze - Level 1Isle of the Beast - Initial VisitIsle of Wonder - Point / Book GardenIsle of Wonder - Chessboard LandIsle of Wonder - GardenIsle of Wonder - Beach (independent)Isle of Wonder - Five Senses GnomesIsle of the Crown - VillageIsle of the Crown - Castle EntryIsle of the Crown - BeachSTART: Wake on Isle of the Crown BeachA: Move debris on beachO: Receive Copper CoinA: Examine debris more closelyO: Receive Royal Insignia RingA: Show Royal Ring to guardsConsequence: Meet Vizier, then kicked outProblem: Need items from Pawn ShopA: Talk to Pawn Shop brokerO: Receive Mechanical NightingaleO: Receive MintO: Receive TinderboxO: Receive FluteO: Receive PaintbrushO: Receive Invisible Ink BottleProblem: Cannot travel to other islandsA: Trade Royal Ring for Magic MapO: Receive Magic MapProblem: Need ferry info and itemsA: Talk to Ali the ferrymanO: Receive Rabbit's FootProblem: Need Jollo's help for storyA: Talk to Jollo in BookstoreO: Receive Jollo's trustA: Show Royal Ring to JolloA: Search poetry bookshelfO: Receive Love PoemA: Trade Rare Book to AliO: Receive Spell BookProblem: Five gnomes block path northA: Give Flower of Stench to Smell gnomeO: Smell gnome satisfiedA: Play Nightingale for Hearing gnomeO: Hearing gnome satisfiedA: Give Mint to Taste gnomeO: Taste gnome satisfiedA: Give Rabbit Foot to Touch gnomeO: Touch gnome satisfiedA: Use Invisible Ink on selfO: Sight gnome satisfiedUNLOCK: Island TravelProblem: Boiling pool blocks crossingProblem: Copy protection puzzles block summitUNLOCK: Gnome AccessO: Receive Flower of StenchA: Read Boring Book to OysterO: Receive PearlPath through gnomes now openA: Play Flute for shy flowersO: Receive Hole-in-the-WallA: Pick Iceberg Lettuce from gardenO: Receive Iceberg LettuceA: Pick up Rotten TomatoO: Receive Rotten TomatoA: Give Rotten Tomato to bump-on-logO: Receive Swamp OozeA: Give Milk to baby's tears plantO: Receive Baby's TearsA: Pick up Milk BottleO: Receive MilkA: Pick up Tea CupO: Receive Tea CupA: Pick up 'Drink Me' PotionO: Receive 'Drink Me' PotionA: Talk to Chessboard queensO: Receive Red ScarfO: Receive Lump of CoalA: Trade coal to white queen for sulfur eggO: Receive Sulfur EggA: Pull thread from spider webO: Receive word 'LOVE' (for Gate riddle)O: Receive Spider Web PaperA: Search poetry bookshelfO: Receive Love PoemA: Trade Dangling Participle to bookwormO: Receive Rare BookO: Receive Dangling ParticipleA: Use Iceberg Lettuce on poolPath to north area now openA: Pick up Brick from gardenO: Receive BrickA: Pick up Hunter's LampO: Receive Hunter's LampA: Get Dangling Participle from beachProblem: Navigate maze to find itemsA: Solve tile puzzle (use manual)O: Tile path opensA: Navigate maze to skeleton roomO: Receive SkullA: Collect Dead Man's CoinsO: Receive Dead Man's CoinsA: Use Brick to stop falling ceilingO: Falling ceiling trap stoppedProblem: Cannot see in dark passageA: Light Tinderbox to seeO: Dark passage illuminatedA: Use Hole-in-the-Wall at correct wallO: Minotaur tapestry revealedA: Navigate to find ShieldO: Receive ShieldProblem: Minotaur blocks exitA: Lure Minotaur with Red ScarfO: Receive DaggerO: Receive Sacred WaterO: Receive Oracle VialO: Red Scarf acquired from ChessboardO: Maze navigated, shield foundProblem: Archer statue kills youA: Use Shield to block arrowsSafe passage through archer gateProblem: Rose hedge blocks path to BeastA: Cut hedge with ScythePath to Beast's domain opensO: Receive ScytheProblem: Need to meet BeastA: Give White Rose to BeautyO: Beauty's trust gainedA: Give Beast's Ring to BeautyO: Receive Beauty's DressO: Receive MirrorO: Receive Beast's RingA: Plant White RoseO: Receive White Rose (second)A: Solve 5 cliff puzzles (manual required)Path to clifftop opensA: Pick up Black FeatherO: Receive Black FeatherA: Pick up Flower of StenchProblem: Dark cave blocks pathA: Light way with TinderboxO: Receive Peppermint LeavesA: Give Peppermint Leaves to genieProblem: Fake lady offers poison berryA: Wait/reject fake ladyO: Survived poison trapProblem: Need spell components for Night MareA: Gather Ember, Hair, Spoiled EggO: Charm Creatures spell readyA: Collect Ember from firepitO: Receive EmberA: Get Hair (Beauty's or Cassima's)O: Receive HairA: Get Spoiled EggO: Receive Spoiled EggA: Cast Charm Creatures of Night spellO: Nightmare horse mount availableProblem: Druids will burn you without protectionA: Cast Rain Spell (Baby's Tears + Milk + Hunter's Lamp)O: Rain protection activeA: Wear Beauty's DressO: Survive Druid ceremonyA: Pick up Scythe from villageA: Pick up Coal from firepitO: Receive Coal (from IoM)Problem: Need to reach Land of the DeadA: Ride Nightmare horseArrive at Land of the DeadProblem: Zombies block pathA: Navigate past zombies carefullyO: Zombies avoidedA: Talk to Cassima's parentsO: Receive Ticket to UnderworldA: Talk to Ghost MotherO: Receive HandkerchiefProblem: Need ticket for underworldA: Give ticket to skeleton gatekeeperGate to Styx opensA: Play bone xylophoneO: Receive Skeleton KeyProblem: Need to pay Charon's ferryA: Pay Charon with Dead Man's CoinsO: Ferry access grantedProblem: Need Styx Water for paint spellA: Collect Styx Water with Tea CupO: Receive Styx WaterA: Search dead knightO: Receive GauntletProblem: Gate asks riddleA: Answer 'LOVE' (from spider web)Gate opens to Death's domainProblem: Must make Death cryA: Show Mirror to DeathDeath cries, parents freedReturn to Isle of the Crown BeachProblem: Cannot enter castle normallyA: Paint door (Feather + Ooze + Styx + Paintbrush)A: Cast Magic Paint Spell (with Spellbook)O: Secret door appearsA: Wear Beauty's Dress as disguiseO: Castle access grantedProblem: Guards patrol basementA: Use Nightingale to distract guardsO: Guards distractedA: Talk to Ghost BoyO: Hint about secret armorProblem: Need Jollo's help for best endingA: Give lamp replica to JolloO: Jollo will help in finaleProblem: Need password to proceedA: Eavesdrop to learn 'ALI'A: Spy on Vizier to learn 'ZEBU'O: Password fragment 'ALI'O: Password fragment 'ZEBU'Problem: Cassima needs weaponA: Give Dagger to CassimaO: Cassima has daggerA: Combine 'ALI ZEBU'Problem: Need to open Vizier's chestA: Use Skeleton Key on chestO: Receive Vizier's LetterProblem: Treasury password requiredA: Enter 'ALI ZEBU'O: Treasury opensProblem: Genie attacksA: Use Fake Genie Lamp (from Jollo)O: Genie controlled - BEST ENDINGO: Genie incapacitated - ALT ENDINGProblem: Vizier fightsA: Fight Vizier with Sword + CassimaEND: Victory - KQVI CompleteA_SHOW_LETTERA_CASSIMA_FIGHTS \ No newline at end of file +Final ConfrontationCastle - Vizier's BedroomCastle - Secret PassageCastle - Basement / CellsIsle of Crown - Castle InfiltrationRealm of the Dead - Talking Gate & ThroneRealm of the Dead - River StyxRealm of the Dead - GateRealm of the Dead - PathwayRealm of the Dead - Landing PointIsle of the Mists - DruidsSacred Mountain - Winged OnesSacred Mountain - Clifftop & CaveIsle of Sacred Mountain - Logic CliffsBeast's DomainIsle of the Beast - Return VisitMinotaur's LairMinotaur's Maze - Level 2 (Dark)Minotaur's Maze - Level 1Isle of the Beast - Initial VisitIsle of Wonder - Point / Book GardenIsle of Wonder - Chessboard LandIsle of Wonder - GardenIsle of Wonder - BeachIsle of Wonder - Five Senses GnomesIsle of Crown - Beach & VillageVillageCastle EntryBeachfontsize=18START: Wake on Isle of the Crown BeachA: Move debris on beachO: Receive Copper CoinA: Examine debris more closelyO: Receive Royal Insignia RingA: Show Royal Ring to guardsConsequence: Meet Vizier, then kicked outProblem: Need items from Pawn ShopA: Talk to Pawn Shop brokerO: Receive Mechanical NightingaleO: Receive MintO: Receive TinderboxO: Receive FluteO: Receive PaintbrushO: Receive Invisible Ink BottleProblem: Cannot travel to other islandsA: Trade Royal Ring for Magic MapO: Receive Magic MapProblem: Need ferry info and itemsA: Talk to Ali the ferrymanO: Receive Rabbit's FootProblem: Need Jollo's help for storyA: Talk to Jollo in BookstoreO: Receive Jollo's trustA: Show Royal Ring to JolloA: Search poetry bookshelfO: Receive Love PoemA: Trade Rare Book to AliO: Receive Spell BookO: Jollo will help in finaleUNLOCK: Island TravelProblem: Five gnomes block path northProblem: Boiling pool blocks crossingProblem: Copy protection puzzles block summitUNLOCK: Gnome AccessO: Receive Flower of StenchA: Give Flower of Stench to Smell gnomeO: Smell gnome satisfiedA: Play Nightingale for Hearing gnomeO: Hearing gnome satisfiedA: Give Mint to Taste gnomeO: Taste gnome satisfiedA: Give Rabbit Foot to Touch gnomeO: Touch gnome satisfiedA: Use Invisible Ink on selfO: Sight gnome satisfiedA: Read Boring Book to OysterO: Receive PearlPath through gnomes now openA: Play Flute for shy flowersO: Receive Hole-in-the-WallA: Pick Iceberg Lettuce from gardenO: Receive Iceberg LettuceA: Pick up Rotten TomatoO: Receive Rotten TomatoA: Give Rotten Tomato to bump-on-logO: Receive Swamp OozeA: Give Milk to baby's tears plantO: Receive Baby's TearsA: Pick up Milk BottleO: Receive MilkA: Pick up Tea CupO: Receive Tea CupA: Pick up 'Drink Me' PotionO: Receive 'Drink Me' PotionA: Talk to Chessboard queensO: Receive Red ScarfO: Receive Lump of CoalA: Trade coal to white queen for sulfur eggO: Receive Sulfur EggA: Pull thread from spider webO: Receive word 'LOVE' (for Gate riddle)O: Receive Spider Web PaperA: Search poetry bookshelfO: Receive Love PoemA: Trade Dangling Participle to bookwormO: Receive Rare BookO: Receive Dangling ParticipleA: Use Iceberg Lettuce on poolPath to north area now openA: Pick up Brick from gardenO: Receive BrickA: Pick up Hunter's LampO: Receive Hunter's LampA: Get Dangling Participle from beachProblem: Navigate maze to find itemsA: Solve tile puzzle (use manual)O: Tile path opensA: Navigate maze to skeleton roomO: Receive SkullA: Collect Dead Man's CoinsO: Receive Dead Man's CoinsA: Use Brick to stop falling ceilingO: Falling ceiling trap stoppedProblem: Cannot see in dark passageA: Light Tinderbox to seeO: Dark passage illuminatedA: Use Hole-in-the-Wall at correct wallO: Minotaur tapestry revealedA: Navigate to find ShieldO: Receive ShieldProblem: Minotaur blocks exitA: Lure Minotaur with Red ScarfO: Receive DaggerO: Receive Sacred WaterO: Receive Oracle VialO: Red Scarf acquired from ChessboardO: Maze navigated, shield foundProblem: Archer statue kills youA: Use Shield to block arrowsSafe passage through archer gateProblem: Rose hedge blocks path to BeastA: Cut hedge with ScythePath to Beast's domain opensO: Receive ScytheProblem: Need to meet BeastA: Give White Rose to BeautyO: Beauty's trust gainedA: Give Beast's Ring to BeautyO: Receive Beauty's DressO: Receive MirrorO: Receive Beast's RingEND: Victory - KQVI CompleteA: Plant White RoseO: Receive White Rose (second)A: Solve 5 cliff puzzles (manual required)Path to clifftop opensA: Pick up Black FeatherO: Receive Black FeatherA: Pick up Flower of StenchProblem: Dark cave blocks pathA: Light way with TinderboxO: Receive Peppermint LeavesA: Give Peppermint Leaves to genieProblem: Fake lady offers poison berryA: Wait/reject fake ladyO: Survived poison trapA: Ride Nightmare horseProblem: Need spell components for Night MareA: Gather Ember, Hair, Spoiled EggO: Charm Creatures spell readyA: Collect Ember from firepitO: Receive EmberA: Get Hair (Beauty's or Cassima's)O: Receive HairA: Get Spoiled EggO: Receive Spoiled EggA: Cast Charm Creatures of Night spellO: Nightmare horse mount availableProblem: Druids will burn you without protectionA: Cast Rain Spell (Baby's Tears + Milk + Hunter's Lamp)O: Rain protection activeA: Wear Beauty's DressO: Survive Druid ceremonyA: Pick up Scythe from villageA: Pick up Coal from firepitO: Receive Coal (from IoM)Problem: Need to reach Land of the DeadArrive at Land of the DeadProblem: Zombies block pathA: Navigate past zombies carefullyO: Zombies avoidedA: Talk to Cassima's parentsO: Receive Ticket to UnderworldA: Talk to Ghost MotherO: Receive HandkerchiefA: Talk to Ghost BoyProblem: Need ticket for underworldA: Give ticket to skeleton gatekeeperGate to Styx opensA: Play bone xylophoneO: Receive Skeleton KeyProblem: Need to pay Charon's ferryA: Pay Charon with Dead Man's CoinsO: Ferry access grantedProblem: Need Styx Water for paint spellA: Collect Styx Water with Tea CupO: Receive Styx WaterA: Search dead knightO: Receive GauntletProblem: Must make Death cryProblem: Gate asks riddleA: Answer 'LOVE' (from spider web)Gate opens to Death's domainA: Show Mirror to DeathDeath cries, parents freedReturn to Isle of the Crown BeachProblem: Cannot enter castle normallyA: Paint door (Feather + Ooze + Styx + Paintbrush)A: Cast Magic Paint Spell (with Spellbook)O: Secret door appearsA: Wear Beauty's Dress as disguiseO: Castle access grantedProblem: Guards patrol basementA: Use Nightingale to distract guardsO: Guards distractedO: Hint about secret armorProblem: Need Jollo's help for best endingA: Give lamp replica to JolloProblem: Need password to proceedA: Eavesdrop to learn 'ALI'A: Spy on Vizier to learn 'ZEBU'O: Password fragment 'ALI'O: Password fragment 'ZEBU'Problem: Cassima needs weaponA: Give Dagger to CassimaO: Cassima has daggerA: Combine 'ALI ZEBU'Problem: Need to open Vizier's chestA: Use Skeleton Key on chestO: Receive Vizier's LetterProblem: Treasury password requiredA: Enter 'ALI ZEBU'O: Treasury opensProblem: Genie attacksA: Use Fake Genie Lamp (from Jollo)O: Genie controlled - BEST ENDINGO: Genie incapacitated - ALT ENDINGProblem: Vizier fightsA: Fight Vizier with Sword + CassimaA_SHOW_LETTERA_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**
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: 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
Isle of Crown - Castle Infiltration
Sacred Mountain - Winged Ones
Sacred Mountain - Clifftop & Cave
Beast's Domain
Isle of Wonder - Beach
Isle of Crown - Beach & Village
Village
Castle Entry
Beach
fontsize=18