September 2026: Designing Randomness

Shadow of the Eagles relies heavily on randomly generated content, so needless to say, it’s something I’ve been doing a lot of thinking about for quite some time. In fact, it’s something I’ve been experimenting with for nearly a decade, first with internal prototypes, and then with the randomly selected event pools of HMS Foraker and Lords of Infinity. With Shadow of the Eagles, I’ve gone even further, introducing not just randomly selected events, but also randomly selected event outcomes, in the sense that dice rolls against a target number determine success or failure in skill checks and other risk-based challenges.

Randomisation has a lot to recommend it. The most obvious is the fact that it makes campaigns more dynamic and more varied. Instead of getting the same choices and the same challenges every single time, you’ll get different paths, different content, and different dilemmas. Likewise, the randomisation of results means that you can no longer rely on knowing the right sequence of choices to get precisely to where you want to go. You might get lucky and find yourself having the option to seize the opportunity of a path which you weren’t expecting to open up to you – or you might get unlucky, and find yourself having to roll with the punches in a way which a set sequence of choices and purely deterministic outcomes would simply not give you.

This tackles what is perhaps, one of the highest-level problems with the design of narrative-driven choice-based games, that of the ‘solved game’. This is the idea that if you make the right sequence of choices, you will always be able to get precisely where you want to go. In a lot of cases, this isn’t strictly a problem. A game which is only meant to be played through once, or a few times until the player gets the outcome they want is one which has a lot of appeal – I would know, I’ve certainly made enough of them. However, it also creates certain hard limitations on the player as they ‘optimise the fun’ out of the game.

First of all, it effectively reduces a choice-based game with multiple outcomes to a standardised test. As soon as the player knows what ending they want, they no longer have any meaningful dilemmas before them, be they moral or mechanical – there are only correct answers which bring them closer to the desired outcomes, and incorrect answers which don’t. A branching, choice-based game becomes a linear narrative with the occasional memorisation challenge.

The second issue is that it removes all sense of risk or hazard from the experience, which itself is often important for putting the player in the right head space for the kind of story being told. This is particularly salient when the story in question is one about armed conflict – a kind of narrative in which the risk of injury, disfigurement, and death are kind of major factors. Arguably, a story about war cannot be tonally authentic without the random chance of being wounded, maimed, or killed, and although these can be mitigated for the sake of playability, they still need to be present to replicate any of the risk, terror, and cost of any kind of warfare.

Lastly, randomisation fits with the themes of Shadow of the Eagles in particular – those of audacity, of risk-taking, and of the role of chance (or destiny) in a time of turmoil and great change (that’s a whole article in its own right). While a few individuals rose to great power and fame during that time thanks to the disruption which the French Revolution and the Wars of Napoleon created, far more charted far humbler courses for the sake of survival – or met their ends in trying to seize a destiny which fortune would not place within reach.

But randomisation is also a double-edged sword. While it can throw curveballs at players and make them improvise in a way which will make them enjoy themselves (possibly against their own will), it also strips agency from the player. A loss of control to a measured extent can be a good thing in the long run and reinforce a narrative’s themes, but too much of it will make the player simply give up. If your game is predicated on the idea that the player will make choices and receive consequences for them, then the player will expect the latter to reflect the former. If a player feels like they lack any meaningful control over the results of their decisions because of bad dice rolls and bad dice rolls alone, they will be quick to throw up their arms, condemn the “RNG (random number generator) bullshit”, and quit – probably before the end of Steam’s two-hour refund window.

So how do we dull the back edge of that sword? By providing the player a certain degree of control over the randomisation – one which still gives them freak failures and occasional lucky breaks, but in a way which makes it clear to the player that these are nothing more than strokes of good or bad luck, and that most of the time, it will still be their decisions and their critical thinking which determines outcomes.

There are three ways I do this in Shadow of the Eagles: I let players choose their risks, I let them weight the dice, and I let them mitigate their losses.

The first of these methods is perhaps the most intuitive and simplest to explain, especially in the context of a choice-based narrative game. In Shadow of the Eagles, when the player is confronted with the possibility of a risk, they are not simply given that risk as the only option. They are given several alternative checks, as well as (usually) at least one way to bypass the possibility of risk altogether – though usually at a price. For the sake of transparency, the game also provides the player at least a vague idea of how likely they are to succeed. This helps them make an informed decision, which in turn also serves to give them a level of control.

