A while back, Shamus Young did a whole series of posts on creating a procedurally generated city from scratch. When he was done, he released the source code.

I think the really valuable thing about this project is how his blogposts walk through the process, discussing the problems he ran into and the ways he tried to solve them, including some backtracking and lots of experiments. It’s a good look at what thinking about a project like this looks like when you’re working on it.




Gamasutra, if you’re not already aware of it, has a large repository of game developer focused material, including lots of technical breakdowns and postmortems. This article, Random Scattering: Creating Realistic Landscapes by Mick West was originally published in the late Game Developer magazine.

It’s got a number of useful things in it, but I want to highlight this part of it:

Two competing methodologies in procedural content generation are teleological and ontogenetic. The teleological approach creates an accurate physical model of the environment and the process that creates the thing generated, and then simply runs the simulation, and the results should emerge as they do in nature.

I’m not convinced that these are the best terms to use (a point others have brought up) but the distinction is important: do we create a bottom-up simulation of something and run it to emergently create the content, or should we just try to find a top-down process that mimics the final appearance of the thing we want?

Both approaches are valid, even for similar things. A top down terrain generator could use perlin noise to generate a height map, a bottom-up terrain generator could simulate tectonic plates and erosion. Each approach has different strengths and weaknesses, and often a combination of the two is useful.

http://www.gamasutra.com/view/feature/130071/random_scattering_creating_.php?page=1






Take the integral of white noise: the frequencies you have left are red noise, named because energy is in the lower frequencies of the power spectrum. It’s also called Brownian noise, because it can be derived from the drunkard’s walk of Brownian motion.

For a good overview of all things noise generation, check out this page on Noise Functions and Map Generation from Red Blob Games. It’s got a bunch of examples of different types of noise (with Python source code) and has a bunch of suggestions for how to use noise for different effects.

For more about the colors of noise, check out this explanation from a signal processing expert.




From the ProcJam 2014 site, this collection of tutorials is a good introduction to getting started with procedural generation.

http://procjam.tumblr.com/post/99689402659/procedural-generation-tutorials-getting-started




Here’s a really cool generative project. A professor from MIT, the Mediated Matter Group, a 3D printer manufacturer, and some artists used a computational growth process and 3D printing to produce these wearable art pieces.

Various growth algorithms are depicted in the video, procedurally creating objects by growing them.

Christoph Bader & Dominik Kolb have several other generative sculpture projects, and I expect we’ll hear more from them in the future. Prof. Oxman also has some interesting 3D printing projects, including one that appears to involve silkworms.

https://www.behance.net/gallery/21605971/Neri-Oxman-Wanderers




Dungeon Crawl Tournament March 13th - 29th

Because they were played on shared university servers, many of the early roguelikes, including Rogue, had an asynchronous multiplayer component. This was more than just a high-score list: you could encounter the dead bodies of other player’s characters, often with their stuff and the thing that killed them still lurking around.

Some roguelikes, including Nethack and Dungeon Crawl, still offer public servers. As part of this they sometimes have public tournaments. Coincident with the release of the next version, the Crawl 0.16 Tournament is being held online.

http://crawl.develz.org/wordpress/0-16-tournament




The 7 Day Roguelike Challenge started in 2005, partially as a way to get more finished roguelikes. This year it is running from March 7-15.

http://7drl.org/about/






Rogue (1980)

We’ve mentioned roguelikes, but just what is this Rogue that they’re like?

Rogue is, as you can see above, a dungeon-crawling roleplaying game. It is by no means the earliest: The very first printing of Dungeons & Dragons was in 1974 and there were already dungeon crawlers on the PLATO system by 1975.

The crucial difference between Rogue and its UNIX contemporaries was that Rogue procedurally generated its dungeons. Where many other games, following after ADVENT, had fixed adventures, the dungeon in Rogue was new every time. This was one of the developer’s goals: 

One of the things we wanted to do was create a game we could enjoy playing ourselves. Most of the existing adventure-type games had “canned” adventures – they were exactly the same every time you played, and of course the programmers had to invent all of the puzzles, and therefore would always know how to beat the game. We decided that with Rogue, the program itself should “build the dungeon”, giving you a new adventure every time you played, and making it possible for even the creators to be surprised by the game.
A Brief History of “Rogue" by Glenn R. Wichman

Michael Toy, Glenn Wichman, and Ken Arnold originally developed Rogue on university computers running BSD/Unix; when it got included in the BSD distribution its position in history was assured as it spread across college campuses worldwide. The game rapidly spawned clones, creating the nascent roguelike genre.

The version I’m playing above is a port of the 5.4.4 Unix version, which is from ‘85 or so. By that time, the roguelike genre was well underway, though scattered and with haphazard cross-pollination.

You’ll notice that it’s not just the maps that are procedurally generated: the scroll I picked up has a randomly assigned name, and I won’t know which scroll it actually is until I identify it. Procedural generation can create exploration for more than just spatial movement; exploration can apply to systems as well as maps.



Announcing IRDC US 2015

irdc2015usa:

In the grand tradition of past International Roguelike Developers Conferences, we are announcing a US version of the conference, this May 30-31 in sunny Atlanta, GA.

We are tentatively looking to hold it on the campus of Georgia Tech, trying to nail down an exact building and room, which will…

If you can’t make it to the UK but you are interested in roguelike development, the American instance of the 2015 conference is coming up in May.




The (European) International Roguelike Development Conference 2015 is scheduled for the 27th and 28th of  June, at the National Videogame Arcade in the United Kingdom. Sounds like they have some interesting new things planned for this year’s event.

For more information, check out: http://www.ultimaratioregum.co.uk/game/irdc-2015/