Cheating

From Bulbapedia, the community-driven Pokémon encyclopedia.
(Redirected from Cheat code)
Jump to navigationJump to search
018Pidgeot.png It has been suggested that this article be moved to Hacking.
Please discuss whether or not to move it on its talk page.

Cheating refers to the process of playing the Pokémon games through third-party devices to alter the game's data, usually to give the player advantages that would not be available through normal gameplay. Cheating is most frequently used to obtain or duplicate rare Pokémon or items, particularly those which would otherwise require attending a Nintendo event.

Glitches and the games' pseudorandom number generator may also be exploited to circumvent the restrictions of normal gameplay without explicitly cheating.

In the games

In the core series

The appearance of a wild Bulbasaur in Generation V, something that can only happen with the use of cheating devices

Devices such as GameShark and Action Replay can be easily used to directly alter the game's data in many ways, such as automatically making Pokémon Shiny, giving them optimal IVs and Natures, or even modifying their moves and statistics to obtain otherwise impossible values. These Pokémon are frequently known as hacked Pokémon. The devices are also frequently used to obtain Pokémon or items which would otherwise be only obtainable through a Nintendo promotional events. For example, cheating may be used to obtain the GS Ball or Old Sea Map (in generations II and III respectively), both of which were only distributed in Japan, or Azure Flute, which was never distributed. They may also hack for events that they missed such as the Member Card in Platinum, or even to generate exact copies of Nintendo event Pokémon.

A wild F-00, an example of using a wild Pokémon modifier code. Notice the error that causes the game to display the name using full-width rather than half-width characters as well as causing "" to be replaced by "?" in the name

A common example of a cheat is a "Wild Pokémon Modifier" code, allowing the user to encounter and catch any Pokémon of choice in any location, allowing for example, rapid EV training or obtaining of Legendary Pokémon. More complex codes can also set the wild Pokémon's level and Nature. These codes when used properly can have little to no negative effects on the save file, although later generations keep track of the location where a Pokémon was obtained making it possible to identify illegitimate Pokémon obtained through this method. More unconventionally, a wild Pokémon modifier code can be used in Pokémon Black 2 and White 2 to see Pokéstar Studios opponents, although catching them is impossible as the game will attempt to bring up a nonexistent Pokédex entry, causing a game freeze.

Older firmware versions of the Nintendo 3DS were vulnerable to the use of an exploit involving the device's built-in web browser to overwrite the RAM of a suspended game. QR codes were used to link and share these exploits. However, an update in March 2015 patched out the exploit entirely. In addition, more recent firmware versions contain exploits that enable the usage of homebrew software, which can be used to modify the save files of games. There is also external save editing hardware, such as Datel PowerSaves and Cyber Gadget.

On a more sophisticated level, many devices exist that allow players to back up their game's save file. While itself arguably legitimate, it can still be exploited to cheat in various ways, such as by restoring a backup after completing a trade. Also, some downloadable programs have been created specifically for use in conjunction with these files, allowing users to freely edit or make their own Pokémon from scratch.

Some third party tools such as PKHeX also have a secondary function of validating the legality of the Pokémon contained within a savefile, providing robust checks to ensure that Pokémon created or edited in the program, or obtained by the user elsewhere, adhere to what is possible for the games to generate naturally. Third party tools are often used by trading and battle communities to enforce legal/legitimate Pokémon are used for participants, and those interested in researching the games often use savefile editors to determine the how the game works and discover what can be legitimately achieved.

Not all players will use cheating devices to make the game easier. Examples of codes that can be used to make the game harder include using codes to trigger a battle with Professor Oak, or codes that prevent the user's Pokémon from gaining any experience. Additionally, ProjectPokemon.org has a software developed where players can modify the PWT in Pokémon Black 2 and White 2 by overwriting official WiFi download tournament slots with player-made custom tournaments. Some players may desire this for a bigger challenge after even the Champions' tournament is bested.

In the spin-off games

