Developing behaviors via genetic algorithms of various sorts has been around a long time now. You come up with a basic environment and ruleset, then you let loose millions of generations of simple AIs to keep trying to surivive. You then have the AIs tweak themselves based on what survived well, attempting to evolve the best survivor.
This can be used for lots of purposes — and now it’s being applied to game design. Starting with a simple Pac-Man like environment, researchers are generating zillions of procedural games, and then testing to see which is most fun. But how to measure the fun?
It should be pretty straightforward to see how game rules can be represented to be evolved: just encode them as e.g. an array of integers, and define some sensible mutation and possibly recombination operators. (In this particular case, we use a simple generational EA without crossover.) For other rule spaces, some rules might be more like parameters, and could be represented as real numbers.
What’s the much trickier question is the fitness function. How do you evaluate the fitness of a particular set of game rules? …
Our solution is to use learnability as a predictor of fun. A good game is one that is not winnable by a novice player, but which the player can learn to play better and better over time, and eventually win; it has a smooth learning curve.
via Togelius: Automatic Game Design.
Continue reading »