Upcoming Events
Unite 2010
11/10 - 11/12 @ Montréal, Canada

GDC China
12/5 - 12/7 @ Shanghai, China

Asia Game Show 2010
12/24 - 12/27  

GDC 2011
2/28 - 3/4 @ San Francisco, CA

More events...
Quick Stats
68 people currently visiting GDNet.
2406 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!
Link to us Events 4 Gamers
Intel sponsors gamedev.net search:


Why difficulty? In many games, the player is sucked in by the challenge of making it through the game. The sense of accomplishment that can be derived from actually solving a difficult problem has a serious short-term consequence: it increases the player's confidence, pushing him to continue through the game, or to persist if he fails a few times. But difficulty is a double-edged knife, because if it is not controlled correctly by the designer, it may destroy the player's motivation because the game is too hard, or lose his interest because the game is too hard. Pleasing the player obviously goes through taming the difficulty.

Anyone in the gaming world is more or less familiar with platform games: those games that present the player with a world to explore with an emphasis on movement (such as jumping from platform to platform) rather than the killing of enemies. Some of these games insist on the brain-teasing dimension of their gameplay (such as Oddworld games) while others insist on the dexterity required to artfully dodge the traps, reach the ledges, and make it through the world unharmed (for instance, Crash Bandicoot).

In the former case, the difficulty consists in finding a solution to the puzzles in the game, rather than actually solving them. Once the player figures out what to do, he is usually able to move past the obstacle without problems. In dexterity-based platform games, on the other hand, the solution is usually close at hand, and the difficulty is that of actually implementing the easy solution: a series of well-timed jumps over gaps, traps, pits, and other devious mechanisms. There are, of course, rules that difficulty follows when emerging from such simple construction bricks. And this article is meant to cover these rules.

Difficulty 101

The typical platform game can be divided in areas, each having its own way of behaving and interacting with the player. Some are neutral ground: nothing happens while you are standing there, so you might as well go and fetch some beer in the fridge without even pausing the game. Others, however, can be as dangerous as killing you instantly when you enter them and returning you to your latest checkpoint or saved game. From a gameplay and programming point of view, these areas are better represented by their behaviour and interaction. From the player's point of view, these areas must be recognizable. Which brings forth our…

Rule #1: surprise is not difficulty.

There is absolutely no point in surprising the player: if the player does not now how a particular thing reacts, he may either trigger it, which can be frustrating, or avoid it unknowingly - no satisfaction taken in the deed. That's an all-lose situation for the designer, because he cannot amuse the player by doing so. All features should be introduced to the player before being actually used to create difficulty. This introduction can be done in a few ways: some features are simply obvious about the way they function, because the way they are represented in the game strikes a chord in the player's mind that somehow relates it to its behaviour. Some others, again, are not, and the only way the player can actually see what their purpose is, is by actually testing them. Avoid the player an unnecessary frustration, and make that first time easy. It is good, overall, to introduce those new features alone, and make a few variations on them so the player fully understands what they are all about, before moving on to more complex situations. We want the player to know what's expected of him: this way, before making even the first jump in a level, he knows every single way in which he can fail, and this adds to the feeling of satisfaction he gets when overcoming the obstacle. This leads naturally to…

Rule #2: difficulty implies possible and probable failure.

Failure, in turn, implies the loss of something. When the loss increases, so does the overall perceived difficulty. Jumping over a pit is not hard per se, but jumping over a pit knowing that you encountered no checkpoints for an hour or so, makes the whole thing a harder. The loss comes in three flavours:

  • No loss: for instance, trying to jump up on a platform. If the player fails such a move, he can try again very fast.

  • Simple loss: for instance, climbing up a ladder, then another ladder, then jumping on a platform. If the player fails the last move, he falls back down. He has lost the time, and the work, to climb both ladders.

  • Increasing loss: this acts like simple loss, but the amount lost depends on the number of attempts. This is usually implemented using lives and continues. The player resurrects on a checkpoint until he loses all his lives, at which point he spends a "continue", and must start over again at the beginning of the level. If he loses all "continues" he must start from the beginning of the game.

Difficulty does not only depend on the amount lost by the player should he fail: it also depends on the chances of failure to happen.

Implementing Failure

Now, what are the actual tools to make the player fail? Each obstacle has two aspects: the triggering method, and the reason. The reason is all about the design and the player: we can't simply tell him "ok, you triggered this obstacle, so you lose one life and move back to the beginning", he has to understand by himself why: the ground falls, a mine explodes, a rock falls, or something similar, which provides the "reason" the character had to die like that. This leads back to our first rule: if the player understands what happened, he won't fall for it again…or will die trying. There are various triggering methods. Some are player-dependent, some are not. Some are dynamic, some are not. I like to put them in a handful categories:

  • The pit. It does not move, does not change, and does not react. It kills players by mere contact. The only way to go past is by avoiding it (jumping over it, dodging it, finding an alternate route). They simply never turn off, and expect the player to walk on them. Pits are the easiest to dodge by the player, because they are completely and easily predictable.

    Examples: pits, lava lakes, deep water, acid, electrified floor, red-hot steamy pipes, giant fans...

    Shinobi 3
    this waterfall marks the spot as a dangerous place to go down
    Sonic The Hedgehog 2
    the dreaded spikes claim yet another victim

    Presenting the pits: this is hard, because the player cannot actually try the feature - his character will die doing so. Therefore, pits should be obvious as to their hostility: long falls, squishing, poison, radioactivity, heat, electricity, sharpness, spikes - why not even a "danger" sign?

  • The pendulum. It keeps moving constantly and with regularity, but seems unaffected by the presence of the player. This means that the areas concerned are sometimes safe, sometimes dangerous, and they switch with clockwork regularity.

    Examples: razor-sharp pendulums, underfoot lava geysers, fish jumping out of the water, sudden steam bursts, platforms going in and out of a wall above a pit.

    Sonic The Hedgehog
    deadly fireballs are jumping out of the lava with regularity
    Crash Bandicoot
    menacing stones roll in the jungle, squishing unwary bandicoots

    Presenting a pendulum: this is made easier by the pendulum's constant movement. This presentation can be achieved by either insisting on the danger of a certain stance of the area, or the safety of the other stance. One could insist on the danger of the area when a fireball bursts, or a laser beam appears, or on the safety of the area when a stepping stone emerges from the cold water.

  • The unstable floor. It seems innocuous at first glance, because it does absolutely nothing. It does, however, react to the player in various ways, and although it can be stepped on for a few moments, it soon becomes hostile and kills the player. It is a good idea to allow this trap to reset itself. This way, if the player jumped back when it triggered, he may be able do start again soon.

    Examples: platforms that fall when stepped on, floor tiles that trigger traps, carnivorous plants.

    Crash Bandicoot
    this floating brick will soon dive into the water
    Sonic the Hedgehog
    as soon as you step on these islands, they start burning

    Presenting unstable floors: the first occurence of these areas should be encountered alone, as usual. There should be hints to the player, concerning the unstability or unusualness of the situation. The player must be wary the first time he steps on these areas. A brutal change once the player triggers the area should hint of the impending danger, and give the player the good idea to jump back.

  • Once these three tools are available, one should wonder how to combine them into devious traps.

    Increasing chances of failiure

      Difficulty 101
      Increasing chances of failiure
      Getting devious

      Printable version
      Discuss this article