Trading Card Game series

In Pokémon Trading Card Game and Pokémon Trading Card Game 2: The Invasion of Team GR!, the duels are automatically saved at certain points, such as when the player draws a card at the start of their turn or places a Pokémon at the Bench. However, not everything is automatically saved, so the player is often able to reset in the middle of a duel and change their recent actions.

Examples involving saving and resetting:

  • Peeking at the Prize cards
In normal play, the player is unable to know what cards exactly are their Prize cards. However, if the player picks a Prize card and then resets the game, they will have the chance to choose the Prize card again, effectively allowing the player to freely peek at the Prize cards and choose one to their liking.
  • Peeking at the deck
In normal play, the decks are shuffled and the player is unable to know the order of cards in their deck. However, if the player uses a card that lets them pick a card from the deck (such as Energy Search or Poké Ball), the cards in the deck will be shown in order. Usually, the deck is shuffled after the player picks a card from the deck. The player may want to cheat instead, by memorizing the order of the cards and then resetting the game without picking a card. The game will continue as if the deck was not seen. However, if the player uses a card like Pokémon Trader where a card is placed in the deck in exchange for another, the card added to the deck will appear at the top of the list, so it won't be in the actual deck if the player resets the game.

Criticism

0572Minccino.png This section does not yet meet the quality standards of Bulbapedia. Please feel free to edit this section to make it conform to Bulbapedia norms and conventions.
Reason: quite speculative/subjective and not clear who is making these arguments/criticisms; would benefit from opinions/perspectives on the subject matter from quality published sources discussing the subject

The primary complaint against cheating devices is that it takes no particular ability to enter a cheat code, thus detracting from the point and spirit of the game and making it less enjoyable. While this is a subjective matter, it is the primary cause of cheating offending some players, especially when players can trade illegitimate Pokémon to others in exchange for legitimate Pokémon.

Another argument against cheating is that it often hurts the stability of the game. Improperly used codes can corrupt the game's save file or even delete it altogether.

A common justification for using cheating devices is that they can be used in moderation to obtain otherwise event-exclusive Pokémon. Due to the fact that Nintendo events, the only legitimate way to obtain such Pokémon, are often time-limited and region-exclusive, they can be impossible to obtain for some players solely due to their geographic location, and become altogether impossible after a certain date. It is a matter of opinion whether or not this is a valid excuse for cheating, although when kept for personal use is often criticized less than more drastic cheats. Additionally, some players like to edit the now-unused download tournaments in Pokémon Black 2 and White 2 for the purpose of creating their own tournaments with their own rules to play in. This type of play can be considered a valid justification for cheating in that it can be used to add extra challenges to the game, and can also be used as a way of using hacked Pokémon in battles where they cannot offend players who play legitimately. Finally, if consent is given between the two parties that a hacked Pokémon will be involved in play, it essentially becomes a victimless crime, because most players grown upon it but the players who are actually involved enjoy the way they are playing and as such no party who is offended by this type of play is being directly involved.

Cheat prevention in the Pokémon games

0572Minccino.png This section does not yet meet the quality standards of Bulbapedia. Please feel free to edit this section to make it conform to Bulbapedia norms and conventions.
Reason: no reason has been given

Within the Pokémon games

See also: Error prevention in Pokémon games

Generation I

  • One of the earliest known anti-cheat (glitch) mechanisms in Pokémon was a hidden patch to Red and Green; the first retail Pokémon game (revision A; additionally the version used for Virtual Console).
    • This revision A patch (a hidden rerelease of the game; a common practice then similar to other cartridges with revision changes such as Tetris), partially amended the select glitches (powerful glitches including sub-glitches that enable manipulating advantages in the game in an unintended way e.g. dokokashira door glitch allows one to warp to the Hall of Fame, and second type glitch was an early glitch to obtain any Pokémon including Mew), by adding code to disable the 'is selected?' memory address if the items menu was closed in battle. However, players are still able to exploit the glitches in revision A and Pokémon Blue (Japanese) by pressing Select on an item before entering battle, and then continuing the glitch from within a battle or Pokémon menu (i.e. the Day Care menu or Name Rater menu).

