Project: Gauntlet - Current Iteration

Friday, November 27, 2009

The importance of variety in Procedural Generation of game content

Variety - the spice of life - the tumeric in the casserole of our days and ways.


Not entirely sure if this whole '3 blogs in one day' is productive or counter-productive.
One perspective would be that any work on a Saturday - of all days, is productive.
One would be incorrect.

Short and sweet - before I get to dinner and subsequently back to Unity.

What aspects of the game will be generated and altered procedurally?
And by procedurally, we'll mean what we'll call 'pointed randomisation'.

A quick bullet list. Please - comment and contribute.

  • Level generation. 
    • Where you can walk, which directions - which twists and gripping turns, you are taken on.
  • Obstacle placement.
    • The type of obstacles you encounter.
    • The amount of obstacles you encounter.
    • The positioning of said objects.
    • The scale of these objects.
  • Enemy placement
    • The type of enemy encountered
    • The power of the enemies encountered.
    • The appearance of the enemies encountered.
    • The location of enemies encountered.
    • The quantity of enemies encountered.
    • The behavior (speed, jump height, attack type) of enemies encountered.
  • Item placement (if items do exist. I assume they will)
    • As above.
All this is well and good, but it really only reflects a fairly generic randomisation of levels.

I think - sadly enough - that procedural generation is not the ends, but only a means to get partway to the ends.

I think the most important thing we can have, for this project, is:
  • A variety of enemies, obstacles and items
    • A rarity rating of each object - to assure that there is that feeling of "Ooooh... Pokemon Johto just started! Will he choose Chikorita? I hope not".
  • Varied color and superficial changes - enough to assure that each generated level does not contain every single asset of variation the game engine contains.
Following this structure, I believe we can make a nice-looking, nice-playing game, with a good degree of replay value.

Replay value... there's a subject for a blog - but another time!
Now is the time for work.
Talk is Cheap.

No comments: