Difference between revisions of "Dynamic difficulty"

From TheAlmightyGuru
Jump to: navigation, search
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Image:Mario Kart Rubberbanding - Jamesman the Regenold.jpg|thumb|256x256px|A comic depicting the rubber band AI of ''[[Mario Kart 64]]''.]]
+
[[Image:Mario Kart Rubberbanding - Jamesman the Regenold.jpg|thumb|256x256px|A comic depicting the rubber band AI of ''Mario Kart''.]]
  
'''Rubber band AI''' is a video game term which describes a dynamically changing difficulty level based on the player's performance in order to maintain a constant challenge. Stated simply, the better a player does, the harder the game becomes. The term "rubber band AI" is based on the fact that computer-controlled opponents in racing games which implement this behavior seem to always catch up to the player no matter how fast they're going, almost as if they were attached by a rubber band. Rubber band AI is most popular in racing games, but was adopted heavily in sports and fighting games recently, and isn't unheard of in various other genres as well. One of the most famous implementations of rubber band AI is in the [[Mario Kart (universe)|''Mario Kart'' series]] which uses it in various ways, the most obvious is how AI racers surpass their maximum speed when a player is ahead of them, guaranteeing that they will always be close behind the player.
+
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 is usually seen most in the video game genres of racing, sports, and fighting games.
  
When rubber band AI is implemented evenly, I usually don't mind it, but when benefits the AI over the player allowing the computer to "cheat," I despise it. I almost always prefer when games have discrete difficulty levels.
+
A specific type of dynamic difficulty is referred to as "rubber band AI." This describes when losing opponents are given an [[cheating artificial intelligence|unfair]] speed boost in racing games when they're lagging behind, allowing them to close the gap to the player, giving the impression that the AI is tethered to the player with an invisible rubber band.
  
==Successful Implementation==
+
==Implementation==
I find that rubber band AI works best either when it benefits players and AI evenly, or when it helps keep the game on track. I also don't mind when the AI difficulty ramps up, but it's level is clearly described to the player.
+
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. I will use the [[Mario Kart (universe)|''Mario Kart'' series]] as an example since it employs both forms.
  
