Sponsored By

Featured Blog | This community-written post highlights the best of what the game industry has to offer. Read more like it on the Game Developer Blogs.

A designer delves into the relationship between reasoning and behaviour in procedurally generated AI personalities, and makes a few practical suggestions for an improved player experience.

Tanya X. Short, Blogger

February 22, 2017

15 Min Read

Tanya X. Short is the Captain of Kitfox Games, the indie studio behind Moon Hunters and the upcoming Shrouded Isle. She and Tarn Adams of Dwarf Fortress recently released a Procedural Generation in Game Design textbook. Tanya gave a 5-minute version of this talk at the Game Developer's Conference 2017, as part of the AI Summit.

 

Personalities can be summed up as "what we do and why we do it". 

In my previous blog post, I explored the considerations for how to approach generating personalities, and ended by proposing these personalities are formed through four components: Motivations, Relationships, Ability, and Knowledge. Here, I made a nice chart for you:

The short answer is to pick a reasoning and pick a behaviour and have a go at it. Your characters have generated personality now. Congratulations. But are they interesting personalities? Does the player understand what they are? Are the connections between the reasoning and behaviour satisfying?

Tip 1: Define the Player's Interpretation Process

Which came first, the motivation or the behaviour?

Even if we think someone's reasoning occurs before their actions, we are likely to say Arron usually tells the truth, therefore he is Honest (character judgment) and also say Arron is Honest, therefore he usually tells the truth (logical statement). Both are causes and effects, in their own way. 

It might be natural to consider the "character judgment" method: Arron tells the truth, therefore he is Honest. Passive media favors this "show don't tell" approaches to storytelling -- interpreting others' actions mirrors our real life experiences. Personality-interpretation gameplay is usually found in authored media, such as Uncharted or just about any novel. 

However, in system-driven simulations, everything has to start somewhere and most systems do not engage in ad-hoc fuzzy definitions. Causality is key to understanding the meaning of a simulation. Players seek to define a cause and an effect, even if (as is likely) the effect becomes another cause, which creates another effect, and so on.

As noted in my previous article, generated personalities tend to be explained up-front, closer to a "tell then show" approach, with the player taking information about personality traits and comparing it to character behaviour to form a mental model of the underlying algorithm, such as Crusader Kings II, Black and White, or Dwarf Fortress.

In The Shrouded Isle, villagers generate with names, portraits, gender, family affiliation, and (most relevant here) 1 random virtue and 1 random vice. These traits change their ability to contribute to the village, and allow special events to occur. 

For example, the virtue Accusatory (seen on Nadya in the upper right) mostly means that the character is skilled at Penitence tasks, but also means that the engine may select them to populate certain random encounters, such as ones that involve wild accusations.

Importantly, in this screenshot, Nadya's "Accusatory" virtue happens to have been previously discovered and revealed to the player. In this case, the player can use their knowledge of Nadya's personality as a factor in how to react to the situation. Knowing that Nadya is Accusatory, they may be more skeptical of this report -- they use their knowledge of her personality to decide whether or not she is telling the truth.

If Nadya's virtue were only displayed as "??????" in a Shrouded Isle event, the accusation event would then provide a clue -- maybe Nadya is Accusatory, or maybe Arron really is a blasphemer, or maybe both. Later, when the truth is discovered, this is a learning/"aha!" moment for the player. 

In Moon Hunters, we made the traits a reactive system entirely -- the game tried to interpret the players' behaviours and choices into mythic hero traits (Cunning, Foolish, etc). The behaviours were experienced by the player and used to calculate the "reasoning", which were then displayed as the player’s personality traits. It's possible this might have been more satisfying for players if they had been able to input on the reasoning itself, or further explore the influences of one on the other.

In order to employ the other tips below, you must first decide which your system and player experience depends on first -- does behaviour determine personality or does personality determine behaviour? And how does it appear to the player?

Tip 2: Personalities are Already Subtle

When it comes to physicality, there are many highly effective cues you can use to tap into human biases, assumptions, and instincts, such as the human penchant to detect faces and eyes, or to be alarmed by certain colors, etc. But connections between reasoning and behaviour (i.e. personality) are difficult to “see” and based more in culture than biology. Personalities prove themselves over time, and are subject to interpretation. 

It's tempting to hide some reasoning elements (needs, desires, virtues, etc) because it's clearly more natural. Behaviour-first messaging makes your characters more life-like and puts behaviour at center stage, allowing for gameplay closer to authored content. But why are you generating personalities in the first place if you could just generate the behaviours directly? In a game without exposed reasoning or personality-related gameplay, maybe "random" really is good enough.

In the current game landscape, it's fair for players to assume that personality elements that are invisible are, in fact, missing. Players don't have a good reason to expect game characters to have psychological depth. You might need to be fairly blunt about your systems if you want your generated behaviour to be noticed (and understood correctly).

This means there are at least 3 ways in which normally advisable subtlety can backfire when implementing personality generation systems.

2.1: "Secret" Systems Are a Risk

My favorite example is when I joined the Age of Conan (2008) team as an AI Designer. I joined about a month after the game's launch, having been an ardent supporter pre-launch, and fairly engaged player in those first weeks, almost reaching the maximum level.

