Damning Details home page

Write your own case

๐ŸŽญ
Start from a free DLC case
Download Curtain Call at the Quillfield Playhouse, then in the game open Start New Case โ†’ Extras, choose Import and pick the file. Play it, then edit it to turn it into your own mystery.
Download

You can write your own murder mystery for Damning Details and share it with other players. You don't need to know how to program. A case is one text file that holds your story, its people, places and clues. Aftermath stories, pictures and music are optional extras.

This guide shows you how to plan a case, walks through a complete example you can copy, and explains every part of the file. If an AI assistant helps you, give it this guide too.

How a case works

When a player imports your case, the game checks it. If anything is wrong, the case is refused with a single message that doesn't say why, so use the checklist below before you share.

Plan your story first

Write down what really happened before you write a single clue. A good mystery is a true story that the player uncovers piece by piece.

  1. The crime. Who died, where, how and when?
  2. The killer. To win, the player must prove three things about the killer:
    • Means: how they did it, such as the weapon.
    • Motive: why they did it.
    • Opportunity: when they had the chance, usually by breaking their alibi.
  3. The suspects. Every suspect needs a secret that makes them look guilty. The innocent ones' secrets become your red herrings.
  4. The witnesses. Each witness saw or heard something useful.
  5. The places. Two to four places are plenty for a first case. Put each person somewhere they would naturally be.
  6. The timeline. List the events in order, with times. Check that everyone could be where you say, when you say.
  7. The discoveries. For every fact the player needs, decide how they learn it: a clue they find, something a person says, or a conclusion they work out by combining clues.

Keep your first case small: two or three suspects, one or two witnesses, and eight to twelve clues.

Make it fair

How clues fit together

The player collects clues in three ways:

Clues can depend on each other:

Every clue has a role in the solution:

The example case

Curtain Call at the Quillfield Playhouse is a short case you can copy and change. This section spoils it.

Victor Hale, a theatre director, is found dead on the stage after a dress rehearsal. Three people are in the building:

Here is how its clues connect:

MEANS        prop trunk โ†’ Bloodstained Stage Weight

MOTIVE       Victor's body โ†’ Desk Key
             Desk Key opens the desk drawer โ†’ Understudy's Contract

OPPORTUNITY  Question Ada โ†’ Ada's Account
             Show Ada the Bloodstained Stage Weight and Ada's Account โ†’ Ada's Sighting
             Question Iris โ†’ Iris's Account
             Deduce from Iris's Account and Ada's Sighting โ†’ Iris's Alibi Contradiction

RED HERRING  cash box โ†’ Box Office Takings Book
             Show Simon the Box Office Takings Book โ†’ Simon's Explanation
ClueTypeRoleProves
Desk KeyPhysical, on the bodyPrerequisiteNothing; it opens the drawer
Bloodstained Stage WeightPhysicalCriticalIris's means
Understudy's ContractPhysical, lockedCriticalIris's motive
Ada's AccountTestimonyPrerequisiteThe time of the blow
Ada's SightingTestimony, after showing cluesPrerequisiteLeads to the deduction
Iris's AccountTestimonyPrerequisiteIris's claim that she last saw Victor at 22:00 and stayed in her Dressing Room until 22:20
Iris's Alibi ContradictionDeductionCriticalIris's opportunity
Box Office Takings BookPhysicalMisleadingSimon's apparent motive
Simon's ExplanationTestimony, after showing a clueMisleadingSimon's side of the story

The quickest solve takes ten turns. The example also has optional aftermath stories, some of which depend on what the player found. It has no pictures or music, which are optional too.

To play it, download quillfield-playhouse.zip and import it. To read its file, open mission.en.json.

To start your own case from it, unzip it, rename the folder, change the ID to the new folder name, and edit mission.en.json. On Windows, Extract All puts the case inside a second folder of the same name: use the inner one, the folder that holds mission.en.json.

Reading and writing JSON

What each part means

The file has two parts, as in the example: the opening brief, NARRATIVE, at the top, and GAME_BIBLE, which holds everything else. Every part is required unless it's marked optional. You can leave an optional part out, or set it to null.

The case card and opening

FieldWhat it's for
NARRATIVE (at the top)The opening brief the player reads before the investigation begins. Name the victim and everyone the player can question, say where to find them, and explain why the killer must be one of them.
IDYour case's unique name. It must match the folder name exactly.
DIFFICULTY"easy" or "hard", shown on the case card.
STORY_CONTEXTThe one-sentence description on the case card. Set the scene without naming the victim, anyone's role or where anyone is, because the briefing puzzle may ask the player to work these out.
CRIME_SCENE โ†’ NAMEThe case's title.
START_PLAYER_LOCATIONThe place where the investigation starts. Its picture also appears on the case card.
BRIEFING_PUZZLE_TYPEOptional. Before the brief, the player can solve a puzzle about the cast: "victim" (find the victim) or "location" (place everyone). Leave it out and the game picks one.

Places and objects

CRIME_SCENE โ†’ LOCATIONS lists the places. Each place has two texts in NARRATIVE: first, for the first visit, and again, for later visits. Mention the people waiting there and the things worth examining.

