Artificial intelligence: Difference between revisions
No edit summary |
Gligar2007 (talk | contribs) m (→Learning AI and reading inputs myths: doesn’t brawl have two prequels?) |
||
(282 intermediate revisions by more than 100 users not shown) | |||
Line 1: | Line 1: | ||
{{ArticleIcons| | {{ArticleIcons|series=y|featured=y}} | ||
{{redirect|CPU|the California smasher|Smasher:CPU}}{{for|the Florida smasher|Smasher:CPU (Florida)}}{{for|the Japanese smasher|Smasher:CPU1 (Japan)}} | |||
[[File:CPUSmashU.png|thumb|A computer player in {{forwiiu}}, along with its selectable levels.]] | |||
Artificial intelligence | '''Artificial intelligence''', abbreviated as '''AI''', in the ''{{b|Super Smash Bros.|series}}'' series refers to the intelligence of any computer-controlled ('''CP''' in ''[[Super Smash Bros.]]'' and ''[[Super Smash Bros. Melee]]'', '''CPU''' from ''[[Super Smash Bros. Brawl]]'' onward) character (called '''computer players''' in-game) in the [[Single Player modes|single-player]] and [[Versus Mode]]s. In Versus Mode, players can preset the AI of a computer player with a level setting. In [[Adventure Mode]], [[All-Star Mode]], and [[Classic Mode]], players can still set it to some degree with the modes' difficulty setting. | ||
== | ==Difficulty levels== | ||
Artificial intelligence levels range from 1 to 9, with 1 being the weakest and 9 being the strongest. The default CPU level in Versus matches is 1 for ''Melee'' and 3 in all other games, although rule settings in ''[[Super Smash Bros. Ultimate]]'' allow players to select which level CPUs default to. In general, the level of an AI opponent determines how likely they are to follow through with a decision, as well as how fast they react, which results in the illusion of more skill - both a level 1 and a level 9 AI will decide to do something such as input an attack, but the level 1 will almost never do so, waiting for a long time before eventually doing it, while the level 9 almost always will instantly. Likewise, lower level CPUs are unlikely to [[shield]] or [[dodge]] an attack, using [[roll]]s simply to reposition themselves in some instances, and almost never using their [[shield]] at all, or at random times in ''Brawl''. On the other hand, higher-level ones almost always defend from attacks, generally having good reflexes or dodging any attack when not in lag - in all games, level 9 CPUs are able to perfectly land attacks against opponents when at the appropriate range from them, and in ''Brawl'', ''[[Super Smash Bros. 4]]'', and ''Ultimate'', they can defend against almost any attack with one-frame reactions, resulting in disproportionate [[perfect shield]]ing and [[dodging]] capabilities. Also due to this change in reflexes, low-level CPUs are prone to simply standing next to their opponent and using a weak attack such as a [[neutral attack]] or [[tilt]], while high-level CPUs use [[aerial attack]]s, [[smash attack]]s, and [[grab]]s more prominently. | |||
The AI's [[recovery]] also improves as their level is increased: CPUs at low levels tend to recover in a simple and predictable pattern with their [[up special]]s, or may not use them at all in ''SSB'', while high-level ones in ''Brawl'', ''Smash 4'', and ''Ultimate'' are capable of properly combining or alternating between different recovery techniques. For example, CPU {{SSB4|Luigi}} in ''Smash 4'' only uses his [[Super Jump Punch]] to recover at low levels (specifically Level 1 to 5), while at high levels (6-9) he also makes use of his [[Green Missile]] and [[Luigi Cyclone]]. | |||
In [[Training mode]], besides attacking, CPUs also have many other "[[List of CPU modes|modalities]]" that can be chosen, these being: Stand, Evade, Walk, and Jump. When these are chosen, CPUs will act that way, allowing players to battle in different ways against them, and practice different types of techniques. In ''SSB'' and ''Melee'', these are set to a predetermined level (levels 3 and 1 respectively), while in ''Brawl'', ''Smash 4'', and ''Ultimate'', they can be chosen from 1 to 9 from the character selection screen as usual, which also improves their reflexes. For example, level 1 CPUs on Stand will just take on whatever attack is thrown on their way, and recover in a simple and [[gimp]]able pattern, while level 9 ones will almost always air dodge after [[tumbling]] (in ''Brawl'') and will choose better recovery options. When set to Attack, CPUs will fight the player as on usual battles, but since the level cannot be selected in ''SSB'' and ''Melee'', it is somewhat unfavorable to fight CPUs on Training mode. Players instead tend to train against them on normal Versus modes. CPUs set to Attack mode in ''Smash 4''{{'}}s Training mode are also much likelier to [[spam]] projectiles and other special moves than in other modes, using them even at close range from opponents. | |||
Certain single-player stages and [[event]]s in ''Melee'' give CPUs a level of 0, such as [[Event 19: Peach's Peril]] and [[Event 21: Ice Breaker]], in which case they don't attack at all, but still follow whatever movement behavior they would normally have. Some also give them other specific behaviors, such as [[Event 3: Bomb-fest]] in ''Melee'' causing CPU {{SSBM|Link}} and {{SSBM|Samus}} to use their [[down special]] moves more often, and [[Event 31: The Ultimate Bodyguard]] in ''Brawl'' causing CPU {{SSBB|Zelda}} to [[crouch]] and do nothing until the stage changes a second time. In ''Melee'', these specific behaviors can be accessed via the {{SSBM|Debug Menu}}. | |||
In ''SSB'', CPU levels appear on the [[character selection screen]] as a digit with two arrows on either side to adjust it up or down, appearing where the selected character's name would be displayed for a human. In ''Melee'', the levels are instead adjusted with a red slider which can be selected with the [[A button]] and then moved with the [[control stick]], which increases in number from left to right, above the selected CPU character's name. In ''Brawl'', ''Smash 4'', and ''Ultimate'', only the level number to which the CPU is currently set is shown at first, now appearing where the option to choose a [[name]] would appear for human players; clicking the number displays a menu with the other levels, scrolled by moving the cursor up and down. In ''Smash 4'' and ''Ultimate'', the numbers appear with colors changing from indigo to red as the level increases, while in ''Brawl'', all numbers appear in black but with an adjective to accompany each CPU level and describe its skill, namely '''Puny''', '''Wimpy''', '''Weak''', '''Normal''', '''Hardy''', '''Strong''', '''Burly''', '''Mighty''', and '''Nasty''' in ascending order. | |||
The [[amiibo]] figures released for ''Super Smash Bros. 4'' and ''Super Smash Bros. Ultimate'' have stored data for a CPU fighter within them. The player may [[character customization|customize]] said character and train them by having them battle. The amiibo is labeled with "FP", and can gain experience to level up after the battle, capping at level 50. Battling amiibo against each other will yield more experience than battling a human or regular CPU. Additionally, amiibo will "learn" from repeated battles by changing its tactics in response to its opponents' behavior (e.g. if the amiibo battles an opponent that shields frequently, it will learn to use its own shield more effectively and counter shielding opponents with grabs). | |||
== | ==Training against CPUs== | ||
Players commonly fight against CPUs to train when there aren't other players around to play. This is a practice that is criticized by some, as besides even the highest level CPUs being of a lower level of skill than a typical casual player, CPUs do things that human players never do (and will never do things that are common for human players to do), as well as having several exploitable flaws and being completely incapable of [[mindgames|mind gaming]], or even learning from their mistakes and changing their tactics accordingly. | |||
Training against CPUs is said to not adequately build one's skills beyond basic offense and defense (such as the ability to read and bait opponents), and it is often argued that excessive CPU training may cause a player to actually become slightly worse by developing habits that only work against CPUs and will be heavily exploited by human players. For example, if a Marth player uses [[Counter]] every time a CPU gets close to attack, it would fall for it most of the time (especially higher-level CPUs), without trying to bait the counter or use grabs more often. However, a skilled or even a remotely competent human player would quickly catch onto the Marth player's strategy and exploit it by feigning an attack in the cases where Marth would commonly use Counter, and then punish him with a grab or delayed powerful attack such as a charged smash. Another example is CPUs not avoiding or fighting off edge-guarders effectively in the first three ''Smash'' games, which allows players to KO them with basic edgeguarding techniques, while experienced players would prevent this at all costs. Also in ''Smash 4'' and ''Ultimate'', higher-level CPU's (mostly levels 7-9) also have next to frame-perfect aerial dodging, only doing so when a player or CPU inputs the attack near them, or when items such as projectiles end up close enough to them. As a result, high-level CPUs in the air can only effectively be hit by rapid-hitting moves or through true combos. This can make practicing aerial combos infuriating, especially with characters who rely heavily on their aerial games, such as Marth, Peach, and Jigglypuff; this is further accentuated by their constant hold of the jump command while in the air (even when out of jumps), as they will, more often than not, [[Footstool Jump|phantom footstool]] the player, leaving the CPU in a favorable situation away from the player. | |||
However, training against CPUs does have its merits. CPUs can be used to effectively practice [[combo]]s and [[chain throw]]s, as well as [[spacing]], [[punish]]ing, and other [[tech skill]] related things. CPUs can be more effective than human players in this regard, as they're always available and won't refuse a match where a player just wants to practice the aforementioned things. Many top professional smashers have reported using CPUs to train, such as {{Sm|Nairo}}, {{Sm|Vinnie}}, and {{Sm|Mew2King}}. | |||
There is, however, no consensus as to which level CPU is best to train against, with players mostly having their own personal opinion on what level is most effective. Some say level 1 CPUs are the best, as they won't have inhuman perfect shielding abilities and won't disrupt the player's training. Some say level 9 CPUs are the best, as they will actively try to fight the player and can punish mistakes the player makes. Some others say level 5 CPUs are the best for being a middle ground between the two extremes. Other players say Level 6-8 CPUs are the best for being challenging but not having inhuman reactions at the same time. Another camp maintains that what level is best is dependent on what a player is trying to practice. | |||
==Flaws in the AI== | |||
{{main|Flaws in artificial intelligence}} | |||
}} | |||
==Learning AI and reading inputs myths== | |||
While still suffering flaws like ''Smash 64'' and ''Melee'', CPUs within ''Brawl'' came under scrutiny by members of the ''Brawl'' community after analyzing the behavior of them within fights. Two primary theories surrounding the AI eventually became commonplace: | |||
#That the CPU was able to read inputs from human players and thus have perfect reaction times, explaining the excessive propensity of a CPU to [[perfect shield]]. | |||
#That a "learning system" existed within ''Brawl's'' code that allowed computer players to slowly learn to adapt to human players. | |||
The former rumor was especially controversial, as many smashers thought that allowing the AI to "cheat" was an unfair tactic, and such a programming decision was considered lazy. The American crew [[SLAPAHO]] attempted to see whether or not CPUs had perfect reaction times, but their results were eventually declared inconclusive, and more tests were intended to be carried out; inactivity by the group, however, caused these further tests to never occur. In 2013, Canadian smasher {{Sm|Toomai}} analyzed [[Talk:Artificial intelligence#The latest claimed AI cheating proof|various animated GIFs of CPUs]] responding to aerial attacks; it was ultimately demonstrated that CPUs had a reaction time of one frame, and thus, did not read button inputs to form decisions. | |||
The second rumor was primarily spread by an [[All is Brawl]] blog post by American smasher Churro; entitled "The Wonders of Brawl's CPU Experience System", Churro claimed that CPUs in ''Brawl'' could learn from human players, with such changes being unique from different save files for ''Brawl''. Churro provided video examples of these supposed changes, such as how a CPU {{SSBB|Captain Falcon}} began to more frequently use [[Falcon Punch]] following an all-Captain Falcon match featuring overuse of the move. Other videos by other smashers also appeared to show CPUs using tactics such as [[dash dancing]] and [[DACUS]]es. | |||
Initially widely believed, advances in the hacking scene for ''Brawl'' have since disproven the existence of a learning system for CPUs: | |||
* | *Tests showed that there were no differences in CPU behavior from save files that were over several hundred hours old versus fresh save files; comparisons of two files with significant playtime also showed no differences, when such a case was supposed to have significantly different playstyles. | ||
* | *Disassembling [[Replay]] files showed that no CPU inputs are saved in the file, only human inputs; as such, this meant that whenever a replay was played back, it meant that the CPU would have to react the same way every time in order to prevent desyncing. A learning system could potentially cause CPUs to react differently in replays, thus further disproving the rumor. | ||
*Disassembling the ''Brawl'' save file showed that there were no flags or other notes about the AI. | |||
*Disassembly of the game's AI demonstrated no coding for learning from human players. | |||
*Videos demonstrating that the AI could learn are thought to have suffered from {{s|wikipedia|confirmation bias}}; what were thought to be cases of the AI learning were cases of the AI performing as expected, including specific overuse of some attacks. | |||
* | |||
* | |||
* | |||
A rudimentary learning system similar to the above would eventually be used by [[amiibo]] in ''Super Smash Bros. 4'' and ''Super Smash Bros. Ultimate'', though no such learning system exists outside of this. | |||
== | ==See also== | ||
*[[Amiibo]] | |||
[[Category: | [[Category:Gameplay]] |
Latest revision as of 00:03, February 27, 2024
- "CPU" redirects here. For the California smasher, see Smasher:CPU.
- For the Florida smasher, see Smasher:CPU (Florida).
- For the Japanese smasher, see Smasher:CPU1 (Japan).
![](https://ssb.wiki.gallery/images/thumb/d/db/CPUSmashU.png/200px-CPUSmashU.png)
Artificial intelligence, abbreviated as AI, in the Super Smash Bros. series refers to the intelligence of any computer-controlled (CP in Super Smash Bros. and Super Smash Bros. Melee, CPU from Super Smash Bros. Brawl onward) character (called computer players in-game) in the single-player and Versus Modes. In Versus Mode, players can preset the AI of a computer player with a level setting. In Adventure Mode, All-Star Mode, and Classic Mode, players can still set it to some degree with the modes' difficulty setting.
Difficulty levels[edit]
Artificial intelligence levels range from 1 to 9, with 1 being the weakest and 9 being the strongest. The default CPU level in Versus matches is 1 for Melee and 3 in all other games, although rule settings in Super Smash Bros. Ultimate allow players to select which level CPUs default to. In general, the level of an AI opponent determines how likely they are to follow through with a decision, as well as how fast they react, which results in the illusion of more skill - both a level 1 and a level 9 AI will decide to do something such as input an attack, but the level 1 will almost never do so, waiting for a long time before eventually doing it, while the level 9 almost always will instantly. Likewise, lower level CPUs are unlikely to shield or dodge an attack, using rolls simply to reposition themselves in some instances, and almost never using their shield at all, or at random times in Brawl. On the other hand, higher-level ones almost always defend from attacks, generally having good reflexes or dodging any attack when not in lag - in all games, level 9 CPUs are able to perfectly land attacks against opponents when at the appropriate range from them, and in Brawl, Super Smash Bros. 4, and Ultimate, they can defend against almost any attack with one-frame reactions, resulting in disproportionate perfect shielding and dodging capabilities. Also due to this change in reflexes, low-level CPUs are prone to simply standing next to their opponent and using a weak attack such as a neutral attack or tilt, while high-level CPUs use aerial attacks, smash attacks, and grabs more prominently.
The AI's recovery also improves as their level is increased: CPUs at low levels tend to recover in a simple and predictable pattern with their up specials, or may not use them at all in SSB, while high-level ones in Brawl, Smash 4, and Ultimate are capable of properly combining or alternating between different recovery techniques. For example, CPU Luigi in Smash 4 only uses his Super Jump Punch to recover at low levels (specifically Level 1 to 5), while at high levels (6-9) he also makes use of his Green Missile and Luigi Cyclone.
In Training mode, besides attacking, CPUs also have many other "modalities" that can be chosen, these being: Stand, Evade, Walk, and Jump. When these are chosen, CPUs will act that way, allowing players to battle in different ways against them, and practice different types of techniques. In SSB and Melee, these are set to a predetermined level (levels 3 and 1 respectively), while in Brawl, Smash 4, and Ultimate, they can be chosen from 1 to 9 from the character selection screen as usual, which also improves their reflexes. For example, level 1 CPUs on Stand will just take on whatever attack is thrown on their way, and recover in a simple and gimpable pattern, while level 9 ones will almost always air dodge after tumbling (in Brawl) and will choose better recovery options. When set to Attack, CPUs will fight the player as on usual battles, but since the level cannot be selected in SSB and Melee, it is somewhat unfavorable to fight CPUs on Training mode. Players instead tend to train against them on normal Versus modes. CPUs set to Attack mode in Smash 4's Training mode are also much likelier to spam projectiles and other special moves than in other modes, using them even at close range from opponents.
Certain single-player stages and events in Melee give CPUs a level of 0, such as Event 19: Peach's Peril and Event 21: Ice Breaker, in which case they don't attack at all, but still follow whatever movement behavior they would normally have. Some also give them other specific behaviors, such as Event 3: Bomb-fest in Melee causing CPU Link and Samus to use their down special moves more often, and Event 31: The Ultimate Bodyguard in Brawl causing CPU Zelda to crouch and do nothing until the stage changes a second time. In Melee, these specific behaviors can be accessed via the Debug Menu.
In SSB, CPU levels appear on the character selection screen as a digit with two arrows on either side to adjust it up or down, appearing where the selected character's name would be displayed for a human. In Melee, the levels are instead adjusted with a red slider which can be selected with the A button and then moved with the control stick, which increases in number from left to right, above the selected CPU character's name. In Brawl, Smash 4, and Ultimate, only the level number to which the CPU is currently set is shown at first, now appearing where the option to choose a name would appear for human players; clicking the number displays a menu with the other levels, scrolled by moving the cursor up and down. In Smash 4 and Ultimate, the numbers appear with colors changing from indigo to red as the level increases, while in Brawl, all numbers appear in black but with an adjective to accompany each CPU level and describe its skill, namely Puny, Wimpy, Weak, Normal, Hardy, Strong, Burly, Mighty, and Nasty in ascending order.
The amiibo figures released for Super Smash Bros. 4 and Super Smash Bros. Ultimate have stored data for a CPU fighter within them. The player may customize said character and train them by having them battle. The amiibo is labeled with "FP", and can gain experience to level up after the battle, capping at level 50. Battling amiibo against each other will yield more experience than battling a human or regular CPU. Additionally, amiibo will "learn" from repeated battles by changing its tactics in response to its opponents' behavior (e.g. if the amiibo battles an opponent that shields frequently, it will learn to use its own shield more effectively and counter shielding opponents with grabs).
Training against CPUs[edit]
Players commonly fight against CPUs to train when there aren't other players around to play. This is a practice that is criticized by some, as besides even the highest level CPUs being of a lower level of skill than a typical casual player, CPUs do things that human players never do (and will never do things that are common for human players to do), as well as having several exploitable flaws and being completely incapable of mind gaming, or even learning from their mistakes and changing their tactics accordingly.
Training against CPUs is said to not adequately build one's skills beyond basic offense and defense (such as the ability to read and bait opponents), and it is often argued that excessive CPU training may cause a player to actually become slightly worse by developing habits that only work against CPUs and will be heavily exploited by human players. For example, if a Marth player uses Counter every time a CPU gets close to attack, it would fall for it most of the time (especially higher-level CPUs), without trying to bait the counter or use grabs more often. However, a skilled or even a remotely competent human player would quickly catch onto the Marth player's strategy and exploit it by feigning an attack in the cases where Marth would commonly use Counter, and then punish him with a grab or delayed powerful attack such as a charged smash. Another example is CPUs not avoiding or fighting off edge-guarders effectively in the first three Smash games, which allows players to KO them with basic edgeguarding techniques, while experienced players would prevent this at all costs. Also in Smash 4 and Ultimate, higher-level CPU's (mostly levels 7-9) also have next to frame-perfect aerial dodging, only doing so when a player or CPU inputs the attack near them, or when items such as projectiles end up close enough to them. As a result, high-level CPUs in the air can only effectively be hit by rapid-hitting moves or through true combos. This can make practicing aerial combos infuriating, especially with characters who rely heavily on their aerial games, such as Marth, Peach, and Jigglypuff; this is further accentuated by their constant hold of the jump command while in the air (even when out of jumps), as they will, more often than not, phantom footstool the player, leaving the CPU in a favorable situation away from the player.
However, training against CPUs does have its merits. CPUs can be used to effectively practice combos and chain throws, as well as spacing, punishing, and other tech skill related things. CPUs can be more effective than human players in this regard, as they're always available and won't refuse a match where a player just wants to practice the aforementioned things. Many top professional smashers have reported using CPUs to train, such as Nairo, Vinnie, and Mew2King.
There is, however, no consensus as to which level CPU is best to train against, with players mostly having their own personal opinion on what level is most effective. Some say level 1 CPUs are the best, as they won't have inhuman perfect shielding abilities and won't disrupt the player's training. Some say level 9 CPUs are the best, as they will actively try to fight the player and can punish mistakes the player makes. Some others say level 5 CPUs are the best for being a middle ground between the two extremes. Other players say Level 6-8 CPUs are the best for being challenging but not having inhuman reactions at the same time. Another camp maintains that what level is best is dependent on what a player is trying to practice.
Flaws in the AI[edit]
Learning AI and reading inputs myths[edit]
While still suffering flaws like Smash 64 and Melee, CPUs within Brawl came under scrutiny by members of the Brawl community after analyzing the behavior of them within fights. Two primary theories surrounding the AI eventually became commonplace:
- That the CPU was able to read inputs from human players and thus have perfect reaction times, explaining the excessive propensity of a CPU to perfect shield.
- That a "learning system" existed within Brawl's code that allowed computer players to slowly learn to adapt to human players.
The former rumor was especially controversial, as many smashers thought that allowing the AI to "cheat" was an unfair tactic, and such a programming decision was considered lazy. The American crew SLAPAHO attempted to see whether or not CPUs had perfect reaction times, but their results were eventually declared inconclusive, and more tests were intended to be carried out; inactivity by the group, however, caused these further tests to never occur. In 2013, Canadian smasher Toomai analyzed various animated GIFs of CPUs responding to aerial attacks; it was ultimately demonstrated that CPUs had a reaction time of one frame, and thus, did not read button inputs to form decisions.
The second rumor was primarily spread by an All is Brawl blog post by American smasher Churro; entitled "The Wonders of Brawl's CPU Experience System", Churro claimed that CPUs in Brawl could learn from human players, with such changes being unique from different save files for Brawl. Churro provided video examples of these supposed changes, such as how a CPU Captain Falcon began to more frequently use Falcon Punch following an all-Captain Falcon match featuring overuse of the move. Other videos by other smashers also appeared to show CPUs using tactics such as dash dancing and DACUSes.
Initially widely believed, advances in the hacking scene for Brawl have since disproven the existence of a learning system for CPUs:
- Tests showed that there were no differences in CPU behavior from save files that were over several hundred hours old versus fresh save files; comparisons of two files with significant playtime also showed no differences, when such a case was supposed to have significantly different playstyles.
- Disassembling Replay files showed that no CPU inputs are saved in the file, only human inputs; as such, this meant that whenever a replay was played back, it meant that the CPU would have to react the same way every time in order to prevent desyncing. A learning system could potentially cause CPUs to react differently in replays, thus further disproving the rumor.
- Disassembling the Brawl save file showed that there were no flags or other notes about the AI.
- Disassembly of the game's AI demonstrated no coding for learning from human players.
- Videos demonstrating that the AI could learn are thought to have suffered from confirmation bias; what were thought to be cases of the AI learning were cases of the AI performing as expected, including specific overuse of some attacks.
A rudimentary learning system similar to the above would eventually be used by amiibo in Super Smash Bros. 4 and Super Smash Bros. Ultimate, though no such learning system exists outside of this.