In video games, dynamic difficulty is a term which describes when a game adjusts its difficulty based on the player's performance in order to ensure a constant challenge regardless of the player's skill level. Stated simply, the better a player does, the harder the game becomes. Dynamic difficulty has can be seen in most video game genres, particularly in racing, sports, and fighting games.
A specific type of dynamic difficulty is called "rubber band AI" which describes when losing opponents are given speed boosts in racing games, making it feel like the AI is attached to the player with invisible rubber bands so that the larger the lead a player gets, the faster the AI springs back to close the gap.
Dynamic difficulty can be implemented in all sorts of different ways, but the primary distinction is based on whether it affects all players evenly, or only benefits the AI. Both types are used in the Mario Kart series.
An example of dynamic difficulty that is implemented evenly can be seen with how the items in question mark blocks are awarded. They're random, but the range of randomness is affected by the player's position in the race. Those players in the lead will get less-valuable items like a banana peel or a green turtle shell, while those in last place will receive more-valuable items like lightning bolts, stars, or a blue shell. I usually like this form of dynamic difficulty because it tends to keep the game interesting even when a weaker player is playing against a stronger player. A sense of balance is maintained by allowing stragglers to catch up and preventing the leader from getting too far ahead, but, even the the stronger player makes a mistake and winds up in last place, they can rest assured in the knowledge they will now benefit from the better items.
An example of dynamic difficulty that only benefits the AI can be seen in the maximum speed of the karts. Each kart has a maximum speed when a human player is driving it, but the AI is allowed to exceed the maximum speed by wide margins whenever they're not in first place, regardless of the game's difficulty setting. Allowing the AI to cheat has a negative impact on the game in multiple ways. If human players know the AI doesn't have to play by the same rules, it creates a feeling of unfairness which hurts enjoyment. Also, this tends to disproportionately hurt weaker human players. Because the best player will set the pace, AI players are guaranteed to match their rank, but the weaker human players will continue to fall further behind because they do not receive the same artificial benefits.
It should be noted that, just because the dynamic difficulty only affects the AI, it doesn't mean the AI has to cheat. Having an AI that must cheat to pose a challenge is a result either of limited resources or lazy programming. Since resources are hardly a problem these days, a competent programmer should always be able to produce varying levels of AI difficulty while remaining within the parameters outlined in the game's rules. In many cases, this can be done with little effort. For example, in action games, the AI can start with a slow reaction time that gets adjusted based on the player's skill. This makes the AI react proportionally to both skilled players and amateurs. Provided this reaction time never reaches super-human levels, the game difficulty dynamically scales without having to resort to cheating.
Here is a list of games that are important to me which utilize dynamic difficulty:
|Chrono Trigger||1995-03-11||The jetbike race with Johnny, is more like a rail shooter since you don't even control your acceleration, and neither the player nor Johnny can ever get very far ahead or behind. This makes it difficult to call what you're doing a "race," since using a boost just before the finish line guarantees victory, but at least it is implemented fairly. There are also items which can be acquired if the player is able to prevent Johnny from taking the lead by maneuvering around him properly.|
|Diddy Kong Racing||1997-10-21||Although it uses rubber band AI, I have found it to be far more tolerable than what is used in Mario Kart 64.|
|Gun Fight||1975-??-??||Probably the very first example of dynamic difficulty used in a video game. Each time a player is shot, the game adds to the defenses of their side of the screen, helping to prevent a more-skilled player from dominating a weaker player.|
|Left 4 Dead||2008-11-17||Left 4 Dead uses what is called the "AI director" which is just a fancy name for an algorithm which tries to balance the game's difficulty. Essentially, if the players aren't doing so well, more healing items will be found, but if they're doing really well, uncommon infected will spawn faster. I don't mind this too much, since the game needs to have a fair amount randomness built in to keep the stages interesting, but I would have preferred the difficulty levels set the range of the random encounters to make the accomplishment of victory feel more earned.|
|Left 4 Dead 2||2009-11-17||From what I've read, the AI director is much more sophisticated in this game, but also more brutal. Players who venture too far away from the pack are punished with powerful uncommon infected, players who stay in the same place for too long are punished with hordes, etc. This means the dynamic difficulty forces a specific play style, which I don't like. The game has built-in difficulty levels, so why mess with the difficulty so dynamically?|
|Mario Kart 64||1996-12-14||I like the dynamic difficulty in how items are randomly awarded because it helps out weaker players, but increasing the maximum speed of AI carts beyond what human players are allowed ruins the game for me. The AI speed-up is so flagrant that, even if you successfully jump the track in Rainbow Road on each lap, and E-slide the rest of the course, the AI will still catch up with you by the end!|
- youtube.com/watch?v=0JV-kMYLYCo - Demonstrating the rubber band AI in Mario Kart 64.