Editing Artificial intelligence

From SmashWiki, the Super Smash Bros. wiki
Jump to navigationJump to search
Warning You aren't logged in. While it's not a requirement to create an account, doing so makes it a lot easier to keep track of your edits and a lot harder to confuse you with someone else. If you edit without being logged in, your IP address will be recorded in the page's edit history.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{ArticleIcons|series=y|featured=y}}
{{ArticleIcons|series=y|featured=y}}
[[File:CPUSmashU.png|thumb|right|A computer player in {{forwiiu}}, along with its selectable levels.]]
{{redirect|CPU|the California smasher|Smasher:CPU}}{{for|the Florida smasher|Smasher:CPU (Florida)}}{{for|the Japanese smasher|Smasher:CPU1 (Japan)}}
{{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''', 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.
'''Artificial intelligence''', abbreviated as '''AI''', in the ''{{b|Super Smash Bros.|series}}'' series refers to the intelligence of any computer-controlled ('''CP''' in ''SSB'' and ''Melee'', '''CPU''' from ''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==
==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. [https://www.ssbwiki.com/Button_mashing Button Mashing] also changes between CPUs like waking up from a [https://www.ssbwiki.com/Sleep Sleep] or recovering after a [https://www.ssbwiki.com/Shield#Shield_breaking] Shield Break. Low level CPUS mashing at a very slow speed with higher CPUS mashing at a very fast speed (with level 9s having frame-perfect mashing speed). 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.
Artificial intelligence levels range from 1 to 10, with 1 being the weakest and 10 being the strongest. The default CPU level in Versus matches is 1 for ''Melee'' and 3 in all other games, although rule settings in ''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 10 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 attack, 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'', ''Smash 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]].
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.
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}}.
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.
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).
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==
==Training against CPUs==
Line 23: Line 23:
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.
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}}.
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.
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.
Line 29: Line 29:
==Flaws in the AI==
==Flaws in the AI==
{{main|Flaws in artificial intelligence}}
{{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==
==See also==

Please note that all contributions to SmashWiki are considered to be released under the Attribution-ShareAlike 3.0 Unported license (see SmashWiki:Copyrights for details). Your changes will be visible immediately. Please enter a summary of your changes above.

Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)

This page is a member of 1 meta category: