Bring games 9-18 in line with GAMES-NEW.md: - Library sorts easiest first, filters by category and difficulty; difficulty 5 shows a Nightmare chip, and a no-hint finish earns Nightmare Survivors. - Time limits end on "Out of time" (no rank); Deep Lab Nereid's countdown is a rising water gauge behind the header. - Evidence Locker search, chapter filter and starred clues (partner sees a count). - One-shot accusations ask "One shot. Are you both sure?" first. - Symbol font fallback, tight monospace blocks for grids/keypads/SQL. - Rank rounds reorder by drag or up/down buttons; reveal highlights #1 and #4. - Telepathy capped at 30 characters; maze:move accepts forward/left/right/back; gate buttons read "Gate (won't open from this side)". - Overtime solver tables checked against Appendix A; keypad generator re-rolls. - More content checks (rank items, password fixtures, glyphs/gates on traps) and sanitize tests for all ten new games. - GAMES.md carries the full spoiler guide for 9-18. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
235 lines
12 KiB
Markdown
235 lines
12 KiB
Markdown
# GAMES.md: Spoiler Guide (designer reference, NEVER served to clients)
|
||
|
||
Every lock below needs info from **both** players. "A has / B has" shows the split.
|
||
|
||
---
|
||
|
||
## 1. Death at Vineyard Hollow (murder mystery · 20 min · 🔑🔑)
|
||
Roles: **Inspector** (A) / **Estate Insider** (B)
|
||
|
||
| Ch | Lock | A has | B has | Answer |
|
||
|----|------|-------|-------|--------|
|
||
| 1 | Cellar keypad | Butler: "year it began, read backwards" | Gate plaque: Est. 1874 | `4781` |
|
||
| 2 | Time of death | ME temp 34.5 °C at 23:10, 1 °C/hr | Keycard log | `20:40` |
|
||
| 3 | Poisoned bottle | Lab: red, decanted, cork ends in 7 | Cellar book | `1998` Cabernet Reserve |
|
||
| 4 | Diary cipher | Ciphertext "ORAN BFJAC OARMJH", "rack-shift" | Rack 9 = his heart | `FIRE SWART FRIDAY` (shift −9) |
|
||
| 5 | Poison source | Tox: fresh *Digitalis* leaves; Vos's tablets sealed | Foxglove bed behind Swart's workshop; card in his apron | `FOXGLOVE` |
|
||
|
||
**Killer:** Pieter Swart · foxglove extract in the 1998 Reserve · to avoid being fired and exposed for label fraud.
|
||
**Red herrings:** Dr Vos (digoxin, near the time window), Marcus (heir, in cellar too late), Isabelle (wanted the estate).
|
||
|
||
---
|
||
|
||
## 2. The Last Set at the Blue Lantern (murder mystery · 10 min · 🔑)
|
||
Roles: **Detective** (A) / **Regular** (B)
|
||
|
||
| Ch | Lock | A has | B has | Answer |
|
||
|----|------|-------|-------|--------|
|
||
| 1 | Drum solo time | Setlist with song lengths | Set started 23:00; solo = last 2 min of Caravan | `23:20` |
|
||
| 2 | No alibi | Band walks off during drum solos; Ruby sits out instrumentals | Bar/coat-check alibis (Ruby at coat-check 23:21) | Sammy |
|
||
| 3 | Safe | Sheet music notes C·A·F·E | Piano sticker numbers C1…B7 | `1643` |
|
||
| 4 | Gun location | Search log: piano not searched | Max: dead "thunk" on low keys | `PIANO` |
|
||
|
||
**Killer:** Sammy Keys · Vincent's .38 under the drum solo, hidden in the piano · Vincent stole his songs and was about to sell them.
|
||
|
||
---
|
||
|
||
## 3. Murder on the Southern Star (murder mystery · 25 min · 🔑🔑)
|
||
Roles: **Passenger Detective** (A) / **Railway Inspector** (B)
|
||
|
||
| Ch | Lock | A has | B has | Answer |
|
||
|----|------|-------|-------|--------|
|
||
| 1 | Master key box | Rule: carriage × compartment, 4 digits | Plan: Gold Suite = carriage 6, comp 23 | `0138` |
|
||
| 2 | Real time of death | Watch 01:15 Greenwich; local is +2h; needle wound | Timetable: Matjiesfontein 03:10–03:20; thump at a platform | `03:15` |
|
||
| 3 | Telegram sender | Telegram text | "Name hidden where every line begins" | `HUGO` (acrostic) |
|
||
| 4 | Who lied | Corridor watched, nobody passed; only Vera owns a fur coat | Porter: fur-coat lady off car 6, back on car 4 | Vera |
|
||
| 5 | Motive word | "V. = 3·7·8·4·2·8", "ask the line" | Numbered stopping list | `FORGER` |
|
||
|
||
**Killer:** Countess Vera Orlova · hatpin to the base of the skull during the Matjiesfontein stop · Ashby had discovered she was a jewel forger.
|
||
|
||
---
|
||
|
||
## 4. The Clockmaker's Attic (escape room · 15 min · 🔑) (best "first game")
|
||
Roles: **Tinkerer** (A) / **Collector** (B)
|
||
|
||
| Lock | A has | B has | Answer |
|
||
|------|-------|-------|--------|
|
||
| Trunk | Robin 3, Owl 7, Fox 9 | Sampler: dawn bird, hunter, night bird | `397` |
|
||
| Music box | "Sky-bow top to bottom, skip what the pendulum stole" | Painting: red, gold, green, blue; pendulum is green | `RED GOLD BLUE` |
|
||
| Gear drawer | Gears 48 → 16 → 24 teeth | Turn crank 5 times, count Gear C | `10` |
|
||
| Door (finale) | "Order treasures by year made" | Inventory with years | `FOREVER` |
|
||
|
||
---
|
||
|
||
## 5. Signal Lost: Station Echo (escape room · 15 min · 🔑🔑)
|
||
Roles: **Comms Officer** (A) / **Engineer** (B)
|
||
|
||
| Lock | A has | B has | Answer |
|
||
|------|-------|-------|--------|
|
||
| Warning light | Morse chart | Blinking lamp `...-/./-./-` | `VENT` |
|
||
| Breach | Current pressures | Normal pressures + ">30% drop" rule | `GRN-3` (Greenhouse, ~33% drop) |
|
||
| Generator | Crew roster (5 aboard) | Call sign EC-127 + "× crew aboard" | `635` |
|
||
| Beacon (finale, roles swap) | Blinking lamp `..../---/--/.` | Morse chart | `HOME` |
|
||
|
||
---
|
||
|
||
## 6. Tick Tock Together (co-op defuse · 10 min · 🔑)
|
||
Technician (A) sees the device, Expert (B) reads the manual. 3 levels = 3 keys.
|
||
Device is generated server-side and solved by a solver that implements the manual exactly. Fixtures in the YAML are the unit tests.
|
||
|
||
## 7. In Sync (couples connection · 15 min · 🔑)
|
||
Round 1 match, Round 2 predict about A, Round 3 predict about B. 3/5 matches = key. One replay per round.
|
||
|
||
## 8. Labyrinth of Lanterns (co-op navigation · 10 min · 🔑)
|
||
Navigator (A) has the map, Explorer (B) sees only their own cell. 3 lanterns, 3 hidden traps.
|
||
|
||
```
|
||
########### S start (1,1) K lanterns (7,3) (9,5) (1,7)
|
||
#S..#.....# E exit (9,9) T traps (4,5) (6,7) (3,9)
|
||
#.#.#.###.#
|
||
#.#...#K..# Verified by BFS: every lantern and the exit are
|
||
#.#####.#.# reachable from S without stepping on a trap.
|
||
#...T...#K#
|
||
###.###.#.#
|
||
#K..#.T.#.#
|
||
#.###.#.#.#
|
||
#..T....#E#
|
||
###########
|
||
```
|
||
|
||
---
|
||
|
||
Difficulty: 1 Easy · 2 Medium · 3 Hard · 4 Expert · 5 Nightmare ☠️
|
||
In the harder murder mysteries, **locks only give facts**. The killer is never handed to you; the accusation needs facts from several chapters.
|
||
|
||
## 9. Dead Air (murder mystery · 30 min · 🔑🔑🔑)
|
||
Roles: **Detective** (A) / **Night Intern** (B). Hint penalty 3:00.
|
||
|
||
| Ch | Lock | A has | B has | Answer |
|
||
|----|------|-------|-------|--------|
|
||
| 1 | Last song | Track lengths | Run sheet (23:00 start, 2:00 intro, 1:30 talk) + alarm 23:31:35 (15 s rule) | `GHOST SIGNAL` (23:25:00–23:31:20) |
|
||
| 2 | Honey last safe | Lab: OKAYEST DJ mug negative, ON AIR mug + honey positive; meeting minutes | Kitchen camera log (offline 23:09–23:21); generator test booked by M. Venter | `23:06` |
|
||
| 3 | Studio door card | Card register (decimal); Kyle lost card at 22:30 meeting with Marisa | Door log in hex (0x1A1 at 23:12) | Kyle's card (0x1A1 = 417) |
|
||
| 4 | Stencil message | 6×6 letter grid | Card with cut-out windows | `SALE IS FORGED` |
|
||
|
||
**Killer:** Marisa Venter. Booked the generator test to kill the camera, left the meeting 23:11–23:17, used Kyle's stolen card at 23:12 to take the EpiPen, put peanut oil in the honey. Motive: Rex would reveal on air she forged his signature to sell the station.
|
||
**Red herrings:** Zanele (served the fatal tea), Kyle (his card), Tumi (engineer), Owen (superfan, stuck in reception).
|
||
|
||
---
|
||
|
||
## 10. The Masquerade at Montague House (murder mystery · 40 min · 🔑🔑🔑🔑)
|
||
Roles: **Inspector** (A) / **Lady's Maid** (B). Hint penalty 3:00. **1 accusation attempt, 4 questions.**
|
||
|
||
| Ch | Lock | A has | B has | Answer |
|
||
|----|------|-------|-------|--------|
|
||
| 1 | Who arrived as Raven | Logic clues 1–4 | Logic clues 5–8 | Odette (verified unique: Agatha Stag/crimson, Rupert Fox/green, Ivy Swan/black, Silas Lion/silver, Odette Raven/gold) |
|
||
| 2 | Who the footman saw | Footman: Raven + black cloak | Cloakroom: Raven ↔ Swan swapped at 23:00, cloaks kept | Ivy |
|
||
| 3 | Dagger pot | Gardener: primes not watered | Disturbed pots 4, 9, 11, 15; spotless gloves | `11` |
|
||
| 4 | Julian's confession | Polybius numbers + method | Motto FORTUNE FAVOURS THE BOLD; Marsh family gossip | `MARSH WAS INNOCENT` |
|
||
|
||
**Killer:** Ivy Marsh · wearing Odette's **Raven** mask · armoury dagger, buried in cactus pot 11 · Julian framed her father and took Montague House.
|
||
|
||
---
|
||
|
||
## 11. The Kalahari Expedition (murder mystery · 60 min · ☠️ Nightmare)
|
||
Roles: **Magistrate** (A) / **Camp Clerk** (B). Hint penalty 4:00. **75-minute time limit. 1 attempt, 4 questions.**
|
||
|
||
| Ch | Lock | A has | B has | Answer |
|
||
|----|------|-------|-------|--------|
|
||
| 1 | Lantern time | Star-trail photo: lantern at 60°–75° of arc | Shutter opened 22:00, sky turns 15°/hr; Clara alibis Reyes 22:00–04:00 | `02:00` |
|
||
| 2 | Boot size | Print 31.5 cm, chevron, sand adds ~1 cm | Size card + boot inventory | `11` (Reyes & Dunmore have size 11 chevron) |
|
||
| 3 | Watchman at 02:00 | Rota rules; Samuel's fake snakebite (4 cm marks, sedative) | Watchkeepers + Night 1 = Reyes; murder on Night 3 | Pienaar → figure went to north row (Dunmore, Kessler, Reyes) |
|
||
| 4 | Samuel's note | Vigenère ciphertext + method | Key word KOFFIE; tobacco list (pipe: Reyes, Dunmore) | `HE SMELLED OF PIPE SMOKE` |
|
||
| 5 | Diamond source | Gem report: sample K-3, never water-worn | Reference samples; prospectus "found by F. Dunmore" | `KIMBERLEY` |
|
||
| 6 | Telegram | Book-cipher numbers | Expedition handbook | `SALTED` |
|
||
|
||
**Elimination:** size 11 chevron → Reyes, Dunmore · Reyes alibied by Clara · pipe smoke → Dunmore.
|
||
**Killer:** Felix Dunmore · struck Marlowe at the dig at 02:00 and put him in the pit · drugged Samuel and faked a snakebite · the diamond find was salted with Kimberley stones.
|
||
|
||
---
|
||
|
||
## 12. The Alchemist's Vault (escape room · 25 min · 🔑🔑🔑)
|
||
Roles: **Apprentice** (A) / **Scribe** (B).
|
||
|
||
| Lock | A has | B has | Answer |
|
||
|------|-------|-------|--------|
|
||
| Cabinet | Flasks: numbers + flame colours | Element table + rainbow order | `GENIUS` (Ge N I U S) |
|
||
| Stone dial | Two balanced scales | Silver = 5, gold = 3 × silver | `25` |
|
||
| Dotted plaque | Braille ⠍⠑⠗⠉⠥⠗⠽ | Braille card; Mercury = Hg | `80` |
|
||
| Vault (finale) | ☉ ☽ ♂ ♄ | Symbol → metal chart (+ element table from ch1) | `234` (79 + 47 + 26 + 82) |
|
||
|
||
---
|
||
|
||
## 13. Submerged: Deep Lab Nereid (escape room · 35 min · 🔑🔑🔑🔑)
|
||
Roles: **Pilot** (A) / **Diver** (B). **40-minute time limit shown as a rising water gauge.**
|
||
|
||
| Lock | A has | B has | Answer |
|
||
|------|-------|-------|--------|
|
||
| Hatch valves | Lights L1 L2 L3 L5 on | Valve → light wiring | `145` (unique solution) |
|
||
| Breathing gas | 210 L at 21% | Tank X 36%, Y 15% | `60` |
|
||
| Pod location | Sonar legs 300 m E, 200 m S | Chart, lab at E5, 100 m squares | `H7` |
|
||
| Launch (finale) | Multi-tap code 555·4·3·66·55·9·222 | Rewired intercom keypad | `SURFACE` |
|
||
|
||
---
|
||
|
||
## 14. The Kestrel Bank Job (escape room · 50 min · ☠️ Nightmare)
|
||
Roles: **Inside Man** (A) / **The Wheel** (B). Hint penalty 4:00. **55-minute limit.**
|
||
|
||
| Lock | A has | B has | Answer |
|
||
|------|-------|-------|--------|
|
||
| Staff door | Worn keys 0, 2, 6 (0 most worn) | Codes are DDMM family dates; social posts | `2006` (Mia, 20 June) |
|
||
| Laser hall | Mask bit values per column | Row masks 21, 12, 25, 17, 8 | Column `4` |
|
||
| Guards | Guards 1 & 2 timings | Guard 3 timing; need 4 clear minutes | `22:33` |
|
||
| Vault dial | Sons' ages in Roman numerals | Atbash note "MY SONS AGES, ELDEST FIRST" | `19-12-07` |
|
||
| Box | SQL query + CLIENTS | BOXES table | `317` |
|
||
| Getaway (finale) | Rail-fence text | Building has 3 floors (= 3 rails) | `OLD PIER` |
|
||
|
||
---
|
||
|
||
## 15. Tick Tock: Overtime (co-op defuse · 20 min · 🔑🔑🔑🔑)
|
||
4 levels = 4 keys. New: 3–6 wires, indicators (LUV, HUG, BAE, XOX, DTE), passwords, morse, simon. Level 4 runs all six modules with only 2 strikes.
|
||
Rules are the GAMES-NEW.md Appendix A solver, ported to `server/src/engines/defuse.ts` (`ruleset: overtime`); all 40 fixtures in the YAML pass as unit tests.
|
||
|
||
## 16. In Sync: Deep Cuts (couples connection · 25 min · 🔑🔑🔑)
|
||
Telepathy (type the same word, 3/5) · Spotlight A (4/5) · Spotlight B (4/5) · Ranking (top AND bottom must match, 3/5). 4 keys.
|
||
|
||
## 17. The Drowned Catacombs (co-op navigation · 20 min · 🔑🔑🔑)
|
||
13×13, 5 traps, 3 lanterns, **3 one-way flood gates**, sparse carvings.
|
||
|
||
```
|
||
############# S (1,1) E (11,11)
|
||
#S..#.......# K (3,11) (7,3) (11,5)
|
||
###.#.###.#.# T (2,3) (4,5) (4,7) (10,5) (10,11)
|
||
#.T...#K#...# One-way: (5,9)→E (5,11)→N (7,8)→N
|
||
#.#.#.#.#.###
|
||
#.#.T.#...TK# Verified: all lanterns + exit reachable without traps,
|
||
#.##.##.....# respecting gates, and no softlocks.
|
||
#.#.T...#.#.#
|
||
#.#.###.#.#.#
|
||
#.......#.#.#
|
||
#.###.#.#.#.#
|
||
#..K#.....TE#
|
||
#############
|
||
```
|
||
|
||
## 18. The Mirror Maze (co-op navigation · 30 min · ☠️ Nightmare)
|
||
15×15, 7 traps, **4 lanterns**, Explorer has **relative controls only**, Navigator's map is **mirrored left-right**, two glyphs appear twice (☾ and ✦).
|
||
|
||
```
|
||
############### True layout (Navigator sees each row reversed)
|
||
#S..#.........# S (1,1) facing east E (13,13)
|
||
###.#.#.#####.# K (1,3) (1,13) (3,9) (13,9)
|
||
#K#.....#...#.# T (2,13) (3,5) (5,6) (5,7) (9,5) (13,6) (13,10)
|
||
#.####.##.#.#.#
|
||
#..T.....T....#
|
||
#.###T#.###..T#
|
||
#...#T#.#.....#
|
||
#.#.#.#.#.###.#
|
||
#..K#.#.....#K#
|
||
#.#.#.#.###.#T#
|
||
#.#.........#.#
|
||
#.#.#.#.###.#.#
|
||
#KT...#......E#
|
||
###############
|
||
```
|