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>
83 lines
2.5 KiB
YAML
83 lines
2.5 KiB
YAML
id: blueprint-first-sketch
|
|
engine: blueprint
|
|
category: co-op
|
|
title: "Blueprint: First Sketch"
|
|
tagline: One of you sees the picture. The other has the paintbrush. Describe it, square by square.
|
|
estimatedMinutes: 10
|
|
difficulty: 1
|
|
players: { min: 2, max: 2 }
|
|
theme: { primary: "#118ab2", accent: "#ffd166", background: "#071219", headingFont: "Playfair Display" }
|
|
roles:
|
|
A:
|
|
name: Architect
|
|
blurb: You see the target picture. You can't see what your partner paints.
|
|
B:
|
|
name: Builder
|
|
blurb: You have a blank grid and a palette. You can't see the picture. Listen carefully.
|
|
intro: |
|
|
**Architect:** describe the picture. Rows, columns, shapes, colours, whatever works.
|
|
**Builder:** paint what you hear, then hit **Submit**.
|
|
|
|
Match at least **80%** to earn the key. The Architect gets **2 peeks** per picture: a 3-second look at the Builder's canvas.
|
|
Small grids, one colour each. A gentle start.
|
|
blueprint:
|
|
scoring: overlap # see requirements: matched painted cells ÷ cells painted in either grid
|
|
rotateBuilder: 0
|
|
swapRolesEachPattern: false
|
|
submitsPerPattern: 2 # a second try is allowed; best score counts
|
|
|
|
patterns:
|
|
- id: heart6
|
|
title: "A Heart" # SERVER ONLY until the pattern is finished (the Builder never sees the title)
|
|
size: 6
|
|
timeSeconds: 180
|
|
threshold: 0.8
|
|
peeks: 2
|
|
keyName: Heart Key
|
|
palette:
|
|
R: { name: Red, hex: "#e63946" }
|
|
rows: # '.' = empty. Architect sees this; Builder never does.
|
|
- "......"
|
|
- ".R..R."
|
|
- "RRRRRR"
|
|
- "RRRRRR"
|
|
- ".RRRR."
|
|
- "..RR.."
|
|
- id: house6
|
|
title: "A House" # SERVER ONLY until the pattern is finished (the Builder never sees the title)
|
|
size: 6
|
|
timeSeconds: 180
|
|
threshold: 0.8
|
|
peeks: 2
|
|
keyName: House Key
|
|
palette:
|
|
B: { name: Blue, hex: "#3a86ff" }
|
|
rows: # '.' = empty. Architect sees this; Builder never does.
|
|
- "..BB.."
|
|
- ".BBBB."
|
|
- "BBBBBB"
|
|
- ".B..B."
|
|
- ".B..B."
|
|
- ".BBBB."
|
|
- id: smile6
|
|
title: "A Smiley" # SERVER ONLY until the pattern is finished (the Builder never sees the title)
|
|
size: 6
|
|
timeSeconds: 180
|
|
threshold: 0.8
|
|
peeks: 2
|
|
keyName: Smile Key
|
|
palette:
|
|
Y: { name: Yellow, hex: "#ffd60a" }
|
|
rows: # '.' = empty. Architect sees this; Builder never does.
|
|
- ".YYYY."
|
|
- "YY.Y.Y"
|
|
- "YYYYYY"
|
|
- "Y.YY.Y"
|
|
- "YY..YY"
|
|
- ".YYYY."
|
|
|
|
successEnding: |
|
|
Every picture finished. Turns out you speak the same visual language.
|
|
|
|
**Masterpiece.** 🎨🔑
|