==Games==
+
Dynamic difficulty that is implemented evenly can be seen with how items in question mark blocks are randomly awarded. The range of their 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 if 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.
Here is a list of games that are important to me which utilize rubber band AI:
+
 
 +
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 [[cheating artificial intelligence|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. The best player will take a quick lead, and the AI players are guaranteed to match their position, 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, even when 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 to the player is a result either of limited resources or lazy programming. Since resources are hardly a problem these days, a competently programmed game 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 making the AI react proportionally to both skilled and amateurs players. By always keeping the reaction time slightly better than the player's (thus keeping it within the realm of human abilities), the game difficulty dynamically scales without having to resort to cheating.
 +
 
 +
==Examples==
 +
Here is a list of games that are important to me which utilize dynamic difficulty. For all games, see the [[:Category: Game Mechanic - Dynamic Difficulty|category]].
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
! Title !! Released !! Description
 
! Title !! Released !! Description
 
|-
 
|-
| ''[[Chrono Trigger]]'' || 1995-03-11 || In the jetbike race with Johnny, neither the player nor Johnny can ever get too far ahead or behind. Although this makes the "race" rather ridiculous, it is evenly balanced between the player and AI.
+
| ''[[Chrono Trigger]]'' || 1995-03-11 || The jetbike race with Johnny, really acts like a rubber band, as the player in the lead is actually slowed down so that the trailing player can over take them. It's actually more like a [[rail shooter]] since you have very little control over 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 evenly. There are also items which can be acquired if the player is able to prevent Johnny from taking the lead by maneuvering in front of him effectively.
 
|-
 
|-
 
| ''[[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''.
 
| ''[[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''.
 
|-
 
|-
| ''[[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 difficulty of the game. 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 set difficulty levels to make the accomplishment of victory feel more earned.
+
| ''[[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.
 
|-
 
|-
| ''[[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 punishing. Players who venture too far away from the pack are punished, player who stay in the same place for too long are punished, etc. The game has built in difficulty levels, so why mess with the difficulty dynamically?
+
| ''[[Left 4 Dead]]'' || 2008-11-17 || ''Left 4 Dead'' uses what Valve calls 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 health and weapons will show up, but if they're doing really well, there will be fewer items and 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 and just let the players increase the difficulty making them feel like they've accomplishment a real victory by beating the hardest difficulty.
 
|-
 
|-
| ''[[Mario Kart 64]]'' || 1996-12-14 || Has at least two forms. The first form occurs in item randomization. Drivers in the lead get weak items like single bananas or green koopa shells, while those in the read get good items like three red shells, stars, and blue shells. This is balanced for human and AI drivers.
+
| ''[[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 seeking them out, players who don't advance quickly enough are punished with hordes, etc. This means the dynamic difficulty forces a specific play style, which I don't approve of. The game has built-in difficulty levels, so why mess with the difficulty so much?
 +
|-
 +
| ''[[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 karts beyond what human players are allowed ruins the game for me. It makes the game less about honing your skills and more about getting lucky at the end of the last lap. 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!
 +
|}
  
The second occurs with the max speed of AI karts only. In multi-player races, the AI will get an speed boost allowing them to always hound the leader, but human-players will not receive this benefit. The AI speed-up is so flagrant that, even if you use the track jump 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.
+
==Media==
|}
+
===Videos===
 +
* [https://www.youtube.com/watch?v=0JV-kMYLYCo youtube.com/watch?v=0JV-kMYLYCo] - Demonstrating the rubber band AI in ''Mario Kart 64''.
  
 
==Links==
 
==Links==
 
{{Link|Wikipedia|https://en.wikipedia.org/wiki/Dynamic_game_difficulty_balancing}}
 
{{Link|Wikipedia|https://en.wikipedia.org/wiki/Dynamic_game_difficulty_balancing}}
{{Link|TVTropes|https://tvtropes.org/pmwiki/pmwiki.php/Main/RubberBandAI}}
+
{{Link|TVTropes|https://tvtropes.org/pmwiki/pmwiki.php/Main/DynamicDifficulty}}
 +
 
 +
* [https://tvtropes.org/pmwiki/pmwiki.php/Main/RubberBandAI tvtropes.org/pmwiki/pmwiki.php/Main/RubberBandAI] - TV Tropes (Rubber band AI).
 
* [https://www.giantbomb.com/rubber-band-ai/3015-35/games giantbomb.com/rubber-band-ai/3015-35/games] - Giant Bomb.
 
* [https://www.giantbomb.com/rubber-band-ai/3015-35/games giantbomb.com/rubber-band-ai/3015-35/games] - Giant Bomb.
  
  
 
[[Category: Game Terminology]]
 
[[Category: Game Terminology]]
 +
[[Category: Game Mechanics]]

Revision as of 10:03, 1 October 2019

A comic depicting the rubber band AI of Mario Kart.

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 is usually seen most in the video game genres of racing, sports, and fighting games.

A specific type of dynamic difficulty is referred to as "rubber band AI." This describes when losing opponents are given an unfair speed boost in racing games when they're lagging behind, allowing them to close the gap to the player, giving the impression that the AI is tethered to the player with an invisible rubber band.

Implementation

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. I will use the Mario Kart series as an example since it employs both forms.

Dynamic difficulty that is implemented evenly can be seen with how items in question mark blocks are randomly awarded. The range of their 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 if 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.

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. The best player will take a quick lead, and the AI players are guaranteed to match their position, 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, even when 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 to the player is a result either of limited resources or lazy programming. Since resources are hardly a problem these days, a competently programmed game 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 making the AI react proportionally to both skilled and amateurs players. By always keeping the reaction time slightly better than the player's (thus keeping it within the realm of human abilities), the game difficulty dynamically scales without having to resort to cheating.

Examples

Here is a list of games that are important to me which utilize dynamic difficulty. For all games, see the category.

Title Released Description
Chrono Trigger 1995-03-11 The jetbike race with Johnny, really acts like a rubber band, as the player in the lead is actually slowed down so that the trailing player can over take them. It's actually more like a rail shooter since you have very little control over 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 evenly. There are also items which can be acquired if the player is able to prevent Johnny from taking the lead by maneuvering in front of him effectively.
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.
Left 4 Dead 2008-11-17 Left 4 Dead uses what Valve calls 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 health and weapons will show up, but if they're doing really well, there will be fewer items and 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 and just let the players increase the difficulty making them feel like they've accomplishment a real victory by beating the hardest difficulty.
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 seeking them out, players who don't advance quickly enough are punished with hordes, etc. This means the dynamic difficulty forces a specific play style, which I don't approve of. The game has built-in difficulty levels, so why mess with the difficulty so much?
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 karts beyond what human players are allowed ruins the game for me. It makes the game less about honing your skills and more about getting lucky at the end of the last lap. 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!

Media

Videos

Links

Link-Wikipedia.png  Link-TVTropes.png