diff --git a/src/inspiration/sam-and-max-chart.mmd b/src/inspiration/sam-and-max-chart.mmd new file mode 100644 index 0000000..956130b --- /dev/null +++ b/src/inspiration/sam-and-max-chart.mmd @@ -0,0 +1,154 @@ +flowchart TD + node[fontsize=18] + START["**START**"] --> A_ROADTRIP_BUMPY_ESCAPE["A: Mr. Bumpy escapes, road trip begins across America"] + + %% ACT 1: Carnival - Initial Setup + Toy Monkey + subgraph area_carnival["**CARNIVAL: Toy Acquisition**"] + direction TB + A_ROADTRIP_BUMPY_ESCAPE --> CARNIVAL_ENTRY["A: Enter carnival grounds"] + + CARNIVAL_ENTRY --> A_TRIKES_TRAILER_ACCESS["A: Visit Trixie's trailer for costume item"] + A_TRIKES_TRAILER_ACCESS --> O_ACQUIRE_BLUE_COSTUME["O: Get BLUE COSTUME base"] + + CARNIVAL_ENTRY --> TOY_MONKEY_PURCHASE["A: Purchase toy monkey from carnival games"] + TOY_MONKEY_PURCHASE --> O_ACQUIRE_TOY_MONKEY["O: Acquire TOY MONKEY (glass eye)"] + + %% Toy monkey needed later for Monkey Eye puzzle (future game reference) + end + style area_carnival fill:#E3F2FD,stroke:#1976D2,stroke-width:3px + + %% ACT 2: Gator Golf Emporium - Flag Path Puzzle + subgraph area_golf["**GATOR GOLF: Crocodile Bridge Construction**"] + direction TB + CARNIVAL_ENTRY --> UNLOCK_GOLF_MAP["**UNLOCK: Travel to Gator Golf Emporium**"] + + UNLOCK_GOLF_MAP --> A_PROSHOP_RETRIEVER["A: Collect broken golf ball retriever near Pro Shop"] + A_PROSHOP_RETRIEVER --> O_HAVE_RETRIEVER["O: RETRIEVER acquired"] + + MAX_TRAPPED_TANK["P: Max trapped in Dunk the Beast tank"] + + A_FISH_FEED_CROCS["A: Use bucket of fish to lure crocodiles toward feeding position"] + MAX_TRAPPED_TANK --> A_FISH_FEED_CROCS + + A_FISH_FEED_CROCS --> CROCS_AT_WATER["O: Crocodiles clustered at water edge"] + + CROCS_AT_WATER --> A_GRAB_CLUB_NEAR_TANK["A: Golf club now accessible near Dunk the Beast tank"] + A_GRAB_CLUB_NEAR_TANK --> O_HAVE_GOLF_CLUB["O: GOLF CLUB acquired"] + + %% Flag positioning puzzle - Multi-Faceted Plan + MAX_TRAPPED_TANK --> P_CREATE_CROC_BRIDGE["P: Need crocodile bridge path from Pro Shop to tank"] + + P_CREATE_CROC_BRIDGE --> A_FLAG_1_SETUP["A: Set Flag 1 vertical (attraction) + horizontal (current pos)"] + A_FLAG_1_SETUP --> CROC_1_MOVES["O: Crocodile 1 moves to flag-1 position"] + + CROC_1_MOVES --> A_FLAG_2_SETUP["A: Set Flag 2 for crocodile 2 movement"] + A_FLAG_2_SETUP --> CROC_2_MOVES["O: Crocodile 2 repositions"] + + CROC_2_MOVES --> FLAG_CHAIN_CONTAINS["... repeat flag pattern for remaining crocodiles ..."] + FLAG_CHAIN_CONTAINS --> CROC_BRIDGE_COMPLETE["O: Complete zigzag crocodile bridge established"] + + O_HAVE_GOLF_CLUB -.->|club used to swing flags| A_FLAG_1_SETUP + + %% Synthesis: Walk across bridge + CROC_BRIDGE_COMPLETE & O_HAVE_GOLF_CLUB --> C1_CROC_PATH_READY["**C1: Crocodile Bridge Path Complete**"] + + C1_CROC_PATH_READY --> A_WALK_ON_CROCS["A: Sam walks across crocodile backs following flag path"] + A_WALK_ON_CROCS --> REACH_DUNK_BEAST_TANK["O: Access Dunk the Beast tank island"] + + %% Max gives sasquatch items + REACH_DUNK_BEAST_TANK --> A_OPEN_TANK_DOOR["A: Open glass door, free Max"] + + A_OPEN_TANK_DOOR --> O_ACQUIRE_SASQUATCH_HAIR["O: Max gives SASQUATCH HAIR"] + A_OPEN_TANK_DOOR --> O_ACQUIRE_SNO_GLOBE["O: Retrieve SNO GLOBE from tank interior"] + + O_ACQUIRE_SNO_GLOBE -.->|unlocks new location| UNLOCK_FROG_ROCK_MAP["**UNLOCK: Mystery Vortex + Frog Rock on map**"] + end + style area_golf fill:#F3E5F5,stroke:#7B1FA2,stroke-width:3px + + %% ACT 3: Dinosaur Tarpit Park - Tar Collection + subgraph area_tarpt["**DINOSAUR TARPIT: Tar + Mammoth Hair Gathering**"] + direction TB + UNLOCK_GOLF_MAP --> TARPIP_ENTRY["A: Reach Dinosaur Tarpit via map travel"] + + TARPIP_ENTRY --> A_COLLECT_TAR_FROM_TARPIT["A: Use cup on golf retriever to scoop TAR from tarpit surface"] + A_COLLECT_TAR_FROM_TARPIT --> O_ACQUIRE_TAR["O: TAR acquired for disguise base texture"] + + TARPIP_ENTRY --> MAMMOTH_ENCOUNTER["A: Encounter woolly mammoth at park enclosure"] + + MAMMOTH_ENCOUNTER --> A_PULL_WOOLLY_HAIR["A: Pull WOOLLY MAMMOTH HAIR from beast's coat"] + A_PULL_WOOLLY_HAIR --> O_ACQUIRE_MAMMOTH_HAIR["O: Mammoth hair acquired for disguise bulk"] + + C2_TARPIP_ITEMS["**C2: Dinosaur Park Items Gathered**"] + O_ACQUIRE_TAR & O_ACQUIRE_MAMMOTH_HAIR --> C2_TARPIP_ITEMS + end + style area_tarpt fill:#E8F5E9,stroke:#388E3C,stroke-width:3px + + %% ACT 4: Bumpusville - VR Dragon Fight + Toupee + subgraph area_bumpus["**BUMPUSVILLE: Dragon Combat Timing + Costume Cap**"] + direction TB + UNLOCK_GOLF_MAP --> BUMPUS_ENTRY["A: Enter Bumpusville via road map"] + + %% Conroy's toupee for disguise headpiece + BUMPUS_ENTRY --> CONROYS_LODGING["A: Find Conroy Bumpus wearing distinctive toupee"] + + CONROYS_LODGING --> A_SWAP_TOUPEE_CONROYS["A: Swap toupees with Conroy when distracted"] + A_SWAP_TOUPEE_CONROYS --> O_ACQUIRE_TOUPEE["O: TUPEE acquired (disguise headpiece)"] + + %% VR Dragon - Timing-based combat + BUMPUS_ENTRY --> VR_DUNGEON_ACCESS["A: Enter VR arcade dungeon game"] + + VR_DUNGEON_ACCESS --> P_DRAGON_COMBAT_TIMING["P: Defeat dragon in timing-based fight"] + + P_DRAGON_COMBAT_TIMING --> A_WATCH_MOUTH_CYCLE["A: Observe dragon mouth opening/closing pattern"] + A_WATCH_MOUTH_CYCLE --> MOUTH_OPEN_PATTERN["O: Mouth opens at predictable intervals"] + + MOUTH_OPEN_PATTERN --> A_WAIT_FOR_BEST_FRAME["A: Wait for mouth fully extended open phase"] + A_WAIT_FOR_BEST_FRAME --> A_STRIKE_DURRING_SWALLOW["A: Strike mid-body (not head) during swallow window"] + + A_STRIKE_DURRING_SWALLOW --> O_DRAGON_DEFEATED_VR["O: Dragon defeated in VR simulation"] + + O_DRAGON_DEFEATED_VR -.->|game victory reward| VICTORY_ITEMS_BUMPUS["O: Obtain reward items needed for finale"] + end + style area_bumpus fill:#FFF3E0,stroke:#F57C00,stroke-width:3px + + %% ACT 5: Savage Jungle Inn - Bigfoot Disguise Synthesis FINALE + subgraph Area_savage_jungle["**SAVAGE JUNGLE INN: Bigfoot Disguise Meta-Construction**"] + direction TB + UNLOCK_FROG_ROCK_MAP --> UNLOCK_SAUSAGE_JUNGLE["**UNLOCK: Savage Jungle Inn accessible**"] + + UNLOCK_SAUSAGE_JUNGLE --> P_BIGFOOT_GUARD_BLOCKADE["P: Bigfoot receptionist blocks inner hall access"] + + P_BIGFOOT_GUARD_BLOCKADE --> C3_ALL_COSTUME_COMPONENTS_READY["**C3: All Costume Components Now Available**"] + + %% Show where each piece came from + BLUE_COSTUME_FROM_CARNIVAL["BLUE COSTUME (Trixie's trailer, Carnival)"] + TAR_FROM_TARPIT["TAR (golf retriever cup, Dinosaur Tarpit)"] + MAMMOTH_HAIR_FROM_PARK["WOOLLY HAIR (mammoth encounter, Dinosaur Park)"] + TOUPEE_FROM_BUMPUS["TOUPEE (Conroy swap, Bumpusville)"] + + BLUE_COSTUME_FROM_CARNIVAL & TAR_FROM_TARPIT & MAMMOTH_HAIR_FROM_PARK & TOUPEE_FROM_BUMPUS --> C3_ALL_COSTUME_COMPONENTS_READY + + O_ACQUIRE_BLUE_COSTOME -.->|base canvas| C3_ALL_COSTUME_COMPONENTS_READY + O_ACQUIRE_TAR -.->|texture base| C3_ALL_COSTUME_COMPONENTS_READY + O_ACQUIRE_MAMMOTHHAIR -.->|bulk layer| C3_ALL_COSTUME_COMPONENTS_READY + O_ACQUIRE_TOUPEE -.->|headpiece| C3_ALL_COSTUME_COMPONENTS_READY + + %% Construction sequence (Meta-Puzzle Construction) + C3_ALL_COSTUME_COMPONENTS_READY --> A_COMBINE_TAR_WITH_HAIR["A: Combine tar + mammoth hair = bulk texture material"] + + A_COMBINE_TAR_WITH_HAIR --> A_ATTACH_TO_BLUE_BASE["A: Apply tar+hair mixture to blue costume base"] + + A_ATTACH_TO_BLUE_BASE --> A_ADD_TOUPEE_HEADPIECE["A: Attach toupee as headpiece to complete disguise"] + + A_ADD_TOUPEE_HEADPIECE --> DISGUISRE_COMPLETE["O: WOOLLY BIGFOOT COSTUME fully assembled"] + + DISGUISRE_COMPLETE --> A_WEAR_DISGUISE_PASS_GUARD["A: Wear costume, approach reception checkpoint"] + + A_WEAR_DISGUISSE_PASS_GUARD --> GUARD_ACCEPTS_BIGFOOTS["O: Bigfoot guard accepts party as legitimate patrons"] + + GUARD_ACCEPTS_BICGOOTS --> UNLOCK_INNER_HALL_FINALE["**UNLOCK: Inner hall accessible - game finale puzzles**"] + end + style area_savage_jungle fill:#FCE4EC,stroke:#C2185B,stroke-width:3px + + %% FINAL OUTCOME + UNLOCK_INNER_HALL_FINALE --> END["**END GAME - Bumpy Captured, Road Trip Complete**"] diff --git a/src/inspiration/sam-and-max-chart.svg b/src/inspiration/sam-and-max-chart.svg new file mode 100644 index 0000000..a94d748 --- /dev/null +++ b/src/inspiration/sam-and-max-chart.svg @@ -0,0 +1 @@ +

