I’m always saying, like some sort of carnival barker trying to get people to listen, that the AI used in SteamSaga is based on real-world personality theory, that our NPCs act as human as they do because of this adherence to actual psychology, and that we’re using the Five-Factor Model of human personality. I think all of two people who’ve heard this actually knew what the heck I was going on about, and so here’s a little primer as to why I chose it and what it is.
Why the Five?
As one can imagine, there have been many, many theories of personality over many, many years. It seems we’ve always wanted to explain why we act the way we do; as far back as Hippocrates there were ideas about extraversion and neuroticism. So I had a cornucopia of theory from which to choose to create my AI system; what made me choose the Five-Factor Model?
First and most importantly, it seemed about as up-to-date and accepted as is possible for a personality theory. Developed (although not originated) in the 1980s and 90s by several sets of researchers, including JM Digman (1989) and Lewis Goldberg (see especially 1993), extensive research and testing has been done since then, including especially PT Costa, Jr and RR McCrae.
Second, the theory gave me the sort of fine-tuning I felt would be necessary for really giving an NPC depth of feeling, ideas, and so forth. Older two- and three-factor theories only tested along a few axes and were too broad. And actually, only five factors would have seemed too broad as well—but the Five-Factor Model divides the five factors (Openness (to Experience), Conscientiousness, Extraversion, Agreeableness and Neuroticism (which neatly become OCEAN when acronymed)) into a total of 30 personality facets, and these gave me the fine-grained control I sought for AI development.
Note that, even though thirty sounds like a lot, I’m often operating with combinations of these facets to make up more complex feelings/attitudes, and so can test potentially hundreds of millions of combinations—which I doubt I’d ever need to do, really. Can you think of hundreds of millions of human attitudes? In fact, right now I test around 40 attitudes.
Note as well that I needed these to change in a realistic fashion over time (and yes, there’s some debate as to how much personality can change over a lifetime, so ‘realistic’ is a vague measurement), for I wanted the NPCs to react to changes in their environment with changes in attitude—if no longer living with the oppressive fear of that dragon on Stone Mountain, one might feel a weight has lifted, feel openness and opportunity, feel perhaps a bit less pessimistic about life. Again, having a fine-grained way in which to do this seemed imperative, for trying to make tiny changes in broad strokes would be difficult to make appear realistic, and I wanted the NPCs to be able to grow and change without outside manipulation or sleight-of-hand (e.g., ‘knowing’ as programmers that the dragon has been killed, and therefore ‘making’ the NPC say certain things, would be faking it; the NPC finding out about the dragon and making her own decisions about how to react is what I’m striving for). I guess the idea is to ultimately make the NPCs actors in their own lives, rather than puppets.*
Getting all this behind-the-scenes stuff to show up in a world of tree-delineated conversations is difficult, I’ve discovered; imagine trying to describe some complex emotion in a foreign language in which you know only three sentences. So output is still a bit of a challenge, until I get to something approaching natural language or trees complex enough to give the NPC enough range. But this has little to do with the personality model chosen. It’s more a gripe. So much to say, so limited the means to do so.
So What Is the Theory?
Right, I’ve started this already, but basically (very basically) the Five-Factor Model uses the OCEAN factors as general areas of personality. Openness is willingness to seek out new experiences; Conscientiousness is about organisation, control, and goal-directed behaviour; Extraversion is outwardly directed social energy; Agreeableness includes things like compassion, trust, and modesty; and Neuroticism includes anxiety, depression, hostility, impulsiveness, and the like. There are six facets in each factor; for instance, within Openness are Fantasy, Aesthetics, Feelings, Actions, Ideas, and Values, each of which represents a finer grained kind of openness. High marks in Fantasy would mean one is receptive to imagination and creativity stemming from that; low marks would give one a very solid grounding in the real world. (For a complete list, see various sources online.)
Speaking of the real world, there’s a test for all this developed by Costa and McCrae, the NEO PI-R. If one had the inclination, one could be scored on all this and have one’s personality evaluated. I haven’t, except on a sample test. (And no, I’m not telling.)
That’s the total nutshell version. I’m not sure how much further to go here, as I don’t want to go all wordy and academic, but there are many, many scholarly sources, both online and in libraries, if you’re intrigued by all this. Or feel free to ask me directly 🙂
*Of course, given that in a game the NPCs are there for storytelling reasons, and thus have to say and do certain things to make the plot advance, there will always be a certain amount of puppeteering. But I do want them to have the potential to live their own lives.