Cheating in Video Games

Cheating in video games involves a player using non-standard methods for creating an advantage beyond normal gameplay, usually to make the game easier. Cheats sometimes may take the form of ‘secrets’ placed by game developers themselves. Cheats may be activated from within the game itself (‘cheat code’ implemented by the original game developers); or created by third-party software (‘game trainer’) or hardware (‘cheat cartridge’).

They can also be realized by exploiting software bugs. Cheating in video games has existed for almost their entire history. The first cheat codes were put in place for play testing purposes. Playtesters had to rigorously test the mechanics of a game and introduced cheat codes to make this process easier. An early cheat code can be found in ‘Manic Miner,’ where typing ‘6031769’ (based on developer Matthew Smith’s driving licence) enables the cheat mode.

In a computer game, all numerical values are stored ‘as is’ in memory. Cheaters often reprogram a small part of the game before launching it. In the context of games for many 8-bit computers, it was a usual practice to load games into memory and, before launching them, modify specific memory addresses in order to cheat, getting an unlimited number of lives, currency, immunity, invisibility, etc. Such modifications were performed through ‘POKE’ statements (commands to set the contents of a memory cell). The Commodore 64 and ZX Spectrum also allowed players with the proper cartridges or Multiface add-on to freeze the running program, enter POKEs, and resume. Some games tried to detect the Multiface, and refused to load if it was present. The earliest models had no ability to ‘hide.’ Later revisions either included a switch, hid if been opened and closed the menu before loading the game, or automatically hid. Magazines such as ‘Crash’ regularly featured lists of POKE instructions for games. In order to find them a hacker had to interpret the machine code and locate the critical point where the number of lives is decreased, impacts detected, etc. Sometimes the term POKE was used with this specific meaning.

Cheating was exploited by technology-oriented players due to the difficulty of early cheats. However, a cheat industry emerged as gaming systems evolved, through the packaging and selling of cheating as a product. Cheat-enablers such as cheat books, game guides, and cheat cartridges helped form a cheat industry and cemented cheating as part of gaming culture. However, cheating was not universally accepted in early gaming; gaming magazine ‘Amiga Power’ condemned cheaters, taking the stance that cheating was not part of their philosophy of fairness. They also applied this in reverse; games should also not be allowed to cheat the player. Guides, walkthroughs, and tutorials are sometimes used to complete games but whether this is cheating is debatable, If no cheat codes, exploits, or glitches are used it is generally not considered to be cheating by the hardcore gaming community as the player is receiving help that will improve their game play performance as opposed to gaining an unfair in game advantage.

Later, cheating grew more popular with magazines, websites, and even a television show, ‘Cheat!,’ dedicated to listing cheats and walkthroughs for consoles and computer systems. POKE cheats were replaced by trainers and cheat codes. Generally, the majority of cheat codes on modern day systems are implemented not by gamers, but by game developers. Some say that as many people do not have the time to complete a video game on their own, cheats are needed to make a game more accessible and appealing to a casual gamer. With the rise in popularity of gaming, cheating using external software and hardware raised a number of copyright legal issues related to modifying game code. Many modern games have removed cheat codes entirely, save for uses to unlock certain secret bonuses. The usage of real-time achievement tracking made it unfair for any one player to cheat. In online multiplayer games, cheating is frowned upon and disallowed, often leading to a ban. However, certain games may unlock single-player cheats if the player fulfills a certain condition. Yet other games, such as those using the ‘Source’ engine, allow developer consoles to be used to activate a wide variety of cheats in single-player or by server administrators.

Many games which use in-game purchases consider cheating to be not only wrong but also illegal, seeing as cheats in such games would allow players to access content (like power-ups and extra coins) that would otherwise require payment to obtain. However, cheating in such games is nonetheless a moral gray area because there are no laws against modifying a software which already owned, as entailed in the Digital Millennium Copyright Act.

