Files
two-keys/content/games/southern-star.yaml
T
joshuaandClaude Opus 5.5 62245ca67a Make game time estimates and difficulties realistic
Estimates were 2-8x longer than actual playthroughs. Base them on
recorded best times, rounded up to a multiple of 5 minutes, and drop
difficulties to 1-2 keys since no game warrants 3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 21:41:41 +02:00

324 lines
12 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: southern-star
engine: story
category: murder-mystery
title: Murder on the Southern Star
tagline: An overnight train through the Karoo. A diamond king. A long, cold night.
estimatedMinutes: 25
difficulty: 2
players: { min: 2, max: 2 }
theme: { primary: "#2e4a3a", accent: "#c9a227", background: "#0d1411", headingFont: "Playfair Display" }
roles:
A:
name: The Passenger Detective
blurb: You're travelling in carriage 5. You have the crew's notebooks and the passengers' papers.
B:
name: The Railway Inspector
blurb: You work for the line. You have the train plans, the timetable, and the platform reports.
intro: |
1936. The **Southern Star** sleeper leaves Cape Town for Johannesburg at 18:00.
Leather, brass, and a dining car that serves oysters in the middle of the desert.
At 06:30, the steward knocks on the Gold Suite with **Lord Henry Ashby's** morning tea.
No answer. The door is locked.
Ashby made his fortune in diamonds and his enemies in everything else.
The train won't stop until Kimberley. **You have until then.**
suspects:
- id: thomas
name: Thomas Webb
role: Ashby's valet
description: Served him for fifteen years. Knows every habit, every grudge.
- id: vera
name: Countess Vera Orlova
role: Travelling aristocrat
description: Glamorous, charming, dripping in diamonds. Dined with Ashby last night.
- id: hugo
name: Dr Hugo Brandt
role: Physician
description: Says he's travelling to a medical conference. Asks a lot of questions for a doctor.
- id: penny
name: Miss Penny Lowe
role: Governess
description: Travelling alone. Was seen crying in the dining car.
- id: abel
name: Abel Mokoena
role: Conductor
description: Twenty years on the line. Holds the master key box.
chapters:
- id: ch1
title: The Gold Suite
narrative: |
The Gold Suite is locked from the inside. The conductor's master key box has a
four-digit lock, and the conductor swears he "always works it out from the plans."
clues:
A:
- id: a1-conductor
title: Conductor's notebook (inside cover)
type: note
body: |
*Master box, my little rule so I never write it down:*
**carriage number × compartment number. Always four digits, pad with zeros at the front.**
B:
- id: b1-plan
title: Southern Star, first-class plan
type: map
body: |
```
CARRIAGE 4 | Comp 10 Orlova | Comp 11 Lowe | Comp 12 (empty)
CARRIAGE 5 | Comp 17 Brandt | Comp 18 (you) | Comp 19 Webb
CARRIAGE 6 | Comp 23 ★ GOLD SUITE ★ (Lord Ashby) | Comp 24 Linen
```
lock:
id: lock-master
prompt: Open the master key box.
inputType: code
format: 4 digits
answers: ["0138"]
hints:
- You need two numbers from the train plan and one rule from the conductor.
- Gold Suite is carriage 6, compartment 23.
- 6 × 23 = 138, padded to four digits.
successText: |
The box opens. The conductor's master key turns the lock.
Lord Ashby lies on the floor of the Gold Suite. His gold pocket watch, shattered, lies beside him.
keyName: Master Key
- id: ch2
title: The Stopped Watch
narrative: |
The pocket watch smashed when he fell. Its hands are frozen.
An obvious clue. Maybe too obvious.
clues:
A:
- id: a2-watch
title: Ashby's broken pocket watch
type: photo
body: |
*A gold hunter watch, glass cracked. The hands are stopped at exactly **01:15**.
Engraved inside the lid: "Greenwich, always."*
- id: a2-valet
title: Statement of Thomas Webb, valet
type: transcript
body: |
"His Lordship never changed that watch from **Greenwich time**. Drove me mad.
He said a gentleman doesn't chase the sun. Out here it's always **two hours behind** the station clocks."
- id: a2-doctor
title: Dr Brandt's examination
type: report
body: |
Single small puncture wound at the base of the skull. Very thin, very deep.
Something like a long needle. Death almost instant.
B:
- id: b2-timetable
title: Southern Star timetable (local time)
type: table
body: |
| Station | Arrive | Depart |
|------------------|--------|--------|
| Cape Town | · | 18:00 |
| Worcester | 21:05 | 21:15 |
| Touws River | 23:40 | 23:50 |
| **Matjiesfontein** | **03:10** | **03:20** |
| Laingsburg | 04:05 | 04:10 |
| Kimberley | 13:30 | · |
- id: b2-steward
title: Night steward's report
type: report
body: |
Heard a heavy thump from carriage 6 while we stood at a platform.
Didn't think anything of it. Luggage falls all the time.
lock:
id: lock-tod
prompt: What was the real local time of the murder?
inputType: code
format: "HH:MM"
answers: ["0315", "315", "315AM"]
hints:
- The watch shows a time, but not local time.
- Greenwich is two hours behind local time here. Add two hours.
- 01:15 + 2 hours = 03:15, while the train was stopped at Matjiesfontein.
successText: |
**03:15 local time.** The train was standing at **Matjiesfontein** platform from 03:10 to 03:20.
That's when the thump was heard. Someone used those ten minutes.
keyName: Watch Key
- id: ch3
title: The Telegram
narrative: |
Tucked into Ashby's Bible: a telegram, collected at Worcester. No sender's name.
clues:
A:
- id: a3-telegram
title: Telegram, received Worcester 21:10
type: letter
body: |
```
HAVE THE DOCUMENTS READY STOP
USE THE SLEEPER NOT THE DAY COACH STOP
GIVE NOTHING TO THE COUNTESS STOP
ONLY CASH NO CHEQUES STOP
DESTROY THIS MESSAGE STOP
```
B:
- id: b3-ledger
title: Note in Ashby's ledger
type: note
body: |
*My private man never signs a telegram. He hides his name where every line begins.
Clever chap. Worth every penny.*
lock:
id: lock-telegram
prompt: Who sent the telegram?
inputType: text
format: A first name
answers: ["HUGO", "DRHUGO", "HUGOBRANDT", "DRHUGOBRANDT", "BRANDT"]
hints:
- The ledger tells you exactly where to look.
- Read the first letter of each line, top to bottom.
- H · U · G · O.
successText: |
**HUGO.** "Dr" Hugo Brandt isn't going to a conference. He's Ashby's **private investigator**.
And the telegram warned Ashby about one person by title: **the Countess**.
keyName: Telegram Key
- id: ch4
title: The Ten Minutes at Matjiesfontein
narrative: |
Everyone says they were asleep at 03:15. One of them is lying.
clues:
A:
- id: a4-corridor
title: Night steward's corridor watch
type: log
body: |
I sat at the **connecting door between carriages 4, 5 and 6** from 02:00 to 04:00.
**Nobody passed through the corridor.** I'd swear it on my mother.
- id: a4-luggage
title: Passenger luggage declarations
type: table
body: |
| Passenger | Notable items |
|----------------|---------------------------------------|
| Countess Orlova| Sable **fur coat**, fur hat, jewel case |
| Miss Lowe | Wool cardigan, two suitcases |
| Dr Brandt | Doctor's bag, camera |
| Mr Webb | Valet kit, uniform |
B:
- id: b4-porter
title: Matjiesfontein platform porter's report
type: report
body: |
03:12 · A lady in a **long fur coat** stepped down from **carriage 6** onto the platform.
03:18 · Same lady walked quickly along the platform and climbed back aboard at **carriage 4**.
She was holding her hat on with one hand. Her hatpin must have come loose.
Nobody else left the train.
lock:
id: lock-liar
prompt: Who lied about being asleep?
inputType: choice
options:
- { id: thomas, label: Thomas Webb }
- { id: vera, label: Countess Vera Orlova }
- { id: hugo, label: Dr Hugo Brandt }
- { id: penny, label: Miss Penny Lowe }
- { id: abel, label: Abel Mokoena }
answers: ["vera"]
hints:
- If nobody used the corridor, how did someone get from carriage 6 back to carriage 4?
- The porter saw a lady in a fur coat. Who packed a fur coat?
- Countess Orlova.
successText: |
**Countess Vera Orlova.** She walked the platform to dodge the steward in the corridor.
Carriage 4 is hers. Carriage 6 is the Gold Suite. And her "loose" hatpin is now missing from her hat.
keyName: Platform Key
- id: ch5
title: Ashby's Last Note
narrative: |
In the Gold Suite's writing desk: Ashby's notebook. One line of numbers, underlined twice.
clues:
A:
- id: a5-notebook
title: Ashby's notebook, last entry
type: note
body: |
*The "Countess". Her stones are paste. Ask the line, it knows:*
## V. = 3 · 7 · 8 · 4 · 2 · 8
*Confirm with Hugo at Kimberley. Then the police.*
B:
- id: b5-stops
title: Karoo branch stopping list (numbered)
type: document
body: |
1. Ashton
2. Elandsdrift
3. Fraserburg Road
4. Grootvlei
5. Klaarstroom
6. Matjiesfontein
7. Ottersrust
8. Rietbron
9. Touws River
lock:
id: lock-motive
prompt: What did Ashby discover Vera was?
inputType: text
format: One word
answers: ["FORGER", "AFORGER", "JEWELFORGER"]
hints:
- '"Ask the line": the numbers point at the railway stops.'
- Take the first letter of each numbered stop.
- 3=F, 7=O, 8=R, 4=G, 2=E, 8=R.
successText: |
**FORGER.** Ashby, the diamond king, saw it over dinner: the Countess's diamonds were fakes.
And so was the Countess. Vera Orlova had sold forged stones to half of Johannesburg society.
keyName: Diamond Key
finale:
type: accusation
prompt: Kimberley is in sight. Name the killer before the train stops.
maxAttempts: 2
questions:
- id: who
label: Who killed Lord Ashby?
options:
- { id: thomas, label: Thomas Webb }
- { id: vera, label: Countess Vera Orlova }
- { id: hugo, label: Dr Hugo Brandt }
- { id: penny, label: Miss Penny Lowe }
- { id: abel, label: Abel Mokoena }
answer: vera
- id: how
label: How?
options:
- { id: hatpin, label: Stabbed at the base of the skull with her hatpin }
- { id: poison, label: Poison in his nightcap }
- { id: strangled, label: Strangled with a silk scarf }
- { id: watch, label: Struck with his own pocket watch }
answer: hatpin
- id: why
label: Why?
options:
- { id: will, label: She was named in his will }
- { id: expose, label: He had found out she was a jewel forger and was going to the police }
- { id: love, label: He rejected her advances }
- { id: debt, label: She owed him money }
answer: expose
successEnding: |
The Countess laughs, then stops. "He looked at my necklace over the soup and *smiled*.
I knew that smile. I've seen it on jewellers."
At Matjiesfontein she stepped onto the platform, slipped into the Gold Suite from outside,
and drove her hatpin home while the train stood still. Ten minutes. Back in her bed by 03:20.
**Case closed.** The Southern Star rolls into Kimberley on time. 🚂🔑
failEnding: |
The Countess steps off at Kimberley, smiles at the police, and vanishes into the crowd.
reveal: |
**Countess Vera Orlova** stabbed Ashby with her **hatpin** during the Matjiesfontein stop,
because he'd discovered she was a **jewel forger** and was going to the police.