Jump to content


[1.1] What is Procedural Content Generation?

Recommended Posts

Posted  Edited by Aristotle

          You have just started reading a post about Procedural Content Generation in Games. This post will contain quite a lot of algorithms and other technical content, and plenty of discussion of game design. But before we get to the meat of the post, let us start with something a bit more dry: definitions. In particular, let us define Procedural Content Generation, which we will frequently abbreviate as PCG. The definition we will use is that PCG is the algorithmic creation of game content with limited or indirect user input . In other words, PCG refers to computer software that can create game content on its own, or together with one or many human players or designers.


          A key term here is “content”. In our definition, content is most of what is contained in a game: levels, maps, game rules, textures, stories, items, quests, music, weapons, vehicles, characters, etc. The game engine itself is not considered to be content in our definition. Further, non-player character behavior—NPC AI—is not considered to be content either. The reason for this narrowing of the definition of content is that within the field of artificial and computational intelligence in games, there is much more research done in applying CI and AI methods to character bebehavior than there is on procedural content generation. While the field of PCG is mostly based on AI methods, we want to set it apart from the more “mainstream” use of game-based tasks to test AI algorithms, where AI is most often used to learn to play a game. Like all definitions (except perhaps those in mathematics), our definition of PCG is somewhat arbitrary and rather fuzzy around the edges. We will treat it as such, and are mindful that other people define the term differently. In particular, some would rather use the term “generative methods” for a super set of what we call PCG.


          Another important term is “games”. Games are famously hard to define (see Wittgenstein’s discussion of the matter), and we will not attempt this here. Suffice it to say that by games we mean such things as video games, computer games, board games, card games, puzzles, etc. It is important that the content generation system takes the design, affordances and constraints of the game that it is being generated for into account. This sets PCG apart from such endeavors as generative art and many types of computer graphics, which do not take the particular constraints and affordances of game design into account. In particular, a key requirement of generated content is that it must be playable—it should be possible to finish a generated level, ascend a generated staircase, use a generated weapon or win a generated game.


          The terms “procedural” and “generation” imply that we are dealing with computer procedures, or algorithms, that create something. A PCG method can be run by a computer (perhaps with human help), and will output something. A PCG system refers to a system that incorporates a PCG method as one of its parts, for example an adaptive game or an AI-assisted game design tool. This po will contain plenty of discussion of algorithms and quite a lot of pseudo code, and most of the exercises that accompany the chapters will involve programming. To make this discussion more concrete, we will list a few things we consider to

be PCG:


• A software tool that creates dungeons for an action adventure game such as The

Legend of Zelda without any human input—each time the tool is run, a new level

is created;


• a system that creates new weapons in a space shooter game in response to what

the collective of players do, so that the weapons that a player is presented with

are evolved versions of weapons other players found fun to use;


• a program that generates complete, playable and balanced board games on its

own, perhaps using some existing board games as starting points;


• game engine middleware that rapidly populates a game world with vegetation;


• a graphical design tool that lets a user design maps for a strategy game, while

continuously evaluating the designed map for its gameplay properties and sug-
gesting improvements to the map to make it better balanced and more interesting.

In the upcoming chapters, you will find descriptions of all of those things de-
scribed above. Let us now list a few things that we do not consider to be PCG:


• A map editor for a strategy game that simply lets the user place and remove items,

without taking any initiative or doing any generation on its own;


• an artificial player for a board game;


• a game engine capable of integrating automatically generated vegetation.



Several other authors have tackled the issue of surveying PCG or part of the field

we call PCG, though the overlap is far from complete.


*This was written, posted, and edited by me C. Shorette. Any unauthorized use of this content will result in legal actions.*

Edited by Aristotle

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...