Activation methods for cheat codes might include entering a code at a password prompt or a pressing a combination of game controller buttons, such as the ‘Konami Code,’ or by passwords that can be typed in to get the desired effect or bring up a cheat menu. Other entry points may be a developer console, a code entry dialog, at title screens, or in-game. Effects might include unlocking a character or improving a character’s performance: for example providing a car with greater acceleration, entering ‘god mode’ (invincibility) or noclip mode (able to pass through walls), or visual gags with no practical purpose, such as ‘Tutu Qwark’ in ‘Ratchet & Clank: Up Your Arsenal,’ which unlocks a ballerina costume. Unlike other cheating methods, cheat codes are implemented by the game developers themselves, often as a tool to playtest certain aspects of the game without difficulty. One of the earliest known examples of this type of cheat is the ‘Konami Code,’ created in 1986 by Konami developer Kazuhisa Hashimoto as he worked on porting the 1985 arcade game ‘Gradius’ for use on the Nintendo Entertainment System. Hashimoto is quoted as saying ‘The arcade version of ‘Gradius’ is really difficult, right? I never played it that much, and there was no way I could finish the game, so I inserted the so-called Konami code.’

Cheating can easily be achieved by modifying the game’s data while it is running. These methods of cheating are often less reliable than cheat codes included into a game by its creators. This is due to the fact that certain programming styles or quirks of internal game logic, different release versions of a game, or even using the same game at different times or on different hardware, may result in different memory usage and hence the trainer program might have no effect, or stop the game from running altogether. Cheating via memory editing involves modifying the memory values where the game keeps its status information. This can be achieved in a range of different ways depending of the game’s running environment. The way to achieve this will vary depending on the environment in which the game is running.

A cheat cartridge is attached to an interface port on a home computer or console. It allows a user to modify the game code either before or during its execution. An early example is the ‘Multiface’ for the ZX Spectrum, and almost every format since has had a cheat cartridge created for it; such as Datel’s range of ‘Action Replay’ devices. Another popular example of this is ‘Game Genie’ for Sega Genesis, NES, Super Nintendo, Game Boy, and Game Gear game consoles. Modern disc-based cheat hardware include ‘GameShark’ and ‘Code Breaker’ which modify game code from a large database of cheats. In later generation consoles, cheat cartridges have come to be replaced by cheat discs that usually contain a game loader and, used to boot the console, modify the console’s memory environment previous to the loading of the actual game disc. The legality of this type of devices has been questioned, having raised a particular case named ‘Lewis Galoob Toys, Inc. v. Nintendo of America, Inc.,’ in which Nintendo unsuccessfully sued Lewis Galoob Toys stating that its cheating device, the ‘Game Genie,’ created derivative works of games and violated copyright law.

Game trainers allows the player to directly edit the numeric values in a certain memory address. This kind of software usually includes a feature that allows the player to perform memory searches to aid the user to locate the memory areas where known values (such as the amount of lives, score or health level) are located. Provided a memory address, a memory editor may also be able to ‘freeze’ it, preventing the game from altering the information stored at that memory address. Game trainers are a special type of memory editor, in which the program comes with predefined functions to modify the run time memory of a specific computer game. When distributed, trainers often have a single ‘+’ and a number appended to their title, representing the number of modifications the trainer has available. In the 1980s and 1990s, trainers were generally integrated straight into the actual game by cracking groups. When the game was first started, the trainer would typically show a splash screen of its own, sometimes allowing modifications of options related to the trainer, and then proceed to the actual game. In the cracker group release lists and intros, trained games were marked with one or more plus signs after them, one for each option in the trainer.

Many emulators have built-in functionality that allows players to modify data as the game is running, sometimes even emulating cheating hardware such as ‘Game Genie.’ Some emulators take this method a step further and allow the player to export and import data edits. Edit templates of many games for a console are collected and redistributed as cheat packs. Emulators also frequently offer the additional advantage of being able to save the state of the entire emulated machine at any point, effectively allowing saving at any point in a game even when save functionality is not provided by the game itself. Cheating hardware such as ‘Instant Replay’ also allows such behavior for some consoles.

Editing a saved game offers an indirect way to modify game data. By modifying a file in persistent storage, it is possible to effectively modify the run time game data that will be restored when the game attempts to load the save game. Hex editors were the most basic means of editing saved game files. However, as happened with game editors, dedicated game-editing utilities soon became available, including functions to effortlessly edit saved data for specific games, rendering hex editing largely obsolete for this purpose. A similar method for cheating in online games involves editing packets in the outbound network traffic, thus affecting the state of the game. Although this method was more common a few years ago, games are developed with more robustness to prevent network and packet modifications.

