Welcome to my Masters thesis demo page...
My masters thesis investigated how to automatically generate character personalities. A small game was built to test the theory. Below is some information about the game and some screenshots. For more information on my masters thesis please look at the thesis overview page.
In this scenario, the player is told they suck and they are allowed to respond to this statement. If they wish to please that character, they may decide to agree with the character!
In this scenario, Anna asks the player for their opinion of one of the other characters, Fran. If the player agrees with Anna's negative opinion, then she may change her opinion of the player and list them as a friend.
The game is based on social interactions in the form of building friendships between characters. The game was limited so that the theory about generating personalities could be tested precisely. The characters are a group of school children, such as those shown in the screenshots, on their lunch break who want to interact with each other. Individual children can choose from three different top-level activities: to wait in one place, move towards or away from character's they like or disklike, and tell another child the name of a child they do not like, i.e. insult someone. The children choose actions in real-time. Note that the children are not allowed to say positive things about each other. This forces the characters not to just be nice to everyone, they must decide who their friends are and make sure they don't insult everyone, otherwise they will have no friends.
The characters choose what to do based on their personal history of previous choices in this situation and their personal goals. A character's goals are set in their starting personality template, but their overall personality in the form of observed choices they make is built up based on their unique history of their current personal context. When a character completes an activity, they evaluate whether it was "bad" or "good" based on their personal goals and use this to update the likelihood of doing the same activity in the same context the next time they encounter it. For more information on the code and the theory behind each character's choices, please look at my thesis code page.