Procedural Personas
Project lead: Christoffer Holmgård
Procedural Personas are low fidelity representations of players that can be used by game developers to understand and test game content.
More formally, they are generative player models.
They represent how different kinds of players care about different things in games – playing the game in different styles. The idea is that this can be helpful for game designers building content for a game.
For instance, in a platform game, one player might prefer to play rashly, taking a lot of risks, but completing levels quickly, while another player prefers to play cautiously, collecting all the items in the level.
Demonstration
The video here shows procedural personas used for the game MiniDungeons inside the level design tool Sentient Sketchbook by Antonios Liapis: A game designer comes up with a level design. Then, using personas, different ways of playing the level are displayed, and personas are used as critics to computationally evolve alternative level designs that fit each persona better
Utility Functions
The preferences of the personas in the video are defined by different utility functions. The video shows:
- A Baseline pragmatic player that just wants to reach the exit.
- A Monster Killer that wants to kill every monster in the level.
- A Treasure Collector that wants to collect every treasure in the level.
The utility functions used are simple and award points to various event occurrences in the game, listed in the table below. Once a persona completes a level, the total sum of utility points across all events that occurred in that level are summed.
Persona | Move | Kill a Monster | Collect a Treasure | Die | Reach the Exit |
Baseline | -0.01 | 0.5 | |||
Monster Killer | -0.01 | 1 | 0.5 | ||
Treasure Collector | -0.01 | 1 | 0.5 |
These simple utility functions implementing different weights create variation in persona behaviors.
Evolving Controllers
In order to turn the utility weights into actual actions, allowing the personas to play(test) the game, we use an A*-based controller that tells the personas about distances to various elements in the level.
The controller takes the form of seven linear perceptrons that select between possible next destinations, and make a new selection for each turn in the game. The controller network is illustrated below.
In order to configure each persona, an evolutionary algorithm is applied. Each persona plays multiple MiniDungeons levels thousands of times, until the best weights for the network are identified. The evolutionary algorithm is shown here.
Other Uses of Personas
While the main purpose of personas is to give designers a quick way of seeing different play styles in action within their game, we're also experimenting with other uses. We've previously used personas to classify individual players, by comparing them to the personas and finding out which one they resemble the most.
Ongoing and Future Work
We are currently implementing personas for the successor to MiniDungeons, the aptly named MiniDungeons 2, which is a more complicated game.
Publications
- Christoffer Holmgård, Antonios Liapis, Julian Togelius, Georgios N. Yannakakis: "Monte-Carlo Tree Search for Persona Based Player Modeling," in Player Modeling Proceedings of the Eleventh Artificial Intelligence and Interactive Digital Entertainment Conference, 2015.
- Christoffer Holmgård, Antonios Liapis, Julian Togelius, Georgios N. Yannakakis: "MiniDungeons 2: An Experimental Game for Capturing and Modeling Player Decisions," in Demo Proceedings of the 10th Conference on the Foundations of Digital Games (FDG), 2015.
- Antonios Liapis, Christoffer Holmgård, Georgios N. Yannakakis, Julian Togelius: "Procedural Personas as Critics for Dungeon Generation," in Applications of Evolutionary Computation, vol. 9028, LNCS. Springer, 2015. [Best Paper Award of the EvoGAMES track]
- Christoffer Holmgård, Antonios Liapis, Julian Togelius, Georgios N. Yannakakis: "Personas versus Clones for Player Decision Modeling," in Proceedings of the International Conference on Entertainment Computing (ICEC), 2014.
- Christoffer Holmgård, Antonios Liapis, Julian Togelius, Georgios N. Yannakakis: "Evolving Personas for Player Decision Modeling," in Proceedings of the IEEE Conference on Computational Intelligence and Games (CIG), 2014.
- Christoffer Holmgård, Antonios Liapis, Julian Togelius, Georgios N. Yannakakis: "Generative Agents for Player Decision Modeling in Games," in Poster Proceedings of the 9th Conference on the Foundations of Digital Games (FDG), 2014.