Epitaph (FermiJam 2016)

Speaking of game jams, the recent Fermi Paradox Jam has some notable use of procedural generation. In this case, it’s textual variation in Max Kreminski’s Epitaph.

As you attempt to guide the alien civilization past the civilization ending bottlenecks, the descriptions of their development and some of the events they can encounter along the way vary. Granted, the volcano wiping out the biosphere is a terminal variation, but some surprises are happier, like the domestication of pets.

Alerted by the tones, you interfere with the development of a succession of civilizations. Most of which will fade into the background after their ignoble demise. 

Here’s one quick tragedy:

Ezvri

We first became aware of the Ezvri in 2326. They reside on the windy planet Ihvri in the Vuze Kihi system. They are subtle, brusque, and industrious.

The Ezvri have learned how to catch water-dwelling creatures such as the esnre, which is now an important part of the Ezvri diet.

As the Ezvri population increased, they began to overfish the waters of Ihvri. By 2348, they had driven the esnre species to extinction. The ensuing famine brought about a total collapse of Ezvri civilization.

And a longer one:

image

https://mkremins.itch.io/epitaph









Ocean Tribes (ProcJam 2015)

ProcJam 2016 is just a little over a month away, so I’ve started taking another look at the projects from last year. Ocean Tribes is a little 4X by Oleg Dolya that takes place on a procedurally generated ocean map.

The shape, position, and special features of the islands are generated, and I like the feel of your gradually expanding exploration.

The late game is grindy due to the balance tipping strongly towards the defense, but it’s a jam project, so that’s not too surprising. What I really like here is the reminder that you can experiment with generative stuff even if you aren’t working with the latest whizzy game genres. 

You don’t have to make a 3D open-world seamless survival galaxy. There’s a lot of examples from the ‘80s and ‘90s of genres to take inspiration from: go experiment with making something inspired by Utopia, The Ancient Art of War, Seven Cities of Gold, AnacreonMerchant Prince, Dragon Lord, Lords of Midnight, or something even more obscure. Atari-era games are especially good inspirations for game jams because the hardware constraints kept the scope tightly focused but they often had ideas that they were bursting at the seams to express.

https://watabou.itch.io/ocean-tribes






WaveNet

We’ve seen neural networks used to generate speech before, but this research project doesn’t just blow past examples out of the water: it also outperforms state-of-the-art text-to-speech approaches.

Because it operates by looking at the the audio signal directly, they also tested feeding piano music into it, generating speech without text, swapping voices, and reversing the process and using it to perform speech recognition.

The results point to a future where it will be much easier to generate speech that reflects the emotional content, or where the speech data for a large number of different-sounding NPCs can be generated from one voice actor.

https://deepmind.com/blog/wavenet-generative-model-raw-audio/




Tumblr Simulator 3000

Tumblr Simulator is a bot that posts tumblr meme-ish stuff to its Tumblr blog. It’s also way more popular than I am.

image

The bot is powered by Tracery and Cheap Bots Done Quick. You can suggest new memes to be added to its templates.

image

Part of the reason for its popularity is that some of its fans have taken the initial posts and built on the jokes.

There’s also a twitter feed.

http://memelovingbot.tumblr.com/



Darius Kazemi and Duncan Robson built a movie trailer bot.

It mashes together 2500+ trailer title cards to assemble sort-of-plausible teasers for imaginary upcoming films.

There aren’t a whole lot of bots that work with video, at least compared to text or image bots. Granted, it takes more technical effort, but I think the language of cinematography and editing lends itself to generative techniques. There’s been a few efforts to make generative films, but I’d like to see way more.




donjon

There’s a long history of random dungeon generation for roleplaying games, going right back to the first issue of the proto-Dragon Strategic Review magazine, meaning that official generators predate the first Dungeon Master’s Guide. So it’s no surprise that enterprising players have put together their own generators.

The donjon.bin.sh site is no exception. It has a wide variety of generators (some tailored to different rulesets). Most of which make slightly more sense than some of Gygax’s original generators, which could be a bit logic-less.

