Generation Next, Part 4: Procedural Generation’s Future

Mark Johnson is the developer of Ultima Ratio Regum [official site], an ANSI 4X roguelike in which the use of procedural generation extends beyond the creation of landscapes and dungeons to also dynamically create cultures, practices, social norms, rituals, beliefs, concepts, and myths. This is the final in a four part series examining what generating this kind of social detail can bring to games.

In this series so far we’ve examined the current state of procedural generation (PCG) in game design and outlined what a greater engagement with ‘qualitative’ PCG might bring to games (in Part 1), talked through in detail the process for creating a richly detailed PCG element of social life (in Part 2) and given an overview of my own work in this area (in Part 3). For this final part we will now zoom out somewhat and talk about game design and the games industry as a whole, and where we might want to position qualitative PCG more broadly, both now and in the near future. There are two core propositions I’d like to put forward: firstly, that we should regard qualitative worldbuilding detail as being integral to the future of games, instead of an intriguing aside; and secondly, that the demographics of developers and players of PCG games are going to shape the direction that procedural generation evolves in.

If you’re new to this series, I define qualitative PCG as procedural generation concerned with producing the richly detailed cultural and social elements of game worlds – such as religious practices, interpersonal norms, and aesthetic preferences – as opposed to more traditional quantitative PCG which is concerned with the creation of dungeons, landscapes and so forth.

Firstly, the somewhat grand question of the future of games. If we take a step back and consider the last few years of game development, I think a trend has begun to emerge: a focus on worldbuilding as opposed to simply narrative. We can see this in the many games that scatter notes and pieces of information about the game that don’t tell you the story, but tell you more about the world in which the story takes place. We can see this in the Souls series and its many imitators who have created worlds of unparalleled architectural, historical and thematic complexity and challenged its players to decipher them – a task many have taken up. We can see this in the rise of “walking simulators” whose entire experience rests in the appreciation of a particularly beautiful, interesting, or otherwise compelling world, and in the immediate lived experience of communing with that virtual space. In so many cases massive online communities and tens of thousands of forum threads debate and discuss such worldbuilding information and its impact and importance for both narrative and gameplay. Such phenomena make it very clear that worldbuilding is something players like and care about, and that the creation of these believable worlds are becoming increasingly central to game design practice.

Just as traditional procedural generation or worlds and spaces arose in an era relatively free of such concerns and focused instead on providing interesting virtual environments, so too, I would propose, has qualitative PCG now begun to emerge in an era where we care more and more about the worldbuilding elements of our games. As I’ve tried to argue through-out this series, these elements don’t just have to be background, but can come to the foreground as well.

Illustrative of this future potential is the observation that many PCG games only change the gameplay elements in each iteration whilst leaving the worldbuilding elements unchanged, which can lead to some strange situations. In FTL, for example, the politics and allegiances of the various species and factions remain unchanged even when the entire layout of stars and systems is jumbled up anew every time you play. One does not have to be a (space) sociologist to appreciate that perhaps this doesn’t make complete sense, and that geography and environment will naturally shape the (co-)evolution of different races, and therefore their political alignments and social behaviours.

Of course, this might just be regarded as picking fault with the smallest of things, but I choose to see it as instead the opportunity for a deeper and richer engagement with both the potential of procedural generation, and the potential for integrating worldbuilding and gameplay elements. What if the notoriously xenophobic Slugs behaved differently in some games depending on where their systems appeared and who their neighbours were, and the player could deduce (or at least take an educated guess at) this by studying the layout of the solar systems? The value of qualitative PCG starts to become apparent for massively varying play experience on both the “purely” worldbuilding level, and the gameplay level, and therefore comes with a lot of promise.

I am consequently really making two points here – firstly, that sociocultural detail in game worlds is undoubtedly increasing and bringing richer experiences with it, and secondly that generating that detail would be deeply desirable for creating new forms of gameplay that interweave the player’s actions and the game world – but the two are obviously related. I see qualitative PCG as the opportunity for integrating growing interest in detailed worldbuilding with the desire for replay value that the overwhelming majority of all games and game designers possess, in the process potentially creating new kinds of gameplay that we haven’t yet fully experienced.

However, we must position such promising reflections about the future of qualitative procedural generation within a question which will inevitably shape all the future use of PCG, qualitative or otherwise: where does PCG fit into the games industry? Which developers are using it, and what kinds of resources do they have at their disposal, what kinds of games are they making, and are they making games where they seriously care about questions of worldbuilding?

