Designing Systems: Emotional ties between characters in games.

How do we design an effective system based on emotions, mood and temperament and why would we need one? Is it just a farfetched dream to make characters in a game feel artificial emotion? Many things can be said about feelings, that they are subjective and personal. But we have in recent days of studies discovered that our feelings, emotion and moods are all created by hormones and neurotransmitters (Dopamin for example). If we can calculate what triggers these hormones to show themeselves, we should be able to reproduce them for game characters (or any fictional character for that matter).

The real question is, how do we know that everyone gets the same chemical reaction in their brain? (we don’t) But we can guess that it is based on alot of circumstances such as personality, events, experience, what is at stake and how familiar the current event is to a character. If a character is in an unfamiliar with a event and the event is of a gruesome nature (a murder for example) we could guess that if the person is empathic and obedient they would become scard of the murderer, the same would be true for many other personalities due to how gruesome this event is. But if we take something alot less gruesome. Such as a barfight, some people will stay out of it, some will join due to obligation to their friend who started it. Some will think they put themselves in the mess and won’t bother to help.

walking-dead-1024x573 (A very emotional scene for the player, but the characters are still only acting upon what they are told to do from the start, never what has happened up to that point)

In the barfight example above, we havea multitude of people with different experiences and personalities, they have different stakes in the situation (Some have a friend in the fight, some might just join for pure “fun” and many stay out of it all together) but the event is the same for all of them. This gives us some really interesting statistics that themselves create emotions.

Personality (See for a small reference to personality building)

Earlier Experience

How do we know about what every character has done earlier and put it into a game? Player characters are easier to estimate then NPCs because we can track what decisions they make and “track” the experience to create the right emotion for the players character. NPCs are harder, if everything is dependent on the player action, we could just tell each NPC what their earlier experience is. But what happens when a player action doesn’t interfere with a NPC ? Are the NPC not experiencing anything? Are we going to put in standard experiences for these characters untill they are interfered with by the player? but doesn’t that change all the other experiences that they are preprogrammed to do?

Let’s say the player is put into a game and experiences the introduction as everyone else, “picks” experience 2 as his next choice and then picks experience 5. This would mean we would know what happened to him during the course of the game. But we cannot apply this to all NPCs, what if experience 5 doesn’t include Johnny (NPC) and in the next seen, he is developed less then other NPCs, do we add a standard experience for him if the player action doesn’t include the NPC and let the NPC act out on that experience?

We could do just that and for now let us say we do it like that, then our NPC “experience” growth is the same as our player experience atleast.


Stakes would motivate a player to get into certain, most likely dangerous situations. If a player have spent most of their game with a best friend NPC and that best friend NPC is in danger, they would most likely try to act against it, they would become protective of what is at stake and would depending on a single value know if they would risk whatever is at stake to either be active or passive in the currently ongoing event. We could create a system that adds to this value for NPCs and depending on how high this value is, the more likely they are to get involved in the current event.


Events are triggered by the game, it’s what creates showpieces to show but depending on what NPCs get involved due to stakes and how they act depending on earlier experiences and their personality would create a “living” event. That could subtly change from playthrough to playthrough. The biggest reason this will be a problem is to the development time of a single scene would be huge or the research around it would make it even bigger.

By using these variables and values we now have, we can calculate how likely a player is to feel certain emotions. If you are in a bar, someone threatens your friend with a gun, then the stake is your friend, the event is the threatening part, lets say the character you are playing have no experiences with gun threats and is personality is very obedient but with a low morale value. You as a character are almost stunned due to your earlier experiences with guns are zero. But you know you have to act due to the stakes but maybe it’s to risky to act (low morale can be seen as selfish)

This would create very interesting events and with an emotion system that calculates these values and by using the event as a reference it could trigger other systems such as a vision system, interaction system or combat system to let you act depending on your characters emotion.

This was it about emotion systems for now, I will most likely return to this topic sooner then later because it is so broad and you would most likely need so many different values to calculate 100% correct emotions I couldn’t possible wrap it up in a single post. So for now have a good day.


One thought on “Designing Systems: Emotional ties between characters in games.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s