Cheat codes may sometimes produce unusual or interesting effects which don’t necessarily make the game easier to play. For example, one cheat in ‘Jurassic Park: Operation Genesis’ makes dinosaurs appear ‘undead.’ A cheat may even make the game harder to play; for instance, one could give the enemy special abilities, increase general difficulty, make neutral bystanders attack the player, or grant the player a disadvantage such as low health points. Cheats in ‘Grand Theft Auto’ games can make NPCs start rioting or wield weapons. In ‘Grand Theft Auto III,’ the player can activate a cheat to enable blowing off the limbs of NPCs, a feature originally included in the game.

Some games humorously penalize the player for using another game’s cheat codes; for example, using cheat codes from ‘Doom’ in ‘Descent’ only displays sarcastic messages from the programmers on screen. Similar effects occur if codes from ‘Descent’ are used in its sequels. Codes from ‘Doom’ used in ‘Heretic’ give the opposite of the desired effect, such as instant death instead of invulnerability or stripping weapons instead of providing them. The original Doom’s ‘god mode’ code ‘IDDQD’ is non-functional in ‘Doom 3,’ but produces a console message: ‘Your memory serves you well.’ Other codes make purely cosmetic changes—for example, to what the player character is wearing—but do not enhance the progress of the game. Most of the ‘Grand Theft Auto’ games have a code to change the player character into an NPC. Other peculiar cheats may invoke ‘big-head mode.’ Easter eggs are a related feature. Although such hidden content has no impact on gameplay, these ‘eggs’ can be found in many games and may even hint at future games in a series or give more information on a topic.

In games having attainable achievements or high score records, or both, cheats by nature allow the player to attain achievements too easily or score point totals not attainable by a non-cheating player. In some games, developer commentary mode can have the same effect because these games, in an effort to make all commented-on scenarios accessible to the player, render a player invulnerable to damage while in commentary mode. The Sega 32X version of ‘Doom’ does not allow the player to finish the game if any cheat codes were used; instead, after a cheating player defeats the game’s penultimate level, the game simulates a program exit to DOS and displays a mock command prompt. Some PC games and most Xbox games do not record player achievements if they are attained while cheat mode is activated. For example, ‘Half-Life 2: Episode 2’ turns this barrier into a continuing obstacle if a player saves the game with cheats activated: The game will record that fact in the save file and automatically cause subsequent reloads from the relevant save file to reactivate cheat mode.

Cheating exists in many multiplayer online computer games. While there have always been cheat codes and other ways to make single-player games easier, developers often attempt to prevent it in multiplayer games. With the release of the first popular internet multiplayer games, cheating took on new dimensions. Previously it was rather easy to see if the other players cheated, as most games were played on local networks or consoles. The Internet changed that by increasing the popularity of multiplayer games, giving the players relative anonymity, and giving people an avenue to communicate cheats. Examples of cheats in first-person shooter games include the ‘aimbot,’ which assists the player in aiming at the target, giving the user an unfair advantage, the ‘wallhack,’ which allows a player to see through solid or opaque objects or manipulate or remove textures, and ‘ESP,’ with which the information of other players is displayed.

In role-playing games, ‘twinking,’ the practice of passing on valuable items not normally available at player’s character’s level, may be considered cheating. In online multiplayer games, players may use macro scripts, which automate player actions, to automatically find items or defeat enemies for the player’s advantage. The prevalence of massively multiplayer online games (MMORPGs) such as ‘World of Warcraft’ has resulted in the trading of in-game currency for real world currency. The rise of virtual economies has led to cheating where a gamer uses macros to gain large amounts of in-game money which the player will then trade for real cash. The Terms of Service of most modern online games now specifically prohibit the transfer of accounts or sale of in-game items for ‘real-world’ money.

Whilst games cannot prevent cheating in single-player modes, cheating in online games is common on public game servers. Some online games, such as Battlefield 1942, include specific features to counter cheating exploits, by incorporating tools such as PunkBuster, nProtect GameGuard, or VAC (Valve Anti-Cheat). However, much like anti-virus companies; anti-cheat tools are constantly and consistently bypassed until further updates force cheat creators to find new methods to bypass the protection.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s