The death of the cheat code: A victim of changing expectations in gamers and developers

Last Updated January 4th, 2017

The cheat code is something that older gamers remember fondly. Up, up, down, down, left, right, left, right, B, A, is practically an anthem for anyone who grew up in the NES days, and it’s a badge of honor to know what this button sequence is and what it gives you by rote. Whether or not the code ends with start or select start is also a topic of debate that many gamers still argue over. It’s neither… but that’s a topic for another article.

While we can all remember our favorite cheat codes from retro games, modern day games don’t seem to have them. Few gamers question this, unless they end up getting stuck on a particular segment and really start pining for the days of infinite lives. But the absence of cheat codes is actually indicative of a massive shift in the way we create, play, and buy games. In a way, cheat codes do not exist today because they are obsolete. The function they served is now served by a number of other gaming features.

And what those features are portrays a microcosm of the history of gaming. The tree of cheat codes may have been chopped down, but it’s still interesting to examine its rings.

Getting the Bugs Out

There is a common story that is circulated whenever someone mentions the death of cheat codes. Most cheat codes were debug tools. In the early days of gaming, there was no standardized debug kit. If you ever took a high-school programming class, one of the first things you are taught is how to compile a program. These simple programs compile as whole complete projects, not piecemeal systems. That’s exactly how early video games compiled.

As a result, each build of the game was played exactly as a consumer would play it. You’d start on stage 1, beat it, go to stage 2, so on so forth, until you exhausted all the content that was coded so far.

But this presented a problem in debugging. What if you ran into an issue that crashed the game in stage 8? You’d have to beat every other stage just to get there, and then you’d have limited chances to recreate and fix the bug before having to do it all over again. This caused relatively simple problems to take hours or days to fix.

Enter the cheat code. Coding in, say, a secret command that let you skip to whatever level you wanted allowed developers to drastically cut down debug time. Now you can skip directly to level 8 without having to play through other levels that you have already debugged. A secret command that gave the developer infinite lives or health essentially gave them an infinite amount of tries to recreate, test, and fix bugs. Suddenly, a multiple-day debugging task could be accomplished in a matter of minutes.

Many developers chose to remove these debugging options from the final build of their games. However, doing so presented its own problems. The removal of these functions would then, itself, need to be debugged, without the use of debug commands. There was always the chance that removing cheat codes would break the game harder than the cheat codes themselves did.

In many cases, removing these codes was more trouble than it was worth. As long as the public wasn’t informed, the chance of figuring out these debug codes was very low. Even if they did, the portion of the audience that knew about them was low enough that it wouldn’t drastically affect public opinion about the game. In fact, the rush of finding the codes and sharing them with friends could actually give the game a popularity boost. There was simply no reason to take them out. Leaving them in was a win for everybody.

Believe it or not, codes like this still exist. If you have ever opened up the developer console in a game like Skyrim, you are essentially doing the same thing that the Konami code did, but in a more sophisticated fashion. And gamers haven’t found every cheat code in existence. New cheat codes are still being found today. Only recently, new hidden menus were found in the original Mortal Kombat games, a series that is now 25 years old!

In general, these codes have fallen out of use because game development has become more sophisticated. Game levels and areas are now largely modular. Developers can choose to compile just one section of the game instead of the whole thing. This allows them to test the game with whatever parameters they want, without the need for special codes.

The Shift from Cheat to Content

The history of debugging is the simplest and easiest way to explain why we don’t see cheat codes in modern games anymore. But the shift away from cheat codes wasn’t just technological, it was philosophical as well.

In the old days of gaming, difficulty primarily determined game length. Games were made difficult so that an hour experience could last the player months given enough deaths and continues. They were designed to be difficult to complete.

This design philosophy has been flipped on its head in modern game development. Now, being unable to complete a game is considered a major flaw. Even difficult games are designed to allow a competent player to beat them in a reasonable amount of time.

As a result, systems like lives and continues became outdated and, with them, so did cheats that allowed the player to have infinite lives and continues. But think about that for a minute. Instead of looking at this as a removal of a cheat code, think of it as an adoption of the cheat code. Essentially, every modern day game has an infinite lives code already programmed into it!

This is what happened to many of our favorite cheat codes. They shifted from “cheat” to “content.” Breaking the rule became the rule.

