Besides programming, modeling an environment takes a great deal of time.

I don't know about the work time involved, for example, in a WoW dungeon level, or other beautiful city-like, future environment, jungles, fantasy, etc, but this kind of work is made from scratch by artists.

What are the techniques involved in the TorchLight level randomizer, and does other titles have similarities with this ? Is there a family name for such techniques ?


4 Answers 4


Roguelikes have been doing this kind of thing since they were invented, and they are the "seed" Torchlight (and Diablo) got their ideas from.

I don't know about Torchlight's specifically, but in general, what you are looking for is called "Procedural Level Generation".

Fuel procedurally generates a zone so bast that it would not fit on the DVD the game comes in. I particularly enjoyed reading Shamus Young's series on it.

Another interesting example of procedurally generated content is Introversion's not-yet-release game, called Subversion. Have a look at Part 12 on that page; it's specially juicy.

Speaking about procedurally generated cities, there's also some middleware around - check out http://www.procedural.com/.

For more games/middleware, check out the Procedural Generation Wikipedia page and the Procedural Generation Wiki.


(Cited Links in pastebin link: http://pastebin.com/PpJknMuT )

Well you could say that there are 2 different kinds. It depends what you want. For example if we take a recent GTA game, 100's of artists were used to make the city and to personalise it. Procedural generation could be used here, but it would be used as an artists tool rather than something running on the game engine as we don't particularly want a different city layout with each game.

So my undergraduate dissertation was on procedural city generation with city zoning: [1]

This tool is used by the artist to create a city whilst allowing control over different aspects if they require it. The city generation is similar to L-systems as seen by Pascal Mueller's work: [2] The city zoning works as an image map taking probabilities of zones (commercial, residential, industrial) from the pixel rgb data. It would be possible to automate the generation if you wanted to, but to make cities look believable the algorithm would have to be far more complex using population AI mechanics rather than L-System and noise algorithms.

On the fly generation can be seen in [3] or I guess the simplest example would be helicopter: [4]

Something similar to Torchlight would be Infinity: Quest for Earth [5]

In Infinity, the galaxy and everything within it is generated with a seed value that then creates all the other variables used to generate everything contained in the galaxy (planets, suns etc) The link talks about how this works in greater detail.

  • \$\begingroup\$ Yes, I get it: one wouldn't always want to have random levels with generation from a seed or else. The thing is, the thing we want level generation to do is just to ease the work of a level designer so he wouldn't have to make everything with maya or max. Level generation isn't always designed to just generate levels, it can also make the software generate chunks of geometry on the fly, instead of leading a big file containing all the geometry, like a heightmap, but for specific sets of levels, like a jungle, an office, or a city: We just ask the artist to do the textures and some \$\endgroup\$
    – jokoon
    Jan 10, 2011 at 11:46
  • \$\begingroup\$ and some common pieces of geometry we want to repeat. I'm not talking about procedural-only levels, but for big big world, this is a must for saving memory. \$\endgroup\$
    – jokoon
    Jan 10, 2011 at 11:48
  • \$\begingroup\$ What kind of game environment do you want? I mean if you have a city then only buildings would be repeated in different orientations.. Landscapes are as you say a lot easier to generate on the fly.. This really depends on the game you want to make, so would it be something like Morrowind/Oblivion or GTA or something else? \$\endgroup\$
    – Sycren
    Jan 10, 2011 at 12:53

Minecraft uses 2D Perlin noise to generate outdoor terrain. It can have practically infinite levels (you'd die of old age before you got to the edge) that are generated as players explore. It (probably) also uses 3D Perlin noise to generate underground caves.

  • \$\begingroup\$ Technically the edge of the Minecraft world is unreachable - as you get about a third (IIRC) of the way there, the game starts seizing up and saves every second and is unplayable. ;-) \$\endgroup\$ Jan 9, 2011 at 15:36

What are the techniques involved in the TorchLight level randomizer.

They will just be random numbers that get put into there level algorithms.

and does other titles have similarities with this ?


Although debatable Left 4 Dead used similar techniques in there AI Director.

Is there a family name for such techniques ?

Fractals, Recursions, L-systems and plain old algorithms. Each combined with random numbers.


Not the answer you're looking for? Browse other questions tagged .