Files
two-keys/content/games/hedge-maze-midnight.yaml
T
joshuaandClaude Opus 5.5 52745935ee V1.3.0
Game pack 3: 22 new games (19-40), 40 in total.

- New engines: dial (Wavelength / Mind Meld), twin (Twin Rooms /
  Spot the Difference, incl. mirror mode) and blueprint (Describe &
  Draw, incl. peeks, overlap scoring and a rotated Builder canvas)
- Labyrinth: items and doors (Hedge Maze)
- Defuse: manualFrom, roles swapping every level behind a Ready card,
  and duplicate wire modules (Tick Tock: Switch)
- Generic time limits for the new engines; sync/defuse successEnding
- Library: engine-label chips and filters; Noto Color Emoji font
- Validation: Appendix A checks ported, with a per-game summary
- Quote comma/colon-split labels in five new YAMLs (wording unchanged)
- Tests for all new engines and sanitized payloads of all 22 games
- Docs: CLAUDE.md, GAMES.md (pack 3 spoiler guide), How to Play

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:21:24 +02:00

83 lines
3.3 KiB
YAML

id: hedge-maze-midnight
engine: labyrinth
category: co-op
title: The Hedge Maze at Midnight
tagline: An old estate maze, a locked iron gate, and somewhere in the hedges, the key.
estimatedMinutes: 15
difficulty: 3
players: { min: 2, max: 2 }
theme: { primary: "#2d6a4f", accent: "#ffd166", background: "#06110b", headingFont: "Playfair Display" }
roles:
A:
name: Navigator
blurb: You have the gardener's plan of the maze from the balcony. You can't see your partner in the dark.
B:
name: Explorer
blurb: You're in the hedges with a candle. You see the ground beneath you and nothing else.
intro: |
Midsummer at Ravenscourt House. Tradition says couples who light all three **garden lanterns** in the
hedge maze before the clock strikes one will be lucky for a year.
The heart of the maze is behind an **iron gate**, and the gate is locked. Its key was dropped somewhere
in the hedges a century ago. **Four** stretches of the path hide old gardener's traps.
New: **items**. The Explorer picks up an item by stepping on it. The gate only opens for the Explorer carrying its key.
# Grid legend: # hedge · . path · S start · E exit (needs all lanterns) · K lantern · T trap
grid:
- "###############"
- "#S....#K.T.T..#"
- "#.#.#.#.#####.#"
- "#...#.#..T#...#"
- "#.#.#.##.##.#.#"
- "#.#T..#.....#.#"
- "#.#####.#####.#"
- "#.#.....#...#.#"
- "#K###K###.#.#.#"
- "#.....#......E#"
- "###############"
lanternsRequired: 3
# NEW: items and doors. Items are picked up automatically on entry (kept after traps).
# A door cell is impassable until the Explorer carries the item named in `needs`.
items:
- { x: 5, y: 9, id: gate-key, name: "Iron Gate Key", explorerText: "Something glints in the grass: a heavy iron key!" }
doors:
- { x: 5, y: 7, needs: gate-key, name: "Iron Gate", lockedText: "A locked iron gate. You need its key.", openText: "The key turns. The gate creaks open." }
glyphs:
- { x: 1, y: 1, glyph: fountain, label: "⛲ A stone fountain (the entrance)" }
- { x: 3, y: 3, glyph: rabbit, label: "🐇 A stone rabbit" }
- { x: 5, y: 4, glyph: sundial, label: "🕰 A mossy sundial" }
- { x: 1, y: 6, glyph: bench, label: "🪑 A wooden bench" }
- { x: 3, y: 9, glyph: owl, label: "🦉 An owl watching from the hedge" }
- { x: 7, y: 5, glyph: urn, label: "🏺 A cracked urn" }
- { x: 10, y: 7, glyph: rose, label: "🌹 A climbing rose" }
- { x: 13, y: 4, glyph: statue, label: "🗿 A statue with no face" }
- { x: 9, y: 9, glyph: frog, label: "🐸 A frog on a stepping stone" }
- { x: 12, y: 3, glyph: bell, label: "🔔 A tiny bell on a ribbon" }
lanterns:
- { x: 1, y: 8, name: Lantern of the Bench }
- { x: 5, y: 8, name: Lantern of the Gate }
- { x: 7, y: 1, name: Lantern of the High Hedge }
explorerView:
flavour:
blank: "Clipped grass and the smell of roses."
trap: "The ground drops into a ha-ha ditch! You climb out, muddy, back at the fountain."
lantern: "You light a paper lantern. It glows gold. ({name})"
exitLocked: "The maze's heart: a pavilion with three empty lantern hooks."
exitOpen: "Three lanterns glow. Somewhere, a clock strikes one, and fireworks go up over the house."
navigatorView:
showMoveCount: true
scoring:
trapPenaltySeconds: 60
parMoves: 70
successEnding: |
Three lanterns, one gate, zero arguments (mostly). A year of luck, guaranteed. 🏮🔑