Sunday 22 August 2010

Proceduralism: Part Four (What is Interesting?)

[You'll probably want to read the original article series that inspired this follow up, then start with parts one, two and three of this series.]

There are four different strategies for discovering interesting procedural content. These are not exclusive - I can see solutions which blend several approaches being viable.

1. Simulation

We know the real world is interesting - or at least that we are adapted to finding the interesting bits of it. Therefore, by making our procedural generation processes have higher fidelity to real world processes, we guarantee that we'll make more interesting content. Game example: Dwarf Fortress

2. AI Directed

We create a process that determines whether content qualifies as interesting - ideally by simulating human intelligence in some way. We then generate or cull the content using this simulation to ensure it qualifies as interesting. Game example: AI Director in Left4Dead

3. Human Computing

We already have a process that determines whether content is interesting: the player. We therefore harness the player to allow them to choose which content is interesting. This encapsulates a range of strategies: from allowing the player to progress faster through uninteresting content and slowing their progress through interesting content (Game examples: Angband, Crawl), by allowing labeling of interesting content for other players (Game example: Noctis) or by using procedurally powered tools to let the player create user generated content (UGC) for other players (Game example: Spore).

4. Intuitive

We are not very good at distinguishing truly interesting content from random content which fulfills certain criteria (bright lights, loud noises, random rewards). As long as we create content which is sufficiently interesting, perhaps mixed with some complete randomness, we will not be able to distinguish it from content which is more interesting - there is a threshold above which differences in 'interesting-ness' is not perceptible. Therefore it is sufficient for a game designer to choose one or more procedural content generation techniques to use, and tune the parameters by 'staring at the screen saver' and finding values which define consistently interesting content. This is currently the most common form of PCG development.

All four approaches rely on the unproven assumption that there is a level of complexity beyond which people cannot distinguish a procedurally generated system from a human designed system. This is a frequent criticism of procedural content generation: that it is too easy to find something in a procedurally generated system which would clearly not exist if a human had created it. This differs from the intuitive threshold, above, in that it is possible to have interesting, but clearly not human designed content.

Note this is only a problem if computer created content is valued less than content with direct human authorship. I believe there are two approaches to procedural content generation which can help address this: low fidelity and high fidelity. These both come from the idea that people dislike computer generated content for much the same reason that they dislike facsimiles of people - the uncanny valley, but for all procedural content, not just people.

Low fidelity content is content which is clearly distinguishable as artificial: chip tunes, Minecraft maps and pixel and ASCII art. Low fidelity content doesn't trigger the procedural uncanny valley because it is so dissimilar to anything in nature and therefore non-threatening.

High fidelity content on the other hand needs to be indistinguishable from human authored content. High fidelity content doesn't necessarily have to be realistic: it just has to match the conventions of the genre and form - which for games are luckily much lower than other media.

Aside from the expense and complexity of developing it, one significant problem with high fidelity content is that if it is revealed as having artificial origins, the content consumer is likely to experience a significant shift in their perception in how the content functions. The recent criticism of Starcraft 2's narrative highlights the concerns of manipulation of the world to match narrative in a similar way. More importantly, the problems getting high fidelity procedurally generated music accepted in a field dominated by real people point to a longer term resistance to high fidelity solutions. In short, if it looks like a person wrote it, and it turns out a procedural algorithm did instead, a significant percentage of people will feel somehow betrayed.

There is one other significant pay off with the combination of testing for interesting procedural content: it doesn't just allow us to develop better content, it also allows you to determine with high precision what exactly 'interesting' is. This is the most exciting area of research for procedural content generation: once you have a procedural system set up, you can can vary the parameters and measure how this variation affects your test candidates, be they humans or AI programs. Julian Togelius has used the AI directed approach to try to evolve new games, by testing them against a fitness function which evaluated how interesting the rule sets are; equally by randomly varying the rules of a similar set of games and seeing how human players evaluate them, you can determine what the most interesting rules are.

And unlike real world psychology experiments, procedural content generation allows you to vary experimental parameters at very low cost. I can see the potential of procedural content generation is to rapidly refine a model of the mind by both allowing both extensive randomized trials of real people, and testing of multiple differing models against procedurally generated scenarios.

I take a brief second look perspectives in part five.

3 comments:

Amit said...

When I compare the real world to game worlds, I find the real world is more boring if you count the fraction of space that's interesting. Much of the real world is full of farms or suburbs or forests or empty ocean. A medieval town would be full of boring houses in the real world, but in a game world the fraction of buildings that are interesting is much higher.

However the real world is more interesting than game worlds if you count the intensity of the good spots. The most unusual real world locations are far more interesting than the most unusual game world locations.

Game worlds usually have a good balance but nothing extreme.

The Mad Tinkerer said...

I would suggest there is a fifth possibility: Authorial.

You start by making something that appears completely linear and manually crafted, but with a particular formula in mind (e.g. "Zelda-like"). Once the basic structure is complete and you have a whole prototype to play with, you go back and add variations to each of the elements. You may want to add something simple, like randomly picking from a list of names for each of the main characters. You may want to get more complicated, like messing with dialogue trees or even adding A Big Plot Twist in the middle and defining several kinds of twists.

No particular examples that I know of, but this is something I want to try.

Andrew Doull said...

Mad Tinkerer: Madlibs sounds like this approach.