Randomness, Cantata, and You

September 12, 2019

Learning about randomness and how it’s used in Cantata

written by



Hey everyone! We’re going to take a break this week from the Cantata 101 posts and get a little more philosophical. I wanted to talk a bit about the idea of “randomness” in strategy games and how randomness will and won’t factor into Cantata.

Randomness, as of late, has gotten a bad rap. Watch any AGDQ speedrun and listen to the runner mutter “RNG” under their breath as they fail to move past a part of game due to forces outside of their control.  It’s easy to see these people’s perspective and wonder to yourself why games have any randomness at all, as it seems like something that only ever works to hinder a player’s experience.

Types of Randomness

However, not all randomness is created equally! Randomness breaks down into two main categories, input randomness and output randomness. When a speedrunner gets stopped in a run, that’s output randomness - something that works between a player’s goals and their desired outcome. Other simple examples are rolling dice, drawing cards, etc.

Input randomness on the other hand is randomness that informs a player’s decision space or sets the stage for play. Things like map generation in a game like Spelunky or Civilization or some rule in a card game that determines how many cards you get in a round to play. Input randomness is about condition setting. You could even consider character creation in an RPG input randomness, as your choices there dictate how you play in the world from then on.

As players, we usually balk at the idea of output randomness. Manifestations of it are things we would cite if discussing if a game is fair or not, if something feels “broken”, etc. It’s really easy to see that speedrunner get stuck and wonder “why would a game ever have any [output] randomness?” Other examples are how combat works in Morrowind, where your attacks do not always land on an enemy, but instead have a hit chance percentage that determines if you hit at all.

Randomness in Action

However, things aren’t always so clear. In the Morrowind example, imagine that you have a 10% chance to hit, and when you hit you deal 100 damage. That means that once out of every 10 swings of your sword, you’ll deal 100 damage. This is high output randomness. But consider a case where instead you have a 100% hit chance, but deal only 10 damage. This low output randomness, but notice that, in the course of 10 swings, you deal the same amount of damage! High and low output randomness yield the same outcome! But clearly these options aren’t equal, why? Given the context of an action like swinging a sword, the 100% hit chance just feels better. It feels like what should happen given the action you’re taking. Randomness in this case may be the wrong choice. Bethesda’s next game, Oblivion, operates instead in the 100% hit chance model due to player complaints about the Morrowind attacking system.

Thinking about this differently, randomness is a tool, something that isn’t just “there” but something that can be employed to make a game more interesting (the inherent idea of “chance to hit” implies some sort of dramatic expectation and reveal, something much more dramatically interesting than hitting 100% of the time, even if the system itself feels broken). Yes, some cases of RNG in speedruns are annoying, but this does not mean we should throw out all randomness, especially output randomness! Consider this quote from Richard Garfield, the designer of Magic: The Gathering:

“High-luck games broaden the range of competition. Second, luck removes players' ego crutches. And third, luck increases the variety of the gameplay.”

He goes on to talk about the idea of “strategic ruts”, where, in a game with no output randomness, you can essentially determine the outcome of the game after very few actions. Imagine starting a new game of Civilization, placing your first settlement, and then knowing you’ll win the game. This is boring! It turns a complex system like Civilization into less of a strategic play space and more of an “execution test” - i.e. “can you simply do these moves that will always yield X outcome?”

To Garfield, randomness is something that can be effectively leveraged to overall make a game more interesting. This is also obviously a push and pull, as we in the Morrowind example that too much randomness doesn’t feel good, but too little randomness makes something boring.


Considering all of this, how does randomness factor into Cantata? Honestly right now, we’re not totally sure! One thing we do know is that the maps we ship with the game will all be hand-designed. Cantata is ripe with potential for poor maps to ruin the chances of certain players to achieve victory, so we want to mitigate that by providing maps that players can play on that all have their own unique challenges, but don’t quickly position one player over another for victory.

We could spend our time trying to build the best damn map generator ever, but frankly, with our small team size, that time is better spent elsewhere - improving the games core mechanics and modding tools to enable other players to bring that variety to the game if they want it.

For Units, this is maybe the most hotly contentious site of output randomness in all strategy games, and as such we don’t have a concrete plan yet. However, I wanted to tell you what we are thinking and listen to everyone’s feedback about how they typically like games to work. 

Right now, I definitely don’t want there to be a notion of “hit chance”. I think this can be effective in smaller strategy games like our patron saint Advance Wars because you have so few units on the map (and as such one dying is a BIG DEAL), but in Cantata, where you may be controlling a force of 50-150 units, having to deal with the finickiness of hit chance on a unit will slow the game down to a halt. Units will very likely always do some damage to the unit they are attacking, so every attack action you take in the game will feel like it counts.

In terms of things I do want, I’d really like some notion of “critical hits”, or some other system that lets units hit stronger than you may have anticipated. I want there to be ways in the game that, if you’re facing down a stronger force than your own, you have at least some tools of fate at your disposal that don’t make every battle feel like a foregone conclusion.


And.. that’s it, for now. For units especially, I’m really focused on the feel of battle and less about trying to build a perfect simulation. I want people playing the game to feel excited by the strategic possibility of a map and also know that they have the tools that can swing a battle in their favor. There’s a notion of giving trailing players “tiny hammers” that can help whittle away an overwhelming force, and I think randomness in Cantata should be one of those things. Every battle should feel hard fought and exciting, and every victory feel earned.

Like I said above, I’d love to hear what you all think of this! Feel free to talk in the Discord of the forums and let me know what kind of randomness you like or don’t like in games and what you’d like to see in Cantata!