Non-Playable Characters are an almost essential trope used for world-building and story progression in video games. However, due to the nature of NPCs following scripted responses, without significant in-game roles or memorable character development, NPC’s are often considered static formalities by gamers.
For example, in Destiny 2, an MMO ARPG that I actively play, NPC’s are an essential part of social spaces, acting as the vendors needed to reward players with loot. In order to provide the illusion of an active ecosystem, NPCs imitate real people, greeting the player or commenting on a recent significant event in the game’s story. These lines are often uninspired and general, needing to fit with the actions of all players, and often, due to the limited nature of scripted events, are heard more than once.
To improve the player’s experience with NPC’s, using current developing methods, one must add more triggers to ensure more relevant and dynamic responses. However, as with many algorithm-based systems, the more variables added, the more complex the system becomes, and, as such, more time and resources must be directed to NPCs. While this approach is sufficient for games in the Interactive Storytelling genre (eg. Heavy Rain), for games that evenly focus gameplay and story, like Destiny 2 and other ARPGs, this approach results in cold, unenjoyable encounters with NPCs.
One suggested way to make NPC interactions more realistic without hard coding responses to certain events is by assigning values, based on personality models, to NPCs and then scaling emotional values based on the player’s actions.
In order to help visualise this, let us again use Destiny 2 as an example. An NPC known as Petra Venj oversees her people’s home which is under siege by a curse. It is completely optional where a player spends time in this game, and many do not assist in protecting Petra’s home. However, one will still talk to Petra often to replenish their supply of an important consumable. A personality model could be used to make Petra treat the player with increasing levels of disdain depending on their lack of assistance with the siege.
A group of Brazilian researchers for ICAD proposed and tested a potential system based on the OCEAN model. The OCEAN model is a scale of five factors used to determine the personality of individuals. These five factors are: ‘Openness to experience; Conscientiousness; Extraversion; Agreeableness; and Neuroticism’. Each of these factors was given a value between 0 and 1. The value of the factors was then used to scale the amount to which certain actions impact the NPCs’ emotions.
Emotions of NPCs were based on Robert Plutchik’s emotion model. This model defines opposing emotions, suggesting a person must feel an emotion somewhere between ‘Joy or Sadness’; ‘Surprise or Anticipation; ‘Trust or Disgust’; ‘Fear or Anger’. An NPC’s emotion at any given time is represented by a value between -1 and 1, which in turn determines their action.
Basically, what this all means, is that, depending on an NPC’s personality (OCEAN model values), a certain action may impact an NPC’s emotions (Plutchik’s model values) differently. For example, when say, stolen from, an NPC with a high Neuroticism value will experience a higher anger value than an NPC with a low Neuroticism value.
This allows developers to differentiate NPCs based on the story and allow for more dynamic and realistic responses. This system is easy to understand, and implementation is straight forward. With more research into this field, this system may even be improved upon if an even more realistic emotion or personality model could be implemented.
Ultimately, while this system cannot solve all current problems with NPCs, if it is adopted and mastered by game developers, it may prove itself useful in improving the necessary realism that current implementations of NPCs lack.