Dynamic vs. Static Generation

During the week of GDC, Ben Porter started NotGDC, a non-event for game developers who couldn’t make it to GDC. His contribution was this essay about procedural generation (a topic that he knows a thing or two about).

I’m personally not sure if I like the terminology, since “dynamic” gets overused for a lot of stuff, but the distinction between just-in-time/run-time and pre-generated but still procedural content is an important one. Run-time generation gets a lot of the press, since it’s obvious to the end-user, but construction-time generation has been a quiet workhorse in a lot of production pipelines.

Indeed, a lot of new techniques start out as artist tools and only later get re-purposed for real-time use. But because players seldom see them, there’s not as much awareness of just how much of game development is really tools development.

https://medium.com/@eigenbom/dynamic-vs-static-procedural-generation-ed3e7a7a68a3#.3uirqymwh

(Check out the other NotGDC articles too! https://eigenbom.github.io/notgdc2017/ )






Fantasy Map Generator

Now that I’ve been blogging about this stuff for years, it’s nice to be able to trace the influence of things I’ve talked about in the past on other people’s projects. For example, this map generator is inspired by Martin O’Leary’s NaNoGenMo work and by Amit Patel’s map generator, among other things, while adding interactive controls to customize the generation.

It’s also, according to the author’s description, intended as a prototype for a larger dynasty simulation project, which I will watch for with interest. (The author also asks for source code pointers. My suggestion is to integrate Tracery.)

https://bl.ocks.org/Azgaar/b845ce22ea68090d43a4ecfb914f51bd










Out To Sea

A Twitter bot by Amy Godliman, Out To Sea posts images of things glimpsed on the horizon.

It reminds me of a passage from Calvino’s Invisible Cities:

Despina can be reached in two ways: by ship or by camel. The city displays one face to the traveler arriving overland and a different one to him who arrives by sea.

The shapes that emerge on the horizon, silhouetted against the sun: are they islands viewed from the sea, or cities viewed from across the desert?  Yes.

https://twitter.com/_OutToSea_






Dwarf Fortress and Magic

This interview with Tarn Adams about upcoming changes in Dwarf Fortress is interesting not just because it offers a preview about things that are being added but because it offers some insight into the development process.

Dwarf Fortress’s complexity and depth is pretty much unrivaled. Of course, that’s partially because it has eleven years of development work behind it. It was a bit legendary even before it’s first release, given the scope of the project.

At the same time, I want to emphasize that, while I greatly admire Dwarf Fortress, it’s not something that every generative project needs to aspire to. One of my friends has a saying: “You are not Tarn Adams.” There are a few people who are able to dedicate that much time to a single, sprawling project, and chances are that you’re not one of them. And, most likely, you don’t need to be. Small projects can be delightful too.

But can smaller projects learn from Dwarf Fortress? I think they can. As I said with the history generation, generative processes can add to your system even without the vast emergent complexity of Dwarf Fortress’ tooth simulation.

In the case of the magic system, one lesson we can draw from this interview is that generative methods let us manage change. If the magic system is generative, then it’s possible to change the effects of the magic by altering the parameters of the generation. Generative methods are an effective way to implement highly dynamic systems.

This can be applied to much simpler games: how about giving the player the ability to change the parameters of a level while they’re playing it? There’s been some experimentation along those lines already, but the possibility is largely unexplored.

I fully expect that it’ll take years for Dwarf Fortress to add the full complexity that is discussed in the interview. And I advise against attempting something similar without fully recognizing what you’re in for. But I’m glad that Zach and Tarn Adams are out there out making it.










Continuous World Generation in ‘No Man’s Sky’

GDC publically releases the videos of some sessions every year and this year one of those is Innes McKendrick’s talk about the generation pipeline in No Man’s Sky.

There’s a lot of interesting bits in the talk, so I’ll just highlight a few things that appeal to me personally.

First off, the emphasis on augmenting artists rather than replacing them. The engine is agnostic about where the content comes from, making no distinction between generative content and hand-authored content. As Innes says, the goal was to enable “our artists to produce more, rather than replacing them with an algorithm that doesn’t quite do the same job.”

This is an important point, and something I’ve tried to emphasize here: sometimes a generative approach isn’t the best approach; choose the method that fits. And giving artists more tools is a perfectly valid approach to using generative methods.

Another point is the use of evaluation tools to test the generator and its output, so that they could track changes from build to build. This is exactly the kind of data that is useful to automate, and it makes the jobs of the artists and the programmers easier.

The talk also has a ton of technical details that are useful to consider if you’re wanting to work on your own continuous world generation. Not to mention voxels, interesting non-planar spaces, and building a world at scale.

http://gdcvault.com/play/1024265/Continuous-World-Generation-in-No






blackout poetry generator

I’m happy to see that NaNoGenMo things are inspiring other artwork. In this case, it’s Max Kreminski‘s experiments with subtractive generation, packaged as a blackout poetry generator. It’s inspired by Liza Daly’s The Days Left Forebodings and Water.

Max made it into a bookmarklet, so you can create generative blackout poetry out of any webpage.

Of course, I had to run the blackout poetry generator on the blackout poetry generator page:

image

https://mkremins.github.io/blackout/






Tiny Dungeon Player

Tiny Dungeon Bot is a twitter bot (by @SwartzCr) that draws tiny RPG dungeons with emoji. And then Andrew Faraday made them playable.

http://tdp.andrewfaraday.com/









Generative Design for Architecture: Autodesk MaRS Office

In 2016, Autodesk moved their Toronto office into a new space. And to design it, they turned to a generative design team.

Using a series of constraints that covered the desired qualities of the space–like the amount of daylight, preferences for adjacency, and preferred levels of noise–they evolved a vast number of possible designs for the meeting rooms and office space.

With thousands of designs to choose from, they were able to narrow the results down to the best examples of the qualities they were looking for.

It’s a good example of a practical use for generative techniques. (And, no doubt, was intentionally meant to be a good example.)

https://vimeo.com/193915345

https://www.autodeskresearch.com/projects/autodesk-mars

https://www.constructionnews.co.uk/best-practice/technology/how-generative-design-turns-10000-ideas-into-one-project/10016805.article




Encyclopedia of Generativity

Kate Compton’s latest zine is a super-practical encyclopedia of generative methods.

It talks about subtractive methods, constraint solving, fractals, distribution, parametric generation, interpretive generation, making an artist-in-a-box, and techniques to improve any generativity.

There’s a ton of great advice in this super-dense zine. If you’re stumped for ideas for your next project, picking any one idea from this and exploring it will keep you busy for weeks.

https://dl.dropboxusercontent.com/u/3116524/encyclopedia-of-generativity.pdf




storygen.org

During their GDC presentation, Chris Martens and Rogelio E. Cardona-Rivera announced storygen.org, a site that catalogs story generators.

They have several systems listed, and hope that people will submit more. Most interestingly, you can download the systems yourself and use them to generate stories. This might take a bit of work, since they aren’t necessarily designed for general-purpose use, but it’s still cool that you can try out Micro-Talespin or Talk of the Town.

I hope that this leads to new people exploring these systems and more story generators being submitted. Next NaNoGenMo should be interesting.

http://storygen.org/