Complexity and Difficulty
Puzzle difficulty is important to manage. If your game is too easy it will be boring for players; if your game is too difficult it will be more frustrating than fun. You need to find the right balance of difficulty, both in individual puzzles and in the game as a whole. You also need to ensure that your game’s difficulty curve – the way that difficulty increases as the game progresses – provides a good balance between teaching the player the game’s rules, providing a challenge, and letting the player feel like they are making progress without getting too stuck.
Complexity vs Diffuculty
Some game developers like to frustrate the player, and some players like to be frustrated, but with puzzles, there needs to be a clear line drawn between the positive feeling of challenge and the negative emotion of frustration. So for the purposes of this article, I will use the following definitions so it is clear what I mean by each word in this context:
- Challenge – when the player feels like they will be able to solve the puzzle if they keep trying, and a feeling of determination to solve it.
- Frustration – the negative emotion felt when a player feels like they can’t solve a puzzle because it is too difficult or feels unfair.
By those defintions, it is clear that we want to encourage the player to be challenged, but discourage frustration. The key difference comes down to agency. If the player fails and feels like their failure was due to their own choices or skill, they will feel challenged and want to try again. If the player fails and feels it was because the game was unfair or too difficult they will be frustrated.
Frustration in Puzzles
What leads to a player feeling frustrated with a puzzle? Of course all players are different, and will have different tolerance for puzzle difficulty, but there are ways to minimise the potential for frustrating your players.
One fundamental way to prevent frustration is to ensure your puzzles are fair. Don’t arbitrarily change the rules, and don’t be dishonest with the player. It is not clever to change a rule that is already established. Imagine if halfway through Portal there was a level where the player couldn’t aim a laser beam through a portal. That is changing the rules and unfair. If you wanted to design a Portal puzzle where the player needs to use a laser beam but you don’t want them to be able to shoot it through a portal, you could design your level layout in such a way to make it impossible while still within the established rules. Always remember that you want to mislead players away from a puzzle solution, but you never want to deceive players into an incorrect solution. The difference between the two is that misleading (or misdirecting) is done fairly, whereas deception is dishonest, and essentially cheating.
Another poptential source of frustration is red herrings. A red herring is something in your puzzle that looks like it is important to solving the puzzle, but is not. These are at best a distraction for the player, but they can also cause the player to waste time trying to solve the puzzle with the red herring. If your puzzles are good, there will never be a need to create artificial difficulty by including red herrings.
Make sure your puzzles are easy to read. When a player looks at the puzzle they should be able to understand what they are expected to do, and be able to see what is available for them to use to solve the puzzle. If your game has buttons to activate objects (or any similar mechanic), make it clear to the player which button activates which object. This saves the player energy and time finding information that should be given to them.
It is important to ensure that once the player knows how to solve a puzzle, they can easily implement that solution. This means that your controls and game mechanics are intuitive, robust, and reliable. Remember that a puzzle (in most cases) is an intellectual challenge, not a physical one. If the player knows the solution but can’t implement it because they need to move a character with perfect timing an reflexes, then the puzzle can be frustrating. Imagine a jigsaw puzzle where the pieces are all blank:
Most people would not find that a fun puzzle. The challenge is entirely trial-and-error. While some people may like that challenge, most wouldn’t. There is a reason why almost all jigsaw puzzles make a nice picture that is printed on the box – it gives the player a goal, and a way to use their skill at spotting patterns and colours to look for the right pieces.
If your game allows for it, avoid letting puzzles get into an unsolvable state. Regardless of whether the puzzle can become unsolvable, a reset button is always a good idea as it lets the player try something out and quickly restart if it fails.
Complexity is a mostly objective measure of how many steps are required to solve a puzzle or how many components a puzzle has. Complexity can be a double-edged sword – you will need to add complexity to increase difficulty, but you must avoid complexity for its own sake and in place of clever puzzles.
Complexity is very easy to create – you just add more steps or objects to a puzzle. But complexity doesn’t make a puzzle interesting. Avoid creating difficulty from complexity. As a simple example, imagine a puzzle that includes lots of on/off switches that need to be turned off or on in a specific sequence. This is a complex puzzle that will be difficult to solve, but it will not be an interesting or fun puzzle because the player can only solve the puzzle by brute force.
Don’t confuse how long it takes to solve a puzzle with how difficult it is. A puzzle with 10 easy steps may take longer to solve than a puzzle with 2 steps that require some creative thinking, but the shorter puzzle is probably objectively more difficult. Complexity can be an indication of difficulty, but only roughly.
For a good example of a simple, but quite difficult puzzle, try playing the first level of Microban, an example game using the Puzzlescript puzzle game creator by David Skinner: https://www.puzzlescript.net/play.html?p=6841219
Here is the starting layout of the puzzle:
The player can push (but not pull) the orange boxes, and completes the puzzle when both boxes are on top of the smaller black boxes. There are only two orange boxes, two black boxes (that don’t move at all) and the player (who can move up, down, left, and right, and will push the orange boxes if moving into one). It’s a very simple puzzle, but it may take you a few tries to find the solution because it is quite a tricky puzzle.
A good puzzle game needs a good difficulty curve. In general, the puzzles should get more difficult as the game progresses. This keeps the challenge rising with the player’s skill and understanding of the game’s mechanics.
However, difficulty should not be completely linear. At certain times during the game you will want to relax the difficulty to ensure your player is having fun and getting a good balance between fun and challenge.
When your player learns a new mechanic or aspect of your game, you will generally want to reduce the difficulty to allow the player to focus on learning the new mechanic. Don’t introduce new mechanics in a difficult puzzle – slow the game down and let the player breathe.
If your game has a linear structure (where the player must complete each puzzle in a set sequence), make sure to vary the difficulty to that the player doesn’t feel stuck for long. Avoid placing too many easy or very difficult puzzles next to each other. Follow very challenging puzzles with a couple of easier ones to give the player a rest from the difficulty. Make sure your player has a good balance of progress and challenge. If a player gets stuck on a very difficult puzzle, they may quit the game in frustration.
Many puzzle games avoid players getting stuck by using a non-linear structure, such as unlocking puzzles in groups, which the player can tackle in any order. This way the player can set aside puzzles they are stuck on and try a different one, then maybe return to those they skipped when they have more confidence or have gained a better understanding of the game’s mechanics.
I like to start my games off with extremely easy puzzles, as this means the player has a higher chance of learning the mechanics before they move on to more difficult puzzles that require a greater understanding of how the game works. When I introduce a new mechanic, I always use a simple puzzle that demonstrates the mechanic without too much distraction with other element.
Puzzle difficulty is difficult to measure and compare. Different players will find different puzzles and different aspects of puzzles more challenging than others. More creatively minded players might find it easy to find solutions that require ‘outside of the box’ thinking, and more analytic players might find the more complex puzzles easier. In most puzzle games, assessing difficulty is not a simple science. This is one reason to consider a non-linear structure (as mentioned previously). If the player can choose from several puzzles at any given time, your difficulty doesn’t need to be perfectly measured.
In general, the more complex a puzzle is (i.e. the more steps or components it has), the more difficult it will be to solve. Complexity is a great rough measure of which order to place your puzzles, though you will generally want to use other methods of measuring difficulty to arrive at a more accurate and nuanced measure.
Sometimes you may be able to measure the difficulty of your puzzles by the mechanics used in each. Some mechanics may be simpler (which generally means easier) than others.
If you think of difficulty as a combination of complexity, novel use of mechanics, and other factors relevant to your game (e.g. timing the movement of guards or accurate jumping), you can assess the relative difficulty of each puzzle reasonably well.
Playtesting is invaluable in determining the relative difficulty of your puzzles. The more testers the better. You cannot rely on yourself and your co-developers to do the puzzle testing. You are too faiilar with how the game works. Try to get your puzzles tested by players with various levels of game literacy, including non-gamers, puzzle game lovers, gamers who don’t play puzzle games, and any other demographics you can think of. You can’t have too much testing. The more data you have the more accurately you can measure the difficulty of your puzzles. Testing can also help you to assess if your puzzles feel fair, if your attempts to misdirect the player work, or if the puzzle is difficult to complete because of the game’s controls or layout.
You should also keep in mind that your puzzles will generally be more difficult to your players than they seem to you. As they game designer you will know the puzzle solution, and you will know exactly how all your game mechanics work. It can be difficult to see your puzzles from the perspective of a player who doesn’t know the ins and outs of your game design. This can also sometimes work in the opposite direction – players may find an easy ‘shortcut’ solution to your puzzle that you didn’t deliberately want. This can happen if you don’t have your puzzles tested by players not involved in the game’s development. When you focus so much on the ‘correct’ solution, you may miss something that is obvious to a player who doesn’t know the ‘correct’ solution.
Sometimes you will have a puzzle that you like, but is not difficult enough for its place in the game. When this happens, you may be able to increase the difficulty by adding to the puzzle. Here are some great ways to add difficulty to an existing puzzle:
- Add complexity
- Obfuscate the solution with some misdirection
- Combine two puzzles into one
Below are some examples for adding difficulty using these concepts.
I like to implement double uses for objects in my puzzles. For example, in a puzzle platformer game, a box can be used for many different things – to jump on, to block something, to press a button down, etc. When you create a puzzle that requires more than one use of a particular object, you achieve difficulty by subverting the player’s expectations (the player will naturally assume that an object is used for one purpose) and by requiring the player to think non-linearly (e.g. they will have to undo an action like moving the box in order to do something else with it).
Fill the Player’s Headspace
A player can only hold so much information about a puzzle in their mind as they are solving it. When a puzzle is sufficiently complext, you create difficulty by requiring the player to juggle ideas in their head. Don’t go overboard with this, as you could fall into the trap of replacing genuine difficulty with pure complexity, which leads to dull puzzles.
Use misdirection to obscure the puzzle’s solution, thereby making it more challenging. A great movie twist makes the audience realise they missed information hidden in plain sight. In The Sixth Sense, [SPOILER] the twist comes from revealing Bruce Willis’s character was dead all along, and that the clues were obvious in hindsight. The same should go for a puzzle. Give the player information that implies the wrong solution or disguises the real one (but of course don’t step over the line into deception).
Here is an example of misdirection from Mouse Dreams. Below is the original level. Notice that ledge on the left? That ledge is important to solving the puzzle. But it stands out as something that is obviously part of the solution, and the player will immediately start to piece together how to solve the puzzle using that ledge.
I wanted the obvious ledge to be a little bit less obvious, so I made a few adjustments to the level layout:
By adding more shape to the walls (on both sides of the screen), I have added a bit of visual ‘noise’ that hides the importance of that ledge a little bit. A side effect of this is that there are now a few more ledges in the level that increase the puzzles possibility space, which gives the player more variables to think about when trying to find the solution. This change didn’t alter the solution to the puzzle at all, it just takes the player’s focus away from seeing a clue to the solution as soon as they start the puzzle.
Combining Puzzle Pieces
Sometimes you can re-use what I call puzzle pieces of puzzle fragments to inject a bit of extra difficulty. These can be simple things like adding a key and door to an existing puzzle. These puzzle pieces can also be small mini-puzzles that don’t have enough depth to work as a puzzle on their own, but are still interesting uses of your game’s mechanics. If you come up with these small mini-puzzles, keep them somewhere so you can find them when you have a puzzle that needs a bit of improvement.
Always keep in mind the differences between complexity and difficulty and between challenge and frustration. Let the player feel in control, and increase the challenge as the player learns more about your game and its mechanics.
To find the relative difficulty of your puzzles, measure their complexity, and do lots of testing. When you arrange your game’s puzzles, make sure to vary the difficulty to keep the player’s interest high. Puzzles games with non-linear structre are generally better at keeping players motivated because they can temporarily skip puzzles they are stuck on and try something else.