Designing the solution spaceAdd comment!
January 21st, 2009
In the machine learning community, problems are often described by the topography of their solution space (the set of all possible solutions and their corresponding success). For example, if the problem is to determine the correct motor output to make a camera look towards a light, the solution space might look like this:
When the camera can't see the light then the error is 100%, but as it rotates to center on the light, the error starts to drop down to nothing. A common technique to solve these problems is local optimization: start with your best guess, and then keep refining it until the error is as low as possible. On the solution space, you can picture this as a stream of water flowing down the slope.
My intuition is that players approach puzzles in games in much the same way. They start with their best guess, and then observe the game's response, and if there is a clear path to follow, then they meet with success. If there isn't, they try again with their next best guess. One of our key jobs as game designers is to make sure that this solution space is curved towards the 'correct' solution, and not flat, or curved the wrong way. For example, let's look at the solution space for an old-school adventure game that gives no useful feedback for wrong answers:
Here the player has tried eight different solutions, and none of them worked or provided useful feedback on how to proceed. In this case, the player has run out of ideas, and is now stuck. If this is a casual player, he will likely just stop playing. If it is a more hardcore player, he is familiar with sites like Gamefaqs and will use a walkthrough for the rest of the game. Either way, the player will be unable to experience the rest of the game as intended.
The most successful adventure games succeeded largely because they figured out ways to ease the pain of failure, motivating the player to retry many more times than otherwise. For example, in the Monkey Island games, Guybrush Threepwood had witty replies for anything you could try, even if it made no sense. It's important to remember that the player's path will inevitably end in failure a couple times, and you have to think of that as part of the game experience. If player's have fun failing in your game, then you're doing something right!
Most modern games have a much more complex solution space than an old-school adventure game, something more like this:
This demonstrates a second way to get stuck: locally optimal points. These are paths that seem promising, but really lead nowhere. For example, an interesting building you can enter that has nothing in it, or a puzzle that your character is not yet equipped to solve. Giving positive feedback for the wrong path is even worse than giving no feedback at all, because the player is going to be much more hesitant to try again. The only way to find these flat areas and locally optimal points is through play-testing. Odds are that you will find that players are confused by things that you couldn't possibly have anticipated, and you have to tweak them to smooth out the solution space. This way, everyone will be able to find the solution eventually, no matter what idea they start with or how fast they go.
This is different from holding the player's hand, or telling her what to do, because we are still letting her start wherever she wants. We are also not just making the game easy: problems can still be very complicated and difficult; we are just making sure the players can usually find their way through them.
One of the best recent examples of crafting the solution space is Portal. The puzzles quickly get very complicated, but through extensive play-testing the developers found effective ways to guide the player's attention towards the most important things by making them more interesting, and away from irrelevant things by making them less interesting. For example, in one level there is a box which is very important to solving the puzzles, and they found that players kept ignoring it, because it seems tedious to carry a giant box around with you. To solve that, they decided to paint a heart on it and have the AI voiceover talk about it constantly, calling a weighted companion cube. Suddenly, all of the players were happy to carry it around with them, and it become a viral internet phenomenon. Similarly, a lot of the levels started out with introduced too many elements at the same time, causing a really lumpy solution space, so they added small intermediate levels to introduce each element one at a time, each with a much smoother solution space.
I am a visual thinker, so it is helpful for me to visualize game design in this way. I hope it is helpful for you as well! Please let me know in the comments if you can think of anything that could help expand this metaphor, or counter-examples to show that it's inaccurate.