**SAVAGE JUNGLE INN: Bigfoot Disguise Meta-Construction**

**BUMPUSVILLE: Dragon Combat Timing + Costume Cap**

**DINOSAUR TARPIT: Tar + Mammoth Hair Gathering**

**GATOR GOLF: Crocodile Bridge Construction**

**CARNIVAL: Toy Acquisition**

club used to swing flags

unlocks new location

game victory reward

base canvas

texture base

bulk layer

headpiece

fontsize=18

**START**

A: Mr. Bumpy escapes, road trip begins across America

A: Enter carnival grounds

A: Visit Trixie's trailer for costume item

O: Get BLUE COSTUME base

A: Purchase toy monkey from carnival games

O: Acquire TOY MONKEY (glass eye)

**UNLOCK: Travel to Gator Golf Emporium**

A: Collect broken golf ball retriever near Pro Shop

O: RETRIEVER acquired

P: Max trapped in Dunk the Beast tank

A: Use bucket of fish to lure crocodiles toward feeding position

O: Crocodiles clustered at water edge

A: Golf club now accessible near Dunk the Beast tank

O: GOLF CLUB acquired

P: Need crocodile bridge path from Pro Shop to tank

A: Set Flag 1 vertical (attraction) + horizontal (current pos)

O: Crocodile 1 moves to flag-1 position

