Procedural Level Generation in Sure Footing | AI and Games

Tommy Thompson has a series of videos looking at the artificial intelligence in various games. This often includes many behind-the-scenes insights into how particular games work. It also occasionally includes details of the procedural generation in some games, since that sometimes falls under the umbrella of AI.

In this case, the behind-the-scenes look at how the procedural generation works is especially behind-the-scenes, because Sure Footing is Tommy’s game. This means that the video has a huge amount of information about the pipeline of generators that the game uses. This includes how the generators can be tweaked for accessibility, the many different parts of the level generator, and the way the pipeline uses constraints and cost to improve the generation of sprints and sectors.




LOC Serendipity: Curated and Randomly Generated Selections from the Library of Congress

One of the practical uses of randomness is to reintroduce serendipity into our lives. Our algorithmic world imposes filters and timelines sorted by interest and by intent or accident tends to keep us in the bubble that we already know about. As our searches get better we lose the chance to see what book just happens to be on the next shelf in the library. We’ve gotten better at finding the things we know about and worse at discovering the things we never suspected existed.

Enter LOC Serendipity: a random selection of books from (a subset of) the Library of Congress. There are books here you’ve never heard of, and never would have heard of if you hadn’t clicked on the link. While each individual book is likely to be forgettable, there’s always the chance that you’ll encounter something that will change your life. (Libraries are dangerous!)

The OuLiPo writers talked about the clinamen, the unpredictable swerve that “makes creation possible by introducing chance and spontaneity in an ordered universe”. The problem with a life that is too well-managed is that disruptions can only be bad. Serendipity can introduce the possibility of a good surprise. And I don’t know about you, but I think my life can always use unexpected pleasantness.

Though sorting through the books also highlights how a lot of books are pretty terrible, following Sturgeon’s Law. Since the works here are from the subset of the LOC that are freely available, the 19th century public domain books are over-represented. There are good things in there, but also a lot of racism, discredited pseudoscience, and similar dismal discoveries. That’s one of my concerned about copyright and the public domain: as our machines learn from the data they have available, the part that isn’t locked away has biases that need to be taken into account before you can use them. Less draconian copyright with shorter terms would be a collective benefit.

http://www.locserendipity.com/




Map Generation in the 7DRL Get Well Soon

I’ll talk about the actual 7-day roguelike game itself eventually, but this dev blog post about using WaveFunctionCollapse to generate levels caught my eye for both the technical results and the description of the process of working with a PCG algorithm.

I’m always interested to see the processes that other developers use: what problems did you run into, how did you approach solving them, why did you make those particular design decisions?

For the use of WFC specifically, the two things that caught my eye here was the emphasis on the image-based pipeline for prototyping with WFC and the use of additional constraints.

In my opinion, one of the most powerful aspects of WFC for PCG development is that the interface can be entirely based on the images you give it. Rather than writing rules or dragging sliders around to find the right numbers, you can use the intuitive interface of painting what you want the thing to look like. In practice it’s a little trickier than just painting an example, since it learns long-distance relationships and particular constraint rules from the image, which can take a little getting used to. But the main point is that an artist, with no understanding of the code, can start playing around with it and gain an intuitive understanding. At the same time, an expert can fine-tune the output with the same image-based interface.

Being able to play with the inputs to a generator is a massive productivity boost. We go from painstaking experiments, moving one knob at a time, to trying whimsical combinations that open new possibilities.

At the same time, the image-based interface does have its limitations: some things are more easily expressed in other ways. We still want to use the image-based interface, but at the same time we want our images to have an additional layer of information: for example, making sure that the rooms we generate are eventually connected with the front door. In this case, some of the added rules were removing the fully-white tile from the adjacency rules and adding some additional border-selection logic. These can be added, and I’ve implemented variations on this myself–but, of course, one of the strengths of WFC is that you don’t need to know the code. (Which is why one of the things I’m working on is trying to find effective ways to express new constraints in WFC, to make it integrate better with a pipeline. But that’s a topic for another day.)

https://gridbugs.org/7drl2019-day1/




We are happy to announce the Generative Design in Minecraft Competition (GDMC). We are currently running our first challenge, the settlement generation competition.

Do you like Minecraft and procedural content generation? Did you look at the villages in Minecraft and thought, I could write a better algorithm to produce settlements? Now is your chance to prove it.