There’s some planet generators, demographics generators, calendar generators, and name generators, but the basic focus is on providing a set of tools to run a roleplaying adventure.

image
image
image

There’s some influence from other places, too: the cavern generation is inspired by a RogueBasin article. Which means that the influence has gone full circle: You can play D&D on a map generated by an algorithm designed for the roguelike genre which was originally created with the idea that you could generate a dungeon to play a solo D&D adventure.

It’s also nice that it takes the generation a step further and populates the dungeons with details and monsters, formatted in the classically laconic annotation style. It doesn’t go so far as to generate a plot (unless you count the adventure generator) but I like seeing multilayered generators nested inside each other.

http://donjon.bin.sh/






Sea and Spar Between 

Sea and Spar Between is a vast generative poem, with one stanza for each fish in the ocean.

Written by Nick Montfort and Stephanie Strickland, it takes its words from Emily Dickinson and Moby Dick. The poem is two-dimensional, with the location of each stanza indicated by latitude and longitude. It’s also completely deterministic: the poem is the same every time, even if there’s no hope that you’ll ever read the entire thing.

The result is an ocean of poetry. The the difference between stanzas is like the difference between waves. A repetitionless repetition. 

The code is open source and generously commented, with the explicit goal of inviting you to look under the hood and think about how it works.






No Mario’s Sky

Ludum Dare was last weekend, and there’s always a few games from there that use generative techniques. This time, the breakout procedural generation project that grabbed to most attention is a parody: No Mario’s Sky. Finally, an application for all those level generators.

Around the time you take your rocket ship to world FFFF-FABE, you may notice that this is a bit different from other plumber platformers.

The rocket ship reminds me of Commander Keen more than Mario, for some reason. (Someone should tell Tom Hall that he needs to make a Commander Keen space exploration game. And then get whoever holds the rights these days to let him.)

The music changes too, based on which planet you’re on.

Some planets are harder than others. Though you can always hop in your ship and fly to the next one.

Nintendo tends to frown on fan games, so despite the parody nature it may not be online forever. I personally think it’s well within the allowed bounds, but they don’t let me decide legal cases.

The game was made by ASMB Games, an alias for some people who have been mentioned here before, and some new people I suspect I may mention again in the future, if their work here is anything to go by.




ConvChain in Javascript

ExUtumno’s ConvChain has been ported to JavaScript by K.Chplr (with the code on GitHub) so it’s easier than ever to play around with it and see what results you can come up with.

I’m fond of things that expose the inner workings of an algorithm and let you directly observe the results of each tweak. Getting inside that rapid feedback loop is vital for artists. Plus, it makes generative processes much more accessible.

(There’s another online version by Amit Patel, if you want another point of comparison, which can be handy when you’re learning to implement a new idea.)

As for the generator itself, being able to take an example pattern and generate new patterns that have a similar feel is a really handy tool to have in the toolbox. I don’t think I’ve directly talked about the idea of extension much, of multiplying a small bit of content to fill a larger or more flexible space. It’s an approach that inherently gives the result structure, in a kind of recursive reincorporation of the source pattern.

You could easily use this as part of a dungeon generator, but it’s also applicable to other things. Unusual inputs, remember? What if you use the generated image to control the spawn rate of enemies in a shmup, or the growth pattern of procedural plants? What if the player’s actions create the pattern for the next level?

http://www.kchapelier.com/convchain-demo/continuous.html







Neural nets training to race cars

This project by Tomasz Rewak hits a bunch of my interests: it uses neural nets and genetic algorithms to train generations of simple race cars as they gradually learn to navigate the track. It’s also user-editable in the browser, if you want to play with the parameters yourself.

It takes a few generations for the cars to start figuring out how to get around, though once they do it won’t take long for them to start finishing the race. You can watch as they get better: at first they may overfit and only turn in the direction of the first curve they’ve learned, but once one figures out that there are two directions to turn, the next generation will learn from that one.

http://ml-games.tomasz-rewak.com/