Files
two-keys/content/games/wavelength-static.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

78 lines
3.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
id: wavelength-static
engine: dial
category: co-op
title: "Wavelength: Static"
tagline: One-word clues. Narrow targets. And the guesser can only see half the dial.
estimatedMinutes: 20
difficulty: 5
players: { min: 2, max: 2 }
theme: { primary: "#8338ec", accent: "#3a86ff", background: "#06040d", headingFont: "JetBrains Mono" }
roles:
A:
name: Partner A
blurb: You give the clue in odd rounds and guess in even rounds.
B:
name: Partner B
blurb: You guess in odd rounds and give the clue in even rounds.
intro: |
☠️ **Nightmare rules.**
- Clues are **exactly one word**, and you can **never reuse a word** used earlier in the game.
- The guesser only sees the **left** label. The right label is lost in static. Work it out from the clue... and from each other.
- The guesser's dial has **no numbers**.
- Scoring bands are razor thin. 10 rounds. Three keys.
dial:
rounds: 10
range: [0, 100]
targetMargin: 5 # hidden target is a random integer from 5 to 95
scoring: # distance from target → points (first band that fits)
- { within: 2, points: 4 }
- { within: 5, points: 3 }
- { within: 8, points: 2 }
clue:
maxWords: 1
maxChars: 30
banLabelWords: true # clue can't contain any word from either label (normalized, case-insensitive)
noRepeatWords: true # if true, no clue word may be reused within the game
guesserSeesLabels: left # both | left | none
guesserSeesNumbers: false # whether the dial shows 0–100 tick numbers to the guesser
keys:
- { at: 12, name: Static Key }
- { at: 20, name: Signal Key }
- { at: 26, name: Clear Channel Key }
spectra:
- { id: s01, left: "Cold", right: "Hot" }
- { id: s02, left: "Ordinary", right: "Magical" }
- { id: s03, left: "Past", right: "Future" }
- { id: s04, left: "Bitter", right: "Sweet" }
- { id: s05, left: "Simple", right: "Complicated" }
- { id: s06, left: "Silent", right: "Deafening" }
- { id: s07, left: "Fake", right: "Genuine" }
- { id: s08, left: "Temporary", right: "Permanent" }
- { id: s09, left: "Safe", right: "Dangerous" }
- { id: s10, left: "Nobody knows it", right: "Everybody knows it" }
- { id: s11, left: "Square", right: "Round" }
- { id: s12, left: "Fiction", right: "Fact" }
- { id: s13, left: "Smooth", right: "Rough" }
- { id: s14, left: "Light", right: "Heavy" }
- { id: s15, left: "Weird", right: "Normal" }
- { id: s16, left: "Sacred", right: "Silly" }
- { id: s17, left: "Harmless", right: "Deadly" }
- { id: s18, left: "Bad advice", right: "Good advice" }
- { id: s19, left: "Introvert", right: "Extrovert" }
- { id: s20, left: "Ancient", right: "Brand new" }
- { id: s21, left: "Dull", right: "Shiny" }
- { id: s22, left: "Soft skill", right: "Hard skill" }
- { id: s23, left: "Mainstream", right: "Niche" }
- { id: s24, left: "Peaceful", right: "Violent" }
- { id: s25, left: "Tasteless", right: "Delicious" }
- { id: s26, left: "Low quality", right: "High quality" }
- { id: s27, left: "Calm", right: "Panicked" }
- { id: s28, left: "Childish", right: "Mature" }
- { id: s29, left: "Guilty pleasure", right: "Proud pleasure" }
- { id: s30, left: "Overpriced", right: "Bargain" }
- { id: s31, left: "Messy", right: "Tidy" }
- { id: s32, left: "Rural", right: "Urban" }
successEnding: |
Through all that static, you still found each other. 📡🔑