At this point in time it is hard to escape the feeling that procedural generation is still regarded as something fundamentally tethered to independent games (most famously and recently No Man’s Sky, but naturally games like The Binding of Isaac, FTL, Risk of Rain, and Darkest Dungeon fall into category) and freeware games (such as the majority of roguelikes), whilst worldbuilding in general continues to be more universally explored.

Probably the most important triple-A game to seriously use procedural content generation in recent years was From Software’s superlative gothic horror Bloodborne. The “core” game is entirely handmade, in keeping with the studio’s now-famous dedication to intricately hand-crafted worlds, but the game is also replete with what it calls “Chalice Dungeons”. These are optional dungeons which are, for the most part, procedurally generated each time the player steps within them. Although they contain a range of loot that cannot be acquired in the main game, and there are elements of the game’s famously inscrutable lore that can only be picked up by exploring one of these dungeons, they are undeniably optional and only a small and easily skippable part of the overall experience. The few other triple-A titles that use PCG tend to limit it to creating a small subset of dungeons, or populating areas with plants, or simply varying simplistic questlines and quest rewards.

In independent games, however, procedural generation is a dominant force – but why should this be the case? Part of this, I think, comes down to the oft-repeated dictum – which has some truth to it in some cases, but less truth overall than people think – that PCG makes it “easier” to produce a game with a lot of rich content, and is therefore better suited to small development teams than a hand-made game. This is undeniably sometimes the case, but this concept tends to overlook the amount of effort (effort of a different sort, no doubt, but still effort) that goes into creating a compelling PCG system rather than a compelling handmade game segment. Simply chucking in a bunch of random elements does not an exciting PCG system make, which is not to mention the often substantially higher testing requirements of PCG systems, and the increased difficulty of bug-hunting and bug-fixing. Another part of it comes from treating PCG as a way to generate replay value in games that perhaps cannot afford to create a full twenty-hour experience, but can create a range of tremendously varied two-hour experiences; and part of it might also come from the increasingly strong emphasis upon narrative in triple-A games, and the fallacious belief that PCG and strong directed narratives are natural enemies (which games like Caves of Qud, Tales of Maj’Eyal, and I hope my own, will disprove). A final part also no doubt comes from the general willingness of independent developers to try new things, and there are few things currently getting as much interest or generating as much discussion in the world of critical games commentary and discussion as PCG.

We therefore find ourselves in a situation where all game developers are increasingly interested in worldbuilding, but – and we are talking in broad strokes here, but I think the evidence supports this assertion – independent game developers dominate the field when it comes to the use of procedural content generation. This might not be a problem, were it not for the fact that when weighing up the “average” independent game and the “average” triple-A game, one cannot help but feel that their divide is growing ever wider. This is not as a result of a “genuine” gap that is in any way contingent upon the labour processes, production methods or distribution systems of triple-A and indie games, but rather the feeling in both camps that they have a particular kind of product that must be protected and refined, and a kind of product that is fundamentally anathema to the other camp. How many successful indie FPS games have you seen? Not many. How many successful triple-A pixel-art adventure games have you seen? Not many. Naturally this is not because either form of production is somehow inherently or intrinsically better suited to either “genre”, but rather because of the increasing ossification of our expectations of what a triple-A game “is” and what an indie game “is”.

These expectations are going to have substantial effects on the uptake of traditionally “indie” game development techniques, such as PCG, in wider contexts, and also to pushing the boundaries of the practice. There is no doubt that a triple-A developer, devoting full resources to the problem, would be able to move substantially beyond what has been done in qualitative PCG to date. I’m not saying this to downplay my own efforts or the efforts of my colleagues, of course, but I’m simply being realistic: what I’ve achieved in qualitative PCG in my own work, for example, I’ve done as one person over five years whilst doing a PhD, writing an academic monograph, and being in full-time employment on a notoriously time-demanding career path. Similarly, Dwarf Fortress, the closest point of comparison, has been in development for a decade and a half by two people, albeit working full-time on the project. None of these even come close to the person-years that could be committed by a major developer. Of course artistic intent and talent count for a lot as well as the resources thrown at the problem, which goes without saying. Nevertheless, unless procedural generation more broadly breaks into the triple-A industry, all the development and play of the experiences PCG offers will be demographically limited, despite – as I have hopefully argued at the start of this piece – their potential wide relevance to all kinds of games.

