Computer Science Department
School of Computer Science, Carnegie Mellon University


Learning Player Behavior Models to
Enable Cooperative Planning for Non-Player Character

Stephen Chen

December 2017

M.S. Thesis


Keywords: Non-player Characters, Player modeling, Behavior learning, Online classification, Cooperative planning

In video games, non-player characters (NPCs) tend to have trouble initiating cooperative tactics because players usually have an unspoken preference for how to solve a challenge. For example, in a "Capture the Flag" game where players have to reach an objective, it is usually difficult to program an NPC to accommodate both players that want to stealthily reach the goal and players that want to aggressively charge toward the goal. To enable NPCs to take a more active role in supporting players, we advocate learning a human-player model from in-game demonstrations to aid NPC planners in finding cooperative plans. To realize this, we first developed a classification algorithm which could learn player behaviors unsupervised, and then integrated it in our NPC AI planning framework for the game The Elder Scrolls: Skyrim. Specifically, we applied concepts of activity analysis from pervasive computing to identify and cluster similar sequences of game events which captured distinctive player behaviors in demonstrations. We generalized these clusters as player models which could predict player trajectories for the behavior pattern. We evaluated our player behavior classification system in a toy version of Skyrim to illustrate its performance. We also combined the classifier with our Skyrim NPC AI planner to demonstrate the classifier's practical application. The classifier associated each player behavior with supporting NPC demonstrations, which were used to learn search heuristics like Training Graphs for the situation. With our classifier's player model and the learned heuristics, our planner was able to use multiheuristic A* to find cooperative plans that solved "Capture the Flag" scenarios in Skyrim which would have otherwise required manual engineering to solve.

85 pages

Thesis Committee:
Maxim Likhachev (Chair)
Nathan Beckmann

Frank Pfenning, Head, Computer Science Department
Andrew W. Moore, Dean, School of Computer Science

Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by