Generation II

  • In Japanese Pokémon Crystal, specifically pertaining to the Mobile System GB service, there is code at the Battle Tower which turns glitch Pokémon and glitch moves into Smeargle or Sketch.[1] This code is also leftover in the localised versions but believed to be unused. Further details on other error prevention methods are unclear, and the Mobile System GB service is long defunct. There is similar code in the Battle Pike in Pokémon Emerald, which also converts illegal moves into Sketch.[2] The code in Japanese Crystal also has a minor flaw.[3] There is a similar trap related to the PokéCom Center which attempts to fix faulty nicknames, OTs, mail contents and mail authors. It is again leftover, but is glitched in the English version because it uses a different character table and the maximum name lengths are different.
  • In Gold and Silver, but not Pokémon Crystal Version there is a specific event where Clair will not accept a Dragon Fang that wasn't obtained in Dragon's Den; accusing the player of cheating to get it (however, it is not in the context of using a cheating device or glitch, because the Dragon Fang can be obtained on a traded Pokémon).[4]
  • There is code to prevent a Pokémon that is over level 100, or is an unstable hybrid Pokémon, or has (internally stored) types which do not match between Generation I and II from being traded, though this may be seen as more error prevention rather than anti-cheat.
    • These Pokémon are referred to as "abnormal" in an error message which prevents the trade. Curiously however, not all glitch Pokémon apply; i.e. some glitch Pokémon can have the matching Pokémon-type by default, such as 4. . and Totodile (both Water-types), which are not deemed 'abnormal', or the internal types can otherwise be changed with arbitrary code execution so that the Pokémon may transfer. This is also known as the reverse Time Capsule exploit.
  • There are some error prevention and anti-cheat checks in Pokémon Stadium games, such as purple text for an invalid move, or making glitch Pokémon species forbidden to enter.

Generation III

  • Generation III games contain some specific cheating countermeasures.
    • Mew and Deoxys were given special programming that prevents them from ever obeying the player if they were obtained illegitimately, even if the player has the right badges. This can be bypassed if the player uses cheats to get to Faraway Island or Birth Island to catch the Pokémon that way, as the Pokémon itself becomes indistinguishably legitimate, although the event item to arrive at the location is not. This countermeasure does not exist in Generation IV.
    • Special programming (occasionally called "DMA", but more properly known as ASLR (address space layout randomization)) causes sensitive memory areas such as Pokémon data to dynamically move around, preventing or making it difficult for cheating devices to target it. This can be avoided through codes that disable the ASLR altogether; such codes are often referred to as "anti-DMA" codes. Furthermore, Game Boy Advance games may typically require a "Master Code".
    • Pokémon data has a stored checksum. If it does not match, the Pokémon may render as or become a Bad Egg. Curiously, this behavior combined with the above point enables Glitzer Popping in Pokémon Emerald and FireRed and LeafGreen (however, these two anti-cheat mechanisms lead to a powerful glitch without the need of a cheating device, with power comparable to the older Pokémon glitches from Generation I and II as they enable obtaining any Pokémon/glitch Pokémon, and countless other glitches; ultimately arbitrary code execution).

Generation IV onward

  • There are anti-cheat measures in Pokémon Diamond and Pearl Versions, Pokémon Platinum Version, HeartGold and SoulSilver, Pokémon Battle Revolution and the Generation V games which may forbid some Pokémon from taking part in battle or from being traded online. However, it may be possible to trade the Pokémon locally instead.
    • In earlier Japanese versions of Diamond and Pearl, as documented by Orcastraw (a speedrunner), due to an oversight, it is possible to transfer some of the glitch Pokémon with index numbers ranging between 252-276. These do not become a Generation IV Pokémon, but the conversion ranges from Treecko to Taillow. The cause of this glitch may be an oversight related to the source code, which had reservations for these Pokémon.[5][6]
    • One other known exception is a more complex variation of the glitch. Arbitrary code execution allows for one exception; transferring a glitch Pokémon into a Burmy in Pal Park; so that to some extent the Generation IV Pokémon came from Generation III, like the above reverse Time Capsule exploit. These Pokémon may also be manipulated as Shiny.[7]

