NaNoGenMo 2015

November is over, and that means that NaNoGenMo is done for this year! While there are still a few stragglers finishing their novel generators late, there are 72 completed projects presently listed. That’s somewhere in the neighborhood of 3.6 million generated words.

Some of the projects include: generated news coverage of NaNoGenMo, a Fighting-Fantasy-style procedurally generated gamebook, a procedurally generated jewel heist, a novel based on XKCD #1609, a novel about the github repository that NaNoGenMo was organized at, and a ton of other novels. 

I’m sure I’ll be highlighting some of my favorites later, but for now you can read them yourself: https://github.com/dariusk/NaNoGenMo-2015/issues?page=1&q=is%3Aopen+is%3Aissue+label%3Acompleted







ravenworks:

datmassivepanda:

freegameplanet:

Library of Blabber is an odd little experience that in which you search for any form of sense in an infinite library, filled with an infinite amount of randomly generated books (mostly) filled with gibberish.

Inspired by Jorge Luis Borges’ story The Library of Babel, and Jonathan Basile’s libraryofbabel.info project, the chances of you ever finding anything resembling a sentence, let alone a readable book are ridiculously small.  

However, there’s always a chance – after-all, much like the logic of the Infinite Monkey Theorem, an infinite library must contain every book that can, and will ever exist.  So everything from the complete works of shakespeare to that homework essay you wrote when you were 12 is in there somewhere among the infinite nonsense.  Unfortunately you’d probably need an infinite amount of people or an infinite amount of time to find anything meaningful, but you can always try!

Play The Full Game, free (Win, Mac & Linux)

@chinburd

cc @procedural-generation !

! indeed.

I’ve mentioned libraryofbabel.info (which now includes image archives). A VR tour of the Library (which some call the universe) is a nice next step, so I’m glad Ivan Notaros made this for Procjam 2015.








SimCity 2000 - Newspapers

Simcity 2000 doesn’t just have terrain generation. Every city has between one and six newspapers that are updated every month with new stories about the city.

The articles are clearly generated from templates, with liberal word substitutions. The templates frequently correspond to the current state of your city, with a few international news items thrown in. The absurdity of the word swaps and the tone of the templates fit in well with the rest of Maxis’s trademark humor. 

Later SimCity games would use news tickers, but I miss the extra bit of narrative connection you get with your citizens when you read an interview with them, even one constructed out of absurd templates. The news tickers tended to have clever headlines, but become exhausted fairly quickly, whereas the newspapers had predictable, even serious headlines and funny madlib text, which is I think what gives them more staying power.

Fred Haslam, Debra Larson, and Chris Weiss are credited with writing the content for the newspapers.




LE Omelette D'ARTHUR (2013)

A novel from the first NaNoGenMo, by Michael Paulukonis. The basic operation is to take two texts and swap the nouns in the first with the nouns in the second. In this case, the two texts are the first volume of Le Morte d’Arthure, and a book about hackers: Underground by Suelette Dreyfus. It’s not the most coherent story, with the new nouns resulting in more of a texture than a sense of place. The result reads like a cyberpunk epic, one that the machines tell each other late at night when only the blinkenlights illuminate the server room. 

Word swapping and combining texts still a go-to technique for NaNoGenMo, especially since the choice of input texts greatly affects the outcome, and new algorithms for how the combination is done have produced some nicely sophisticated results.

The novel, and the code repository are available to view, as is the discussion thread from 2013.




Animated Mandelbulb (2012)

Now we get to the real reason I’ve been posting about Mandelbulbs: this lovely animation of one. I don’t have a lot of technical information about this one, other than that the Arnold global illumination renderer was used to render the result.




Discovery of the Mandelbulb (2009)

The thing that makes Mandelbrot’s fractal feel so much like a natural phenomenon is that its mathematical representation is so simple. The familiar images are simply visualizations of coordinates of complex numbers, with the real part on the horizontal axis and the imaginary part on the vertical axis. For each pixel on the plane, calculate how rapidly the sequence diverges and color the pixel accordingly.

There’s no 3D equivalent to the complex number plane, so there’s no true three-dimensional Mandelbrot set. However, that hasn’t stopped artists and mathematicians from searching for formulas that yield 3D fractals with somewhat similar visual properties.

In 2009, Daniel White and Paul Nylander (plus the Fractal Forums community) found something that fit the bill, which they called the Mandelbulb. The formula uses spherical coordinates (instead of the 2D polar coordinates) and squaring part of the formula to a higher power (typically 8). The result is as close as we’ve come so far to being a three-dimensional representation of the Mandelbrot set.