To summarise, it is clear that there is interest from (and value to) multiple sources in qualitative PCG – from games with heavy worldbuilding elements, to games that implement any procedural components, and obviously the small number of developers specifically working in this area (myself included). These cut across technical and artistic domains, as well as across the triple-A and independent sub-industries, which we can easily see by comparing two games with similar worldbuilding goals, but that currently approach these goals in different ways. The world of Dishonored, Arkane Studios and Bethseda Softworks’ 2012 stealth adventure game, contains pieces of poetry, fragments of prose and theatrical plays. Some of the concerns of my own work on Ultima Ratio Regum, such as generating stories with cultural relevance, could have been readily used as the foundation for the procedural generation of the kinds of worldbuilding elements Dishonored has been noted for. In turn, the presence of these in Dishonored clearly demonstrates a concern with detailed worldbuilding – but not, at present, worldbuilding that can be discovered anew on each playthrough. There is therefore no crucial divide present here: merely one constructed from our existing expectations of what PCG is, what games made by large and small teams are supposed to look like, and the kinds of experiences players want to have.

If these barriers can be broken down – and I hope the attention on my own work and the comparable work of others will help in some small way – I believe that qualitative PCG can lead to something of a small revolution in game design, integrating worldbuilding and gameplay in fascinating new ways. Without doubt we’re only at the very start of that process now, but I’m sure we all know the saying about the journey of a thousand miles – and quite a few steps have already been taken.

From this site

