Hey there @memoryhunter5015! The design paradigm for who done it’s is the same as Madlibs, clue, or any procedural story. You must first identify your elements and how to make them generics, then for juice, later you’ll want to make the generics have modifier and things of that nature.
You need inputs, actions, then outputs.
Inputs would be: Murderer, Weapon, Target, Enemy(?), Civilians
Actions: Kill, Leave Clue, Leave weapon, Change room, Solve murder
Outputs: Dialogue, Find clue
Inputs are data that is like the Nouns of Madlibs: They are immutable once selected and your logic just references these as the subjects of the story.
Actions are iterating on that data. ie taking Colonel mustard, moving him through the kitchen, to kill his target in the dining room with a knife, leaving a clue (bloody footprint or something), then changing rooms. These are series of actions that define your story. They are basically verbs, but aren’t exclusively. These will generate as things go on in steps. Certain actions have a chance to make others happen and also generate outputs later.
Outputs are just the reaction to these actions. Basically how the player gets information.
Example: Player talks to someone who saw Mustard leaving the kitchen at a specific time and the player found a clue in the same area that corroborates it.
These are just the basics, after that you need to add spice like red herrings (false clues that you can debunk but aren’t obviously false), variations, etc.
The design itself is pretty freeform in most cases. Go nuts with it! You might spawn a new subgenre of clue game!