id: wavelength-tune-in engine: dial category: co-op title: "Wavelength: Tune In" tagline: One of you knows where the needle should land. One clue. Can you read each other's minds? estimatedMinutes: 10 difficulty: 1 players: { min: 2, max: 2 } theme: { primary: "#06d6a0", accent: "#ffd166", background: "#04120d", headingFont: "Playfair Display" } 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: | Each round, a dial appears with two opposites, like **Cold ↔ Hot**. The **clue-giver** secretly sees where the target sits on the dial and types a short clue (up to 5 words), something that sits at that spot. The **guesser** turns the dial to where they think the target is, then locks in. Example: target near "Hot" → clue "a fresh cup of coffee". Target in the middle → "a bath you forgot about". Wide scoring bands. 6 rounds. Two keys to win. No talking during a round, just the clue! dial: rounds: 6 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: 5, points: 4 } - { within: 10, points: 3 } - { within: 15, points: 2 } - { within: 20, points: 1 } clue: maxWords: 5 maxChars: 30 banLabelWords: true # clue can't contain any word from either label (normalized, case-insensitive) noRepeatWords: false # if true, no clue word may be reused within the game guesserSeesLabels: both # both | left | none guesserSeesNumbers: true # whether the dial shows 0–100 tick numbers to the guesser keys: - { at: 8, name: Tuning Key } - { at: 14, name: Frequency Key } spectra: - { id: g01, left: "Cold", right: "Hot" } - { id: g02, left: "Cheap", right: "Expensive" } - { id: g03, left: "Useless", right: "Useful" } - { id: g04, left: "Boring", right: "Exciting" } - { id: g05, left: "Quiet", right: "Loud" } - { id: g06, left: "Tiny", right: "Huge" } - { id: g07, left: "Healthy snack", right: "Unhealthy snack" } - { id: g08, left: "Easy to spell", right: "Hard to spell" } - { id: g09, left: "Scary", right: "Cute" } - { id: g10, left: "Old-fashioned", right: "Modern" } - { id: g11, left: "Overrated", right: "Underrated" } - { id: g12, left: "Smells bad", right: "Smells good" } - { id: g13, left: "Rare", right: "Common" } - { id: g14, left: "Bad movie", right: "Great movie" } - { id: g15, left: "Soft", right: "Hard" } - { id: g16, left: "Normal pet", right: "Weird pet" } - { id: g17, left: "Sad song", right: "Happy song" } - { id: g18, left: "Easy job", right: "Hard job" } - { id: g19, left: "Fragile", right: "Unbreakable" } - { id: g20, left: "Breakfast food", right: "Dinner food" } - { id: g21, left: "Forgettable", right: "Unforgettable" } - { id: g22, left: "Slow", right: "Fast" } - { id: g23, left: "Ugly", right: "Beautiful" } - { id: g24, left: "Villain", right: "Hero" } - { id: g25, left: "Dry", right: "Wet" } - { id: g26, left: "Mild", right: "Spicy" } - { id: g27, left: "Lazy", right: "Hardworking" } - { id: g28, left: "Indoor activity", right: "Outdoor activity" } - { id: g29, left: "Kid's toy", right: "Adult's toy" } - { id: g30, left: "Waste of money", right: "Worth every cent" } - { id: g31, left: "Weak superpower", right: "Strong superpower" } - { id: g32, left: "Short-lived", right: "Lasts forever" } successEnding: | You two are on the same frequency. 📻🔑