You’ve got actually 4 different types of answers here, so I’ll try to provide you some insight on each- although there are definitely refined answers below.
First and most easily explained: Cheat Codes. Yep, perhaps the most famous is the Konami code. [https://en.wikipedia.org/wiki/Konami_Code](https://en.wikipedia.org/wiki/Konami_Code) – used across multiple platforms and paid homage to in a multitude of games, it is a classic ’embedded’ code that the developers, either by themselves or at behest of a tester, put in for use. Maybe a tester just wanted ‘god mode’, maybe a developer just wanted to be able to grab data / different areas and jump around- doesn’t matter. They had a build, the put some special code in and told the game to look for that sequence of events- and then did whatever the programmer wanted. Ultimately these are supposed to be removed- but not all developers do- and I would argue some would leave them there intentionally as a signature to their greatness 🙂 Ultimately they get leaked via demonstration, or someone knows someone who used it, it gets passed along until it’s no longer a secret but common knowledge.
Secrets: Easter Eggs, if you will, are hidden in the tall grass for you to find. Popular for decades since the first games- [https://en.wikipedia.org/wiki/Easter_egg_(media)](https://en.wikipedia.org/wiki/Easter_egg_(media)) – you could even go to call them puzzles within puzzles. Go back far enough in history and you’ll find secret meanings in literature, mocking in paintings, etc- but in computer games it is definitely something a developer coded in, on purpose, either for a very observant player or (again) to their homage to their own greatness. While not a fan of the movie “Ready Player One” (preferred the book, and even then…) there are those Easter Eggs hidden by Halloway as a juicy reward. Easter Eggs can be never be discussed if the programmer never discloses them and may be found by reverse engineering the compiled code as well.
Glitches: These tend to be un-intentional side effects of the game engine and the logic put within it. In some sense this is the ‘you can’t walk into a wall’ game logic. So let’s pretend I’m an old school programmer working with a sprite- a simple game representation of your character. I’ve defined your character as 256×128 (taller than wider), and I put a little tiny bounding box around you so you can ‘interact’ with my world. When you get close to something- I’ll say ‘n+3’, then I know you’re ‘close’ to a, say flower, and I want you to be able to touch/talk/smell/grab/stomp/burn/ etc. So when you’re basically within that range of a flower, you get a special set of commands, including ‘ignore walk over’.
Now apply that to a wall- when you get within 3 pixels of the wall, I’m going to ‘bounce you back’ because- dude- you can’t walk thru a wall. But in order to do that I have to do math based on your speed- I mean you can run, right? So it can’t *always* be 1pixel per refresh- so maybe I give you a run speed of 3.
That means if you can time it JUST RIGHT… you can be at the wall and then 3 pixels INTO the wall before my code knows what to do. And if I don’t design my logic correctly, 3 pixels into the wall might trigger the ‘ignore walk over’ code- so you walk right through the wall.
Admittedly this is a very simple explanation – one that I might have made a mistake on in the past, but please know that logic around these are very complicated, require split second timing sometimes… and ultimately are far cooler to explore than other things.
(Extra category at the end)
Lastly… Hacks. Hacks are … special, but not always. Hacks generally require some sort of either bit manipulation or modification of code / memory on the fly. Take for example, Health Points (HP). If I have a character I might define all their attributes and assign HP a certain variable. That is stored in an structure that I can index at any point, and get those details. A hack might be … looking at the code for ‘read’ or check stats on the HP routine and modifying it to always set it to FF (255, or max- but when you typically do that that’s a bad idea because it can also be -1). Which means every time the game engine calls ‘hey is this character alive’ it gets set to max HP, which means you never die.
But SOMEONE needed to modify that games code, or put a piece of code between routines to do that- and that’s a hack. Programmers, pissy they are (Love you guys) will do all sorts of things to try and stop this- but generally if it can be hacked it will, it’s just a matter of boredom. Games have changed since the 1990s to 2000 to 2010 to 2020 and now, so this doesn’t necessarily apply anymore. These are figured out by watching memory, running scenarios, and even (such at the Ultima IV series) figuring out that the game loads the land maps from disk without checking out the disk- so on the floppy games you could literally remove the game disk, insert ANY OTHER DISK, and the game would start loading terrain/maps with random sprites/chest/characters because it was all valid data on the disk- just not the one that the game was thinking of. Pretty cool. I miss being told to put floppies in.
BONUS
So for a long while I programmed MUDS. And MUDS, aka Multi User Dungeons, were Text based and content based, and a well designed MUD could pull in hundreds of ‘areas’ (dungeons) based on what people wrote.
Some code was hard coded into the engines. Some were not. And as it turned out every single MUD had a different way of tracking ‘quest bits’, encoded into a 16 bit string- so you’d have to do all the logic out on graph paper and keep track of which bits got set where, and put that in.
If you knew an area someone else wrote tho- and their quest bits- you could modify your own to… ahhh… bypass theirs… with certain Mobs (Mobile Monsters). Thus you could steal a monster from one area, drag it to another, and it would do certain actions and set certain bits to be from it’s own active area- but on another creator’s content.
Obviously this was nefarious and, given the time period (1990-1999) it would have been hard to catch, since most of these were on dialup modem (who knows what that is).
Just saying.
Game industry is awesome, is amazing to watch, and at times I miss Zork.
Thanks for the opportunity to answer.
Latest Answers