The Flame in the Flood (In Development)

The Flame in the Flood is an upcoming game that uses procedural generation to create the river that the player explores. They’ve helpfully posted this video of how the generator works behind the scenes, creating the river ahead of the player’s travels.

http://www.themolassesflood.com/




The inverse of a Voronoi diagram is a Delaunay triangulation. Instead of determining the spaces closest to the point, it is the lines that connect the points while avoiding skinny triangles. (The technical definition is that a Delaunay triangulation for a set P of points in a plane is a triangulation DT(P) such that no point in P is inside the circumcircle of any triangle in DT(P).)

http://en.wikipedia.org/wiki/Delaunay_triangulation

If you use a Voronoi diagram to generate a map of provinces with capital cities, then the Delaunay triangulation will tell you where to put the roads to connect the towns. It’s also useful if you have to subdivide a plane into something other than a grid and you want to keep the triangles spread out.

(image from http://en.wikipedia.org/wiki/File:Delaunay_circumcircles_vectorial.svg)




Would you like to help make procedural art?

I haven’t discussed PROCJAM yet, but you can bet I’ll be talking about it in the future. Meanwhile, I wanted to make sure that you were all aware of this opportunity:

For PROCJAM 2015, Michael Cook is looking to commission some public domain art that can be used to provide art resources for people entering into PROCJAM 2015, so that it is easier for everyone can participate, even if they’re new to procedural generation.

You can check out exactly what they’re looking for on the PROCJAM site, which also includes details for how to apply to the commission. The deadline for applying is March 1st, so get your applications in soon if you’re interested!

http://www.procjam.com/2015/02/procjam-2015-call-for-art/ 




Voronoi tessellation is a mathematical technique that is often useful in procedural generation. A Voronoi cell is the space that is closest to a particular point. It’s an effective and natural-looking way to divide up a plane.

The way the distance is calculated affects the shapes of the cells; most common is Euclidian distance, but different distance functions will produce different results. The points can also be weighted, so that some have more pull than others.

http://en.wikipedia.org/wiki/Voronoi_diagram

The Voronoi wiki has some useful information:
http://www.voronoi.com/wiki/index.php?title=VoroWiki_main_page








“The sierpinski triangle page to end most sierpinski triangle pages”

Fractals are often useful in procedural generation because they encode a lot of information in a recursively compact form and can produce some surprising outputs from relatively simple inputs.

“The sierpinski triangle page to end most sierpinski triangle pages” is Antonio Marquez-Raygoza’s obsessively in-depth look at one particular fractal: the Sierpinski triangle. I’d explain more, but you should really just go to the site and read the insanely detailed look into the many, many things you can find in the Sierpinski triangle.

http://www.oftenpaper.net/sierpinski.htm




Darius Kazemi wrote a pretty thorough look at the logic behind Spelunky’s level generation. It covers the generation of the solution path (which guarantees that the level is completable), the room layouts, and how its templates work. Very informative!

http://tinysubversions.com/spelunkyGen/







Roboglyphics is a procedural handwriting library created by Ben Wiklund. It generates a series of strokes that look like different styles of cursive writing. 

http://bwiklund.github.io/roboglyphics/




Lena’s Inception is an in-development action-adventure Legend-of-Zelda-ish game with heavy use of procedural generation, including an interesting approach to generating the progression with gated lock-and-key puzzles.

http://lennasinception.com/




“Content is Bad” (2007) is a post by Dan Cook discussing the tradeoffs between procedural content and handcrafted content. Each one has advantages and disadvantages, and Dan suggests some questions that developers can ask themselves to get a better idea of which choice is right for a particular problem. 

He draws a connection between modular content and procedural content; while not all modular content is procedural, modular content is an important factor in making expressive content cheaply. There’s also a brief discussion of density, which is a topic that will undoubtedly come up here again, not just in terms of gameplay but for all content.

One last point that he makes (linking to an essay by Jason Booth) is that procedural generation is a tool, not a magic wand that gives you content for free.

http://www.lostgarden.com/2007/02/content-is-bad.html




Worley noise is a noise function, using a point-based approach to generate a cellular pattern. It’s appearance is related to Voronoi cells: instead of subdividing the space into discrete cells, Worley noise uses the distance to the nearest point as the output that can be plugged into a number of different functions.

In the animation above, there are four separate output functions that each use an identical Worley noise function as an input. By using the same noise function as an input to different output functions, we can create layered patterns that build on each other while remaining independent, meaning they can be calculated quickly and in parallel.

http://en.wikipedia.org/wiki/Worley_noise