Dissect imps! Identify their mysterious procedurally-generated inner organs! Did Harry Potter have this much trouble learning magic? And was it this squishy and oozing?
Yanko Oliveira is back with a ProcJam project derived from the creature-summoning prototype. This time, you get to dissect those summoned imps and find out what squishy organs make them tick. Distill, sniff, and burn them to fulfill a morally questionable shopping list.
You can an explanation of how he did it on the project’s git repository, but the thing I really like here is how often the metre of the phrases meshes with the accidentally perfect answer. It works as a poem. The staccato rhythm of repeating “why…because…” is modulated by the rhyming.
Being sourced off of Twitter, some of the questions-and-answers are about as non-worksafe as you might expect, and the answers veer from the profound to the disturbed…
There was a recent procedural generation jam called Gen Jam at GameNest in San Francisco.
David York made a sprite generator, based on Oryx’s character sprites. And then wrote about it. The palette swapping techniques are especially instructive if you have any plans to do similar sprite generation. (He also posted the code on GitHub, though you’ll have to supply your own base sprites.
Mark Johnson on Bloodborne, PCG, and the Unknowable
I’ve yet to play Bloodborne–it’s not on the PC, I’m still in the middle of playing through the first Dark Souls, and right now I’m trying to prevent the pirate ship in my NaNoGenMo novel from sailing around in circles–but Mark Johnson took some time out developing
Ultima Ratio Regum to write about his reaction to the procedurally-generated bits of Bloodborne.
He’s probably one of the best people on the planet to talk about it right now, since as he says himself he’s spent the past few years building a generative system that is interesting to explore in the same way that From Software’s hand-crafted worlds are interesting to explore.
Generative content that creates deeper meaning is one of my long-standing interests, so this naturally interests me. The weaknesses Mark describes in the Bloodborne generator are more the pity because a Souls-like game seems to be the perfect venue for hiding a deeper structure within the generative content.
As I’ve mentioned in the past, I think that generating progression systems and new gameplay rules are some of the most underutilized areas of procedural generation, since they involve sculpting the systems behind the systems that make things. But generative content is an excellent interface to interact with a with a closed, hypertextual progression system, even if the hypertext isn’t dynamic.
To explain: many game narrative systems are basically hypertext, in the academic sense: text linked to other text. A fetch quest in an RPG is just a complicated way to click on the next link. And we’ve managed to spin some amazing results out of this relatively simple approach.
And generative content can been an effective interface to a hypertextual progression. The surface content presents the ever-changing challenge, while the deeper content gets gradually revealed, as in Moon Hunters.
Mark explicitly namechecks the Abyss and Pandemonium from Dungeon Crawl Stone Soup as good examples of infinite generation–examples I’ve used myself–and points out that some of the reasons why they work is because they’re nearly always hard for the player and because they’re framed as ever-changing, inherently chaotic places.
(Which seems to me would have been perfect for a Souls-game’s nightmare mode of cosmic horror: a level that morphs unpredictably as you play it, geometry oozing into existence: a complete inversion of the deliberately designed spaces in the rest of the game. But to make that really work might require the design from a different game entirely.)
NaNoGenMo 2016 still has a couple of days left to run, but there are already quite a few finished novels. Like this example of blackout poetry from Liza Daly.
“The Days Left Forebodings and Water” is based on a redaction of
Mary Wollstonecraft, via Liza Daly’s Blackout tool.
While there have been blackout NaNoGenMo entires before,
“The Days Left Forebodings and Water”
has a very high level of artistry: it works on the image of the text, identifies words that match the parts of speech that fit the sentence pattern that it is looking for, and scribbles dynamically and aesthetically to cover the rest of the page.
The result combines the virtue of Oulipoian procedures that bring out the underlying meaning of a text by performing a process on it with the similar effect of blackout poetry. The machine understands the function of the words, but relies on the original text for their meaning, bringing out poetry that was there all along but no human could have seen.
In addition to being an arresting work in its own right, this generated novel reminds us that sometimes we can create new things by taking things away, rather than constructing them. Elision is a powerful tool, and sometimes what isn’t there can be more powerful than what is.
Mike “ProcJam” Cook gets mentioned here frequently, partially because he does stuff like organize ProcJam and partially because he’s one of the people who talks about the “why” of procedural generation.
Unlike most other procgen game stories, Moon Hunters deliberately tells the same story each time, but, as Mike points out, told in a different way, as if being told by a different storyteller. The mythological cycle repeats itself. At the same time, the different emphasis of the story is gated by which part of the generated space the player chooses to emphasize.
The generator, in effect, becomes a part of the story, almost a character within it. The framing matches the content.
By having different parts of the game locked away behind different gates, Moon Hunters takes what could have been a flat, bald story structure and turns it into something that can be explored in itself.
Mike also talks about how what he’s learn has influenced the design for Rogue Process. I think that creating an underlying structure to the generated content, allowing the player to anticipate some of the generator’s plans, is a very powerful creative principle.
(I’m attempting something a bit like that in my NaNoGenMo novel. We’ll see if I can pull it off within the span of the month.)
Today I’m thankful for Perlin Noise, without which my textures would have been a lot more boring.
I’m also thankful for all of the other kinds of noise, because you can never have too many kinds of noise to chose from and sometimes you need one with just the right properties.
Which is one reason I keep mentioning Tracery: people keep making things with it. I’m even using it as part of my NaNoGenMo novel, to add variations at different levels.
But the other thing about this talk that I want to highlight is Kate’s call for more tools that are as accessible and easy to write new content in. With more ready-made screws in the toolkit, we can focus on writing with the tools (and building new tools on top of the old tools).
One thing that’s been exciting about watching the NaNoGenMo Resources threads is that every year the tools available get more robust and wide-ranging. Back in 2013, pulling books from project Gutenberg and finding sentences that used similar verbs was difficult. Today I can use word2vec, spaCy/textacy, and a Gutenberg Python library to comb through the texts. I’m looking forward to seeing what the next few years will bring.
Dwarf Fortress Design Inspirations - Zach and Tarn Adams
At the recent Roguelike Celebration, there were a lot of talks from developers of many famous Roguelikes. This talk, by the Adams brothers, is their chance to talk about the things that influenced the design of Dwarf Fortress.
Which makes for a deep dive into the history of roguelikes and procedural generation, highlighting a lot of features both famous and obscure that went into the heady mix that is Dwarf Fortress.
Among the mentioned games: Hack, Larn, Starflight, Ragnarok, and a lot of the Adams brothers’ early games.
Of all the ProcJam 2016 projects, this one is probably the closest one to mine, at least in form: it makes islands too. But it was made in the Pico8 fantasy console emulator, which makes its low-fi voxel output particularly impressive.
The seasons are a particularly clever way of turning the limitations of the console into a strength. The changing colors directly reflect the underlying architecture of the implementation, in a way that a more conventional generator wouldn’t have the data to take advantage of as easily. Sometimes less is more.