Introducing GMTK Workshop - Help with upcoming episodes (Patreon)
Content
Hello!
So, something I've wanted to do for a while now is create a space on Patreon where willing participants (on $5+ tier) can help me out with upcoming episodes of the show. Especially in the densely packed, example-filled, educational videos.
The idea is that on certain videos I will show you stuff that I've been working on and ask for feedback, more examples and ideas, and so on.
I have to admit that I find this quite difficult. To put unfinished work out there, and specifically ask you to tell me everything that is wrong with it... well, it's not super fun. But it's with the intention of making better videos with fewer mistakes or oversights. So, I'll suck up my pride and give it a go!
Also, you're obviously under no obligation to take part in this. If you'd rather wait until the episode is finished and just watch the final thing - I'll see you in a week or two!
Okay, here's GMTK Workshop Number 1
I've been working on a video about randomness over Christmas (I know. I was supposed to be on a break. But I couldn't help do a little research). I wanted to look at how randomness is used in game design, and why some instances of it are positive, and others are negative.
So the video is called The Two Types of Random. I'll start with the script, and then go from there. Remember this is a first draft, please!
Video games are full of randomness.
There are roguelikes with procedurally-generated level layouts. Role-playing games with random encounters. Strategy games with unlucky misses. And games that play with cards, dice, roulette wheels, and random number generators, or RNG.
It’s all the same stuff, really: situations and systems where the outcome is not fully determined by the developer or the player, but driven by the unpredictable whims of lady luck.
But while randomness is responsible for some truly wonderful moments in gaming, it can also be a cruel mistress that leads to unfair outcomes and frustrating failures. RNGesus - who is the personification of luck in the gaming community - is cursed just as often as he’s worshiped.
So, what gives? Why does this single game design tool lead to such radically different reactions? Do we just like luck when it lands in our favour, and hate it when we lose? No, I don’t think so. The truth is, some game designers actually split randomness into two distinctly different concepts - and recognising their differences can be the secret to wrangling RNG, and making luck more fun than frustrating.
I’m Mark Brown, you’re watching Game Maker’s Toolkit, and this is the two types of random.
Before we get to that, though, I think we need to talk about why randomness is used in game design, at all. From the obvious, to the not-so obvious.
For starters, randomness is used to provide variety. Well-made algorithms can pump out infinite set-ups, levels, characters, and problems. It’s a cornerstone of the roguelike genre, and you couldn’t make a game like Shadow of Mordor, with its unique cast of Orc captains, or No Man’s Sky, with its 18 quintillion planets, without a big dollop of randomness.
Of course, a randomly generated level is almost never as good as a completely hand-crafted one - but the clear advantage is diversity, quantity, and a feeling that your experience is unlike anyone else’s.
Plus, there’s the fact that by removing the ability to endlessly replay the same level and memorise every aspect of the stage, players are forced to master the underlying mechanics of the game itself - so they’re ready for absolutely anything the algorithm might throw at them.
Randomness is also a popular way to balance a multiplayer game, though that’s usually only desirable when it’s expected that players of vastly different skill levels will be playing together. Party games and board games for families, then, not esport-level stuff.
Basically, lucky rolls and unlucky draws can limit the importance of pure skill, and give newer players a chance to get ahead. That’s especially true when the randomness is weighted in favour of new players, such as in Mario Kart where the random item boxes are way more generous to the players at the back of the pack, than those in first place.
Randomness can also be used to make rewards in games more exciting. Grabbing an awesome new weapon from a dead body in a looter shooter like Borderlands is way more exciting when you know there was only a small chance for that gun to drop. This can, of course, be taken to the extreme, creating a Skinner box trick that’s designed to sap your time or, more perniciously, your wallet.
And finally, randomness can play a role in the player’s formation of plans - which are any strategies that take a number of steps to achieve.
Making plans requires information - which is essentially the current state of the game’s variables like the enemy’s location, health, and perhaps even their intention for what they’ll do on the next turn. The more information we have, the better our plans can be. But too much information can actually be quite troublesome.
For one, complete transparency can lead to players being able to calculate many possible moves into the future to figure out the optimum choice - a paralysis of analysis which can be super tedious... but you already know how players can optimise the fun out of a game. This can already happen on a single turn of Into the Breach, which is a tactics game that shows you the entire board and every enemy’s plan for their upcoming turn. You can spend 10, 20 minutes just staring at a static screen, figuring out the ramifications of every choice you might make.
Plus, we can create airtight plans which rarely fail - like in Plants vs Zombies where we get to see the exact cast of upcoming monsters and can quite easily create the perfect defence. This can create flat and uneventful gameplay, as it’s often much better when plans get disrupted with surprising new information - forcing us to react, regroup, and replan. There’s never been a good movie where the heroes come up with a scheme and it just perfectly works as intended. Drama is driven by the unexpected.
So we generally want to cap the amount of information the player has access to. The game designer Keith Burgun calls this the information horizon, defined as “the distance between the current turn, and the point at which information becomes known to a player”. And there are three main ways to do this - exponential complexity, like the ever-expanding matrix of game states in chess. Hidden information, like the fog-of-war that hides the enemy’s plans in Starcraft. And, the one we’re talking about today - randomness. You can’t make perfect plans if certain factors are, by design, completely unpredictable.
So, randomness certainly has a role in game design. It’s used for variety, balance, rewards, the information horizon, and probably more things I’ve forgotten about.
But like I said before, randomness actually comes in two distinctly different flavours - which game designers frequently refer to as input randomness, and output randomness.
Input randomness is when a random event occurs before the player gets to make a decision. The most obvious take on this is the procedurally generated levels in a game, because they’re cobbled together and then you get to play in them. Other examples are drawing a hand of cards before taking your turn in a deckbuilder, or rolling dice and then choosing where to spend them in Dicey Dungeons.
Output randomness, though, is when you make a decision and then luck takes over and the game tells you what happened. The most infamous example of this is hit chances in XCOM, where you tell your soldier to shoot an alien - but it’s down to chance whether your bullet will actually hit its target. Other examples are walking onto a tile and then the game tells you if there was a monster there. Or, not knowing what the enemy will do until after you press “End Turn”.
Or, I guess, paying for a lootbox and only afterwards being told what was in it.
I’ve also heard the same concepts be called pre-luck and post-luck, by Civilzation 4 designer Soren Johnson. But let’s stick to input and output for this video. These two terms were first introduced, as far as I can tell, on the podcast Ludology - “But in general, I find this distinction between input and output randomness to be very valuable. I think this is the fundamental difference between randomness that supports strategy, and randomness that undercuts strategy”.
The host, Geoff Engelstein, makes a good point there. Output randomness is certainly more responsible for anger and resentment than input randomness. And indie developers are becoming privy to this - after FTL, which was stuffed to bursting with swingy output randomness, Subset made Into the Breach which almost exclusively features input randomness - leading to a much fairer and more strategic game.
And while early builds of Slay the Spire hid what the enemies were thinking until you finished your turn, the devs found the game was way more fun when that random choice happened at the start of your turn - allowing you to strategise around your foes.
But I don’t think it’s a case of input randomness good, output randomness bad. They’re both tools that must be used wisely, and poorly designed input randomness can wreck a game, just like carefully tuned output randomness can improve it.
With input randomness, these unpredictable starting conditions can sometimes massively dictate the likelihood of success. So in Spelunky, these crates have random items in them. You’re much more likely to get something mediocre like a climbing glove or spike shoes than something amazing like a shotgun or jetpack - but if you are so lucky as to get one of these items at the start of the game, you’re going to have a much easier time of things. Were you super skilful, or was it just good luck?
This can also make runs where you don’t get the goodies feel slightly pointless. Some speedrunners will just restart the game over and over again until luck is in their favour.
There’s a couple ways to solve this. In Slay the Spire, the devs didn’t want you to just hit restart until you got some really powerful cards or a relic at the beginning of your run. So they introduced a system where you start the game with additional bonuses - but only if you made it to the first boss on your previous go. This encourages players to at least try to play with the stuff they’re given, and who knows - maybe they’ll still find a strategy that can see them be victorious.
Another way is to mess with the randomness in some way, to increase the reduce the chaos that randomness can bring.
In the tabletop game Pandemic, you set the game up by removing all of the epidemic cards from the play deck. You then split the deck into four, and shuffle epidemic cards into these piles. Finally, you stack the four piles together to create a deck. It’s a bit of a faff, but it’s a clever way of ensuring that you always have a pretty even game without three epidemics at the very start, or no epidemics until long after you’ve cured all the diseases. There’s still a chance of getting two epidemics in a row, or having an epidemic on the very first turn - but they odds are slim enough for those to be exciting, surprising one-off events.
Lots of games do this, in reality. In Tetris, the game doesn’t just pick a block at random for every drop. Instead, the game generates a random sequence of all seven blocks and then delivers them in that order before making a new sequence. This ensures that you’ll always get a diverse selection of blocks, and there’s an absolute maximum of twelve blocks between two I-blocks, sometimes called line pieces, or Derek.
Another thing to consider is how often are new input randomness events occurring? If these occur at the start of every single turn, it can have the effect of drawing the information horizon in claustrophobically close - and stopping you from making plans that last any time at all.
Designers should consider their game’s information flow - a term invented by Ethan Hoeppner in the article Plan Disruption. He points to XCOM, where we can make strategic plans about how we want to approach each mission and for a good few turns our plan will be pretty viable - not perfect, thanks to all the output randomness. But close enough. But every now and again, you’ll stumble onto a new pod of enemies, or a fresh bunch of foes will descend onto the battlefield. This unexpected spike in new information disrupts your plans and forces you to stop, regroup and rethink.
He says “a good pattern to follow is the spiky information flow, in which high-impact information is collected into discrete spikes that happen at regular intervals, with a slow, regular flow of information between the spikes”.
Now, output randomness can take away control, and break your plans not out of strategic incompetence but sheer bad luck. And on the whole, some of the stuff we like the least in games is down to output randomness - such as random encounters and loot boxes.
But it’s not all bad. For starters, this sort of randomness can be a good way of simulating mistakes and inaccuracies in a game with abstract combat system - which is games where you tell characters to perform an action rather than doing the action yourself. If your units never missed, then that wouldn’t be particularly realistic.
Also, output output randomness forces players to play with risk management, and to create contingency plans if things go wrong - which I think are totally viable skills to test. There’s this idea that output randomness essentially becomes input randomness for the next turn, because you’ll be dealing with the consequences of whatever just happened. Essentially: the best XCOM players are those who have a backup plan if their shots miss.
But there are ways to improve output randomness. The first is to show the player the odds, which allows them to make way more informed decisions about which risks they’re willing to take, or how their actions can impact their chances of success.
Some games also choose to use dice or cards instead of numerical odds. The game Armello even includes a physics system to drive the digital dice, to make them seem more realistic. This is because most of us are better at grasping the odds of rolling a six or drawing a heart card than we are at understanding what a 90% chance to hit really means.
In fact, humans are really bad at understanding odds, thanks to countless cognitive biases that make it hard to deal with random numbers. So game developers frequently lie about the actual chances of things happening - the numbers in Fire Emblem are massaged to make a 90% chance more like a 99% chance. If you lose two 33% chance battles in Civilization, the third will always succeed because that’s how we think numbers work. And there’s allegedly a pity timer in Hearthstone, to ensure you’ll always get a legendary card after a certain number of packs.
It can also be good to have output randomness in places that will only ever be in the player’s favour. The only real example of output randomness in Into the Breach is the game’s building grid system where there’s a small chance that the enemy’s attack will actually miss and save you from surefire defeat at the last moment.
“We found that if there’s randomness where you’re expecting something bad and then you get something good, no one ever ever complains. So that’s the only kind of randomness, output randomness, that we left in the game”.
Randomness is something in games that must be dealt with very carefully. It impacts fairness, balance, player psychology, the formation of plans, and the likeliness of success. But it’s a tool, like any other, and can be used with clear intention or weilded carelessly.
Understanding the difference between input and output randomness is perhaps the most important thing to learn. Neither is a silver bullet or a dastardly trap and both can endanger or improve a game’s design. But when used correctly, these concepts can create surprises, force the constant reevaluation of strategies, and turn players into risk-calculating tacticians.
So that's what I'm kinda going for. Introduce the role of randomness. Talk about input and output randomness. And then talk about the ways to work around their strengths and weaknesses.
It was really important to not simply say Input Randomness is Good and Output Randomness is Bad. That's too simplistic, and not true at all. I wanted to talk about how these things are tools, and it's how you use them that dictates their quality.
I also knew I wanted to talk about things like how RNG actually works in games like Tetris. How games like Fire Emblem lie about the real numbers. How the "perfect information" in Into the Breach works. And how Spelunky can turn into a bit of a re-roll fest. I'm pleased I found a way to squeeze them all in!
Now, onto you. Here's what I want to know:
- Did this all make sense? Is there anything you're left confused about?
- Do you disagree with any of the statements?
- Are there obvious things I missed?
- Are there any other important uses of randomness? (I mention variety, balance, rewards, and information horizon).
- Have you played a game that does something particularly interesting with randomness?
- Have you seen any articles, interviews, videos, GDC talks etc that bring up interesting ideas about randomness?
- Anything else I should mention?
Answer any, all, or none of the questions in the comments below, please! If you just want to go off on a peel about randomness, or talk about the thumbnail, or make any other helpful comment, I'm all ears!
Thanks for taking the time to read all of this. If it goes well, I'll do it more throughout the year!
Mark