Today, there are multiple software tools that can render the Mandelbulb and similar 3D fractal objects, and artists are continually finding new ways to view these mathematical intrusions into our home dimension. 

The explanation and story of the discovery are eloquently conveyed in Daniel White’s write-up: http://www.skytopia.com/project/fractal/mandelbulb.html




A procedurally generated earth-like planet with rings from Elite: Dangerous

Binary star system in Elite: Dangerous


Notice the crater patterns




Elite: Dangerous (2014) - Planet Generation

Previous Elite games used a statistical approach to generating solar systems, essentially rolling dice on tables of numbers that lined up with the observed statistics for stars and the hypothesized statistics for planetary distribution. This is a tried-and-tested approach to generating content. But Elite: Dangerous chose a different path. 

You’ll hear the developers talk about something they call “Stellar Forge,” which is a simulation of planetary formation, starting from nebulous gases and gradually accreting into stars and planets.

Frontier: Elite 2 used a 2D top-down image of the galaxy to approximate stellar density, so it knew how many systems to generate per sector, and Elite Dangerous appears to do something similar, only expanded into three dimensions and with more detail. The vast majority of the 400,000,000,000 star systems in the galaxy are placed this way, simply because of the limitations of current astronomical observations.

For the stars that we do have data for, the developers used the information in the Hipparcos and other stellar catalogues. These can be searched in-game with their catalog numbers (which are also listed in the system view). Known exoplanets are also included.

The planets Stellar Forge creates are based on the outcome of the simulation. The distance from the star, the temperature, the amount of mass, and so on go into what the final result will look like. And it’s not just generating heightmaps from noise: the game runs tectonic simulations and models other processes to create the features of the world. The craters formed on the planet reflect the impacts from the Stellar Forge simulation of the formation of the system.

There’s a ton of detail hidden on these planets right now, which is why it’s a pity that player interaction with the planets is somewhat limited at the moment. Players automatically drop out of hyperspace when they get too close to a planet, and they’re not yet allowed to land.

So most of the interaction that players have with planets is indirect. Some planets are more valuable to discover than others, and the kinds of planets in a system will have a  major impact on the local economy. But until landing on planets is added to the game, the variation in the planets is mostly cosmetic.

Which is not to say that the variation is useless. Having every planet unique, varied, and reflecting the history of the star system contributes to the feeling of a cohesive universe. The material presentation of a game–its narrative and the explanation that it gives for itself– is a crucial and undervalued bridge between the player and the form of the systems running beneath the hood.

Still, I imagine that many of the players are looking forward to the next season of content for the game, which includes the first round of planetary landings.




Fractal Forums

Fractals are, of course, symbiotically related to procedural generation. So an online community dedicated to exploring fractals is definitely of interest.

There are a ton of artists who post their explorations of fractals there, including videos and images of 3D fractals, such as the Mandelbulb. 

http://www.fractalforums.com/







Abulafia

Abulafia is a wiki of user-created text generators. Originally aimed at roleplaying games, the generators have come to encompass a vast number of different subjects, albeit still very worldbuild-flavored. 

Want to know what sword the Trusted Devotee of the Eight Serpent is carrying? There’s a generator for that. Don’t like your choices? Refresh the page and it’ll generate a new set of results. Can’t quite find the generator you’re looking for? Add your own! It’s as simple as editing a wiki page, or as complex as stringing together the output of many other generators. If you’re building your own text generator, you might find some inspiration buried here.

http://www.random-generator.com/index.php?title=Main_Page






THX Deep Note (1982)

You’ve likely heard the Deep Note, the sound that accompanies the logo for Lucasfilm’s THX theatrical sound certification system. Created by Andy Moorer, it debuted in front of Return of the Jedi in 1983.

What you might not be aware of was that it was procedurally generated. Not only was it synthesized on Lucasfilm’s Sound Droid/Audio Signal Processor (a very early digital audio workstation), making it an example of computer music, but the instructions for the generation were output from a program written in C that created a list of parameters for the real-time synthesis. 

The program generated multiple versions, which let Moorer pick the version he preferred. It’s an example of Kasparov’s centaur, a human-machine collaboration. Procedural generation very frequently involves the human creator of the system nudging the result into shape. 

It’s also a good example of why it’s a good idea to store the seeds and parameters you use for your random generation. Since the random number generation of the original program was seeded with the time and date, when Lucasfilm temporarily lost the recording, it was difficult to recreate. (They got lucky and found a copy of the original recording.)

Recently, Andy Moorer recreated the sound for the new age of theatrical audio, starting from the same C code. You can listen to the result below, though the YouTube video does lack the ability to play the 9.1 version: