Monday, 8 December 2008

On Procedural Generation

Thanks to hribek for a recent thoughful comment, which forms the basis of this post...

> My wish is to grasp procedural generation to such level that you could express yourself by a game.

I suppose you mean 'broaden the scope' of what can be procedurally generated, so that you have a very general object creator, and tweak it according to purpose or whimsy, to generate many different enviroments? Yes, that's possible, but with that depth, you have the potential to generate a higher proportion of useless outcomes, so a designer or programmer needs to be more responsible and clever about controlling the outcomes so that they are playable (or enjoyable for a player).

The very best procedural alrogithms will offer convincing output across a wide range of variables, to give varied experiences. It's no good giving the player something that seems almost the same every time, or the game will be consigned to the bin after just a few plays. There must be a reason for the player to 'up their game' to meet new challenges.

To me, art is about presenting a symbol that is not quite complete, so that it gives the viewer something to puzzle over. Like a game, it is this puzzling, interpreting, exploring, discovering, and making new symbols, that gives the art a purpose and a pleasure. And so, to challenge the human brain, we need to generate symbols that have at least some connection with common experience (a match to the symbols that a common human or seasoned gamer will already know), and combine the symbols (or offer to combine them) in interesting ways to achieve game objectives.

So, we have a very good proposition for a game-writing challenge: Can a game session become a unique piece of art? Currently, the answer is "Not quite", because the basic game will necessarily be almost the same every time. However, we can approach this ideal (in theory - even if it would make no money commercially) by creating enough variation in each game experience to keep the player interested.

For procedural environments, this typically means slowly introducing new features as the player develops experience, or allowing more game objects (or symbols) to interact. This is where the player is invited to create the novel solutions to a posed problem; with each new object, there is a whole new set of combinations available to try, and a new set of strategies available to use as tools. As hribek says, a game like chess offers too many analytical opportunities for a player to fully comprehend, which makes the game difficult to master. A successful game will present the player with a pallet of options, which can be mixed by the player, with some degree of uncertainty, in an attempt to achieve a game objective.

The most successful games have a good pallet of tools for the player to use, such that the players of the game might find solutions not foreseen by the game designers. Such 'implied solutions' are important in sandbox play, and I feel they add more interest than linear games.

The game author must therefore aim to make the complexity managable: enough for a typical player to cope with, without alienating lesser-able players. This is the key responsibility faced by the designer of a procedural environment generator: Offer too many combinations, and the game will appear to be too complex or confusing; offer too few, and boredom results! Not only that, but the designer must also control the variables offered by the generator, to give a game balance that matches the learning curve of the player, to sustain the perceived challenge and enjoyment.

  • The game designer has a responsibility to make games playable, interesting and varied. To be playable, a game must be readily understood (see previous posts).
  • Achieving this with a procedural environment generator can potentially give the best results, but this method is frought with potential problems, and the balance is more difficult to achieve with complicated generators. The designer will need to spend a lot of time ensuring that output is suitable for the purpose intended.
  • The game-playing experience can be likened to the consumption of art. hribe's point is a valid one, that ideally [given enough variation], each game session could become a work of art in itself.

1 comment:

hribek said...

I think we can agree. There has to be human on "both" three ends. As initiator, supervisor and player.
Each having differend set of tools - randomness, stdout & stderr, neurons ;).

I was thinking too low level. The product would have to simulate human bran with some recognitions + short term memory (~cache), reflexes ... and end up probably too complex.

Maybe some simplified model could be achived whith emergent behaviour (and ten years of studying brain;) ).

But this is idea I have actively abandoned. Now I am thinking, just as you said it's about artist, about doing [Subject][Verb][Object] + some magic (probably even time travelling).

There's project in school ;) and I am quickly running out of time by just thinking about it. If I am going to do some proof-of-concept I am going to let you know.

Btw, my project is emergent behaviour. I just detest doing "animals in zoo" - type simulation.