Generation VI onward

Generation VII onward

  • In Pokémon Sun and Moon, there were two separate banwaves for players that connected their game to Game Sync with detectably modified save data, in January, 2017,[8] and March, 2017,[9] respectively. This ban prevented players from using Game Sync, entering in Rated Battles and Battle Competitions, and participating in Global missions, giving an error message with the error code "090-0212" when affected players attempted to connect.

Generation VIII onward

  • Starting with Pokémon Sword and Shield patch V1.2.1, Max Raid Battles that were altered by ROM hacks or cheat codes would not appear to other players online in the Y-Comm, and many players hosting altered raids prior to V1.2.1 received permanent bans that prevented them from accessing the Sword and Shield online services.[10][11]
  • In Pokémon HOME, in January 2021,[12][13] there was a secondary banwave that targeted players who had shown one or more of the following indications of illicit activity:
      1. Distributed Pokémon altered to have impossible attributes, such as Gigantamax Shiny Zarude
      2. Shared account information with other users, logging into the same HOME account from multiple IP addresses or consoles.
      3. Had an extremely high volume of deposited and withdrawn Pokémon.
    • Many players who only performed only one of the above did not receive a ban, but those with multiple indications of illicit activity received a permanent ban from HOME, and Sword/Shield online services.
    • Additionally, some Pokémon that are altered with third party tools, or corrupted, will become a Bad Egg. Bad Eggs cannot be removed from HOME's box slots via depositing into another game, or by releasing it, and therefore permanently take up a slot. Accounts containing Bad Eggs have also been reported to occasionally receive a permanent ban a seemingly arbitrary amount of time after the Egg appears.
  • A third banwave in HOME was announced on November 10, 2022, with similar conditions to the prior banwave described above.
  • In Pokémon Brilliant Diamond and Shining Pearl, there were multiple patches to remove duplication glitches from the game, wherein players could create copies of their Pokémon due to a glitch in the game menus, the last of which implemented "PokeDupeChecker",[14] a system that would flag Pokémon produced by these duplication glitches whenever the game was launched, or when the player enters a trade. This anti-cheat system flags all but a single copy of the duplicated Pokémon to become impossible to trade, deposit into the Nursery, or deposit into Pokémon HOME by altering the byte at 0x52 in the Pokémon's structure.
  • In Pokémon Legends: Arceus, altering a Pokémon with third party tools to become a regional or alternate form that isn't coded into the game, a species that isn't coded into the game, or to include moves that are not in its moveset, will result in the Pokémon becoming a Bad Egg. This appears to be an intentional feature (as Eggs are not legitimately obtainable in Legends: Arceus), the Egg sprite is exclusively used for this anti-cheat, and other error handling with sprites.

Generation IX onward

Starting with the release of Pokémon HOME v3.1.0, Pokémon with invalid HOME data (invalid or missing HOME tracker value) can no longer be deposited into HOME, instead displaying error code 10015 when the player attempts to save.[15] This error can be triggered multiple ways, such as:

  1. Generating a Pokémon via third party tools in a game it did not originate in, resulting in a completely missing HOME tracker value, when it logically should have passed through HOME to arrive in the current game, and should have been assigned a tracker value.
    Example: A Pikachu originating from Pokémon Sword being generated via third party tools directly into Pokémon Scarlet.
  2. Altering a Pokémon's immutable values (any value that cannot be changed by the player in-game via under normal gameplay circumstances) via third party tools, or exploits, after it has already passed through HOME and received a HOME tracker value.
    Example: A Pikachu that has had its IVs all set to 31, and turned Shiny, despite originally having random IVs and being non-Shiny.
  3. Removing a valid HOME tracker value from a previously legal Pokémon via third party tools or exploits.
  4. Depositing a Pokémon stored in HOME prior to the v3.1.0 update that previously violated one of the three above conditions into any Switch game, resulting in the Pokémon being able to leave HOME, but unable to re-enter HOME.

