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 second in a four part series examining what generating this kind of social detail can bring to games.
As I enter the city centre, I find myself confronted by the massive edifice of the Cathedral of Urrothek, the Bleak Mouth of the Desert. Its architecture is reminiscent of the religion’s chapels I have seen throughout the land, but on a far grander scale. A detailed garden of plants and stones is laid out in a geometric pattern beyond the many double-doors leading inside, through which pilgrims continually pass. Traversing these doors myself, I see reflecting pools glittering, incense holders etched with unique designs, a number of twisted and unsettling altars dedicated to Urrothek, priests in Urrothek’s religious garments walking about the building, tables and desks with scribes hard at study, and an iron gate, set back into a wall behind the altars, leading to the crypt below in which the most faithful of Urrothek’s holy knights rest.
And all of this, of course, was procedurally generated.
In this second part of my four-part series exploring the potential that procedurally-generated in-game societies, cultures, religions and lore have for the future of game worlds, I’m going to look at the generation of religious beliefs and practices, social beliefs and practices (and what I see as the important differences there), and political ideologies. I’ll be focusing upon my own work in this area as well as touching upon a few other games that pursue similar things. In the process I’ll be talking through my own design thought process and asking: why do this, what elements of the social world are included and what elements are inevitably elided, and how do these sorts of worlds play?
In order to explore these questions, for the last five years I’ve been working on a roguelike game called Ultima Ratio Regum. It has been inspired far more by the literary works of people like Umberto Eco, Jorge Borges and Wu Ming than by any game (though there is a little bit of Dwarf Fortress, a dash of Europa Universalis, and helpings of various classic adventure games in there). I’ve been working on the latest version, replete with millions of procedurally generated NPCs, clothing styles, and dialects and speech patterns, for fifteen months (and had rather been hoping to have it released before writing this series, but that hasn’t quite worked out).
Succinctly, the player is tasked with uncovering an intellectual conspiracy that stretches across the generated world, and the clues to this conspiracy are hidden within the societies, cultures and religions of the world – a clue might be within the holy text of one religion, or in the practices of a yearly festival in one culture, or a novel describing an ancient war fought between two societies. Understanding the world’s generated cultures and belief systems is therefore not just useful for winning the game – in a very real way that process is the game, and the attendant need to make this discovery procedure always interesting and unique encouraged me towards generating these social and religious elements.
So, what components do we need in order to generate a society? Well, we need some people, and we need them to interact. Firstly, the people themselves: let’s generate their skin tone, their eye colour, their facial structures (to the greatest extent possible with ASCII/ANSI graphics), their hair colour, and whether there are any particular cultural practices – scarification, turbans, tattoos, particular kind of jewellery, etc – that would alter how they look. Let’s also create a procedural procedural name generator generator, so that the game procedurally generates name archetypes, and then makes a name within that archetype for each NPC. All of these are intended as clues towards the player identifying the cultural background of an individual, their geographic origin, make some estimates or predictions about their society, and – obviously – ensure that the generated world has as many peoples as the real world.
As a result, people vary across the globe and don’t all look the same; they make sense for their context, in physical terms (darker skin nearer equator, geographic groupings of eye and hair colour, etc); and they give hints towards showing the player the world without explicitly telling them. This element also comes with a rather nice additional political statement – the de-linking and subverting of what we think of in the real world as being “primitive” or “modern”. Sometimes the world’s most dominant nations will have facial tattoos or practice facial scarification, for instance, and in many cases it will not be nations that seem “European” that dominate the globe; equally, within some nations different sexes or races are dominant, or they have particularly strong feelings about others. This dimension does wonders for making players abandon previous assumptions and really try to understand the particular world they are faced with, recognizable and yet potentially so wildly different.
That’s all a good start, but what do these people do? Next up, therefore, we’ll think about their interactions. We want to generate people who behave differently, in a spatial sense, between cultures: maybe people from some cultures walk around in groups, some walk around on their own, some cultures spend lots of time or little times with their friends, and so forth. Over a large enough scale, across generated nations, these create very different “textures” of character movement in cities, towns, and the like. Let’s also of course vary the density of the population: by just tweaking that one variable we’ll get dense metropolises and sparse frontier towns. This will then also affect gameplay by making some nations easier to navigate and find people in, some nations harder, and making some nations produce a greater or lesser volume of noteworthy individuals.
I’m also in the process of extending this interaction variation into speech. All cultures (currently) speak English, but they all speak different dialects of English. Some will speak at length, others briefly; they use different synonyms to describe almost everything; they use references drawn from their beliefs and backgrounds, as well as from their nation’s histories. If you ask a character their opinion about artwork, their answer will depend heavily on the artistic background of their nation, and whether they themselves have any artistic inclinations. With these references and naming conventions, the same concern comes into play – of giving observant players hints and clues without ever telling the player “Character X is from Nation Y and worships God Z”. As above, this element also becomes a strategic choice: do I visit the nation of loquacious speakers to gain lots of information (but perhaps their items are all so pricy), or do I visit the very taciturn nation who will give me little to work with (but their items are so cheap)? This ceases to be just background detail but, in a game fundamentally about information – and this could apply to any game where information is crucial, not just my own – this kind of detail can be crucial and encourage the player towards some interesting decisions outside of “formal” game mechanics of numbers, stats, items, and so forth.
What about religions? For religions to matter to play, they need a lot of physical representations for the player to encounter, whilst also ensuring thematic similarity between these – which is to say, a robe and an altar from the same religion should look like they come from the same religion. Thus, to do this, URR currently generates a set of background religious elements – creation myths, eschatology, god(s), ethics, magic, perception of the world, and so forth – and then builds everything off that. The game manipulates a large set of templates and colour schemes to make an appropriate religious altar for the religion, and a matching set of robes, perhaps a prayer mat, or an incense holder or reliquary, as well as (in the near future) the covers of holy books and the like.
The other game that really pushes the procedural generation of religious beliefs is Dwarf Fortress, though it uses a very different model that produces very different outcomes. Deities in DF are assigned “spheres” of influence – birth, darkness, fertility, nightmares, etc – that determine worship. In turn, these deities create angels whose appearance and items are determined by those spheres. The world is also replete with various demons which can wind up being worshipped by simple townspeople. In all of these cases such beliefs and practices lead to literatures and great stories of the past, and mythopoetic tales of the great deeds of angels, demons, and those who were brave enough to challenge them. DF is a world of magic and fantasy, which URR is not, but there’s still that same relationship between single and often quite simple points of procedural generation – spheres or beliefs – and the creation of the rest of the world, and the stories it can tell, from that point.
Equally, I wanted to make sure beliefs are fluid things that have changed over time. What world would be complete without a healthy set of sects, heretical notions, and even syncretic religions? I made sure to introduce a system that tracks the major tenets of each religion and allows them to be subverted (to form a sect, which the mainstream religion might or might not deem heretical) and also to merge together into syncretic religions, combining the beliefs of two into a new (rare) whole. We readily see this reflected in the real world, where the number of religions seems to grow by the year, and people don’t even agree on the line between a religion and a sect. Consider how, during the rise of Islam, many Christian scholars believed it was merely a heretical sect of Christianity, rather than its own distinct religion. To avoid the trap of didactic worldbuilding, it was crucial to show these beliefs as things that are changeable in flux, rather than religions which have always existed in that world and always will.
In trying to decide how to balance these within the game world, I was reminded of that age-old bit of procedural generation wisdom – that rather than having, for example, eight options with a chance of 1/1/1/1/1/1/1/1 to appear, it is far more interesting to have eight options with chances 1/1/1/10/10/10/10/10, or something of that sort. When the player encounters the common variations, it feels no different to the 1/1/1/etc model of equally-likely possibilities, but when one of the special ones comes up, it has far more meaning than any of the common ones. With enough selection procedures of this sort in one game, you’ll always encounter some rare variations in a single playthrough, and these then become the important pivot points – super-rare items discovered, unusually hard bosses overcome – through which a player understands their playthrough – a game like The Binding of Isaac, for example, is particularly good at this.
When it then came to the balance between social and religious elements, I decided that the wisest plan was to treat social life like the “tens”, and the religious elements as the “ones”. The social elements are designed to suffuse every part of the world but on only a low level that will fade into the background of players’ experiences, but nevertheless remain present, clear, and providing variety across the game’s world. The religious elements, by contrast, are limited to particular parts of the world and particular individuals, always giving them that feeling of uncovering something rare and distinctive. There are probably something like a hundred billion possible religions, and even as the designer, I still enjoy seeing the religious beliefs the game produces, and they continue to be distinctive and unusual.
Lastly, we come to ideologies, and how they influence the physical world. Many games have some kind of system of ideologies, policies, or civics – perhaps the most well-known are series like Civilization and Europa Universalis, or one-off games like Alpha Centauri and Stellaris. In all of these generally quite complex games, deep and intricate social dynamics are reduced to single metrics, generally of the “+X to Y” variety. “Mercantilism” means more gold in towns; “Serfdom” means more productive workers (a weird historical claim); “Xenophobe” means reduced relations with other cultures; and so forth. This is not intended as a criticism, as full modelling of these processes would require a resolution and granularity inappropriate to grand strategy games, but such reductions give little meaning to the name of the policy itself: there is no true embodiment of mercantilism there, of course, as it is just a label for a purely numerical alteration.
By contrast, in a world with a higher granularity – i.e. one in which you can actually walk around the cities and their buildings – I think we can do so much more with these kinds of “policies”. A nation that believes strongly in the rule of law will be replete with courts through-out its lands, into which the player can walk and see trials being conducted and talk to judges about ongoing cases; an imperialist and expansionist nation will be replete with barracks, soldiers, training grounds, weapon stores; and so forth. In such a model we obviously don’t even come close to approximating the true complexity of any real social or political ideology, but we certainly come far closer than the abstracted versions. These are not just words and numbers, but beliefs we see reflected in architectures, structures, cities, behaviours, people, and practices.
Almost all the above points are implemented in the upcoming version of URR at time of writing, with just one or two in-progress. Many games have of course explored similar ideas, either in a more abstracted manner or in many ways a similar manner, but hopefully I’ve outlined here the kinds of social and religious worldbuilding now possible with procedural generation, and, crucially, how they can affect play as well as worldbuilding (though the latter is also very important). Games improved by this kind of worldbuilding-play integration do not only have to be mine, of course, nor even roguelikes or games with particular interests in information and discovery as core mechanics; all game worlds can become more believable, and deeper and more complex, and more interesting to explore and act within if we can push towards richer depictions of our in-game societies. Procedural generation, in turn, keeps things fresh and ensures that there will always be new detail to discover and that the process of uncovering it is never old…
…although this final point leads us onto the third part in this series. How, exactly, do we prevent too many similarities? One dungeon level looks like another after a while; can we stop this happening for societies and religions? In the next part I’ll be looking at this very question and taking a (reverse-engineered) examination of other methods to see how we can keep these kinds of procedural generation fresh for as long as possible, and prevent players coming to understand the meta-rules that govern their playable worlds and the societies and religions they move within.