However, I was stunned in my first few days at work to find that almost all NPCs had a deeply modelled motivational system based on the Maslovian hierarchy of needs.

Even characters whose only purpose was to populate "grinding" zones (masses of creatures spawned only to be killed en masse for currency or experience points) would first seek safety, then to eat food, then to sleep if tired, then to socialize, and finally to self-actualize. It was sophisticated, expressive, modular, and completely invisible.

But if the player doesn't know trees exist in your game's forest... can the tree actually fall? 

I had assumed soldiers slept in their tents or talked to one another or walked on patrol because they had been scripted to do so; a “living breathing” world had been constructed for me, and I had missed it!

If Age of Conan A.I. had been structured differently or expressed their reasoning (hunger, sleepiness, etc), maybe I could have detected causality. But the NPCs’ needs grew invisibly, and the core gameplay (combat, combat, combat) gave me no incentive to even watch for those expressions, even if they had them.

So, learning from Age of Conan, I understand why Dwarf Fortress exposes as much as it does. It's the safest route to making sure your effort actually influences the player perception. It might be overkill in some instances, but causality is easier to determine.

At the least, for those elements we hide from the player, it seems safest to hint that they are there somehow. Civilization ruler AIs may have become increasingly complex over the years, but they've also started being more coy about hidden elements, hinting at them overtly. This piques curiosity, and prepares the player for emotional satisfaction when those elements are eventually revealed.

Non-subtle obscuring allows the player to engage in both sides of the causality chain, with a bit of personality-interpretation gameplay up front and then personality-prediction gameplay after.

I'm interested in the future of Hello Neighbor, which claims you match wits against an advanced, "learning" AI as its central marketing tenet. I'd love to take bets on how subtle or blunt their system communications become over time as they test and refine their player experience... and in this example, the neighbor doesn't have a procedural personality as such -- booby-trapping your basement is much more concrete than expressing your core identity.

2.2: Subtle Behaviour Patterns are a Risk

Extreme personalities are supposed to be rare. If you choose to become inspired by findings from real-life psychology, such as the Big 5, you'll see science and realism find the most common traits are something like "mildly confident" or "mostly cooperative" -- you know, relatively normal. This is a trap for the same reason that hidden systems are: the player might never actually see someone act in an interesting manner.

However, if you ignore all the ways in which a character is assumed to be 'average' and instead focus their behaviour on the limited ways in which each character is extreme, and push it even a little further than realistic, it's more likely that their traits will be observable for the player.

There's a reason characters in Crusader Kings II are Wroth, not "irritable", and only part of it is to do with poetic archetypes. The other part is that the systems are genuinely easier to understand and detect.

The various archetype approaches I suggested earlier mostly tend towards extremes -- we're used to it even in traditional authored storytelling. Ravenclaws aren't just "kinda smart", they are defined by being the smartest.

2.3: Passivity is Hard to See

One final note on subtlety: pro-active behaviour is generally less risky to base a personality on than passive or avoidant behaviours. A character that wants to do something is more easily perceived and understood than a character that wants to not do something, or even worse simply has no relevant desires at all. 

This can be a problem for some character types that are natural in storytelling, who are mostly passive, shy, avoidant, or easy-going. Many classic virtues (such as chastity or temperance) were primarily defined by their preference to avoid popular activities.

