Saturday, October 20, 2007

Scripting vs Generative Content

Last essay I talked a lot about "generative content" (specifically, simulation rather than scripting), so I'd like to clear up some stuff.

First, there really is no such thing as "generative content". Or, more accurately, there's no such thing as non-generative content. All content is created by a human using tools. Every tool has tradeoffs regarding clarity, quickness, breadth of resulting content, automation... whether your tool is a text editor, a paint program, or an algorithm that generates humans based on tweaking ten thousand morph points, it's still just a tool. The most automated of worlds are still created by a tool and still incorporate the creator's vision, as best as the tool (or his skill with it) allows.

But what we think of as "generative content" (or whatever we're calling it today) is usually restricted to content which changes real-time without specific case statements for everything. IE, a simulation rather than a decision tree. But it's an axis, not a toggle.

Where you fall on the scripted-simmed axis depends on the breadth of the game versus the depth of the game.

It's easy to script people falling in love, people being betrayed, people finding joy in watching butterflies, people worrying about their children, people gloating over a fallen victim. It's linear time regardless of the content: it doesn't take any longer to script someone dying in pain as someone scampering after a field mouse.

Generative content is very efficient at allowing the creator to put in a lot of variations on the same subject. So if you wanted a hundred people to gloat for various reasons and in various ways, you would generate the gloating rather than script it. But that wouldn't help you with the love and butterflies stuff.

Generative content is also only as good as the algorithm used to do the generating, which means the vast majority of generative content is pretty dull and repetitive. However, the vast majority of game scripting is also pretty dull and repetitive, so...

Anyway, that's sim vs script.

What do you think?


Olick said...

I am intensely interested in the application of fractal math or chaotic automata to do certain types of generative content. If an algorithm can make an infinitely complex and pretty damn awesome fractal, or if automata can be used to generate music that is not unpleasant, I am very interested in the application in such things like level construction. For example, a system that fractally generates a large world-style map, and generates say.. nodes where specific things happen. Instead of using a seed that is used for the basis in a random-number generator, the seed is a mathematical constant either used as the starting condition for an automata, or as a constant used in a fractal.

Its hard to generalize this to say, people. This is because people conform to a set of rules and sensibilities. Perhaps it would be feasible to abstract the fractal component, and then constrain it to a set of rules. For example the fractal says "go nuts and kill people" but the rules say "don't do that the police will get you" then it cannot complete the action.

The thing is though, that even tho some fractals succeed tremendously (the Mandelbrot set) in being interesting and beautiful. Others (serpinski gasket) do not succeed in interesting complexity. And if you listen to Wolfram Tones long enough, you find that, while they are interesting, they are rarely consistently interesting, and rarer still inspiring. Which is really one of the issues making completely generative games is that.. the human touch is necessary to get something that is really REALLY compelling. Not just difficult, or intriguing, but actually compelling.

Craig Perko said...

That's basically what I'm saying. Regardless of the tool, you can only have so much content without having a designer design more. The designer makes the content compelling, but that's a little misleading:

The designer can make fractal content compelling. However, like all content, it only "contains" so much. It only contains what the designer puts into it. That's only how much there is, no matter how cleverly it is arrayed by a generator.

So, yes, fractal content can do things like create cities. But so can a thousand other algorithms. The issue in every algorithm is how much actual content is in the city, and how intelligently it is arrayed. And that's entirely on the shoulders of the designer, not the tool.