Procedural Content Generation in Video Games

Game Design Techniques for Creating Open Game Worlds

May 7, 2009 Guy Lecky-Thompson

Article outlining procedural content generation techniques, and the way that they can help in creating open game worlds and large quantities of in-game content.

Video games rely on an underlying raft of different kinds of content. Audio is content, graphics are content, the sprites or 3D models that sit in front of those graphics are content, and the design of levels, formations, strategies and AI algorithms are all content.

Content is the key to a successful game : the right mix of game play elements, clever programming, eye and ear candy, and level design all must come together to make a game a success.

Examples of relatively low-tech content are Harmonix's Frequency, high-tech examples might be Far Cry from Crytek. Frequency boasts a very low key graphical interface, none of which is particularly difficult to create, whilst Far Cry had, at the time, one of the most advanced graphical subsystems on the market.

What ties these two games together is the irresistible possibility that the underlying content could have been generated procedurally, thus reducing load times, storage and drastically increasing the game's appeal.

What is Procedural Content Generation

Procedural Content Generation is the method by which content can be generated on the fly, rather than designed into the game. It is the difference between loading a set of 1,000 individual models for a Lord of the Rings style in-game battle, and generating them at the time that they are needed.

Many game designers have flirted with content generation over the years. The original SimCity, for example, procedurally generated landscapes. Elite procedurally generated a repeatable game universe – how else could 256 x 256 planets be stored (complete with names and descriptions) in 32kB of memory?

The key to the technique is in being able to generate a reliable rendition of a specific piece of in-game content, using a procedure (algorithm) that can be repeated each time the game is run, and get identical, or reliable, results.

Procedural, Repeatable, Pseudorandom Algorithms

One way to achieve this is to base the generation of content on a repeatable algorithm. This could be anything from Fibonacci numbers generated by a simple mathematical algorithm, or something more random in appearance.

If a random sequence of numbers is required – that is, a sequence that has no discernible pattern – but which needs to be the same each time that it is created, then a pseudorandom algorithm is needed.

Whether the aim is to generate content from scratch, or adapt from a generic model to create a whole collection of varying objects, the techniques outlined in this article will help to make the most of today's machines in generating huge open game worlds and complex gaming environments.

The copyright of the article Procedural Content Generation in Video Games in Video & Online Games is owned by Guy Lecky-Thompson. Permission to republish Procedural Content Generation in Video Games in print or online must be granted by the author in writing.
What do you think about this article?

NOTE: Because you are not a Suite101 member, your comment will be moderated before it is viewable.
post your comment
What is 8+9?