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>
244 lines
9.6 KiB
YAML
244 lines
9.6 KiB
YAML
id: death-at-the-braai
|
|
engine: story
|
|
category: murder-mystery
|
|
title: Death at the Braai
|
|
tagline: A Saturday braai in Pretoria. Boerewors, brandy, and one guest who never got dessert.
|
|
estimatedMinutes: 20
|
|
difficulty: 2
|
|
players: { min: 2, max: 2 }
|
|
theme: { primary: "#a23b1d", accent: "#f2a541", background: "#160b07", headingFont: "Playfair Display" }
|
|
roles:
|
|
A:
|
|
name: The Detective
|
|
blurb: Off duty, but you were invited. You have the police notes and everyone's statements.
|
|
B:
|
|
name: The Neighbour
|
|
blurb: You live next door and see everything over the wall. Photos, gossip, and the garden.
|
|
intro: |
|
|
**Waterkloof, Pretoria. Saturday, 18:20.**
|
|
|
|
Gerrit Botha throws the best braai in the street. Tonight: boerewors, lamb sosaties, and his famous
|
|
"never-fail" fire. Then, halfway through dishing up, Gerrit grabs his chest and goes down by the braai stand.
|
|
|
|
The paramedics can't save him. And the doctor says it wasn't his heart. Not on its own, anyway.
|
|
|
|
suspects:
|
|
- id: marlene
|
|
name: Marlene Botha
|
|
role: Gerrit's wife
|
|
description: Hostess. Running between the kitchen and the salads all evening.
|
|
- id: dawie
|
|
name: Dawie van Wyk
|
|
role: Neighbour on the other side
|
|
description: Three-year feud with Gerrit over a boundary wall and a jacaranda.
|
|
- id: thandi
|
|
name: Thandi Mokoena
|
|
role: Business partner
|
|
description: Co-owns Botha & Mokoena Butchery with Gerrit. Does the books.
|
|
- id: riaan
|
|
name: Riaan Botha
|
|
role: Nephew
|
|
description: Twenty-four, broke, and suspiciously keen to help with the cooking.
|
|
- id: annelie
|
|
name: Annelie Smit
|
|
role: Marlene's sister
|
|
description: Never liked Gerrit. Says so often.
|
|
|
|
chapters:
|
|
- id: ch1
|
|
title: The Fire
|
|
narrative: |
|
|
Gerrit collapsed the moment he took the meat off the grid. When exactly was that?
|
|
clues:
|
|
A:
|
|
- id: a1-marlene
|
|
title: Marlene's statement
|
|
type: transcript
|
|
body: |
|
|
"Gerrit has rules. The meat goes on the **second the coals are ready**, not a minute later.
|
|
Sosaties and wors together, **exactly 20 minutes**. He took them off and then he just... fell."
|
|
B:
|
|
- id: b1-wall
|
|
title: What you saw over the wall
|
|
type: note
|
|
body: |
|
|
- Gerrit lit the fire at **17:10**. You checked your watch because the smoke came straight into your lounge, as usual.
|
|
- Gerrit always says his coals take **45 minutes** to be ready. He's never wrong. It's annoying.
|
|
lock:
|
|
id: lock-time
|
|
prompt: What time did Gerrit collapse?
|
|
inputType: code
|
|
format: "HH:MM"
|
|
answers: ["1815", "615", "615PM"]
|
|
hints:
|
|
- Work out when the coals were ready first.
|
|
- 17:10 plus 45 minutes is 17:55. Then the meat cooked for 20 minutes.
|
|
- 17:55 + 20 = 18:15.
|
|
successText: |
|
|
**18:15.** The meat was on the fire from 17:55 to 18:15. Whatever killed Gerrit
|
|
was eaten or drunk right at the end of that.
|
|
keyName: Tongs Key
|
|
|
|
- id: ch2
|
|
title: Who Turned the Meat?
|
|
narrative: |
|
|
Gerrit never leaves his fire. Except, it turns out, once tonight.
|
|
clues:
|
|
A:
|
|
- id: a2-riaan
|
|
title: Riaan's statement
|
|
type: transcript
|
|
body: |
|
|
"Oom Gerrit ran inside for ice at about six. Someone in the **Bulls apron** took over the tongs for him.
|
|
I didn't see who, I was carrying chairs. They swapped the sosaties around a bit, that's all I saw."
|
|
- id: a2-annelie
|
|
title: Annelie's statement
|
|
type: transcript
|
|
body: |
|
|
"I was in the kitchen with Marlene making the potato salad from half five until he fell. Ask her."
|
|
B:
|
|
- id: b2-photos
|
|
title: Your phone photos (timestamped)
|
|
type: photo
|
|
body: |
|
|
- *17:48:* Gerrit in his **Springbok** shirt, poking the coals.
|
|
- *17:50:* Thandi borrowing the **Bulls apron** from the hook "so I don't ruin my white dress".
|
|
- *17:58:* Dawie glaring at the jacaranda in his **Stormers** jersey, beer in hand.
|
|
- *18:01:* Someone at the braai in the Bulls apron, back to the camera.
|
|
lock:
|
|
id: lock-apron
|
|
prompt: Who was at the braai while Gerrit fetched ice?
|
|
inputType: choice
|
|
options:
|
|
- { id: marlene, label: Marlene Botha }
|
|
- { id: dawie, label: Dawie van Wyk }
|
|
- { id: thandi, label: Thandi Mokoena }
|
|
- { id: riaan, label: Riaan Botha }
|
|
- { id: annelie, label: Annelie Smit }
|
|
answers: ["thandi"]
|
|
hints:
|
|
- Riaan saw the apron, not the face. Who was wearing that apron?
|
|
- Check who borrowed the Bulls apron at 17:50.
|
|
- Thandi.
|
|
successText: |
|
|
**Thandi** was minding the fire at 18:00, in the Bulls apron, swapping sosaties around.
|
|
keyName: Apron Key
|
|
|
|
- id: ch3
|
|
title: The Sosatie Sticks
|
|
narrative: |
|
|
The paramedic found green leaves stuck to the bottom of Gerrit's plate. The lab rushed his sosatie.
|
|
clues:
|
|
A:
|
|
- id: a3-lab
|
|
title: Lab report
|
|
type: report
|
|
body: |
|
|
Poison: **oleandrin**, a heart toxin. Found **in the meat**, soaked in from the **skewer stick**,
|
|
not in any sauce or drink. Gerrit's skewer was a fresh green stick, not bamboo.
|
|
*Only the plant itself contains oleandrin.*
|
|
B:
|
|
- id: b3-garden
|
|
title: Your garden notes
|
|
type: note
|
|
body: |
|
|
- Gerrit's hedge by the gate is **oleander**: pink flowers, long thin leaves. Everyone in Pretoria
|
|
knows you never use oleander sticks for skewers. It's an old warning.
|
|
- This afternoon, a few **oleander branches** were freshly cut, stripped of leaves.
|
|
- All the other sosaties were on **bamboo** skewers from the shop.
|
|
lock:
|
|
id: lock-plant
|
|
prompt: What were the deadly skewers cut from?
|
|
inputType: text
|
|
format: One word
|
|
answers: ["OLEANDER", "OLEANDERS", "NERIUM", "NERIUMOLEANDER"]
|
|
hints:
|
|
- The lab names the poison. The neighbour knows the garden.
|
|
- Oleandrin comes from one plant.
|
|
- Oleander, from the hedge by the gate.
|
|
successText: |
|
|
**Oleander.** Someone made one special sosatie on an oleander stick and swapped it onto
|
|
Gerrit's side of the grid while he was getting ice.
|
|
keyName: Skewer Key
|
|
|
|
- id: ch4
|
|
title: Gerrit's Note
|
|
narrative: |
|
|
On Gerrit's phone, a note to himself from this morning. Just numbers. Marlene says he did that
|
|
"so nosy people can't read my business."
|
|
clues:
|
|
A:
|
|
- id: a4-phone
|
|
title: Gerrit's phone note
|
|
type: note
|
|
body: |
|
|
## 1·21·4·9·20 · 13·15·14·4·1·25
|
|
## 20·8·5 · 20·9·12·12 · 9·19 · 19·8·15·18·20
|
|
B:
|
|
- id: b4-gossip
|
|
title: What you know about the butchery
|
|
type: note
|
|
body: |
|
|
- Gerrit told you last week: *"A=1, B=2... my old army trick. Still works."*
|
|
- Thandi does all the books for Botha & Mokoena Butchery. Gerrit "can't read a spreadsheet to save his life."
|
|
- Riaan owes Gerrit R20,000. Dawie wants the jacaranda gone. Annelie just doesn't like him.
|
|
lock:
|
|
id: lock-note
|
|
prompt: What did Gerrit's note say?
|
|
inputType: text
|
|
format: The message
|
|
answers: ["AUDITMONDAYTHETILLISSHORT"]
|
|
hints:
|
|
- Each number is a letter. A=1, B=2, and so on.
|
|
- "1-21-4-9-20 = AUDIT."
|
|
- AUDIT MONDAY. THE TILL IS SHORT.
|
|
successText: |
|
|
**"AUDIT MONDAY. THE TILL IS SHORT."** Gerrit had found money missing from the butchery,
|
|
and he'd booked an audit. Only one person kept those books.
|
|
keyName: Phone Key
|
|
|
|
finale:
|
|
type: accusation
|
|
prompt: Make your accusation before the pudding goes cold.
|
|
maxAttempts: 2
|
|
questions:
|
|
- id: who
|
|
label: Who killed Gerrit?
|
|
options:
|
|
- { id: marlene, label: Marlene Botha }
|
|
- { id: dawie, label: Dawie van Wyk }
|
|
- { id: thandi, label: Thandi Mokoena }
|
|
- { id: riaan, label: Riaan Botha }
|
|
- { id: annelie, label: Annelie Smit }
|
|
answer: thandi
|
|
- id: how
|
|
label: How?
|
|
options:
|
|
- { id: brandy, label: Poison in his brandy and Coke }
|
|
- { id: skewer, label: "A sosatie on an oleander stick, swapped onto his side while he fetched ice" }
|
|
- { id: salad, label: Poison in the potato salad }
|
|
- { id: gas, label: Fumes from a tampered gas bottle }
|
|
answer: skewer
|
|
- id: why
|
|
label: Why?
|
|
options:
|
|
- { id: wall, label: The boundary wall feud }
|
|
- { id: debt, label: "To get out of a R20,000 debt" }
|
|
- { id: till, label: To stop the audit that would expose her stealing from the butchery }
|
|
- { id: sister, label: Family resentment }
|
|
answer: till
|
|
successEnding: |
|
|
Thandi takes off the Bulls apron and folds it, very neatly.
|
|
|
|
"It was going to be paid back. All of it. He didn't have to call in auditors like I was a criminal."
|
|
|
|
She cut the oleander that afternoon, threaded one sosatie on it at home, and slipped it onto
|
|
Gerrit's side of the grid while he fetched ice.
|
|
|
|
**Case closed.** Somebody else will have to braai next Saturday. 🔥🔑
|
|
failEnding: |
|
|
The wrong person is arrested. Monday's audit never happens, and the butchery's money keeps disappearing.
|
|
reveal: |
|
|
**Thandi Mokoena** swapped a **sosatie on an oleander stick** onto Gerrit's side while he fetched ice,
|
|
to stop the **audit that would expose her stealing from the butchery**.
|