The following is an excerpt from the Designer Notes for Old World. The game, a historical 4X set in classical antiquity, released on July 1, 2021, and is available for purchase here.
After finishing Civ 3, I spent a long period of time engaged with the community to learn what they did and didn’t like about the game, with an eye towards the patches and a potential sequel down the road. In the modding community, a common complaint was that our editor lacked something called “events” from Civ 2, which I learned meant a system for connecting triggers and effects that could give games a narrative arc. I didn’t immediately grasp the potential of such a system until I tried out the community scenarios. I remember two that stood out to me because my actions pushed the story forward – one recreated the journey to Moria in Fellowship of the Ring and the other was a retelling of Odysseus’s Mediterranean wanderings in The Odyssey. Neither was particularly replayable, but they both were interesting because they had functional stories built from only a layer of events sitting on top of the base game.
For awhile, I wasn’t sure what to do with this discovery because I didn’t have a clear vision for how events could make a Civ game better, but I did ensure that our Python layer for Civ 4 had both triggers (calls from C++ to stub Python functions) and effects (the stub functions could change the game state). This system led to many interesting Civ 4 mods and scenarios as well as allowing the team to write a series of events for Beyond the Sword, many of which focused on natural disasters. While these events were a first for the series, it also represented a bit of an evolutionary dead end as they were not carried forward into Civ 5.
Nonetheless, I believed that events could play an interesting role in 4X gaming, and indeed noticed that many other strategy games, including the Galactic Civilization series, the Crusader Kings series, and Stellaris, were using them more and more frequently. However, my biggest inspiration came from the most text-heavy genre of them all – interactive fiction. The genre was experiencing a renaissance in the UK, led by Inkle (80 Days, the Sorcery series) and Failbetter (Fallen London, Sunless Sea), and I began to quietly haunt the GDC Narrative Summit while also interviewing the writer/designers for my podcast to see what I could learn. I also finally found a physical copy of King of Dragon Pass, a cult hit from the 90s that was still unavailable online, perhaps akin to finding a disc of The Velvet Underground’s Loaded before mp3s. The game was a wild mix of traditional 4X strategy, clan management simulation, and dynamic narrative built around random events that triggered based on hidden factors and which had unknown effects (but which the player would slowly learn to anticipate).
I began to appreciate how important narrative could be in a video game, how it could pull players into a game world much more effectively than by simply making numbers go up, a trick that was perhaps starting to get old in 4X gaming. To be clear, I had no interest in writing a story with imaginary characters and a beginning, middle, and end (Who did I think I was? A writer?!?), and I was also fairly uncomfortable with opaque triggers and effects which kept players in the dark, forcing them to play by feel. Transparency is an important part of my design aesthetic, and while it could be violated for effect occasionally, I didn’t want to build an entire system around it.
Perhaps unsurprisingly, inspiration came to me via board games, specifically Tales of the Arabian Nights, a brilliant adventure game built around the ancient folktales of the Middle East. The game comes with a giant storybook of over 2,000 events (some by Paul Murphy, writer on Civ 3, in fact) which are randomly drawn from a deck of cards and then cross-referenced with the character’s location, the player’s decision, and the roll of a dice. Although another player would read the event to create suspense and hide the outcome of the choices, the exact mechanics of how the game chose each event was transparent by necessity as the players did the work of finding each event themselves. The readers would see how the events were constructed and what would have happened if the active character possessed a certain trait, so that they in turn would anticipate the range of possibilities on their own turn.
The game had an interesting system for linking events via loose connections based on skills, traits, or treasures the character picked up over the course of the game. A character might become Ensorcelled early in the game, have the result of a later event change based on being Ensorcelled, and finally have the opportunity to remove the trait with a further event. None of these events were necessarily going to happen during a single playthrough and, often, potential narrative arcs were left dangling without resolution. Nonetheless, when a cohesive series of randomly chosen events do come together to tell a real story, it’s a magical feeling. What appealed to me about this system was that it was robust; there was no intricate event tree that could fail if one node was changed or stopped working. Furthermore, loosely coupled events could be written by a large group of authors who could work in parallel without close coordination. One writer might add an event which results in your leader becoming a Drunk, and a different writer could add an event that requires the leader to be a Drunk (or, if so, forces the player to take a certain option), and these two writers have now created a little story without having discussed anything. Indeed, they could have been working years apart and perhaps not even know each other. I am very excited for the potential of community event packs which can co-exist with our 3,000+ events (and with each other) to create new narrative possibilities.
Thus, I had the basic blueprint for an event system – it would be a virtual deck of event cards which each had a potential trigger (such as meeting a new nation), a set of requirements (a childless leader), and possible effects (a foreign spouse). When a trigger occurs, the game finds all events in the deck valid for the current game state and then chooses one randomly based on the weight, probability, and priority values of each event. The backbone of the event system are the subjects, which are a set of game objects randomly chosen for each potential event. Subjects can be anything from a character to a city to a family and even to a law or technology. Each subject can have multiple tests to find the perfect one – an adult child of the leader who is NOT the heir but IS a bloodthirsty schemer is a good example of a very specific subject that might mean bad things for the current heir. Further, the system can test for relationships between subjects, such as two nations that are at war with each other, the religion of your spouse, or a character who is vengeful against another. The event options can affect any of the subjects and can also be unlocked based on the current ratings or traits of the leader.
There are many other wrinkles to the system – for example, it is possible to link subjects together for multi-step events such as a duel – but this basic architecture enabled the writing team, led by Leyla Johnson, to create a wide variety of events that fundamentally change the flow of the game. Dynamic random events disrupt the steady flow of a 4X game, which can often devolve into deciding which bucket should fill up and at what speed. Perhaps an event provides a sudden burst of Orders that allows the player to move enough units to defend a city that was just about to fall. Or, perhaps sending one of your children out to explore the world leads to the founding of a new world religion. Or, perhaps a severe combat injury means that Alexander will need to abandon the field and become the Learned instead. A common theme of Old World’s design is avoiding predictable and boring games where the same actions lead to the same results, and the event system is an important tool to ensure no two games are ever the same.
Pingback: Old World designer notes #8: Soren Johnson on events | CivFanatics