Mathew and Attila discuss difficulty, fairness, and consistency and how this can be done well or done poorly in games. Games discussed in the show:
People play games for a myriad of different reasons. Some people play games for the narrative, some for the challenge. Some people play games just to pass the idle seconds aboard morning transit. Something that affects the appeal of any game experience is the game's difficulty. I'll be discussing true difficulty in this write-up, not difficulty in controls (which falls under more of an accessibility issue). There are a number of different ways we perceive games as being difficult, some more overt than others. Typically, the more overt a game is about its difficulty, the more it tends towards being a frustrating experience for the simple reason that creating a truly "challenging but fair" experience is incredibly difficult. It's something that only experienced developers can properly pull off, and it is the product of a LOT of play testing and iteration. It's incredibly easy to make an experience which is arbitrarily difficult.
Any experience which relies on trial and error on the part of the player, (especially when the penalty for the "error" in question is death and loss of progress) that's the easy / frustrating kind of difficulty. This kind of difficulty stems from lack of communication to the player; throwing them into situations they are unequipped to deal with, confronting them with hazards that they have no way of encountering without getting hit by them at least once, invisible paths that you just have to know are there. Situations we are confronted with in real life where we are under-informed are incredibly frustrating and unless that is what you are trying to evoke in the player (why!?) they should be avoided.
Ways of Modifying Difficulty
Of course, there are plenty of situations where even if the majority of players understand the solution to a given problem, there will be a few who do not, a few for which a given part of your game is just too difficult. It's in these circumstances where having an adjustable difficulty is incredibly useful. It lets more players experience the parts of your game that lie beyond the one particular wall they've run up against. There are a number of different ways these difficulty modifiers can be built into an experience, and there are a number of ways in which this can be done well, or poorly which I'll classify as "multipliers", "modes", and "items". I'd like to preface that a game may draw on any combination of these methods depending on the nature of the experience (I believe it is a rare case where a game uses only one method).
Multipliers apply a mathematical increase or decrease to the given difficulty of an experience. They are perhaps the simplest way of modifying a game's difficulty. If on "Normal" difficulty given enemy attack deals X damage to the player, on "Easy" difficulty it deals X - 2 (or half of X) and on "Hard" difficulty it deals X + 2 (or two times X). My main issue with Multipliers as a means of modifying game difficulty is that it leads to a core inconsistency; if the player gets used to playing on a specific difficulty they will find it jarring when an attack that they are used to surviving suddenly leaves them KO'd.
Difficulty Modes represent core changes to the game experience. This could mean altering the number or type of enemies that spawn, removing hazards from the game environment, or adding in extra power-ups. Due to the nature of these changes, it often makes it difficult (if not impossible) to swap a difficulty Mode once a game session has begun. After all, if you have the Mode set to Normal, then toggle over to Easy where there should be fewer enemies, how is the game to decide which ones should de-spawn? What if the player is standing in a space where a Hazard would exist when they decide to bump up the difficulty? This is why choosing difficulty Modes is typically set in stone at the beginning of starting a new file, or in the game's main menu before starting a play session, it allows a fixed experience to load in and avoid all the issues just mentioned. By contrast, Multipliers are the easiest to turn up or down at a moment's notice since they aren't changing anything core to the game layout. Although creating alternate Difficulty Modes presents a significant design challenge, it also presents a number of different ways for a player to experience the game and solves the issue of maintaining consistency that Multipliers struggle with. Indeed, consistency is an especially great aspect of Modes because should a player choose to play through the game a second time on a harder difficulty Mode, all the experiences of the previous play-through will still be relevant.
The last category of difficulty modification is the use of Items, especially consumable ones that the player can carry with them and trigger at specific instances. These are items which the player does not need to use to get through a specific challenge, but which make the challenge easier. Mega Man provides some great examples of how this is done. You can use the Emergency Energy Tanks to replenish health from the pause Menu, allowing you to bank up on Health where it is easy to find, and then expend it where you have need of it. You can also use "Rush Powers", granted by Mega Man's trusty robot dog. The powers they afford vary from game to game, but for instance, some give extra rising platforms which you can jump onto to make certain jumps easier, or platforms that travel forwards which you can use to cross large gaps. Even in the recent Mario games, your ability to store an item in a backup slot to be used when needed means you can get an item from an easy level, and then use it where necessary to get through a difficult level.
In my game, Robo's World: The Zarnok Fortress, I took the Mega Man approach and included Spare Parts which the player could collect throughout the game, and then redeem them not just to replenish Health, but also to get Shield Power-Ups and Grenades. Allowing players to redeem items to deflate difficulty at their whim is both a blessing and a curse. It certainly accomplishes the goal of allowing players to self-regulate the game's difficulty, but it can allow players to entirely circumvent moments in the game by simply walking through all the hazards you've placed in their way, "damage boosting" to get to the end. It can leave players with a definite sense of having completed a part of your game "incorrectly". Item usage gives players a very potent means of modifying the difficulty in your game and means you really need to think through the nature of the challenges in your game and how they can potentially be affected by item usage.
As a player progresses through a game, it is reasonable to assume that will naturally get better at it. They will learn to master the controls and gain a more thorough understanding of the mechanics. As such, the difficulty of a game should naturally rise over time to provide a level of challenge to the player that feels "just right". As I see it, an ideal curve can be broken into three parts:
The beginning of the curve should be the flattest as you take the time to introduce the player to your game, letting them get a feel for the controls before giving them any real challenge.
As a curve begins to steepen, you must pay close attention to each interval of the slope, making sure that there are no "walls" where the difficulty rises too suddenly. Let the slope build, but keep it a smooth curve; don't let it build to an unpleasant spike.
When a player has attained a new threshold of competence, they should be allowed some time to enjoy that feeling of power before you increase the slope of the difficulty to provide them with a fresh level of challenge. This creates the moment of "release" that follows the intensity of a "tense" moment as the Slope reaches its steepest point. You may even consider having the difficulty dip down a little at this point.
Curves withing curves
As the difficulty curve's overall shape trends upward over time it should have smaller subsets of peaks and valleys. Towards the end of an experience, you can start to increase how steep the Slope of the curve is, scaling the challenge up at a faster pace than earlier in the game.
Curves within curves within curves
But why stop there? As important as it is to have an overall curve of your game in mind, you can plot out the difficulty curve of your game down to the moment (The execution of a complex attack can have its own curve mapped to it!). It seems like an awful lot of planning and tuning, but if you can map out a satisfying curve for your game, it will ensure that the order of things shakes out nicely and your game will feel better as a result.
The Problem of Open World Games:
This is where we arrive at "The Problem of Open World" games. When you give a player the choice of which part of the game they wish to tackle first, (letting them pick a Dungeon or Robot Master) it means that each of those zones must be equally difficult to begin with and follow the same difficulty curve within each stage. Depending on how the difficulty is balanced, this can have one of two results. If every stage is balanced towards being a viable entry point in the game for the player, then it will therefore not present enough of a challenge as the player tackles the last few stages, especially if the player is picking up a stat-boosting item somewhere in each stage that further reduces the difficulty of the levels. Alternately, the difficulty is balanced towards late-game play and it presents a difficulty spike which turns early-game players away, which I would argue is the worse alternative. In this case, if the player gets a stat-boosting item in each stage, it effectively creates a backwards difficulty curve as each item the player gets makes the game easier. Even if the balance falls somewhere in the middle, that would just mean you are alienating both early and late-game play experiences. The way I chose to tackle maintaining a balanced difficulty experience within an open world in Robo's World: The Zarnok Fortress was with a mechanic in the game where the enemy's intelligence level goes up. This way, at the outset of the game, the enemy intelligence would be low, making for an easier play experience. As time went on, the AI level would go up, matching the player's advancement and providing a consistent level of challenge. On top of that, I allowed players a means of countering this intelligence increase with another mechanic within the Digital Environment. In addition to being a means of quickly traversing the Fortress, it also gave players the opportunity to play a Pac-Man style Minigame where they ate up bits of data that represented the enemy intelligence.
Crafting a difficulty curve that makes your game not too difficult and not too easy for all different kinds of players can be a challenging design problem. Sometimes it's not enough to give players the tools they need to modify the difficulty of the game through use of Multipliers, Modes, or Items if they don't understand how to make use of them. You may need to build things into the game that automatically notice if the player is running up against a wall and offering them non-intrusive suggestions as to how to tackle that particular challenge. You may even consider implementing a system which actively modifies the game's difficulty in response to the player's success or failure within the game. This is how I approached difficulty management in the Tower-Defense / Real-Time-Strategy game Orbit. The game would actively spawn more or fewer aliens for the player to contend with depending on how prepared the player was to deal with a given threat.
There are a myriad of ways you can build in variable difficulty into your game. Whatever the narrative, genre, or mechanics of your game, there's bound to be some method that you can make use of to make your game enjoyable and accessible to a broader audience.