28 Comments

  1. Shiloh says:

    I want proc gen for the broad brush, back fill stuff, and hand crafted for the detailed quest stuff.

    The reason No Man’s Sky hit the buffers so hard is, there’s tons of the former but precious little of the latter. Seen 7 planets? You’ve seen em all.

    • Jools says:

      I really hate that No Man’s Sky has become the poster child for procedural generation in games, because it’s actually a terrible mascot for it. Very little of interest is ever done with the procgen in NMS and there’s no indication that Hello Games even tried to make the things they were generating relevant to gameplay or even internally consistent.

      It’s not even NMS that I’m upset with. It’s a mediocre game at best (and worst), so whatever, but I feel like I’m going to have the “no, this really isn’t a good example of procedural generation in games” conversation for months now.

      • Mark Johnson says:

        I haven’t played enough NMS yet to actually form a solid impression of it, but in a broader sense, I think it has to be bad whenever a single game becomes a poster child for anything, especially something as contemporarty and “controversial” (or at least… provocative? Disruptive?) as PCG. I am obviously keen to find the time to give it a good look, though, and see how they handle the PCG variety…

  2. Red_Fox says:

    Can anyone recommend any procedural generation tutorials/resources for Unity C#?

    Specifically for galaxy/star/planets/moons/alien life/alien civs/cultures?

    I’ve found quite a few for land maps, but nothing like a star flight 1-2 /star control 2 star map.

    • Otto Lidenbrock says:

      Have you looked at Catlike Coding’s tutorials? They won’t teach exactly what you want but I’m sure many of the principals could be used.

    • geldonyetich says:

      The trouble with most “show me how to do this” questions in programming is that there is no one way to do it.

      When you make the transition from analogue, “This is something that happens in real life” to the digital, “This is how the game is presenting this real life concept,” there’s virtually unlimited ways in which you can go about it.

      So when you ask me if there’s a tutorial to create, “galaxy/star/planets/moons/alien life/alien civs/cultures” then I’m going to have say that there both is and isn’t such a tutorial.

      There is such a tutorial in that you can certainly find examples on how to program specific approaches to map generation that would be applicable to modeling galaxies, stars, planets, and moons as well as AI tutorials that could be used to model alien life and perhaps even some additional tutorials on how to create a broad societal database that could be used to model alien civilizations and cultures.

      There isn’t such a tutorial in that, out of all of these tutorials which may be out there in various shapes and forms, it’s pretty much a shot in the dark that they’ll show you how to do it in the way you want to do it.

      At best, I could say you could dabble with these tutorials in such a way as to get an understanding as to how other people did it, but ultimately you’re going to end up wanting to choose a programming language (C#’s implementation in Unity is relatively superlative) and design your own as you practice programming.

    • Ichi_1 says:

      I wouldn’t search for something that specific.

      Really what you are looking for is good theory on the subject and then you can translate that into c# after you’ve got a decent grasp of the basics like datastructures, loops etc…

      My recommendation for learning any programming language is often met with annoyance but honestly you can do worse than read tutorials for beginners and try to make something like breakout entirely on your own.

      It sounds simple and like I’m taking the p, but you will learn about datastructures, loops, update loops, basic physics and a few other essentials.

    • Danley says:

      Red_Fox, try this thread out:

        • Red_Fox says:

          Sweet Jesus, thanks for the replies/advice everyone. I’m just starting with it. I find it fascinating, it’s like wizardry on a computer. Thanks for that link Danley.

          I get the logic behind it well enough, it’s the syntax that will be a ball buster but I learn well with video tutorials with trial and error.

  3. gi_ty says:

    Personally I love games that attempt to do proceduraly generated content in a way that has internal logic. It is however keeping with that internal logic that I see the more ambitious systems break down. How do you allow for an algorithm to surpass authored content in such a way that we as pattern recognizing creatures fail to see the repetition. Perhaps it is my unfamiliarity with your work, but in every other example the illusion breaks down rather quickly. Does it not require an equivalent number of man hours (perhaps surpassing) to come up with enough variables that fall within a perceived logic structure to make said structure unique but equivalent to authored content? If there is such then please point me to examples.

    • Napalm Sushi says:

      The issue with procedural generation, I’ve found, isn’t that it compares unfavourably with more traditional forms of manual authorship (after all, the content and generative code are still the product of long man-hours); it’s that it only ever creates a static snapshot of initial conditions. Things like Dwarf Fortress and 4X games recognise this, using procgen to set the scene and then deep simulation (that the player may or may not be involved in) to tell emergent stories, while Minecraft and its ilk use it to provide a base for the player to literally build on.

      As with any single tool, it can be powerful, but it’s not a silver bullet.

    • Alberto says:

      Your point about simulation is key. From what I’ve read, URR is going to be also simulation-heavy, not in Dwarf Fortress way but trying to make the characters do things and respond to their environment.

      I’m a regular DF player, and while certain patterns repeat each time, the systems are that many and the simulation complex enough to throw really interesting stories and dramas. I’ve witnessed stories much much more interesting and moving and hilarious than the ones in most AAA titles with many scriptwriters in their credits roll.

      • Czrly says:

        That’s because, in DF, chaos is embraced because Toady1 doesn’t care whether people “like” the outcome. He cares about whatever he wants to simulate (be it poetry-writing or pub games) and the ultra-select fan base has grown up around that philosophy. Emergent stories (chaotic by definition) are allowed to happen. In AAA script-writing, the writers are playing to the main-stream and that means playing known and accepted tropes, known ideas, safe formulae.

        • Alberto says:

          When your formulas are properly constructed (or at least interesting enough) is not chaos what emerges. What emerges is an unpredictable situation created by the designer’s laws of cause and effect.

          My last remarkable example: a child was hurt by a weregecko, without nobody noticing. A month after slaying the beast the girl turned and murdered her own parents. But not her cat. Somehow even as a beast she recognized her beloved pet. Uncapable of killing her in cold blood, the coward masons walled her in an empty level. Moments before the last brick was set, the cat ran in to his master, with a rat between his teeth, to present it to the doomed girl.

          The masons finished the wall and I ordered to abandon the settlement, leaving the monster and her only friend together.

          To this story to happen you need divine curses falling on people, but also mundane systems like cats hunting verming and carrying the remains to their masters, just like cats do. It’s a complex balance, all this PCG stuff.

        • zbeeblebrox says:

          But here’s the thing: if AAA game stories are just using “safe” formulas for story writing, why CAN’T that be procedurally generated? If it’s full of heavily documented tropes and familiar plot, this should be inherently programmable.

          The cost savings of solving that problem would far out-value the manhours it would demand.

          • Mark Johnson says:

            There are lots of interesting procedural book/story/narrative generators out there. Some of them are… ah… better than others, let’s say. It’s a fascinating field though.

      • Mark Johnson says:

        Yes, exactly this for URR; and I completely agree, the emergent stories in DF can be quite remarkably rich. Hopefully URR’s will be similar, though quite different!

    • Mark Johnson says:

      Yeah, the idea that “PCG” is fast to make is definitely fallacious since it takes a lot of time and effort, but a game where the PCG stuff can be “mistaken” for unique handmade stuff is definitely a URR goal. Indeed, in some small ways, this seems to be working already: numerous times I’ve had people mistake a very handmade element for a very PCG element, or a very PCG element for a very handmade part, and I think it’s very pleasing that I’ve found ways to mask the differences between the two, and allow people to mistake PCG stuff for elements I’ve made from scratch. It’s tough though – naturally you might have to sacrifice some detail and uniqueness for replayability, but I think most people go into at it aware of that trade.

  4. Chaoslord AJ says:

    And the other issue: not enough content.
    But you’re right it all comes down to the use of randomization.
    Traditional rouguelikes (Rogue, Angband, Adom etc) or even Minecraft or Binding of Isaac work like a slot machine of rooms or spaces with a different kit of monsters and items of varying rarity. Apart from Issac they don’t work with presets or mix them in like monster nests which have a fixed look or the houses in MC.
    Most modern indie action “roguelikes” construct like two dozen corridor presets and randomize them, last for say two hours.

    • Mark Johnson says:

      Yes, definitely. In many ways (I gave a talk about this a while back somewhere, though I honestly cannot remember which it was!) people seriously underestimate the value of simply Adding More Stuff into the PCG database. I think people prefer not to talk about it because it seems very inelegant and we have this idea that the best PCG has to be this very micro-level emergent super-complex stuff, and of course that stuff is great, but just boosting the amount of potential content goes a really incredibly long way to adding variety and boosting the player’s perception of variety.

  5. geldonyetich says:

    Great read overall, though I confess it’s difficult to focus on paragraphs of these size. I’m not sure if that says something bad for me or if it’s a 21st century information overload phenomenon.

    As a dabbling indie developer who keeps failing to finish games because of cognitive dissonance (oft leading to falling off the wagon in despair), I will say that procedural generation is perhaps the main frontier that keeps me interested in game development.

    At the most basic level, think of a tabletop roleplaying game with a computer educated to be a superlative game master. Then all you have to do, as the player, is enjoy the resulting adventures.

    In practical terms, what we tend to see is procedural generation games which have an inherent disconnect between world building and the narrative. Some games focus on the world building, and end up with the capacity to generate worlds of unlimited size that simply do not matter because little to no narrative ramifications to the space (e.g. Minecraft). Other games focus on the narrative, which is a better off approach for producing significance, but they end up short on scope and generally in a situation where they might as well have gone non-PCG (e.g. Where’s An Egg?).

    Actually, to look at that latter example a bit, maybe there hasn’t actually been a good example of a narrative PCG that I have played. I know Caves of Qud is mentioned, I played a bit of that, but I feel the narrative aspects are fixed, not procedural generated. Maybe the best examples I have seen are along the likes of Animal Crossing and Hand Of Fate, but neither are what I call a complete example of what a narrative generator should look like. Rimworld had some pretty good potential there, but our computer GM has a dreadfully limited bag of tricks. Maybe this “true” narrative generator is our PCG holy grail.

    • Napalm Sushi says:

      Something that I’d like to see explored more is the use of procedural generation as a conversational conduit between player and game. I’m thinking of Strangethink’s Joy Exhibition, where the player creates artwork using procedurally generated paint guns, or Oskar Stalberg’s Brick Block, where the player creates simple cubic buildings that are automatically decorated with procedural detail. Currently, Strangethink is working on a game about gardening procedural plants.

      Procgen is too often thought of as something that has to happen entirely before the player enters the world, but it can be used far more dynamically.

    • Mark Johnson says:

      Thanks – and ha, sorry about that. I tend to write quite long and complex paragraphs in my academic work and my popular work; it’s just how my brain functions. Very interesting thoughts all around; I think to have a true narrative generator we have to ask how “formal” we want the narratives generated; DF of course “generates narratives” for a certain informal sense, but doesn’t generate more formal narratives. I’d have to think about this more, but I think the two should probably be split – and current work seems to suggest generating a formal narrative, e.g. a book, is much harder than informal narratives, e.g. what DF does (not to disparage DF’s amazing achievements: but that works well, whereas formal narrative generators tend not to be quite so good…)

  6. BrickedKeyboard says:

    One limitation of procedural generation, as arguably one of the best developers in the world has said, is that the amount of information in a standard procgen world is the same as the number of bits in the seed. To do better than that requires methods that generate most of the details using rules that make sense and minimize entropy. A procgen village needs to actually have a way for the villagers to live in it, a procgen planet needs to have terrain that actually lets the rainwater reach ocean.

    See this for more detail :
    link to procworld.blogspot.com

    • Mark Johnson says:

      Not to criticise that comment too strongly, but I think that has an overly formal/computer-science-y definition of “information”; I’m strongly inclined to say you can have a vast amount of information without having to model that micro stuff, or at the most, modelling the micro stuff only when it needs to be modelled, or storing it and then bringing it back as a seed, or other similar techniques!