We know that if players aren’t in flow for too long they will put our game down and possibly never touch it again. One of the most important ways of keeping players in flow is keeping the difficulty manageable – not too hard and not too easy.
Unfortunately, there are millions of players, and everyone is different. Some players aren’t very good at our game (low-skilled). Others are good at our game (high-skilled). If we want to attract as many players as possible, we must design our game around having different player types.
Here are various techniques we can control player difficulty with while accounting for multiple player types.
Create layers of challenges – have players choose goals within their flow channel
This is the ideal approach.
Challenge Layering is where games have multiple goals of different difficulty at a given time that players can choose to complete. If they become bored or frustrated, the player can make the game harder or easier for themselves by changing their goals (thoughtfully or instinctively). Challenge Layering is a way of having the player choose their difficulty in a more natural way. I believe this is the best way to design flow in a game because it inherently adds interesting decisions for your players along with more content and replay value. The disadvantage is how difficult it can be to design and build a game that is littered with challenge layering.
How can we add new goals of varying challenges to our games? It’s all about adding multiple objectives or mechanics that encourage multiple objectives. I have a post dedicated to ideas for this.
One thing to watch out for: some less-skilled players don’t like seeing challenges they can’t complete. Often it helps to hide harder challenges so people need to be more skilled or knowledgeable to even notice them. The secret warp pipes to different worlds in Mario are a good example. If a novice player stumbled across one that took you to a later world, they would quickly get frustrated. Fortunately, you must be knowledgeable and very skilled to even know they exist, so a novice player is unlikely to run into them. This is coined Lenticular Design by the Magic The Gathering team.
Let players choose difficulty
Some games give players choices in difficulty, potentially even letting them reduce or increase difficulty during the game. Here are some disadvantages of this approach:
- The game designer must balance the game in each difficulty level that will still allow the player to achieve the experience the game is meant to deliver. This can be very time consuming and complicated to do correctly. Several games tend to just make enemies do double damage and players often find these types of difficulty increases lazy.
- The player often doesn’t know what they want or what your definition of “easy” means. If I only want to see the story in an RPG, I’ll often set the game’s difficulty to easy. Unfortunately, this sometimes makes the battles too simple for me to properly learn the mechanics of the game and come up with good strategies. I might feel the game is too boring and not strategic enough.
- Different players will have a different expectation of what the proper way to play is. In The Last of Us, one theme of the game is about survival. Having to conserve your resources and think carefully will help people feel that experience. This leads people to say that the appropriate first-time difficulty a player should choose to experience the game is at least hard because lower difficulties aren’t about managing your resources. I for one played the game on normal the first time because it’s called “normal”, so I thought that must be what the game designers intended.
- Some games have many different gameplay types in them because varying activities are a way of controlling flow. Take a game like Jak 2 or 3. These are sandbox games akin to Grand Theft Auto, with a little more emphasis on platforming. There are several different skills required to complete these games (shooting, jumping, driving, various minigames). Let’s say I can set the game too easy. It makes the races and shooting challenges easier. What if a player is good at shooting in the game but horrible at racing? Now they may be in flow for racing challenges but bored when shooting happens. You can fix this by having several sliders for each type of challenge, but that may become confusing for the player.
- Changing or selecting difficulty is very meta-game and may take the player out of the game because it often doesn’t relate to the theme. You can get around this problem by trying to explain difficulty options away thematically (maybe you have a guardian angel throughout the game that you can tell to make the game easier).
That being said, difficulty levels may be appropriate for your game. If you choose to use difficulty levels for your game, be careful you don’t fall into their pitfalls. Here’s some advice for creating a hard mode using Kingdom Hearts 2 as an example.
Use various metrics of the player’s skill level to dynamically tailor challenges in the game to their skill level. Often dynamic difficulty is a form of negative feedback. This can be very complicated to get right. Players who notice you do this could manipulate the difficulty.
A simple way of dynamic difficulty is using the player’s level as a heuristic and using it to adjust enemy levels. Skyrim and FF8 are examples of this. A problem may be that a player’s level might not be a good heuristic of skill.
Zelda Breath of the Wild uses dynamic difficulty. The more enemies of a given type you kill, the stronger they get.
The shining example of negative feedback: Mario Kart gives players different types of items based on their position in the race. These items help neutralize the effect of player skill so that each player has a chance to win.
The Chocobo Eater in FFX is a great example of using negative feedback to try to get all player types to even out by forcing underleveled or unskilled players to have to fight more battles to level up while overleveled or skilled players can get a Chocobo to ride in safety avoiding battles for a while.
Notice how each of these examples has two things: some heuristic for player skill and a way to apply negative feedback to this heuristic.
Keep high skilled players moving fast
Get skilled players to their flow channel quickly. Don’t let slow animations and slow gameplay get in the way.
Early platformers naturally did this. If you are good at the game, you can move fast through the levels and eventually reach a point where it starts getting harder. In fact, some Mario games even have warp pipes to future levels so you can skip whole worlds! Skilled players can find these and skip the easy part of the game.
RPGs tend to be bad at this. Random encounters can get boring quickly if you are too good at the game. Battles do get faster if you are highly skilled, but not significantly enough to counterbalance boredom (usually due to having to transition to and out of battle and clicking through menus).
FFIX comes to mind. Battles tend to be extremely slow because it takes a long time for the battle to start, animations are long with no way to skip them, and the game preferring the enemies ATB gauge. FFXII may be an exception because being skilled at gambits lets you move faster through the game. (Although, you could say that using gambits too well is boring itself.)
We must account for novice players and skilled players to make our games as popular as possible and give everyone a good experience. To do this, we must control difficulty so that no player gets bored or frustrated. We can do any or all of the following:
- Prefer challenge layering – give the player multiple goals to choose from throughout your game of various levels of challenge.
- Allow high-skilled players to speed through easy content to quickly get to where the game is challenging for them.
- Use heuristics of player-skill to create dynamic difficulty
- As a last resort, use difficulty levels – but watch out for pitfalls.