There are many other examples of cheat code adoption. Save points, for example, are essentially an adoption of “level select.” The player can, essentially, continue the game from any point he wishes as long as he creates a save there. Modern regenerating health is an adoption of “infinite health” codes. As long as you play well you can, essentially, take an infinite number of hits. Modern RPGs have begun to allow you to increase or decrease difficulty in order to increase or decrease XP or loot drops. This is a complex adoption of a number of codes including increased XP, increased gold, increased stats, and more.

When we examine other codes, we can see where they were adopted. Secret characters, for example, were largely adopted as DLC. Instead of holding a combination of buttons to select Akuma, you now purchase him from the in-game store.

In fact, many cheat codes have been adapted as DLC – specifically the much-loathed microtransaction. When you pay for power you are, essentially, paying to break the rules of the game, much like entering in a cheat code. The effect is still there but the way you access it is different. In this case, it’s money as opposed to hidden information. Is that a moral thing to do? Maybe, maybe not. But that, too, is a topic for another article.

This is why I said the shift away from cheat codes was philosophical as well as technological. Technologically, there is no reason to give users cheat codes because developers now have more sophisticated debug tools available to them. But in terms of design, there is no reason to include cheat codes because the perks these codes would give players are already being given to them through other means. They are obsolete, because they wouldn’t actually do anything.

The Curated Content Code

I’ve written many articles on Gamecrate about the idea of game ownership and how it has changed over the years. Early games were considered products, wholly and completely owned by the person who purchased them. Modern games, however, are considered experiences, ephemeral moments in time controlled not by the gamer, but rather the designer who very carefully curates the gamer’s experience. At any given moment a designer or publisher can patch a game, completely changing it from its prior incarnation, or even take games down from stores, shutting down their servers and erasing their existence all together.

This change in attitude has also changed attitudes toward cheat codes. If the goal of designing a game is to clearly curate an experience for the player, then the existence of cheat codes gives the player the power to experience your game in ways other than what you, as the designer, desire.

Many people would see this as a good thing, but in a world of vast interconnected information networks, any cheat code is a risky proposition. Say your game shifts with a code for God Mode. In a matter of days, this code is going to become common knowledge (which itself negates much of the fun of discovering the code in the first place). A portion of gamers will use this code, blast through the game, and suddenly find themselves without anything to play. These gamers’ perception of your game will be changed drastically because they used a code. They may feel that the game was too short or too easy, and the stipulation “when you use a code” rarely gets translated in the emotionally charged discussions that happen on the internet.

In fact, the existence of any sort of code invalidates this idea of curated design. Consider achievements and trophies. Would they mean anything if you could put in a code to earn them, or to make earning them easier? Designers can program their games to turn achievements off whenever a code is entered, and many indie developers, too, but this is a lot of extra effort for minimal return.

Then we have the issue of multiplayer. Many older games were exclusively single-player affairs. However, multiplayer is practically a necessity in most genres these days, especially online multiplayer. Being able to cheat in online play would be simply unfair. Obviously, directly cheating can simply be prevented in multi-player modes, and that works fine for codes like infinite health or one-hit kills.

But what about more general codes? What if you were to enter a code to unlock the whole roster in a fighting game? Do you allow these unlocked fighters in online play? If you don’t, then how would you unlock them in online play if they are already unlocked offline? If you have to go through the motions of unlocking them anyway, what point is there to the code? Allowing access to a character offline, but blocking access online, will just frustrate your user base. Of course, you can simply let the code give access to all characters online and off, but at that point, once again, what point is there to the code? Just unlock the roster from the start.

Why Cheat Codes?

And this is really the question that we should be asking when it comes to cheat codes. What, if anything, do they add to a game? In examining the cheat codes of the past, we see that there is very little that they can add to a modern game. Most rosters come unlocked. Lives don’t exist. Difficulty can be altered in the Options menu. Even the most extreme cheat codes can be replicated with hacks and mods.

In the end, it turns out that cheat codes are largely archaic. Any effect they can grant the player can already be achieved through other means. They take effort to program and can harm a game’s image without giving much back to the original designer. They are, at best, a quirk of nostalgia and at worst, a clear detriment to design.

But they are archaic because we have learned from them. We don’t need cheat codes because the best cheat codes are now game functions, and the worst cheat codes are omitted. The fun cheat codes are now achievements, patches, DLC, or something else. Cheat codes have made the world of game design a better place. But much like the rotary phone, the record player, and the floppy disk, they are a piece of technology with no practical use in the modern day other than for nostalgia.