Avatar

Procedural Generation

@procedural-generation / procedural-generation.tumblr.com

Everything generative and procedural
Avatar
Avatar

The end of Twitter bots

Twitter is removing the free API access, which will have the inevitable consequence of driving most twitter bots into extinction.

I've written a fair bit about art bots over the years, since they're one of the more accessible generative art forms (and therefore one of the most creative and prolific).

Here's a talk by Kate Compton on the poetics of bots, which will have to stand in as an eulogy for now.

One bot use that I think I'll particularly miss is the use of bots as periodic chimes. Having something that marks the passage of time is a frequent part of the human experience; before clocks we had periodic chants and rituals that marked the hours of the day or the changing of the seasons. Big Ben chiming hourly, reminders that the weekend has started, and so on.

Other bots generated moths or tiny gardens, or painted like Bob Ross, or just posted pictures of cute animals.

Some bots performed practical services, like generating a feed of new arXiv papers or emergency service notifications. Some of those will survive, if whoever is running them deems it worth paying for the API access, but most of the delightful little bots that make people happy will be going away. And on social media, that's an important part of the experience for many people.

Many bots have migrated over to Mastodon, of course. The CBDQ equivalent is cheapbotstootsweet.com and many bots live on a bots-only server at botsin.space.

I think I'll let @infinite_scream have the last word:

Avatar
Avatar

Li'l Taffer

I have a taxonomy I use to determine which games made the biggest impression on me. The highest category is "games which I have incorporated into my dreams" and it is fairly rare that a game gets added to that list. One of the first games on that list is Thief: The Dark Project, and if you're going to tell me that you made a Thief-inspired stealth game with procedurally-generated levels that will of course catch my attention.

Thus when David Lindsey Pittman's 7DayFPS/ProcJam game crossed my path, Li'l Taffer caught my attention.

It definitely captures the vibe of Thief, though the procedurally-generated levels made me think about how much of the original game is about learning the layout of buildings and how architecture works. So while the levels do have the feel of some of the more surreal Thief maps, they lack the hand-placed coherency that the original game relied on.

There's ways Li'l Taffer could have mitigated this. There's already some logic to the way that some rooms are constructed (libraries and bathrooms and the like) but I think a generative project needs to go harder on signaling to the player what is going on. We can't rely on the presence of a human sensibility in the level designer, so that sensibility needs to be encoded into the level generator in a very visible way. Or, it could have gone the other direction, and played up the surreal nature of the levels. They are, after all, designed by an alien intelligence intruding into our dimension (i.e. an AI level designer).

In the event, the rules of Li'l Taffer as a game make bad situations recoverable, using the Thief approach to dealing with partial failure margins and applying it to generated content, similar to the shovel in Crypt of the Necrodancer. Which is a good reminder that the fixes for weaknesses in your generator don't necessarily need to be in the generator itself. In this case, the gameplay is about recovering from the difficult situations the level generator throws at you.

But ultimately, I was just happy it gave me the occasion to revisit Thief.

Avatar
Avatar

Murdle

While I was procrastinating on my slide deck for my ICIDS presentation on Umineko and story volumes, I happened across a link to Murdle: a daily generated murder mystery.

The murder mysteries are more in the Clue/Cluedo style, rather than being presented as murder mystery novels. There's a long, long history of attempts to make interactive murder mysteries, including a group effort in 1931 by the famous murder mystery writers of the Detection Club to write a murder mystery exquisite corpse style, a subscription box of 'feelies' that predated Infocom, and Italo Calvino's Anticombinatorics.

The description of how Murdle works is, alas, light on the details at the moment, beyond saying that:

These puzzles are generated by MORIARTY, a proprietary algorithm capable of planning a 1,000,000 murders a minute.

I have my guesses as to how it works: if I was building it, I would have used constraint satisfaction, though I suspect you could make a decent attempt at it with a grammar or a procedure like Calvino's combinatorics.

When I'm not making slide decks, I hope to find out more about how it works.

Avatar
Avatar

Context, Framing, Flags

This generated flag by vividfax struck me as a good example of how context and framing matters in procgen. Without context these are a just abstract colors and shapes. With context, it's a flag generator. What pushes this over the top, though, is that this bot also tells us a meaning behind the symbolism.

I don't know how much intentionality is in the generation of the explanation of the symbolism, though I believe there is some; humans are overly good at pattern matching so you don't need a lot of intentionality. It's often, in my experience, a good idea to have some associations: generators have more character when there's a visible grain in their output. But you can get away with very little.

Avatar
Avatar

November 1 means first day of NaNoGenMo 2022.

I think National Novel Generation Month is more relevant than ever, as I write about here, because the most important thing about a generative model is having a strong concept and conveying that in a context the reader can experience.

Avatar
Avatar

Loremen Simulator

Something that I’ve written about (together with Max Kreminski) is the idea of a generativist reading of a text: reading something with the end of creating a generative model of it. That is, we closely examine the symbols and meaning of something and try to build a machine that can create similar symbols (with hopefully similar meaning). A ‘text’ in this sense is the view from literary theory: in essence, a ‘text’ is anything that can be read - that is, it has symbols that can be interpreted. By considering a text through the lens of a generativist reading, we can relate the  symbols of the visible artifact (the description of folklore, in this case) with the text we’re examining (a podcast) and our model that emulates the processes of that text (Michael Reeve’s pandemic project generator that invents new folklore).

Avatar
Avatar

Neural Cellular Automata -

I've long been fascinated by cellular automata. There have been a lot of innovations since I first read about Conway's Game of Life, and one of those innovations is neural cellular automata.

Here's a video by Max Robinson explaining how they work, including these artificial life neural worms. You can play around with neural cellular automata yourself, at https://neuralpatterns.io

Avatar
Avatar

Better Constraints for Better Dungeons -

Aran P. Ink has been making a procedurally-generated metroidvania, and has been dealing with a specific problem: the generation wasn't serving the design pillar of exploration. Procgen should be perfect for giving the player new things to explore, but the common way to structure a generator wasn't working.

The maps were too predictable and obviously repeated the same structure, the exact opposite of what you want in an exploration game. Since the rooms were all the same size, it made it much harder to make them feel different enough to be memorable. Basically, not enough contrast.

The solution? Relax the constraints. Or, to put it another way, rethink the constraints from a different point-of-view. This led to a solution that's unique to their particular game.

The same idea might also work for your game, but I think a better way to approach this is to learn from the process and goals, rather than just the solution. Maybe think about the map design from an entirely different point of view, or generate history backwards, or introduce a mechanic that uses the generator's weakness, or set up the framing to make the generator's result feel natural.

Avatar
Avatar

Generated Games for the Game Boy

One project that I've been working on lately is generating games for the Game Boy.

The generator builds games using GB Studio.

Why the Game Boy? There were a number of reasons, including it being a fixed target platform with a really good emulator ecosystem. Since this is part of a larger project to research new ways of building generators, it made sense to target a platform that didn't require a lot of scaffolding just to display something on screen. Plus, it lets us build games for genres that haven't had as much game generation attention. A generator targeting Pico8 or Bitsy might be similar, though the other advantage of GB Studio is that it has a lot of useful data structures already implemented (like scenes and triggers) and so we can concentrate on teaching the generator how to use them.

I'm not the only one working on the project, so I certainly can't take all of the credit. And it is definitely a work in progress - the next version of the generator is using a different approach that makes the process of building the generator much more flexible.

https://isaackarth.com/games/rom_gen_test_5/

You are using an unsupported browser and things might not work as intended. Please make sure you're using the latest version of Chrome, Firefox, Safari, or Edge.