Difference between revisions of "Dynamic difficulty"

From TheAlmightyGuru
Jump to: navigation, search
m (TheAlmightyGuru moved page Rubber band AI to Dynamic difficulty without leaving a redirect)
Line 1: Line 1:
 
[[Image:Mario Kart Rubberbanding - Jamesman the Regenold.jpg|thumb|256x256px|A comic depicting the rubber band AI of ''Mario Kart''.]]
 
[[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 the player goes, almost as if they were attached by a rubber band. Rubber band AI is most popular in racing games, but has been adopted heavily in sports and fighting games, and can be seen 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 have their speed increased beyond what human players can achieve in order to prevent the player from ever getting too far ahead of them.
+
In video games '''dynamic difficulty''' frequently referred to as '''rubber band AI''' is a term which describes a game difficulty that adjust itself based on the player's performance in order to ensure a constant challenge to the player regardless of their skill level. Stated simply, the better a player does, the harder the game becomes. Dynamic difficulty is most popular in racing games, but has been adopted heavily in sports and fighting games, and can be seen in various other genres as well. One of the most famous implementations of dynamic difficulty is in the [[Mario Kart (universe)|''Mario Kart'' series]] which uses it in various ways, the most obvious is how AI racers have their speed increased beyond typical levels in order to prevent the player from ever getting too far ahead of the pack.
 +
 
 +
The term "rubber band AI" comes from how dynamic difficulty is implemented in racing games. It feels like the AI opponents are 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.  
  
 
==Implementation==
 
==Implementation==
Rubber band AI can be divided into two forms based on whether it affects all players equally or only benefits the AI. I will use ''Mario Kart 64'' to explain both forms.
+
Dynamic difficulty can be divided into two forms based on whether it affects all players equally or only benefits the AI. I will use ''Mario Kart 64'' to explain both forms.
  
An example of rubber band AI that is implemented evenly, can be seen with how items from question mark blocks are awarded. Those players in the lead with get a less-valuable item 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 rubber band AI because it tends to keep the game interesting even when a weaker player is playing against a stronger player. This form helps keep a sense of balance in the game by allowing stragglers to catch up and preventing the leader from getting too far ahead. And, even the the stronger player makes a mistake and winds up in last place, they can rest assured knowing they too will benefit from the better items.
+
An example of dynamic difficulty that is implemented evenly, can be seen with how items from question mark blocks are awarded. 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 rubber band AI that only benefits the AI can be seen in the maximum speed of the karts. In ''Mario Kart 64'', each kart has a maximum speed when a human player is driving it, but the AI always exceed the maximum speed by wide margins whenever they're not in first place, regardless of the game's difficulty setting. This form of rubber band AI has a negative impact on the game in multiple ways. The first is a morale problem. If human players know that the AI doesn't have to play by the same rules as they do, it creates a feeling of unfairness which hurts enjoyment. Second, at least in racing games, this tends to hurt the weaker human players because the best player will set the pace for all the other AIs guaranteeing them to never fall behind, while the weaker human players will continue to fall further behind because they do not benefit from the speed increase. Third, rubber band AI is frequently a result of lazy coding on behalf of the developers. If the developers wrote a better AI, they could still scale the difficulty of the AI racers without having to resort to violating the game's rules.  
+
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. This form of dynamic difficulty has a negative impact on the game in multiple ways. The first is a morale problem. If human players know the AI doesn't have to play by the same rules, it creates a feeling of unfairness which hurts enjoyment. Second, this tends to disproportionately hurt weaker human players. Because the best player will set the pace for the pack, 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 benefits. Third, dynamic difficulty of this type usually indicates lazy coding on behalf of the designers. If the game developers wrote a better AI, they could still scale the difficulty of the AI racers without having to resort to violating the game's rules.
  
 
==Games==
 
==Games==
Here is a list of games that are important to me which utilize rubber band AI:
+
Here is a list of games that are important to me which utilize dynamic difficulty:
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
Line 20: Line 22:
 
| ''[[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.
+
| ''[[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 punishing. 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. The game has built in difficulty levels, so why mess with the difficulty dynamically?
+
| ''[[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 rubber band AI in the item randomization because it helps out weaker players, but increasing the maximum speed of AI carts far more than 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.
+
| ''[[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!
 
|}
 
|}
  
 
==Media==
 
==Media==
 
===Videos===
 
===Videos===
* [https://www.youtube.com/watch?v=0JV-kMYLYCo youtube.com/watch?v=0JV-kMYLYCo] - Demonstrating the rubber band AT in Mario Kart 64.
+
* [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==

Revision as of 13:37, 19 July 2019

A comic depicting the rubber band AI of Mario Kart.

In video games dynamic difficulty frequently referred to as rubber band AI is a term which describes a game difficulty that adjust itself based on the player's performance in order to ensure a constant challenge to the player regardless of their skill level. Stated simply, the better a player does, the harder the game becomes. Dynamic difficulty is most popular in racing games, but has been adopted heavily in sports and fighting games, and can be seen in various other genres as well. One of the most famous implementations of dynamic difficulty is in the Mario Kart series which uses it in various ways, the most obvious is how AI racers have their speed increased beyond typical levels in order to prevent the player from ever getting too far ahead of the pack.

The term "rubber band AI" comes from how dynamic difficulty is implemented in racing games. It feels like the AI opponents are 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.

Implementation

Dynamic difficulty can be divided into two forms based on whether it affects all players equally or only benefits the AI. I will use Mario Kart 64 to explain both forms.

An example of dynamic difficulty that is implemented evenly, can be seen with how items from question mark blocks are awarded. 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. This form of dynamic difficulty has a negative impact on the game in multiple ways. The first is a morale problem. If human players know the AI doesn't have to play by the same rules, it creates a feeling of unfairness which hurts enjoyment. Second, this tends to disproportionately hurt weaker human players. Because the best player will set the pace for the pack, 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 benefits. Third, dynamic difficulty of this type usually indicates lazy coding on behalf of the designers. If the game developers wrote a better AI, they could still scale the difficulty of the AI racers without having to resort to violating the game's rules.

Games

Here is a list of games that are important to me which utilize dynamic difficulty:

Title Released Description
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.
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!

Media

Videos

Links

Link-Wikipedia.png  Link-TVTropes.png