In this project, we show how to quantify the concept of gameplay — or action — by analyzing players' controller inputs using probabilistic topic models. This stage in Super Mario Bros. 3, for example, can be described as a blend of gameplay types with a 35% mix of jumping around flying enemies and a 23% mix of making precise running jumps onto narrow platforms. Our method makes it possible for developers to verify that their levels feature the appropriate style of gameplay and to recommend levels with gameplay that is similar to levels that players like. Super Mario Bros. 3 © Nintendo.
Here is an example of how our method can recommend levels that play similarly to ones that players like. Although these levels look quite different from each other at first glance, they all share this primary type of gameplay: jumping around flying enemies and projectiles. Here we see (from top-left to bottom-right) Flying Cheep-Cheeps, Fire Chomps and their fireballs, Podoboos, and Hammer Bros. Players who like the type of action in one of these levels should enjoy the other levels as well.
Developers can also use our method to infer the specific choices that a player makes within a game, as long as those choices manifest themselves in the controller inputs that he or she enters. As an example, here is World 3-Fortress2 with and without the Frog Suit, respectively. The Frog Suit allows Mario to swim in the water much more easily. This stage is difficult and culminates in a mini-boss fight, so many players save a Frog Suit to wear for the occasion. By examining the gameplay type mixtures of a playthrough of this level, we can tell whether the player wore the Frog Suit or completed it the hard way.
In addition to profiling game levels based on the gameplay types that they foster, our method uses players' controller inputs to profile the players themselves. It automatically learns the distinguishing factors of each player's unique playing style — factors such as floating a lot compared to other players and performing maneuvers that only expert players can perform. Here we demonstrate a player recognition system based on controller inputs alone. The three players took turns playing by passing the controller to each other every 45 seconds. The system can recognize a player from a database of eight players with over 90% accuracy in about 20 seconds of playtime, even for levels that the player has never played before and even when the controller is passed from another player.