Procedural Generation, and the problem of Player Perception

Dan Marshall posted an article today about players’ perception of the procedural generation in his game The Swindle, and I thought it was worth talking about because I think that the idea is widely applicable to procedural generation.

The basic idea is that people were complaining about an element of the procedural generation that they thought was broken, even though it was working exactly as intended.

This is a common problem with procedural generators: as designers, we have a pretty good idea of what the outcome is going to be. The player, though, has no idea what is going on under the hood. Is this pattern meaningful, or is it just noise? The Eliza effect, where player assumes that the computer has thought behind it, and is disappointed when they discover that it’s just an illusion, and the Tale-Spin effect, where there’s a complex process that the player never really sees in action, both lead to disappointment.

Now, sometimes you want things to be mysterious. To pick another game, Starseed Pilgrim wouldn’t be the same if it explained everything up front. But even here I think there are some tools we can use to make the generator more transparent without giving anything away:

  • If you have secrets on the map for the player to find, give hints that the secrets exist. Nethack uses the sounds you hear in the dungeon as clues. If you know what to watch for, you can guess if a level has a secret treasure vaults.
  • Predictability. But, you say, isn’t procedural generation supposed to be surprising? Ah, but we want surprise within limits. Remember, chaos is boring. Using a generator that is guaranteed to have a certain pattern can help the player learn enough about your generator to be genuinely surprised when the pattern changes in interesting ways.
  • Inform the player afterwards. Doom, while not generated, listed the percentage of secret rooms the player found. Which had the first effect of telling the player there were secret rooms to find. If you normalize the idea that the missing information is part of the game, you can inform the player what to look for without giving away any overt clues.
  • Taking that up another level, explain the reasoning behind the choices the generator made. Why did the bot use that color? Metaphor Magnet explains what associations are present in its paintings. You can do similar things for your generator. Why did it choose to put this thing close to that thing? If you can work out how to translate that into a way the audience can understand, it opens up a powerful new way for your generator to express itself.

I’m sure I haven’t exhausted the list. Are there any other ways you can think of for making generators more transparent?