Add ten new games (18 in total) and the engine features they need. Story: Dead Air, The Masquerade at Montague House, The Kalahari Expedition, The Alchemist's Vault, Submerged: Deep Lab Nereid, The Kestrel Bank Job. Games can now set their own hint penalty and a hard time limit, shown as a countdown; running out ends the game with the fail ending. Defuse: Tick Tock: Overtime. Manuals are now rulesets, so each game has its own solver. Adds indicator lights, per-level strike limits, and the Passwords, Morse Light and Say It Back modules. Sync: In Sync: Deep Cuts. Adds telepathy (typed word) and ranking rounds, and a per-round bar for the key. Labyrinth: The Drowned Catacombs and The Mirror Maze. Adds one-way gates, a relative (no compass) Explorer, a mirrored Navigator map, and mazes with a lantern count other than three. Validation now rejects a maze where a gate can leave the Explorer stuck. Difficulty runs from 1 to 5. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
423 lines
18 KiB
YAML
423 lines
18 KiB
YAML
id: kalahari-expedition
|
||
engine: story
|
||
category: murder-mystery
|
||
title: The Kalahari Expedition
|
||
tagline: 1931. A diamond find. Two bodies in the sand. Nobody leaves until the truck comes back.
|
||
estimatedMinutes: 60
|
||
difficulty: 5
|
||
players: { min: 2, max: 2 }
|
||
theme: { primary: "#b5651d", accent: "#f4d58d", background: "#140d06", headingFont: "Playfair Display" }
|
||
rules:
|
||
hintPenaltySeconds: 240
|
||
timeLimitMinutes: 75
|
||
roles:
|
||
A:
|
||
name: The Magistrate
|
||
blurb: Sent from Upington with the post truck. You have the medical notes, the photographs, and the dead man's papers.
|
||
B:
|
||
name: The Camp Clerk
|
||
blurb: You keep the expedition's books. Rotas, inventories, maps, and every rumour around the fire.
|
||
intro: |
|
||
**The southern Kalahari, March 1931.**
|
||
|
||
Professor Edwin Marlowe's expedition has been digging for six weeks. Two weeks ago, the sponsor,
|
||
Felix Dunmore, announced a find that made headlines in London: **diamonds**, lying in the sand.
|
||
|
||
Three nights ago, Marlowe was found dead at the bottom of the excavation pit.
|
||
Last night, the camp cook, **Samuel Brink**, was found dead by the water barrels. "A snake," they say.
|
||
|
||
The post truck won't be back for days. Someone in this camp has killed twice.
|
||
|
||
☠️ *Nightmare case. One accusation. No second chances. The clock is running.*
|
||
|
||
suspects:
|
||
- id: helena
|
||
name: Dr Helena Marlowe
|
||
role: Botanist, the professor's wife
|
||
description: Calm, clinical, and inheriting everything. Acted as camp doctor.
|
||
- id: reyes
|
||
name: Captain Arthur Reyes
|
||
role: Guide and quartermaster
|
||
description: Ex-army. Ran the camp with a sergeant's eye. Smokes a pipe.
|
||
- id: dunmore
|
||
name: Mr Felix Dunmore
|
||
role: Sponsor
|
||
description: Financier. His Dunmore Kalahari Diamond Company shares have tripled since the find.
|
||
- id: bell
|
||
name: Miss Clara Bell
|
||
role: Photographer and journalist
|
||
description: Sent by a London paper. Up all night photographing the stars.
|
||
- id: kessler
|
||
name: Dr Otto Kessler
|
||
role: Geologist
|
||
description: Marlowe's old rival. Said loudly at dinner that "the find makes no geological sense."
|
||
- id: pienaar
|
||
name: Jan Pienaar
|
||
role: Driver and mechanic
|
||
description: Keeps the two trucks alive. Quiet. Noticed things.
|
||
|
||
chapters:
|
||
- id: ch1
|
||
title: Star Trails
|
||
narrative: |
|
||
Nobody saw Marlowe leave camp. But Clara Bell left her camera open to the sky all night,
|
||
and the dig site is in the corner of her photograph.
|
||
clues:
|
||
A:
|
||
- id: a1-photo
|
||
title: Clara's long-exposure photograph
|
||
type: photo
|
||
body: |
|
||
*The night sky drawn into curved white arcs around the south celestial pole.
|
||
In the bottom corner, the dig. A small orange streak shows a lantern there.
|
||
Measured against the star arcs, the lantern streak **begins 60°** into the arc and **ends 75°** in.*
|
||
- id: a1-medical
|
||
title: Dr Helena Marlowe's notes on her husband
|
||
type: report
|
||
body: |
|
||
Skull fracture, back of the head. Sand in the wound, but **no sand in the mouth or nose**.
|
||
He did not breathe after he fell. He was dead **before** he went into the pit.
|
||
B:
|
||
- id: b1-photolog
|
||
title: Clara's photo log
|
||
type: log
|
||
body: |
|
||
Plate 14 · Star trails, camera facing south.
|
||
Shutter **opened 22:00**. Closed 05:00.
|
||
*(Note to self: the sky turns **15° every hour**, so a 7-hour plate gives 105° arcs.)*
|
||
- id: b1-clara
|
||
title: Clara's statement (given privately to you)
|
||
type: transcript
|
||
body: |
|
||
"Arthur, Captain Reyes, sat with me by the camera from ten until four. We were... talking.
|
||
Please don't put that in the official report. My editor would have a fit."
|
||
lock:
|
||
id: lock-lantern
|
||
prompt: At what time did the lantern at the dig light up?
|
||
inputType: code
|
||
format: "HH:MM"
|
||
answers: ["0200", "200", "200AM"]
|
||
hints:
|
||
- The star arcs grow at a steady rate from the moment the shutter opened.
|
||
- 60° at 15° per hour is 4 hours.
|
||
- 22:00 plus 4 hours = 02:00. (It went out at 03:00.)
|
||
successText: |
|
||
**02:00.** Someone was at the dig with a lantern from 02:00 to 03:00.
|
||
Marlowe was killed then, before he was put in the pit.
|
||
keyName: Starlight Key
|
||
|
||
- id: ch2
|
||
title: Footprints
|
||
narrative: |
|
||
The wind dropped that night. Two sets of prints lead to the pit. One is Marlowe's (size 9, hobnail).
|
||
The other set leads there and back again.
|
||
clues:
|
||
A:
|
||
- id: a2-sketch
|
||
title: Police sketch of the second set of prints
|
||
type: diagram
|
||
body: |
|
||
```
|
||
Print length (heel to toe): 31.5 cm
|
||
Tread pattern: >>>> chevron
|
||
Stride: even, about 78 cm. No limp.
|
||
```
|
||
*Note: in loose sand, a print spreads about **1 cm longer** than the sole that made it.*
|
||
B:
|
||
- id: b2-boots
|
||
title: Quartermaster's boot inventory
|
||
type: table
|
||
body: |
|
||
| Person | UK size | Tread |
|
||
|-----------------|---------|-------|
|
||
| Prof. Marlowe | 9 | hobnail |
|
||
| Dr H. Marlowe | 5 | smooth |
|
||
| Capt. Reyes | 11 | chevron (army issue) |
|
||
| Mr Dunmore | 11 | chevron ("insisted on the same as the Captain's") |
|
||
| Miss Bell | 6 | smooth |
|
||
| Dr Kessler | 11 | hobnail |
|
||
| Mr Pienaar | 10 | chevron |
|
||
| Samuel Brink | 8 | smooth |
|
||
- id: b2-sizes
|
||
title: Bootmaker's size card (sole length)
|
||
type: table
|
||
body: |
|
||
| UK size | Sole length |
|
||
|---------|-------------|
|
||
| 8 | 27.5 cm |
|
||
| 9 | 28.5 cm |
|
||
| 10 | 29.5 cm |
|
||
| 11 | 30.5 cm |
|
||
| 12 | 31.5 cm |
|
||
lock:
|
||
id: lock-boot
|
||
prompt: What size boot made the second set of prints?
|
||
inputType: code
|
||
format: UK size
|
||
answers: ["11"]
|
||
hints:
|
||
- Don't read the print length straight off the size card. Sand changes it.
|
||
- The sole is about 1 cm shorter than the print, so 30.5 cm.
|
||
- 30.5 cm is a size 11.
|
||
successText: |
|
||
**Size 11, chevron tread, even stride.** Only two people in camp own that boot.
|
||
Check the inventory again. And remember who has an alibi from ten until four.
|
||
keyName: Boot Key
|
||
|
||
- id: ch3
|
||
title: The Watch Rota
|
||
narrative: |
|
||
The camp keeps a fire watch every night. Whoever was on watch at 02:00 might have seen the lantern leave.
|
||
clues:
|
||
A:
|
||
- id: a3-rule
|
||
title: Captain Reyes' standing orders
|
||
type: document
|
||
body: |
|
||
**Fire watch.** Two-hour shifts: 20:00, 22:00, 00:00, 02:00, 04:00.
|
||
Watch passes through the six watchkeepers in **alphabetical order of surname**, wrapping round.
|
||
Each night, the **first shift** starts with the **next person** after the one who started the night before.
|
||
- id: a3-samuel
|
||
title: Dr Helena Marlowe on Samuel's death
|
||
type: report
|
||
body: |
|
||
Two puncture marks on the ankle, **4 cm apart**, perfectly parallel.
|
||
A puff adder's fangs are under 1.5 cm apart. Whatever this was, it wasn't a snake.
|
||
Traces of a sedative in his coffee cup.
|
||
B:
|
||
- id: b3-roster
|
||
title: Watchkeepers and the first night
|
||
type: log
|
||
body: |
|
||
Watchkeepers: **Reyes, Bell, Dunmore, Kessler, H. Marlowe, Pienaar**
|
||
(the Professor and the cook were excused).
|
||
**Night 1:** first watch taken by Capt. Reyes (he drew the short straw).
|
||
Marlowe died on **Night 3**.
|
||
lock:
|
||
id: lock-watch
|
||
prompt: Who was on fire watch at 02:00 on the night Marlowe died?
|
||
inputType: choice
|
||
options:
|
||
- { id: helena, label: Dr Helena Marlowe }
|
||
- { id: reyes, label: Captain Arthur Reyes }
|
||
- { id: dunmore, label: Mr Felix Dunmore }
|
||
- { id: bell, label: Miss Clara Bell }
|
||
- { id: kessler, label: Dr Otto Kessler }
|
||
- { id: pienaar, label: Jan Pienaar }
|
||
answers: ["pienaar"]
|
||
hints:
|
||
- Put the six watchkeepers in alphabetical order by surname first.
|
||
- "Order: Bell, Dunmore, Kessler, Marlowe, Pienaar, Reyes. Night 1 starts with Reyes, Night 2 with Bell, Night 3 with Dunmore."
|
||
- "Night 3: Dunmore 20:00, Kessler 22:00, Marlowe 00:00, Pienaar 02:00."
|
||
successText: |
|
||
**Jan Pienaar.** He tells you:
|
||
*"Ten past two, someone walked out to the dig with a lantern. Tall, too far to see a face.
|
||
Came back around five past three and went into the **north row** of tents. Samuel was up too,
|
||
brought me coffee at half two. He said, 'I know who that is.' I told him to leave it."*
|
||
North row tents: **Dunmore, Kessler, Reyes.**
|
||
keyName: Firewatch Key
|
||
|
||
- id: ch4
|
||
title: Samuel's Note
|
||
narrative: |
|
||
In Samuel's recipe tin: a scrap of paper in his careful capitals. It's nonsense. On purpose.
|
||
clues:
|
||
A:
|
||
- id: a4-note
|
||
title: Note from Samuel's recipe tin
|
||
type: note
|
||
body: |
|
||
## RS XRMPVSI TN TSDJ XUSUS
|
||
|
||
*On the back: "Prof taught me the secret way. My word goes under the letters,
|
||
over and over. Count back by each letter of my word: A is 0, B is 1, C is 2..."*
|
||
- id: a4-alphabet
|
||
title: Alphabet strip
|
||
type: diagram
|
||
body: |
|
||
```
|
||
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
|
||
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
||
```
|
||
B:
|
||
- id: b4-samuel
|
||
title: What everyone knew about Samuel
|
||
type: note
|
||
body: |
|
||
Samuel greeted every single person, every single morning, with the same word, and painted it
|
||
on his enamel mug: **KOFFIE**. "Everything good starts with it," he'd say.
|
||
- id: b4-smokers
|
||
title: Camp stores, tobacco issued
|
||
type: table
|
||
body: |
|
||
| Person | Tobacco |
|
||
|--------------|---------|
|
||
| Capt. Reyes | Pipe tobacco, 2 tins |
|
||
| Mr Dunmore | Pipe tobacco, 3 tins (Dutch cherry) |
|
||
| Dr Kessler | None ("gave up in '29, doctor's orders") |
|
||
| Miss Bell | Cigarettes |
|
||
| Mr Pienaar | Cigarettes |
|
||
lock:
|
||
id: lock-samuel
|
||
prompt: What did Samuel's note say?
|
||
inputType: text
|
||
format: The message (5 words)
|
||
answers: ["HESMELLEDOFPIPESMOKE"]
|
||
hints:
|
||
- The key word is Samuel's word, KOFFIE, repeated under the message and skipping spaces.
|
||
- "R − K(10) = H. S − O(14) = E. X − F(5) = S."
|
||
- "The message: HE SMELLED OF PIPE SMOKE."
|
||
successText: |
|
||
**"HE SMELLED OF PIPE SMOKE."** The figure at the dig, returning to the north row, smelled of a pipe.
|
||
Samuel knew who, and two nights later he was dead.
|
||
keyName: Coffee Tin Key
|
||
|
||
- id: ch5
|
||
title: The Diamonds
|
||
narrative: |
|
||
Dr Kessler said the find "made no geological sense." Marlowe sent three stones to a gemologist
|
||
in Cape Town. The reply arrived in the post bag the day after he died. Nobody had opened it.
|
||
clues:
|
||
A:
|
||
- id: a5-gem
|
||
title: Gemologist's report
|
||
type: report
|
||
body: |
|
||
The three stones are genuine diamonds. However:
|
||
- They are **sharp-edged octahedra**. Diamonds carried by rivers into the desert sand
|
||
are always **water-worn and rounded**. These have never been near water.
|
||
- Their trace-element profile matches **reference sample K-3** in our collection exactly.
|
||
|
||
*Conclusion: these stones were not found where you say they were.*
|
||
B:
|
||
- id: b5-reference
|
||
title: Reference samples (Cape Town Gem Society)
|
||
type: table
|
||
body: |
|
||
| Sample | Source mine |
|
||
|--------|-------------|
|
||
| K-1 | Jagersfontein |
|
||
| K-2 | Koffiefontein |
|
||
| K-3 | **Kimberley**, the Big Hole |
|
||
| K-4 | Premier Mine |
|
||
- id: b5-prospectus
|
||
title: Dunmore Kalahari Diamond Co. prospectus
|
||
type: document
|
||
body: |
|
||
*"Alluvial diamonds, discovered personally by our chairman **Mr F. Dunmore** at Site 7.
|
||
Shares available now at a very favourable price."*
|
||
lock:
|
||
id: lock-mine
|
||
prompt: Where did the "Kalahari" diamonds really come from?
|
||
inputType: text
|
||
format: One word
|
||
answers: ["KIMBERLEY", "KIMBERLY", "BIGHOLE", "THEBIGHOLE", "KIMBERLEYBIGHOLE"]
|
||
hints:
|
||
- The report gives a sample code. The clerk has the codes.
|
||
- Sample K-3.
|
||
- Kimberley.
|
||
successText: |
|
||
**Kimberley.** Bought stones, scattered in the sand to look like a find.
|
||
The "discovery" was a fraud, and the man who found them personally was selling the shares.
|
||
keyName: Diamond Key
|
||
|
||
- id: ch6
|
||
title: The Unsent Telegram
|
||
narrative: |
|
||
Marlowe's last act was a telegram he never got to send. Like Samuel, he didn't trust plain words.
|
||
clues:
|
||
A:
|
||
- id: a6-telegram
|
||
title: Marlowe's draft telegram
|
||
type: letter
|
||
body: |
|
||
```
|
||
TO: SOUTH AFRICAN POLICE, UPINGTON
|
||
1.4 3.3 3.9 5.4 7.1 6.2 5.2 4.5 6.7
|
||
```
|
||
*Pencilled underneath: "Line, then word. The rules we all signed."*
|
||
B:
|
||
- id: b6-handbook
|
||
title: Expedition Handbook, Rules of Camp (page 1)
|
||
type: document
|
||
body: |
|
||
1. Every member of the expedition shall carry water at all times.
|
||
2. The camp fire is never to be left without a guard after dark.
|
||
3. Report any find to the leader before it is moved or cleaned.
|
||
4. No stone is to be called a diamond until it has been tested.
|
||
5. Samples must be salted away in sealed tins, labelled and dated.
|
||
6. The police at Upington must be informed of any death in camp.
|
||
7. Stop all digging at once if the walls of a trench show cracks.
|
||
8. A find that seems too good to be true usually is.
|
||
lock:
|
||
id: lock-telegram
|
||
prompt: What word in Marlowe's telegram explains everything?
|
||
inputType: text
|
||
format: One word
|
||
answers: ["SALTED"]
|
||
hints:
|
||
- "1.4 means line 1, word 4."
|
||
- "The telegram reads: THE FIND IS ___ STOP POLICE MUST BE INFORMED."
|
||
- Line 5, word 4 is "salted". A "salted" mine is one where someone has planted stones to fake a find.
|
||
successText: |
|
||
**"THE FIND IS SALTED. STOP. POLICE MUST BE INFORMED."**
|
||
Marlowe knew. He wrote this the night he died. Someone made sure it never left camp.
|
||
keyName: Telegraph Key
|
||
|
||
finale:
|
||
type: accusation
|
||
prompt: The post truck's dust is on the horizon. One accusation. Get every part right.
|
||
maxAttempts: 1
|
||
questions:
|
||
- id: who
|
||
label: Who killed Professor Marlowe?
|
||
options:
|
||
- { id: helena, label: Dr Helena Marlowe }
|
||
- { id: reyes, label: Captain Arthur Reyes }
|
||
- { id: dunmore, label: Mr Felix Dunmore }
|
||
- { id: bell, label: Miss Clara Bell }
|
||
- { id: kessler, label: Dr Otto Kessler }
|
||
- { id: pienaar, label: Jan Pienaar }
|
||
answer: dunmore
|
||
- id: samuel
|
||
label: What happened to Samuel?
|
||
options:
|
||
- { id: snake, label: An accidental puff adder bite }
|
||
- { id: same, label: Drugged and killed by the same killer to silence him }
|
||
- { id: other, label: Killed by a second, different killer }
|
||
- { id: illness, label: Heart failure from the heat }
|
||
answer: same
|
||
- id: how
|
||
label: How did Marlowe die?
|
||
options:
|
||
- { id: fall, label: He fell into the pit in the dark }
|
||
- { id: struck, label: Lured to the dig at 02:00, struck on the head, then put in the pit }
|
||
- { id: poison, label: Poisoned at dinner, found dead at the pit }
|
||
- { id: shot, label: Shot with the Captain's rifle }
|
||
answer: struck
|
||
- id: why
|
||
label: Why?
|
||
options:
|
||
- { id: inherit, label: To inherit his estate }
|
||
- { id: rival, label: Professional jealousy over the find }
|
||
- { id: fraud, label: Marlowe discovered the diamond find was salted and was going to the police }
|
||
- { id: affair, label: A love affair gone wrong }
|
||
answer: fraud
|
||
successEnding: |
|
||
Dunmore lights his pipe with steady hands. Dutch cherry. Samuel was right.
|
||
|
||
"Do you know what those shares are worth? Do you know what I'd have lost?"
|
||
|
||
He scattered Kimberley stones at Site 7 and "discovered" them himself. When Marlowe found out,
|
||
Dunmore asked him to the dig at two in the morning "to explain", struck him with a survey pole,
|
||
and rolled him into the pit. He wore the same boots as the Captain on purpose.
|
||
When Samuel let slip that he knew, Dunmore drugged his coffee and faked a snakebite.
|
||
|
||
**Case closed.** The post truck takes one extra passenger back to Upington. 🏜️🔑
|
||
failEnding: |
|
||
The truck leaves with the wrong person in handcuffs. Dunmore's shares hit a record high the next month.
|
||
reveal: |
|
||
**Felix Dunmore** lured Marlowe to the dig at **02:00**, **struck him and put him in the pit**,
|
||
then **drugged and killed Samuel** to silence him, all to hide that his diamond find was **salted**
|
||
with stones from Kimberley.
|