The NPC Personality System is the project on which I wrote my dissertation for my final year of university. It investigates how defined personalities, based on all sixteen possible results of the Myers-Briggs Type Indicator, can affect the behaviour of NPCs in a game world. The goal behind the artefact that exists alongside the essay was to create a tool that can be applied to NPCs in open-world environments and have them each exhibit unique behaviours, in order to create more immersive surroundings for the player.
Demo Video
Using an editor utility widget, NPCs are assigned a personality randomly when the project is run - the distribution of these personalities can be done evenly, or based on real-world distribution. The program uses a finite state to switch between different NPC behaviours, which are all defined as functions or events. Choosing the next task to complete is dependent on the character's current task, their current emotion, and the current status of their needs. Every NPC has four needs that they will try and keep satisfied, but the importance they place on them depends on the traits of their personality; for example, an introverted character will care much less about their social need than an extraverted character.
The traits of the characters are controlled by the significance of the different needs. This chart shows the importance of each need for each personality type; the higher the number, the more significant it is to the personality type. The chart also displays the four temperaments. These are derived from Kiersey's Temperament Sorter, a method of categorising the 16 MBTI types into four groups, based on similar traits. The statistics in this chart are based on investigations I carried out into psychological representations of personality in humans, both through MBTI and different trait theories.
Technical Video
To test my project, I tracked the behaviour of different NPCs and compared their behaviours against each other. During runtime, the user can select an NPC to see their personality type, emotion, needs, and current task. There is also a button that, when pressed, will lock the camera onto the selected character. Using the camera locking, I chose four different personality types, each of a different temperament, and tracked all of their activity and emotion changes in a spreadsheet for a duration of two minutes. I then repeated this process for a total of three tests per personality type. Tracking behaviour in this way allowed for me to spot patterns in the actions of the characters and compare them against each other, and the research I had conducted into real-world representation of these personality types.
Completing my dissertation is one of my proudest achievements to date. The essay was by far the most complex piece of writing I have had to complete, but doing so was incredibly rewarding. As a whole, the project was a great culmination of all I have learnt and studied at university, and the artefact project is something that I hope to continue developing over the years. I achieved high marks overall for my final year project, including a score of 100% on my viva voce.
Dissertation
Viva Voce Slides