Making whodunnit game like sleuth but in 3d

What is the best way to create random and different scenarios for a game like sleuth?
As an investigator, the player must solve the murder mystery by examining the estate and talking to its occupants. The player can move the character and interact with persons and objects. To win the game, the player must accurately identify the murder weapon, room the murder took place, and the murderer.
I want to make a different experience for players every time they run the game. Depending on the target and enemy, they will see different dialogs. As a result, the players don’t know who is enemy at the beginning of the game, and they should learn that through dialogs with other NPCs. As an example:
scenario 1: Dialog =A, Target =A, Enemy= Person1
scenario 2: Dialog =B, Target =A, Enemy= Person1
scenario 3: Dialog =B, Target =C, Enemy= Person4
scenario 4: Dialog =c, Target =A, Enemy= Person2

Hi MemoryHunter

This is a big question that I don’t think will get a detailed enough answer here. What you are discussing is very achievable all you need to do is randomize the settings at the point you start the game, this is a very common in game development.

What is more complicated is how you implement this. You will need to design and logic and code it out accordingly and then get it to tie in with the rest of the game.

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!