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>
85 lines
2.9 KiB
YAML
85 lines
2.9 KiB
YAML
id: twin-sunday-morning
|
|
engine: twin
|
|
category: co-op
|
|
title: "Twin Rooms: Sunday Morning"
|
|
tagline: Two cosy rooms. Almost identical. Find what's different without peeking at each other's screen.
|
|
estimatedMinutes: 10
|
|
difficulty: 1
|
|
players: { min: 2, max: 2 }
|
|
theme: { primary: "#e76f51", accent: "#f4a261", background: "#14100d", headingFont: "Playfair Display" }
|
|
roles:
|
|
A:
|
|
name: Partner A
|
|
blurb: You see one version of each room.
|
|
B:
|
|
name: Partner B
|
|
blurb: You see the other version. Same room... mostly.
|
|
intro: |
|
|
You each wake up in the same house, on the same lazy Sunday. Except it isn't quite the same.
|
|
|
|
**Describe what you see, square by square.** When you think you've found a difference,
|
|
you **both tap that same square** within 15 seconds to claim it.
|
|
Find every difference in a room to earn its key.
|
|
|
|
Tapping the same square when it **isn't** a difference costs you 15 seconds. No screen-peeking!
|
|
twin:
|
|
claimWindowSeconds: 15
|
|
wrongClaimPenaltySeconds: 15
|
|
mirrorB: false
|
|
showCoordinates: true # row letters + column numbers around the grid, to help you describe squares
|
|
|
|
scenes:
|
|
- id: kitchen
|
|
title: "Breakfast Kitchen"
|
|
timeSeconds: 180
|
|
keyName: Pancake Key
|
|
differences: 4
|
|
grid: # shown to A (and to B with changes applied)
|
|
- "☕ 🍞 🍊 🍊 🍌 ☕"
|
|
- "🍓 🥄 🥄 🍊 🧈 🥄"
|
|
- "🍊 🍽 🍯 🥄 🍯 🍓"
|
|
- "🍳 🥄 ☕ ☕ 🥛 ☕"
|
|
- "🍯 🍳 🍌 🍯 🍌 🍞"
|
|
changes: # SERVER ONLY: B's version differs at these cells
|
|
- { x: 0, y: 1, to: "🍒" }
|
|
- { x: 2, y: 1, to: "🍴" }
|
|
- { x: 5, y: 1, to: "🍴" }
|
|
- { x: 0, y: 2, to: "🍋" }
|
|
- id: garden
|
|
title: "The Back Garden"
|
|
timeSeconds: 180
|
|
keyName: Garden Key
|
|
differences: 4
|
|
grid: # shown to A (and to B with changes applied)
|
|
- "🪴 🐌 🐞 🌼 🪨 🌳"
|
|
- "🐞 🪴 🌳 🌼 🌼 🌷"
|
|
- "🌷 🍄 🐝 🪨 🐞 🐞"
|
|
- "🐦 🌷 🌻 🐞 🪴 🪴"
|
|
- "🍄 🐌 🌳 🐌 🐦 🌼"
|
|
changes: # SERVER ONLY: B's version differs at these cells
|
|
- { x: 3, y: 0, to: "🌸" }
|
|
- { x: 1, y: 2, to: "🌰" }
|
|
- { x: 3, y: 2, to: "🧱" }
|
|
- { x: 3, y: 4, to: "🐢" }
|
|
- id: bedroom
|
|
title: "Lazy Bedroom"
|
|
timeSeconds: 180
|
|
keyName: Pillow Key
|
|
differences: 4
|
|
grid: # shown to A (and to B with changes applied)
|
|
- "🧦 🖼 📱 🎧 🧦 🪟"
|
|
- "🎧 🖼 📱 🧦 🧦 🛏"
|
|
- "🖼 🕯 📚 🛏 ⏰ 🧦"
|
|
- "🪴 🧸 ⏰ 🖼 🎧 📱"
|
|
- "📚 📱 🕯 🧸 🪴 ⏰"
|
|
changes: # SERVER ONLY: B's version differs at these cells
|
|
- { x: 2, y: 2, to: "📖" }
|
|
- { x: 3, y: 2, to: "🛋" }
|
|
- { x: 3, y: 3, to: "🪞" }
|
|
- { x: 4, y: 3, to: "📻" }
|
|
|
|
successEnding: |
|
|
Every difference found. You blink, and you're both back on the same side of the screen, looking at each other.
|
|
|
|
**Same wavelength. Same room.** 🪞🔑
|