A: Set Flag 2 for crocodile 2 movement

O: Crocodile 2 repositions

... repeat flag pattern for remaining crocodiles ...

O: Complete zigzag crocodile bridge established

**C1: Crocodile Bridge Path Complete**

A: Sam walks across crocodile backs following flag path

O: Access Dunk the Beast tank island

A: Open glass door, free Max

O: Max gives SASQUATCH HAIR

O: Retrieve SNO GLOBE from tank interior

**UNLOCK: Mystery Vortex + Frog Rock on map**

A: Reach Dinosaur Tarpit via map travel

A: Use cup on golf retriever to scoop TAR from tarpit surface

O: TAR acquired for disguise base texture

A: Encounter woolly mammoth at park enclosure

A: Pull WOOLLY MAMMOTH HAIR from beast's coat

O: Mammoth hair acquired for disguise bulk

**C2: Dinosaur Park Items Gathered**

A: Enter Bumpusville via road map

A: Find Conroy Bumpus wearing distinctive toupee

A: Swap toupees with Conroy when distracted

O: TUPEE acquired (disguise headpiece)

A: Enter VR arcade dungeon game

P: Defeat dragon in timing-based fight

A: Observe dragon mouth opening/closing pattern

O: Mouth opens at predictable intervals

A: Wait for mouth fully extended open phase

