he luck vs. skill aspect of games is one which is fairly central to good design—indeed, it's something we've covered before.
But before we worry about trying to balance luck and skill, we really
need to ask: what is chance, and to what extent is it necessary in a
game? Furthermore, how can we implement chance in a way that feels
rewarding rather than punishing, and use it to improve rather than
detract from the overall playing experience?
Is Chance Required?
It's nearly impossible to create a game without luck. A game without
luck isn't really a game—something like "who's the tallest" or "who has
the most fingers" doesn't really involve any sort of challenge. These
are simply measurements that the players are unable to change, and so
are unlikely to provide much entertainment. A game must have an element
of uncertainty—something like "who can balance on one leg the longest",
while not terribly in depth, is at least not predetermined. Even when
one player is better, their success is not always guaranteed.
For many games, we use cards, dice, or a random number generator to
create this unpredictability. But not all games use randomisation tools,
and a serious strategy game like chess still requires an element of
randomness: this element comes from the players themselves. Players are
unpredictable, and will often adjust strategies and tactics on the fly,
based on what they consider the best probable outcome. This is why,
despite being a fairly static game, chess games can vary wildly: no two
players approach the game the same way.
The reason humans can provide chance to chess is because chess is incredibly complex – in fact, we can describe chess as a complex game.
Unfortuntely, unlike concepts such as "flow" or "zero sum game", the
term "complex game" isn't a recognised term. Since we'll be talking
about complexity a lot, we should probably define what we mean by it.
Understanding Complexity
So what is a complex game?
If we look at Tic-tac-toe, we can see a game with fairly simple
rules. There are nine spaces, players place an X or an O, trying to make
a straight line, and the game is always over in nine moves or fewer.
It's fairly easy to predict the results of a Tic-tac-toe game, even
before the first move is made—assuming the two players play "correctly",
then the game will always end in a draw.
We can say then, that tic-tac-toe is hard to justify as a complex
game. In fact, Tic-tac-toe has been solved, which is to say that we've
calculated every set of possible moves, and essentially proven the best moveset. To make matters worse, humans are capable of "solving" a tic-tac-toe game without much mental agility.
Compare this to chess, which has 64 pieces and six different types of
piece, each with their own moveset, special moves such as castling and
en passant, and a ruleset that means a game could (technically) last
forever. Given these conditions, it's perhaps unsurprising that chess
has never been solved, even by the most powerful computers.
So, essentially, a complex game is one which has not been solved, or that cannot be solved by the players.
This addendum "cannot be solved by the players" is important. It
means that games can continue to be fun, assuming the players are
incapable of solving them. This is why Four-in-a-row (also known as
Connect 4) remains a fairly popular game; although computers have solved
it, when players sit down they are unlikely to be capable of
calculating the perfect game in their heads, so they play non-optimally.
Tic-tac-toe, while trivial for most players, is still a good game for
young children who are unable to plot out every move in their head.
Complexity is subjective.
So why is this important? Because a non-complex game (a simple game)
is a boring game. If the game is not complex, then it is solvable. If it
is solvable, then the outcome is predetermined; all the player is
required to do is work out the best moveset, and they've won. And at
that point, they may as well go back to playing "who has the most
fingers".
A small sidenote here, a solvable game can be better described as a
puzzle. And while puzzles are popular (many newspaper print daily
crossword puzzles), a puzzle is only fun up until it's been solved –
which is why crossword enthusiasts generally don't sit and solve the
same crossword over and over. Theres certainly nothing wrong in deciding
to make a puzzle game, but be aware of what it is you're aiming for,
and how that will impact replayability.
Tools of Fate
So, when we look at games like chess or Tic-tac-toe, we can see they
are all strategy games with no inbuilt randomisation: basic strategy
games. There are, however, many games which do use dice, cards or other
tools as an inbuilt mechanic, like snakes and ladders or poker. As most
of these games can't be considered complex, the inclusion of these dice
or cards is necessary to prevent the game from being solvable. If, in
the game of Snakes and Ladders, rather than rolling, players chose a
number between one and six spaces to move every turn, then even children
would quickly work out that "always choose six unless you land on a
snake" is an optimal strategy.
Of course, adding randomness does not automatically make a solvable
game good. In fact, you simply change the aim from "find the solution"
to "find the best probable outcome". You still essentially have a puzzle
game, except that the win condition is not guaranteed. Too much
randomness is just as bad as none; here again Snakes and Ladders is an
obvious example. Almost no-one other than children plays the game, as it
lacks any sort of interactive challenge and, therefore, people see it
as ultimately pointless.
So why does a game like poker continue to work? Poker is,
essentially, a series of mini puzzles. You are given a hand, and you
have to "solve" how probable it is for you to win. You can then bet on
your hand, based on how likely you are to win the game.
This is an oversimplified view of poker, and if this was all there
was to the game, it would be fairly boring. It would be trivial to write
a program to calculate the odds (although people do that anyway), and
simply run it to maximise your wins.
The fun of poker comes from player interaction: from bluffing and
confidence. You are not required to bet on a good hand, and you are able
to bet on junk. In fact, this is arguably what the game of poker is
truly about; the cards are simply there to facilitate this, and to
provide a fresh round of lying every few minutes. By adding the random
element, we've eliminated player knowledge, which means that we can use
uncertainty as a game mechanic. Players are required to perform based on
what they know, and it is the combination of calculating winning odds
and outfoxing other players that lets poker maintain its fanbase.
Bored of Boards
So, although we've been talking about about traditional gaming,
computer games use exactly the same principles of design. Games like
Tetris or Bejewelled can be considered simple (with added randomness),
and games like Starcraft or Team Fortress can be considered complex.
In almost all games, there is a certain puzzle-like quality. Even in
an RTS or FPS, players are constantly making decisions based on optimal
play: should I build tanks or planes? Should I choose the machine gun or
grenade launcher? Should I turn left or right? Like in chess, the
player attempts to make decisions based on what they think will result
in the best outcome. The randomness isn't (generally) provided by
computer dice, but by the choices of the players in the game. Players
are trying to outwit each other, as well as outskill them.
In fact, its possible to argue that the only randomness in a PvP game
(like an FPS or RTS) should come from the players themselves. As we've talked about before, crits in TF2 are a subject of much contention in the playerbase—to summarise, any shot in TF2 has the possibility of being a crit
shot. Crit shots require nothing more than the roll of a dice, and any
damage dealt by a critical bullet will be twice or three times as much
normal, which causes crits to be frequently lethal. While new players
may enjoy the thrill of randomly getting a kill, "pro" players will see
the crit mechanic as unnecessarily spoiling their skills.
The range of numbers we use for randomness also play a large effect
on how things pan out. If a rifle deals 90-110 damage a shot, then if we
have 150 health the random element is really a flavour effect: no
matter what happens, we need to be shot twice to die. However, if we
have 100 health, than a rifle will randomly kill us in one shot half of
the time. Despite there only being a small range in randomness, the
numbers used matter a great deal.
The Effects of Randomness
So why is it that "pro" players bemoan crit systems (and improperly
implemented damage ranges) whereas "casual" players don't? The answer,
simply, is player expectation.
A pro player will have played their game of choice a lot. They will
know it inside and out. They will know what damage they can take, what
they can deal out, and what the outcome of any situation should be. And
while they may sometimes judge things poorly, it is generally due to
underestimating the opponent's skill level, or making bad split-second
decisions.
So when a pro player enters a battle, and they are instantly gibbed
by a bullet for no reason other than luck, they might feel cheated. They
knew what they wanted to happen, but because of an electronic dice
roll, they were instantly killed instead.
New players will generally not feel this sting as sharply; they don't
know the game as well, they have fewer expectations of what should
happen, and so they can enter a battle not really expecting to win. To
them, battles are as much a learning experience as a test of skill.
This randomisation destroying expectation is something that can
happen in almost any game with randomness. When you're waiting for a
line block in Tetris, and the computer instead gives you six S blocks in
a row, the player might feel a little cheated. The popular game Puzzle
Quest (essentially a bejewelled clone with RPG elements) received many
player complaints about "cheating AI"; there are enough forum threads
about it that the developers had to specifically come out and say that the AI doesn't cheat.
So why does it feel this way? Why are so many players upset over
randomly falling jewel colours? Because the randomness is subverting
player expectations. When a player goes into a game, they are
(generally) expecting to be challenged, but they're also expecting that if they play well, they can win.
When the game randomly throws some bad numbers at you, and you
immediately lose, then you can feel cheated. You had an idea of how the
game was going to play, and despite your best efforts, you were
defeated—not by your own lack of skill, or superior opponent strategy,
but by electronic dice. This, for most players, is incredibly
infuriating.
This "luck subverting player expectation" extends into all sorts of
game. In fact, the more luck involved in a game, the more likely it is
to be frustrating. RPGs are a notable example, especially because of
crit systems. Crits systems often seem like a fun little addition, but
by the numbers they will almost always punish the players. This is
because:
Players are, generally, expected to defeat most enemies.
Crits add randomness to battles.
Randomness in battle means unpredictable results.
Therefore, players will (occasionally) win battles they should have lost, but more often:
Players will lose battles they should have won.
This is, of course, assuming that the encounters are designed or
tailored towards the player. Some RPGs simply throw the player at giant
monster and be done with it; however, as professional designers, we
should be looking to ensure that the game is tailored towards our
players, rather than just throwing some dragons in and calling it a day.
The other problem then, assuming we have designed our combats
carefully, is that a crit system over-favours the player. Imagine if,
after a harrowing journey through time and space, the hero of our game
walks up to the ancient demon terrorising the planet and kills him in
one (critical) blow. Its not quite the epic battle of legend, and is
likely to leave the player feeling underwhelmed and unsatisfied. A
player wants a challenge, and denying them that challenge because of
randomness is unlikely to provide satisfaction.
In the case of Puzzle Quest, whether or not the AI actually was
cheating isn't actually important: what is important is that to some
players, it felt like the AI was cheating. The lucky streaks
gotten by the player are likely to be ignored (due to their expectation
of winning anyway), but having your victory snatched away by a series of
unfortunate dice rolls may seem unfair and punishing.
Fixing Things
So how do we fix things? It might seem like so far all we've really
said is "randomness is bad". And essentially, that's true. We're
professional games designers; we shouldn't be doing things randomly.
Every decision the player makes should be the result of a carefully
crafted experience, and putting in randomness can endanger that.
When we look more closely at it, we realise that randomness can be added for two primary reasons:
To make the outcome unpredictable, or
to generate content.
Let's examine these:
Unpredictable Outcomes
As we talked about in our previous article, players enjoy winning.
As we talked about here, randomness somewhat replaces the need for skill.
Therefore, adding randomness to a game allows (in some sense) bad
players to win against good players. In a game with no randomness, a
good player will always win against a bad player.
Because of this, having this unpredictability can be an important
part of a game: it allows bad players to influence the game, and
(hopefully) become better. If a player is constantly matched up against
superior opponents and is losing, chances are they will quickly lose
interest.
However, good players will often dislike this randomness, and will often be put off by a game which "punishes" their skill.
So how can we fix this?
Well, one option is to have an Elo rating system.
This essentially gives players a number based on their skill level:
beat a grandmaster, and your Elo rating goes up; lose games to newbies,
and your score will probably go down. It originated as a way for chess
players to measure their skill, but many MOBAs (Multiplayer Online
Battle Arenas, such as League of Legends and Defense of the Ancients) do
this, so that when you enter a battle you are (theoretically) placed
with people around the same skill level. Some first-person shooters have
also attempted this, allowing players to rebalance the teams if one
side is continually getting crushed.
Another option would be to have a handicap system.
Not too dissimilar to an Elo system, a handicap system allows players
to give themselves an artificial advantage based on their skill level.
Fighting games will often do this, giving the weaker player a variable
health and damage output bonus. Although a handicap system might not
solve all skill imbalance issues (it's easy to imagine online players
abusing a system like this), it's a good way to allow casual players to
compete more equally with their hardcore friends.
In both these cases, you can reduce the randomness of innate game
elements, leaving the players as the only randomness generators.
Generating Content
The problem with generating content randomly (or gameplay elements,
like in the game of Tetris's falling blocks) isn't so much that we're
generating unpredictable content; it's that, often, certain sequences of
random elements are extremely punishing to the player.
If, in Tetris, the player is waiting for a line block, but we only
generate S blocks for the rest of the game, then the player will have
every right to be annoyed. And, while it's improbable, it can happen.
In other games, such as a dungeon crawl RPG, we might have a 1%
chance of generating a boss every time a monster spawns. If, by chance,
we generate three bosses in a row, then the player might find themselves
in an unwinnable battle.
By the same token, we might go through the game and never generate a
boss. This could make the game incredibly easy, or (if the bosses drop
equipment upgrades) incredibly hard. In either case, randomness has
essentially destroyed our players' enjoyment of the game.
In certain cases, randomness can completely remove a player from the
game. In the popular collectible card game Magic: The Gathering, players
build decks that require a combination of lands (power sources) and
spells to defeat their opponents. The use of lands is an important
balancing mechanism: a simple goblin might require one land in play,
while a mighty dragon might require ten. However, if the player happens
to draw no land cards, then they are unable to play anything; they are
essentially forced to sit there with zero options until their opponent
defeats them. While it's possible to mitigate this to some extent, it's a
serious design flaw that a non-insignificant number of game losses are
the result of bad luck, rather than being outplayed.
People feel loss more strongly than they feel gain. It's an interesting psychological phenomenon; consider these two scenarios:
You are given $1,000. I ask if you want to gamble on a coin toss:
heads you win an extra $1,000, tails you don't. Alternatively, you can
just have an extra $500 (no coin toss required).
You are given $2,000. I ask if you want to gamble on a coin toss: tails you lose $1,000, heads you don't. Alternatively, you can just give back $500 (no coin toss required).
In general,
people tend to take the guaranteed extra $500 in the first case, but
gamble on the coin toss in the second... even though the outcomes for
gambling are the same in each scenario! (Do the maths: whether you
choose to flip the coin or not, and whether the coin comes up heads or
not, the amount of money you end up with in the end is the same
regardless of whether we're talking about Option 1 or Option 2.)
This means that, if you have a mechanic in game which randomly
rewards or punishes they players, the losses will, psychologically,
outweigh the gains. If the gamble is optional then it opens up extra
avenues of gameplay, but a forced gamble will mostly feel like
punishment. A final problem with generating content randomly is that it can be
very difficult to generate content which is interesting. A great example
of this is MMOs; World of Warcraft has dozens upon dozens of dungeons,
each of which can take hours to complete, and weeks to successfully
master. However, once the dungeons are mastered, they (arguably) offer
few variations and little replayability, save for the obvious grind for
equipment. In Anarchy Online, the number of designed dungeons was tiny:
however, players could enter randomised dungeons. In theory, no two
dungeons the players encountered would ever be the same: however, in
practise, every dungeon felt the same. Because dungeons were
randomised, they had no narrative structure or overall design concept.
Instead of feeling unique, every dungeon felt the same.
A lot of this is down to how many rules are put in place and how the
generation is implemented: Nethack and Spelunky both use randomly
generated levels, and have massive fan bases. The generation of rules
for interesting map design is, however, a slightly different issue from
randomly generating gameplay elements, and is probably best left for
another discussion; it suffices to say that a good designer should be
aware of the limitations of generating maps. We can still apply much of
this randomness discussion to the generation of these maps, however.
A More Serious Solution
So where does this leave us? Well, sometimes we can actually just
remove randomness from a game entirely. In the case of an RPG, instead
of spawning a boss 1% of a time, we can spawn them after every 100
kills. In the case of collectible card games, one of Magic's competitors
(Versus system) solved the issue of players needing land by making
every card playable, face-down, as a land instead of a spell; this meant
that you would never find yourself "stuck", while maintaining the
momentum that lands crucially provided.
However, a total removal of randomness can often be an overzealous
case of throwing the baby out with the bath water. In the example of the
RPG, making a boss spawn every 100 kills exactly is likely to make them
too predictable, and when a game gets too predictable, it becomes a
puzzle. A better option would be making a boss spawn somewhere between
every 50 and 150 kills. This means that bosses are still within a random
range (making them hard to predict), but aren't so random you can get
attacked by three at once.
This use of carefully controlled numbers is pseudorandom generation.
There are many ways to do it: in Tetris, if we spawn an L block, then
for the next three blocks we "re-roll the dice" once if an L block is
spawned again. Normally, the L block has a one-in-seven chance of
spawning, but giving it a re-roll makes it a 1/49 chance for those
threee turns. It can still happen, but is much less likely.
This isn't the best way, of course: there are many ways to generate
numbers randomly, ranging from simple re-rolls to weighted random
numbers; plus, sometimes, in a case like Tetris, just leaving it as a
one-in-seven chance to generate any block might be the best option.
If we do use randomness, we also have the opportunity to introduce seeds.
This simply means that the random numbers we use in our game aren't
actually random; the "random" sequence is entirely defined by a number
called a seed. In Tetris, it appears that we can't predict what blocks
are going to fall; however, if we seed a tetris game with the number 42,
and we start off with square, L block, T block, square, then every game
that uses the 42 seed will begin with those blocks. Seeds aren't used
often in gaming (Minecraft and FreeCell being two notable examples), but
can be a nice addition.
The ability to seed randomness comes from the fact that computers
aren't actually capable of generating random numbers: often, they simply
take a base number (such as the time in milliseconds), and then perform
a calculation to get a "random" number. By ensuring the base number is
the same every time, the calculations will give us the same "random"
numbers. On Windows, FreeCell game #11982 is the only impossible game.The alternative to removing randomness is to use more of it. This
might seem crazy initially, but can actually be extremely effective:
roll two dice, add them together, and you have a one in six chance of
getting a seven. Roll 2,000 dice, add them together, divide by 1,000
(and round), and you will almost always get a seven. In this case, using
so much randomness has almost entirely removed randomness.
Summing Up
At the end of the day, randomness isn't inherently evil; it all comes
down to perception. Players want to be be challenged, or to have an
interesting experience, and there's nothing challenging or interesting
about throwing a bunch of random monsters at a player, with little
regard to whether they live or die. By tempering the randomness, we can
craft the results we want, and hopefully make a game which interacts
with the player, rather than ignoring them.
A Few Final Notes About Randomness
Randomness is generally a bad way to solve conflict, because (by its
very nature) it creates unpredictable results. Randomness can also be a
poor way to generate content, but is often the only sensible way to
approach it; imagine designing a Tetris game which had a list of every
block that should drop, in order.
When randomness does occur, it should generally favour the player
(which is hard to achieve in a player vs player environment). If game
elements are generated randomly, they should allow the player to react
to a worst case scenario in a way that still allows a reasonable chance
of success.
However, we have to accept that sometimes randomness is necessary.
RPGs would be a lot less exciting without dice to determine combat.
Board games, in particular, are unlikely to resolve the issue anytime
soon: throwing 1,000 dice and averaging out just isn't practical for a
game of Snakes and Ladders.
And of course, the final big caveat: if we remove randomness entirely, are we making a game, or a puzzle?
0 comments: