We play games to have fun. Most (but not all) games use some sort of competition to drive this fun: from chess to Street Fighter, players enjoy pitting their skills against each other.
A competitive game without real competition isn't fun. If I go up against a chess grand master, or a Street Fighter pro player, I will be obliterated. Short of my opponent being seized by temporary insanity, the likelihood of me winning is approximately zero. There's no competition; it's not fun for me.
So why isn't it fun for me to play against them? Because I know I'm going to lose. This burden of knowledge removes any enjoyment I can get from the game. Unfortunately, this "inevitable defeat" situation is common throughout gaming, even outside of skill mismatches. If we're playing Monopoly and I complete two streets (with hotels) while everyone else is squabbling over railroads, then my victory is virtually guaranteed—I can afford to sit back and wait for everyone else to slowly lose everything they have.
The main reason for my inevitable Monopoly victory is the snowball effect. Once I've gained some advantage, then that advantage continues to grow—like a snowball rolling down a mountain, picking up more snow, growing bigger and bigger. When players land on my properties, I gain more money (which I can use to buy more properties) and they lose money (giving them fewer options); it's a situation which can be very hard to recover from.
Similarly, in Risk, once you've safely captured a few continents, your extra troop income will make you you incredibly difficult to defeat.
When Do We Snowball?
Snowballing exists in nearly any game where resources give you more resources. Or, to put it in a simple form: wherever you can use money to buy stuff which gives you more money (or minerals, gold pieces, wood, or any in-game forms of currency).
In games like Monopoly or Civilisation, there’s an obvious correlation between acquisitions and power. You have cities; you have more money to build more cities. In most RTS games, you build workers to mine gold to build more workers to mine more gold. And Farmville uses snowballing as a central tenet of its design: you buy crops to make money to buy better crops to make more money to buy better crops...
Snowballing can be especially brutal in games like Quake or Unreal Tournament. When a player dies, they respawn with nothing, while the victor keeps their weapons, their armour, and any bonuses they picked up. In 1v1 matches, its fairly common to see an endgame score of 15-3, even for a "close" game.
Some games don't allow you to buy resources, but do allow you to remove enemy resources. In chess, you do this by "taking" enemy pieces—every pawn killed removes options for your enemy and reduces their overall board presence.
And some games have resources which are not relative to your position in the game. In Street Fighter or Pong, it generally doesn't matter how badly you're doing; as long as the game isn't over, you can pull it back. Because there is no feedback loop, these games don't really suffer from snowballing, so we won't discuss them further.
Why Do We Care?
So why do we even care about snowballing? Because for many games, it's simply not fun. As I said earlier, when the end result of a game has been established, the game stops being fun for the loser (and maybe even the winner).
If the inevitable losing player can concede with grace, then that's fine—but sometimes, conceding gracefully isn't possible. When you're playing a multiplayer game, then one player leaving can radically alter the game state. In turn-based games, the next player to go may be able to snatch up the absent player's resources, causing an unpredictable and massive power swing. Similarly, if a player leaves during a 5v5 game, then the resulting 4v5 may simply be too unbalanced, infuriating the former team-mates of the absent player.
A good game should be competitive throughout. The chess term endgame can be used to describe the final state of a game in which all that remains is to finalise the victory or defeat. An endgame state isn't harmful, as long as the players are able to finish up in a respectable amount of time.
An Important Caveat
So, we need to add a caveat: snowballing isn't necessarily bad, as long as the game ends once a victor becomes apparent. In other words: a game is no longer fun when a player becomes unable to influence the end result.
This point is vital, not just to "snowballing", but also to general game design. A player should always be able to win. If a player can't win, then the game is over, and forcing people to play out a defeat is punishing and unfun in a serious way.
Its worth noting, though, that snowballing isn't all bad. For the victor, it can feel great: attaining god-like status, crushing all those beneath you, and generally laying waste to everything in your path. And achieving "perfection" in a game is often a goal of players outside of simply winning. For single player games, this is fine: AIs don't get bored and rage-quit. When playing against humans, though, we need to be more discerning.
Snowballing in Competitive Play: A Look at the Data shows some interesting statistics regarding the percentage of winrates by objective in League of Legends. Note that a simple objective, such as achieving the first kill of the game (first blood), gives the team a 61 to 79% chance of winning the game overall.
So how do we deal with the problems that come with snowballing? Let's look at some possible fixes.
Fix: Resource Management
One option is to make resources "bad", so that the player wants to get rid of them. It might seem strange, but this is already present in games like billiards: having balls on the table is a bad thing. This is an excellent balancing mechanic, as the more balls you pot, the fewer options and shots you have available to you.
Counter-Strike had an interesting "gun game" mod, a variant of which also contained a self-balancing mechanic. Players start with one of the best weapons (often the sniper rifle), and killing other players would downgrade their weapon, to a rifle and then a pistol. After a certain number of kills, the player is left with just a knife—if they can score a kill with that, then they win.
Although using a reduction mechanic might feel counter-intuitive, there's no reason it can't be cleverly worked into a game. Imagine if, in Monopoly, the goal wasn't to become the richest, but to become the poorest; players would be assigned properties and houses at the start of the game, and through careful trading would have to get rid of all their acquisitions.
Its also possible to add certain "winner-punishment" mechanics. Mario Kart has the infamous blue shell weapon, a turbo-powered missile that homes in on the player that's in the lead and stuns them upon collision. It's nearly impossible to avoid, and is incredibly damaging for a player to be hit by one. Because of this, many good players will deliberately avoid taking too much of a lead, so if a blue shell appears they can drop back to second place and let someone else take the hit.
At face value, this seems like an excellent system; it encourages players to stick together, which means that the game is a constant struggle, rather than one player taking an early lead and zooming off to victory. However, as many Mario Kart players will attest, blue shells feel unfair. There's very little you can do to predict the arrival of a blue shell, and, as we've talked about before, randomly punishing players often has a very negative effect on "fun".
On top of this, Mario Kart is a racing game, so it seems counter-intuitive to punish players for racing well. While “Gun Game” hinders any player that gains an advantage, Mario Kart is an unpredictable, specific punishment against a single player. If that player finds themselves on the receiving end of two or three blue shells, they may begin to feel victimised.
Of course, that's not to say that winner punishment mechanics are necessarily bad, but it's preferable to apply them with a light touch, rather than making them feel like targeted punishment. For example, some racing games will put previous race winners to the back of the starting line-up. This gives them a little further to race and prevents them from taking an easy lead, but generally won't feel like specifically singling that player out—after all, someone has to start at the back.
Now, it may seem obvious that players dislike being punished and like being rewarded. This isn't particularly noteworthy, but what makes it interesting is that we can sometimes change punishment into reward with simple rewording.
In early builds of World of Warcraft, there was an experience penalty for players who played too long. After a certain amount of time, players would find their experience progression halved, putting casual gamers on slightly more equal footing with players who could spend their whole day playing. Players, of course, hated it.
To fix this, the designers simply halved the normal experience progression rate, and gave players a "rest bonus": spending time out of game would net them double experience for a certain amount of time. Of course, this is exactly the same mechanic as before, but rather than it being a punishment for playing, it was a reward for not playing. And players loved it.
Simple renaming might not work for all cases, but its worth examining how players perceive these aspects of your game. If something is frustrating, then try to understand why players dislike it, and see if a minor change can make a difference.
Fix: Rubber Banding
Rubber banding means giving losing players a bonus or boost of some sort. Much like how a rubber band stretches and pulls, a rubber banding mechanic will pull players towards the current game leader. The further behind you are, the stronger the pull.
Rubber banding only really works in games when one player is clearly in the lead. In a strategic game like chess, simply counting the pieces on each side isn't enough to determine this: positioning and the ability to dictate the game matter immensely. But for most games, being able to determine a winner is often as simple as checking lives or gold.
Mario Kart famously uses a rubber banding system which gives players bonuses when they fall behind. Players at the end of the track can expect to pick up items like the Bullet Bill, which will often shoot them into third or fourth place with no effort required. Players leading the race can expect to find green shells and banana peels, which are considerably less advantageous. Additionally, CPU racers will automatically speed up when the player shoots ahead, and slow down when the player lags behind.
League of Legends uses a reward system that emulates rubber banding. Killing enemy players is worth gold—which then makes it easier to kill enemy players. To mitigate this, players that die constantly are worth less gold each time they die, which helps ensure that one bad player on a team does not completely determine the outcome of the match. At the same time, players that do exceptionally well, earning killing sprees, find their bounty increased, so when a player does manage to take them down, they may find they've earned nearly double the normal reward.
Implementing rubber banding depends on what you're aiming to achieve. For some games, basic rubber banding might feel cheap, and a more complicated method may be required. For casual games or minor game elements, a simple damage boost or resource bonus may be sufficient. Its important, however, that these bonus are used to help the player claw themselves back into the game, and not something the player can rely on for sudden victories.
Fix: Reset the Board
Points systems are another way to "reset" the playing field, and stop snowballing. Super Smash Bros has an interesting snowball mechanic: the more hits you take, the longer you are incapacitated for. A "smash" move on a healthy player might stun them for a fraction of a second, whereas "smashing" a seriously damaged player will stun them for much longer, giving their opponent time to collect items or line up a secondary attack. The result of this is that a damaged player will find it harder and harder to defend themselves, until they die.
Dying, though, completely resets your damage counter. Upon death, you are placed back on the field of battle (after losing a life) and—assuming you previously managed to get a few hits in—you now have the advantage as your opponent will still be damaged. When similarly matched players fight, they might end a game with a score of 5 to 4; without the damage reset, then a score of 5-0 would be much more likely.
Counter-Strike has a similar reset mechanic: rounds will last a set amount of time, and then be reset. This allows players to recover from expired weapons, low health, death, and poor positioning. Although a minor form of snowballing exists in the form of cash, an abundance of money does not automatically confer an advantage, as the best weapons are not necessarily the most expensive. A hard cap on the amount of money carried also helps to mitigate this.
Fix: Game Over
Of course, you can simply end the game early. If the game never enters a state where it becomes "unfair", then no issues will occur. In chess, the game ends when the enemy king is checkmated. You don't have to take every enemy piece, or achieve a certain amount of points: you simply move towards a single goal (checkmate), and you win.
The Civilisation series of games may be, at their core, a war game, but players are able to achieve victory through a variety of means. If you choose not to crush all your opponents, then winning the space race or convincing other players to elect you as their leader are valid options for technological or diplomatic victories.
Finally, it's worth noting that it's not always necessary to include balancing effects. Sometimes, you can just let a player concede. This is fairly easy for 1v1 games, and its common to see chess players concede once they find themselves in an unwinnable position. But for multiplayer games, it can be harder to let players exit gracefully. This is often one of the problems that team games face—MOBAs, such as League of Legends, are notorious for poor sportsmanship. While it's not fair to blame a game's design for poor player behaviour, when players face punishment for leaving games (such as temporary bans), it can exacerbate a problem which already exists.
Letting a player leave a game in progress can lead to further difficulties, though. If you keep them in the game, then how do you control them in a sensible way? If you remove them entirely, then can someone else come in and take the items or settlements they leave behind? You can replace them with an AI player, but will the AI act appropriately? You might be able to replace them with another player, but what if the original player comes back from a network disconnection? There is, sadly, no perfect way to deal with losing a player mid-game; there's only a "least bad" option, the nature of which will vary wildly with the type of game you're making.
Remember, people play games to have fun. No-one enjoys losing, and if you force someone to play an unwinnable game, then they'll end up frustrated and angry. If you end the game properly then while the player might not be happy about losing, they'll hopefully be more willing to play again.
Adding these solutions is not a magic bullet to make your game perfect, and poor implementation can cause problems of their own. When done well, players will be engaged by the constant challenge provided. When done poorly, players will feel cheated by others gaining sudden boosts, or an AI that cheats itself to victory. At the end of the day, snowball mitigation is another aspect of game design, and we need to consider how best to implement it.