Personality
This is the fundamental aspect of the simulation agent. It defines who the agent is, and what it does. Its personality is based on the Big Five personality traits: Intellect, Conscientiousness, Extroversion, Agreeableness, and Stability. An example of how these traits affect an agent's behavior would be a highly intelligent agent framing another agent for murder, or a more extroverted agent interacting with other agents more so than an introverted agent. As you can see, six agents, each with their own unique personalities, could create a very interesting pool of suspects during game play.
Characteristics
The characteristics of an agent are not as important as the personality in the eye's of the simulation. Characteristics in this case include gender, hair color, whether they smoke or not, and attractiveness. This aspect of the agent is mostly for descriptive purposes, but I am toying with the idea that certain parts of the agent's characteristics will prove to serve as clues. For example, a blond hair and cigarette butt are found at the scene of the crime. The detective would deduce that the killer might have blond hair and/or smoke. He could use these characteristics to determine which agents are likely suspects.
Relationships
Relationships are the interactions between simulation agents. They are what determines whether one agent likes or dislikes another agent. Relationships also play a role in the simulation. For example, the brother of the killer agent is likely to lie for his brother, while another agent might blame an agent who he hates of murder. Relationship strength is based on the similarity of the two agents personalities. I believe by adding relationships to the simulation, I will create a more realistic murder case.
Motive
Every agent in the simulation will have a motive for murder. The actual motive itself(Money, Anger, Love) doesn't matter. What does matter is an attribute of the motive object: the motive strength. The motive strength value represents how much the agent wants to act upon that motive. So an agent with a higher motive strength will be more likely to kill the victim than an agent with a low motive strength.
Memories
This is the part of the agent I am the least sure about implementing. This is a particularly bad problem because I want the memories to be a vital aspect to uncovering the murderer. Memories will be made up of an action, the time that action took place, and an importance weight. Every time an agent does something, or sees another agent performing an action, the agent will store a memory of that action with the corresponding weight. Later, when interrogated by the player, the agent can remember vital details (such as another agent arguing with the victim shortly before he was murdered), that would help the player solve the mystery.
After working out the details on how the agents should work, I started scripting the agent classes. Below is a screenshot showing my work so far. I know it is very basic, nothing more than randomized values; but it is a start nonetheless. Tomorrow, I will work on the interactions between agents and maybe start coding a rudimentary memory system.
![]() |
Here's an example of a particularly stupid suspect. |
Until next time, thanks for reading! And as always, feel free to comment or email any questions you might have!