You’ve no doubt caught on to the fact that many new games, indie or otherwise, love to randomly generate their worlds for you to explore differently every time. Question is, is it really as random as the term suggests, and how easy or difficult is it to create a randomly generated engine compared to a stock standard one?
Those questions and more have been rather not so randomly answered by Scott Beca, Technical Director of Melbourne based Considerable Content (who, you may recall, are currently at work on Rogue Singularity) in his article Procedural Generation: A Primer for Game Devs. Scott has summarised in great detail what it truly means to create a randomly generated world, using their own game as a basis for providing the in-depth explanation.
In general computing terms, procedural generation is any technique that creates data algorithmically as opposed to manually. It may also be called random generation, but this is an over-simplification: although procedural algorithms incorporate random numbers, they are never truly random, or at least not as random as that term implies.
– Scott Beca, Procedural Generation: A Primer for Game Devs (Courtesy Gamasutra)
As Scott explains, procedural generation can be used in multiple ways, depending on the kind of game you’re creating. The most common use is within level design, automatically generated a map or a series of rooms, but it can also be used to generate textures and models on the fly, determining the placement of certain NPC’s or (in the case of Borderlands) generating weapons and items.
Those of you on the outside might consider the possibility that having a procedurally generated game engine as the basis for a game seems like ‘the easy way out’, leaving the concept of map and level design up to chance. As the article clearly explains, that couldn’t be further from the truth, given the importance of fine tuning the nature and parameters of the engine. It could take just as much time developing an engine of this ilk as it would creating levels traditionally, especially if you want it to work just right.
If you’re a budding game developer, level designer or are just curious like I am, Scott Beca’s article is well worth a read. There’s a lot more to procedural generation than it may seem, so it’s good to get a clear overview of it from the mind of someone who has clearly put a lot of work into their own engine. It’s also cool to see how Rogue Singularity has evolved over time, from its earliest beginnings as a completely different game to its current beta form.