While not implemented into Scarlet and Violet natively, several VGC events, (beginning with the 2023 World Championships), utilized this method of anti-cheat to detect illegally manipulated Pokémon and apply penalties/disqualify players found to be using illegal Pokémon.

Discouragement by The Pokémon Company and related parties

  • The Game Genie was released before Pokémon, and is compatible with the DMG-marked games such as Red and Blue, but not international Yellow without a work-around. Nintendo attempted to outlaw Game Genie in Lewis Galoob Toys, Inc. v. Nintendo of America, Inc. however it was specifically due to the claim that it may result in a derivative work. Other cheating devices after the release of Pokémon such as the GameShark, Monster Brain and Mega Memory Card are sold, but are not endorsed by Nintendo.
  • There is an internal Pokémon anti-cheat application known as Pokémon Anti-Cheat. Knowledge of it/unauthorized use was leaked to the general public by hackers.[16]
  • There are exploits for Pokémon GO such as spoofing and using a VPN, and these are forbidden by Niantic; considered as cheating.[17] Notably in Iran some used a VPN for a non-cheating related reason (however it is still forbidden); to play the game there even though the game had not officially launched there. However, the government banned the game, reportedly due to the use of forbidden imagery and portrayals of gambling.[18]
  • The team Mario Club is responsible for play-testing and removing glitches in the Pokémon series and many other Nintendo games. Another such team is Sarugakucho Inc. who also worked on the loosely related Japan-only Game Boy Color title Monster Tactics where Tsunekazu Ishihara was involved for the Marigul company Spiral Co., Ltd. and Nintendo, but their involvement with the Pokémon games is unclear.
  • During the 2023 World Championships, The Pokémon Company employed different hack check tools to previous events, including checking for hidden values that could indicate whether a Pokémon had been modified. As a result, multiple players had team members removed or were entirely disqualified from the event, with many of these players admitting to "having used third party tools to obtain members of their teams". Some players only had one or two Pokémon identified as illegally modified, so were permitted to continue in the event with those Pokémon removed from their team.[19][20][21][22][23][24][25][26][27]
    • Due to the tournament using Regulation Set D (Pokémon and forms outside the Paldea Pokédex became allowed, except Walking Wake and Iron Leaves), many Pokémon used during the tournament did not originate in Paldea. The new method of detection was related to Pokémon HOME's tracker value, as non-Paldea origin Pokémon generated directly into Pokémon Scarlet and Violet would not have any valid data indicating that they had passed through HOME, which would be a requirement for any Pokémon with a game of origin other than Pokémon Scarlet or Violet, or if it had any traits only obtainable by visiting another HOME compatible game. (For example, an Ursaluna would necessarily have had to pass through HOME and enter Pokémon Legends: Arceus in order to evolve from Ursaring.)
    • Additional disqualifications occurred at the 2023 Pokémon Latin America International Championships (LAIC), with more top ranking players being caught cheating and subsequently lost the prize(s) for their placement.[28][29]
  • Play! Pokémon has previously suspended VGC players that participated in, or promoted third party tools, cheating, and/or circumvention of their anti-cheat measures from participating in any official Play! Pokémon activities. These suspensions can range from temporary to indefinite depending on the context.[30]
  • Players participating in various VGC tournaments in 2024 were asked to create a Rental Team and provide the rental code during their sign-up, preserving a copy of their team for Play! Pokémon staff, providing access to the team's internal data for manual inspection, allowing for more in-depth cheat detection than the game's basic anti-cheat systems provide.[31]
    • The official Play! Pokémon X/Twitter account announced that starting with the Utrecht Special Event on 3/2/2024, all players would be required to prepare a Rental Team in advance as part of their new standard policy.[32]
  • Some players at the 2024 Liverpool Regional were disqualified after having been detected with identical team members, (specifically team members that could not be "natural clones" like Tera Raid Battle Pokémon, or species like Ninjask/Shedinja that share identical values).[33]
  • Some players at the 2024 Knoxville Regional were disqualified after having been detected with Pokémon with identical trainer information, but different game of origin values which did not match the player's savefile, which would almost never occur naturally (roughly 1/4.2 billion chance). Some players were also detected with invalid Trainer Name and/or nickname data.[34][35][36]
  • In several instances, certain VGC tournaments in 2024 accidentally penalized players for traits that are in-fact legitimately obtainable, namely a glitch wherein Gold Bottle Caps would apply Hyper Training to all 6 IVs, including IVs already naturally a value of 31[37], and an incorrect understanding of how "trash bytes"[38] stored in the Nickname and Trainer Name text fields naturally occur.