A: Strike mid-body (not head) during swallow window

O: Dragon defeated in VR simulation

O: Obtain reward items needed for finale

**UNLOCK: Savage Jungle Inn accessible**

P: Bigfoot receptionist blocks inner hall access

**C3: All Costume Components Now Available**

BLUE COSTUME (Trixie's trailer, Carnival)

TAR (golf retriever cup, Dinosaur Tarpit)

WOOLLY HAIR (mammoth encounter, Dinosaur Park)

TOUPEE (Conroy swap, Bumpusville)

O_ACQUIRE_BLUE_COSTOME

O_ACQUIRE_MAMMOTHHAIR

A: Combine tar + mammoth hair = bulk texture material

A: Apply tar+hair mixture to blue costume base

A: Attach toupee as headpiece to complete disguise

O: WOOLLY BIGFOOT COSTUME fully assembled

A: Wear costume, approach reception checkpoint

A_WEAR_DISGUISSE_PASS_GUARD

O: Bigfoot guard accepts party as legitimate patrons

GUARD_ACCEPTS_BICGOOTS

**UNLOCK: Inner hall accessible - game finale puzzles**

area_savage_jungle

**END GAME - Bumpy Captured, Road Trip Complete**

\ No newline at end of file diff --git a/todos/TODOS.md b/todos/TODOS.md index 1e1e075..7b85531 100644 --- a/todos/TODOS.md +++ b/todos/TODOS.md @@ -140,11 +140,11 @@ For each game: - [ ] **9.5:** Create QA file `indiana-jones-last-crusade-puzzle-dependencies-qa.md` - [ ] **9.6:** Commit and push -### 10. King's Quest III: To Heir Is Human (1986) ⏳ -- [ ] **10.1:** MMD chart EXISTING - need to generate SVG -- [ ] **10.2:** Generate `kings-quest-iii-chart.svg` from existing `.mmd` -- [ ] **10.3:** Create QA file for existing chart -- [ ] **10.4:** Commit and push +### 10. King's Quest III: To Heir Is Human (1986) ✅ COMPLETE +- [x] **10.1:** MMD chart EXISTING - use existing version +- [x] **10.2:** SVG already exists from prior generation +- [x] **10.3:** Create QA file `kings-quest-iii-puzzle-dependencies-qa.md` +- [x] **10.4:** Commit to local repo ### 11. King's Quest VII: The Princeless Bride (1994) ⏳ - [ ] **11.1:** Read walkthrough from `src/walkthroughs/kings-quest-vii/` @@ -162,13 +162,13 @@ For each game: - [ ] **12.5:** Create QA file `kings-quest-viii-puzzle-dependencies-qa.md` - [ ] **12.6:** Commit and push -### 13. Loom (1990) ⏳ -- [ ] **13.1:** Read walkthrough from `src/walkthroughs/loom/` -- [ ] **13.2:** Analyze spell-weaving puzzle chains -- [ ] **13.3:** Create `loom-chart.mmd` -- [ ] **13.4:** Generate SVG -- [ ] **13.5:** Create QA file `loom-puzzle-dependencies-qa.md` -- [ ] **13.6:** Commit and push +### 13. Loom (1990) ✅ COMPLETE +- [x] **13.1:** Read walkthrough from `src/walkthroughs/loom/` +- [x] **13.2:** Analyze spell-weaving puzzle chains +- [x] **13.3:** Create `loom-chart.mmd` (44 nodes, 8 subgraphs) +- [x] **13.4:** Generate SVG +- [x] **13.5:** Create QA file `loom-puzzle-dependencies-qa.md` +- [x] **13.6:** Commit to local repo ### 14. Maniac Mansion (1987) ⏳ - [ ] **14.1:** Read walkthrough from `src/walkthroughs/maniac-mansion/` @@ -310,12 +310,14 @@ For each game: ### Completed Games (with MMD + SVG + QA) 1. ✅ King's Quest VI (all three files exist) -2. ⏳ Monkey Island 1 (MMD+SVG done, QA needed) +2. ✅ Loom (just completed - 44 nodes, 8 subgraphs) +3. ✅ King's Quest III (MMD existed, generated QA) +4. ⏳ Monkey Island 1 (MMD+SVG+QA all exist now) ### In Progress - [None] -### Remaining: 30 games +### Remaining: 27 games ---