The Settlement Generation Challenge is about writing an algorithm that can create a settlement for a given, unknown Minecraft map. The challenge is to produce an algorithm that is adaptive towards the provided map, creates a settlement that satisfies a range of  functional requirement - but also looks good and evokes an interesting narrative. The goal is to basically produce an algorithm that can rival the state of the art of what humans can produce.

If you are interested in participating, you can find a framework and example agents on our GitHub [ https://github.com/mcgreentn/GDMC ] page. Rules and detailed judging criteria can be found on our webpage [ http://gendesignmc.engineering.nyu.edu/ ]. The basic idea is that all submitted algorithms will be run on three, previously unseen, maps, and the results will then be evaluated by our advisory board. So, grab one of our test maps (http://gendesignmc.engineering.nyu.edu/files/TestMaps.zip), and see what you can do.

The submission deadline is the 30th of June, and results will be announced at the Foundations of Digital Games conference (FDG 2018) in August , as well as online. Submissions will open soon.

You can find more info on our website at http://gendesignmc.engineering.nyu.edu/ or read the scientific paper we wrote about it https://arxiv.org/abs/1803.09853.

Also, follow us on Twitter (@GenDesignMC) for updates and announcements, or join our discord channel: http://discord.gg/ueaxuXj

The GDMC organization team


This shows you how often I check my mail, because the first Settlement Generation Challenge had the results announced…in summer 2018.

But if you want to participate, the second challenge recently had a deadline extension: entries are due April 14th.




EndlessForms

EndlessForms is a site by the Creative Machines Laboratory at Cornell that uses evolutionary developmental processes to generate voxel objects based on the genes’ relative geometric position. The site explores the generative space that emerges from Compositional Pattern Producing Networks. Unlike other ways of simulating growth, CPPNs are locally independent: each individual component grows without knowing what its neighbors are doing.

One reason that CPPNs are useful for procedural generation is that they can effectively represent a highly complex generative space because they can vary both the topology and activation functions of the network.

http://endlessforms.com/




Dwarf Fortress on Steam Announcement Teaser

Well, it looks like today’s big news is that Dwarf Fortress is getting a graphical version. Kitfox Games has stepped up to help with marketing, hiring tileset artists, and the like. The gameplay isn’t changing, and the original ASCII version will maintain its ongoing development: this is something between a port and a publishing deal.

It’ll be on Steam and itch.io.

Meanwhile, the Villian Update proceeds apace and Tarn Adams recently fixed a butterfly effect bug where a leader’s shrine encouragement selection was mistakenly nondeterministic, leading to a chain of effects that cascaded into alternate universes during world generation. So par for the course for Dwarf Fortress.







The Caves

A cave generator, by @stevepunk__.

It’s slow, but that just lets you see each step that it follows. If you’re studying a generator, it is worth looking at what steps it follows to build up to (or subtract down to) a result.

This isn’t the most exciting generator out there, but I think the way it walks through the different steps to create interesting looking caves is well thought out.

https://stevepunk.itch.io/the-caves






There Is Only Power

I came across this roguelike the other day. It’s not the first roguelike to flip things around and have you play the rising evil threat, but the combination of the card-based combat and the strategic focus kept my attention.

I do like rougelikes that push the envelope on what the genre can do–admittedly, we’ve got a lot of rougelikes, rougeloves, and related things running around these days. But I have a particular weakness for combining strategy games with roguelikes. Both genres have a long history of using procgen as an essential part of the experience. Plus, you get the personal-scale character focus of the roguelike and the dynamic agency of the strategy game.

https://porousnapkin.itch.io/there-is-only-power




i decided to browse this tumblr with this blackout poetry bookmarklet on, and came across this gem, just had to share


This is neat, and also on-theme for me to post today.




Computational Poetry Workshop: May 25th

The intersection of my interests in novel generation, generative poetry, computation as a poem, poems written in code, and assorted oddments of hypertextual poetry has resulted in organizing the Computational Poetry Workshop, happening this May on the 25th.

We’ve got an exciting keynote speaker and a few surprises planned. It’s not just about computers that write poems (though there will be that).

If you happen to be in the area, mark your calendars.

http://bit.ly/CompPoetry2019