LOCATION_OBJECTS lists ordinary things to examine in each place, with first and again texts. They hold no clues, but they add atmosphere and can unlock an aftermath story. They're required: every place needs one to three of them. Things that hold clues, such as the prop trunk, aren't listed here: naming one as a clue's CONTAINER is enough.

Name places and things so they read well after "the": "Go to the Stage", "Examine the prop trunk". Avoid names like "Room 4" or "Simon's Room".

People

SUSPECTS and WITNESSES list the people the player can question.

FieldWhat it's for
NAME, ROLEWho they are, such as "Ada Finch", "Usher".
LOCATIONWhere the player finds them. People stay in one place.
BIOA short, public introduction, shown when the player opens a conversation.
NARRATIVE โ†’ questionTheir answer to "What can you tell me?".
NARRATIVE โ†’ ask_alibiSuspects only: their answer to "Where were you at the time?".
PROPOSED_ALIBISuspects only: a one-line summary of that answer, shown in the case files once the player asks.
SECRETSuspects only: your note of what they're hiding. Players don't see it, but it's required.
IS_KILLERSuspects only: true for exactly one suspect, false for the rest.

The answer to "Where were you at the time?" isn't a clue, so the player can't show it to anyone or use it in a deduction. Put a claim the player must break in a testimony clue instead, like Iris's Account in the example.

The VICTIM has NAME, ROLE, LOCATION and BIO, plus:

Write the victim's BIO in the present tense, as if they were alive, because the briefing puzzle shows it among the others.

Clues

EVIDENCE_AVAILABLE lists every clue. Each clue starts with a short key of your choice, such as "desk_key", which other parts of the file use to refer to it.

FieldWhat it's for
NAMEThe clue's name, as the player sees it. Keep it neutral: "Iris's Account", not "Iris's Lie".
TYPE"physical", "testimony" or "deduction".
LOCATIONThe place where it's found.
CONTAINERWhere in that place: the thing to examine, such as "prop trunk"; the victim's name, in the victim's place, for something found on the body; or a person's name for something they say or hand over.
NARRATIVEWhat the player reads on finding it.
DESCRIPTIONA short, plain summary for the player's case files.
RELEVANCE"critical", "misleading" or "prerequisite", as explained above.
CATEGORYWhat the clue is about: "means" for means, "secret" for motive or "alibi" for opportunity.
POINTS_TOThe suspect the clue is about.
REQUIRESOptional. The keys of the clues the player needs first.
NARRATIVE_LOCKEDOptional. For a locked container: what the player reads when trying it before finding the opener. Without it, the container stays hidden until it can be opened.

Some fields depend on the clue's type:

The solution

KILLER_LOGIC holds your notes on the killer's MOTIVE, MEANS and OPPORTUNITY, which players don't see, and the NARRATIVE the player reads after a correct accusation: the detective's explanation and the killer's confession. All four are required.

CHRONOLOGY is your timeline of what really happened. Players don't see it, but it's required: it keeps your story straight, and it helps anyone, including an AI assistant, who works on your case.

The aftermath (optional)

After the case is solved, the player can read what became of everyone. Without AFTERMATH, the case ends after the confession. AFTERMATH holds groups of stories, each under a short name of your choice, such as "simon". From each group, the player reads the first story whose REQUIRES they've met. The example has three kinds of group:

REQUIRES can list clue keys, an ordinary object the player examined, written as ["Director's Office", "framed poster"], or a conversation the player had, written as ["Simon Pratt", "question"] or ["Simon Pratt", "ask_alibi"].

Each story needs a TITLE, unique within the case, and its NARRATIVE. REQUIRES is optional, and so is PORTRAITS, which lists the people whose pictures, or initials, appear above the title. A fallback must not mention a secret the player may have missed.

Pictures and music (optional)

A case plays fine without any. To add them, put the files in the case folder and name them in the file:

"MUSIC": {
  "INVESTIGATION": [
    {"INTRO": "music-backstage-intro.mp3", "LOOP": "music-backstage-loop.mp3", "OUTRO": "music-backstage-outro.mp3"}
  ],
  "AFTERMATH": [
    {"INTRO": "music-encore-intro.mp3", "LOOP": "music-encore-loop.mp3"}
  ]
}

Use only the file name, spelled exactly as in the folder. Share only pictures and music you have the right to share.

Writing tips

Checklist before you share

The game checks all of this when your case is imported.

The folder and file

People and places

Clues

Text

Aftermath and music, if you add them

Import, test and share

  1. Zip the folder. On Windows, right-click it and choose Compress to ZIP file, or Send to โ†’ Compressed (zipped) folder; on a Mac, right-click it and choose Compress. The zip must hold the folder itself, not just the files inside it, and only one case.
  2. In the game, choose Start New Case โ†’ Extras โ†’ Import and pick the zip.
  3. Play it through twice: once as quickly as you can, and once finding everything. Check that the text makes sense in different orders and, if you wrote an aftermath, that each story appears when it should.
  4. To change your case, edit the folder, zip it again, then Remove the case in Extras and import the new zip. Removing a case also deletes its saved progress if it's the case in progress.
  5. Share the zip with other players.

Working with an AI assistant

An AI assistant can turn your story notes into a case file, or check one you wrote. To get good results: