Creating entertainment in general is a pretty thorny issue. How can you appeal to everyone when taste varies so much?
The traditional way to make entertainment is to try our best to find a solution that either matches with our other choices or that we think will appeal to the broadest audience -niche or blockbuster. We accept that our niche products won’t appeal to everyone, but they will be well suited to one specific type of player, or that we have kept things at a level to be broadly accessible to all.
In either case we’re talking about a one-size-fits-all approach to game development and altering our audience and expectations to match.
What if we could do better? At Robot Overlord Games - my company and one that specialises in pushing the boundaries of AI in games - this is one of the main questions we wanted to tackle with our forthcoming game Easy Money.
Here comes the science bit...
This area has been touched upon in some respects in research. Indeed, it’s even been attempted in a couple of different ways in certain games.
It effectively relies on two components; one that deals with working out what type of player you are dealing with, and another that adapts the content in the game accordingly.
Silent Hill: Shattered Memories remains one of the most compelling mainstream examples of this approach.
The game opened with the player character being analysed by a psychiatrist. What wasn’t made explicit to players was that the test was a legitimate profiling test and that they themselves - not the character – were the ones being tested.
Based on the results of this, one of several different sets of content with differing tones were shown to the players.
That's a fairly unique case though - it's rare we have the justified opportunity to psychologically profile a player in-game, and making multiple sets of content is rarely an option for small teams.
What we really need is to be able to adapt content on the fly and that means relying on Procedural Content Generation (PCG).
Making it work
Easy Money is a fully procedural game. It's an adaptation of the classic wooden Labyrinth games where the maze, powerups, props, and so on are all laid out at runtime following a procedure.
This might be some big scary chunk of code where all the layout decisions get made, but we wanted to have something a bit more elegant so we made it with a lot of accessible variables and settings.
Initially that means that rather than having to tune the PCG system we put together in the code, we can do it using design tools so it’s way easier for our small team to work with. It also means that we can think about varying the difficulty over time, and do so in a very controlled manner simply by changing the parameters.
AI means you can actually perform an analysis on how people are playing the game.
However, it also means that we can reconfigure the engine at runtime to alter the tone and texture of the resulting content, and that's key to tailoring based on player type.
Metrics, logs and data
But how can you figure out what players want? Well, rather naively, you could just ask them, but with the power of AI means you can actually do a lot better and perform an analysis on how they are playing the game.
The main thing is to have a large amount of logged telemetry of different people playing the game, in a robust data engine.
We're using a combination of GameAnalytics and Parse - the basics are covered by GA and we can also gather a lot of collision data from the built in triggers GA provides, but we then use Parse for less standard metrics.
We want to know if a player is exploring all of the maze, or just finding the exit. Are they giving a wide berth to hazards or cutting things close? How fast do they move around the maze?
These sorts of indicators allow us to build up a profile on the backend that we can start to gather into stereotypes using techniques such as data clustering or more sophisticated machine learning approaches.
The main thing is that once you have that kind of data, you can mess with it how you want to discover these patterns. Then, as a player plays the game, you can get an accurate picture of their style and make inference as to what sort of content they're likely to want to experience.
From there it becomes a relatively straightforward process to tie this profile back into your PCG system and instead of adapting difficulty over time, or to a designer's instinct, you can adapt the spaces that you're generating to specifically suit individual players and give them the kind of game that they're looking for, rather than the game you decide they want.
All you need to do is take the player model and translate that into a modifier to the PCG parameters.
Of course, all this depends on having a number of things. Namely, a game that's heavily procedural in order to be suited to this kind of tailoring, a solid grasp on the kinds of data analysis needed to make this happen and a player base that can build that initial dataset.
For Easy Money, we're looking at needing over a thousand plays of the game before we think we'll be really able to hone in on the kinds of profiles we're looking for with any real confidence, and that can be a really daunting.
At the end of the day, we’re pretty sure its worth the effort in order to engage our players more deeply. It provides a powerful tool that lets us give players more of what they want and less of what they don’t, and that means a better experience for everyone.
Luke Dicken is a Game AI specialist, founder of Robot Overlord Games and Chair of the IGDA Foundation. He was named as one of Develop magazine’s “30 Under 30” for 2013, but hasn’t found a subtle way to work that into a bio.