Arguably, the most successful personality type in King of Dragon Pass was the Trickster, who was the most flamboyant and notable of the characters, while the rest were mostly measured and balanced in their approaches. I asked David Dunham and he says he felt it worked well and will use similar archetypes in Six Ages. (He also made a few other comments, which I'll get back to in the summary.)

There are ways to highlight more passive characters, but generally, the more you can re-orient your design to provide opportunities for the character to express their trait actively, the better. For example, rather than merely abstaining from sexual activity, which might take many years to observe, a Chaste character could recoil in horror from sexual content, shame others who engage in flirting, or actively put effort to try and Avoid Temptation. All of this is closer to a detectable pattern for the player, even if a bit silly. Speaking of which...

Tip 3: Comedy is Close at Hand

In authored media, a good drama can be easier to pull off than a good comedy. Drama can be relatively formulaic; comedy requires continual surprise. Maybe this could be its own article, but I'm going to assert here that it's the reverse for system-driven "stories": good comedy is easier to pull off in procedural personality systems than good drama.

Why? I'm going to assume here that you aren't trying to fool the player into thinking your characters are authored content and I will assume your players know that your characters are generated. As far as I'm concerned, trying to produce Turing-test-passing procedural storytelling is a bit like trying to sell roller skates to someone who wants a bicycle – it completely throws away advantages you might have exploited. Machine collaborators can produce many flavors of narrative and art; if you want an authored story, get an author.

So, whether it was part of your marketing or core to your gameplay, your players are engaging directly with the fact that these characters are system-driven. Nobody is under the illusion that your characters are people, or even human-authored people! Once players are mentally in the intellectual space of engaging with AI pro-actively, they are emotionally far from the submissive position of suspended disbelief or "immersion".

In order to reach the kind of emotional investment in these little characters that we get from authored stories, players have to internalize your systems completely. Only then can they map humanity onto the characters. That means there's (potentially dozens of) hours inbetween when the game starts and when drama can begin. I suspect that Dwarf Fortress may never have become popular if its core gameplay didn't start out less personality-driven and more accessibly survivalist. By the time someone has created an interesting user story involving their dwarves' personalities and eugenics, they are 40+ hours in.

In the hours of gameplay leading up to the players' moment of "grokking", it's much easier to make funny situations than it is to make riveting drama. Your characters are the symbols of people, which gives them an awful lot in common with the setup for a joke. Jokes typically use symbolic theoretical people and situations anyway. A/an (insertnoun) and a/an (insertnoun) walk into a bar...

Tip 4: Allow After-the-Fact Investigation

In an ideal world, the player always understands everything going on, and is in fact filled with anticipation for an important, complex event. However, when exploring interactive simulations, especially of the human psyche, it's totally reasonable for a player to ask "Wait, what just happened?"

Assuming there are multiple characters in your systems (presumably with different personalities and needs and behaviours), players may not be focusing on the right place at the right time. It can then be helpful to provide some kind of tool for the players to play detective and opt into a deeper level of systems can help diffuse what happened and why.

A few example tools:

  • Logs or journals of character actions/behaviours

  • Rewind time to re-play and watch events with different actors

  • Actual in-character investigations (ask characters questions, etc)

This can easily add a whole new dimension of scope to your gameplay features, but as long as you're creating gameplay about personalities, maybe it's what your game needs anyway.

Tip 5: Reactions ≥ Actions

"It's not what happens to you, but how you react to it that matters." - Epictetus

Normally, in order to observe multiple characters' personalities, you observe them in sequence following their proactive "natural" inclinations; A tells the truth a lot and B lies a lot, so maybe A is more Honest than B.

However, you can process more information per second if you can compare simultaneous character reactions, especially if they're extreme, say to someone's injury or misfortune, like so:

Or you can even quickly gauge a whole crowd's feelings, when the change is sweeping:

It's worth a quick warning that part of the reason reactions are so effective and economical is because we have so many expectations surrounding them. Reaction-based personality expressions can become complicated much more quickly than proactive solo actions. The more factors in your system, the harder it is for a character to pick a consistent or even somewhat appropriate reaction. Human priorities are not particularly elegant or obvious.

For example, when a character dies, does your AI care more that A) it hated the person who died, or B) that it is a Kind person, or C) their judgmental friend is in the room, or D) the person who died did so in an embarrassing way, or E) the murderer was their lover, etc.

Tip 6: Change is Powerful

People (or at least their needs and desires) tend to change over the course of their lives, due to experiences, learnings, traumas, and/or nature.

Although it might seem counter-intuitive, having someone's personality change at key moments can actually be more compelling than the personality itself. In the face of adversity (or the ravages of time), some people get weaker/more flawed, a few get stronger/less flawed, and some get weirder. That's how life goes*.

Darkest Dungeon Dungeon hinges some of its most compelling gameplay moments (the gain and loss of "Quirks") on moments of crisis and character personality changes. Designer Tyler Sigman confirmed to me that Quirk gains are relatively arbitrary, with some broad exclusions based on mission content.

Crucially, transformation is fascinating on its own as a learning moment with the character and doesn't need deep explaining of factors and motivations, assuming players are given enough information (state 1, trigger, state 2) to invent their own reasoning. 

*Though, in Western culture, at least one study shows that people generally tend to become slightly more confident, conscientious, and emotionally stable throughout adulthood, but decrease in sociability and openness to experience in older age.

Summary

Although the RTS and Strategy genres have been dabbling in personality generation for decades, personality as gameplay system is a relatively new subject, without the decades of exploration and discussion of terrain or text generation.

My "quick tips", reworded for the entertainment of those who read all the way through:

  • Chicken and Egg: Have a clear vision for whether reasoning powers motivation or vice-versa, from the engine and from the player perspective

  • Beware Hiding Too Much: Be as clear as possible about what's under the hood.

  • Beware "Normal" Personalities: Extremes are easier to see and understand

  • Beware Passive/Avoidant Traits: Actions are easier to see than non-actions.

  • Embrace the Comedy: Your AI were never human anyway. Sorry.

  • Get Out the Magnifying Glass: Empowering a little player detective-work can help defray chaos.

  • Reactions Are High-Value: Two characters + one catalyst = 2 personalities.

  • Transformations Are Gold: Even if your traits or behaviours are subtle, a strong and clear change can be compelling on its own.

Counterpoint: King of Dragon Pass is an excellent example of a game with procedural personalities that doesn't use many of my tips -- it's subtle and dramatic, and very successful in achieving its goals. In fact, when I asked David Dunham, he explicitly warned that subtlety can be helpful when trying to tell a convincing story; if you aren't subtle enough, you could end up with cartoon characters rather than people. He makes a very good point. I would say to choose your design risks carefully; if you are willing to risk players missing out on your systems, what other risks will you mitigate?

Read more about:

Featured Blogs
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like