References

  1. YouTube video by ChickasaurusGL
  2. YouTube video by TeruTeruSky
  3. YouTube video by ChickasaurusGL
  4. > Tweet by Pikasprey
  5. YouTube video by ChickasaurusGL
  6. Tweet by Orcastraw
  7. Tweet by Gen4Pomeg (in Japanese)
  8. https://projectpokemon.org/home/index/news/online-ban-wave-%E2%80%93-almost-6000-people-affected-r24/
  9. https://projectpokemon.org/home/index/news/online-ban-wave-strikes-again-%E2%80%93-almost-8000-people-affected-r29/
  10. https://twitter.com/QStheSLAYER/status/1275727786079109120
  11. https://www.youtube.com/watch?v=I1Hjsd7IkSc
  12. https://projectpokemon.org/home/index/news/home-banwave-ongoing-r149/
  13. https://imgur.com/a/mcmSfUq
  14. https://twitter.com/kaphotics/status/1495965127031816192
  15. https://projectpokemon.org/home/docs/home_165/relevance-of-home-tracker-home-v200-v300-and-beyond-r154/
  16. SciresM (Twitter)
  17. Niantic Support page
  18. YouTube video by Thomas Game Docs
  19. https://twitter.com/vgccorner/status/1689847256944656385
  20. https://twitter.com/TheRandomPinea2/status/1689855619187007488
  21. https://twitter.com/pero_francesco/status/1689883904428355584
  22. https://twitter.com/FedeCampoVGC/status/1689878152993275904
  23. https://twitter.com/oshinokrookodil/status/1689930432031457280
  24. https://twitter.com/TrainerRobVGC/status/1689967981131132928
  25. https://kotaku.com/pokemon-scarlet-violet-world-championship-hack-cheat-1850729929
  26. https://twitter.com/TrainerRobVGC/status/1689995014431297536
  27. VGC Cheating 2023 via Kaphotics
  28. https://twitter.com/YTpublic/status/1725988278824767684
  29. https://twitter.com/mattyoukhana_/status/1726017550260076889
  30. https://twitter.com/komvgc/status/1742348498903924926
  31. https://twitter.com/SoulSurVGC/status/1748519648750899312
  32. https://twitter.com/playpokemon/status/1760393962206925032
  33. https://twitter.com/PokeAlex_/status/1751339600721711238
  34. https://twitter.com/aricbartleti/status/1753924195023507563
  35. https://twitter.com/aricbartleti/status/1753925042524524961
  36. https://twitter.com/LukatheKuka_/status/1754324657237352802
  37. https://twitter.com/Kaphotics/status/1767232738971570364
  38. https://twitter.com/Kaphotics/status/1767232738971570364

See also

Project Games logo.png This game-related article is part of Project Games, a Bulbapedia project that aims to write comprehensive articles on the Pokémon games.