It also ties into the second, and more complex method, that of weighting the numbers so that the player can make certain types of risks safer or more desirable than others.

I have multiple ways of doing this in Shadow of the Eagles. The first comes from allowing the player to give their character permanent bonuses to the skills which they use to modify the dice rolls in skill checks. In a skill check, each raw d100 roll is modified by the sum of the base attribute, and the skill bonus which is derived from the skill training that the player might have provided for their character. A player who makes the right decisions could quite possibly rack up a bonus of +100 for a certain skill, making normal difficulty checks against that particular skill (with a target of 100) effectively impossible to fail.

This is why I have two additional difficulty levels for skill checks, which are internally referred to as ‘Hard’ and ‘Heroic’ checks, with targets of 125 and 150 respectively. Being confronted with these checks is also a result of player choice: the higher in rank the player character rises, the more likely they are to encounter higher difficulty skill checks. This means there is an additional level of risk to seeking out rapid promotion – a character who is capable of flourishing at one level of responsibility may be out of their depth at a higher one, just as is often the case in reality.

Skill training and difficulty levels all alter the underlying math by considerable increments. A single rank of skill training provides a +20 bonus to all checks involving that skill, while difficulty increases the target number by increments of 25. This is an important thing to do because if the player feels as if the factors which are under their control have too little of an effect to meaningfully weight the odds in their favour, they will feel useless. If skill ranks only offered a +2 bonus, or even a +5 bonus in the context of a d100 dice roll, the result would still be so close to random that the player would likely see the result as little better than a coinflip, again leading to complaints of ‘RNG bullshit’.

There are two exceptions here: the first are the events which alter the player’s base attributes, because these affect not just one type of skill check, but all three which are associated with that attribute. As these are relatively randomised, they’re more like fine-tuning than something to build a plan around. That extra +2 or +4 to Guts might save you in a pinch, but it isn’t to be relied upon.

The other are the minor bonuses and penalties provided by the player character’s Heath and Spirits. These represent the player character’s physical and mental health respectively. Should the player keep these high, they’ll get a minor bonus. Should they let them drop low due to conscious choices or failed rolls, then they will take penalties, and will be encouraged to play more risk-averse, until they’re able to recover those losses. This one also serves an exception because of just how fluid it is. These aren’t major character-defining decisions so much as they are circumstantial bonuses which are themselves often dependent on a good dice roll. They’re a reward for being conscientious and a punishment for pushing your luck too hard, and I don’t want them to be too punishing or too optimal for that reason.

Which brings me to the third method of controlling randomisation, that of mitigating losses. This is less about giving the player control of the moment-to-moment dice rolls, and more about making each individual bad roll less consequential and less painful. This is done primarily through giving the player a variety of resources which they can amass and lose: money, glory, reputation, and the aforementioned Health and Spirits. All of these resources open up possibilities and new options for the player, so long if they have enough of them – which means they have an incentive to raise them where possible. However, they also give me a way to inflict pain on the player for a failed roll without killing their player character outright: a bad roll could cost them glory, or reputation, or health, which will definitely take them further from their intended goals with that character, but usually won’t render that campaign unplayable.

There are exceptions to this, on very rare occasions – but these exceptions are strongly signposted, which means any player who chooses them ought to know what they’re getting into.

Yet even if a player character does die, that doesn’t boot the player back to the main menu with nothing. I’m planning a system of meta-progression which unlocks new backgrounds and character traits for subsequent campaigns – but only once the player character finishes the campaign in which they unlock those things. That means players will be encouraged to both take new risks to find ways to unlock new traits and backgrounds with each playthrough, and accept character death or an otherwise unsatisfactory ending, since the traits or backgrounds they unlock might be just the thing which gives them the tools to get the ending or the story branches they want.

This is all a delicate balance between giving players too much control and letting them ignore the randomised elements of gameplay altogether, or giving them so little that they don’t really feel like they’re the ones in the driver’s seat anymore. It’s a balance which I plan on fine-tuning (and adding more elements to) as development continues, and I won’t really know if the balance works until the whole thing is out for the general public.

That being said, I’m fairly confident that I’ve got something like the right idea at the moment – and I hope that the rest of you will feel the same when Shadow of the Eagles comes out.