The Game With No Cheat Codes

I didn't always cheat in video games. My brothers were playing games on our Commodore 64 before I could even talk. Naturally, I was very interested in whatever they were doing when I was a kid. When they allowed me to try it for the first time, I was immediately hooked. I couldn't play as much as I wanted though. Between sports, farm work, and homework, there were few hours left to play video games. I'm the second youngest of five siblings, so if my turn ever arrived, it was always too short. Not surprisingly, I never got very far in the games I played back then.

I was curious to find ways I could advance further in less time played, but I figured the best way was to improve. Then, by chance, I overheard a conversation between a few boys at recess about cheat codes. I had no idea how they knew about these codes, but I had to know everything they knew and how to find out more. Most cheat codes spread by word of mouth around school, and originated from game guides that a few of the kids with money would buy. With the codes, I could experience much more of the game in a lot less time which was great for me. So I mostly focused on the games that had cheat codes programmed in.

As my brothers moved away for college, I could finally play games for a reasonable duration. I received Lords of the Realm II as a gift, and I was completely captivated by the game. I spent many hours happily playing it, but, for some reason, I became curious to know if any cheat codes existed for the game. I asked around school, but the few who knew of the game didn't know if there were any cheat codes. One of my friends had a 28.8k modem, and could connect to the internet. He searched online for me, but found the game had no cheat codes. He did find a strange tutorial that looked like a cheat, but he didn't understand it. He'd printed it off, and gave it to me.

The tutorial showed how to use a hex editor to change values in a saved game file to give yourself 65,535 crowns which accomplished the same objective as a cheat code for money. I asked my friend what a hex editor was, and he had no idea. I quickly explored the programs available on the Apple computers at school as well as the PC with Windows 95 that we had at home, but found no hex editor. So I gave my friend a 3.5" floppy disk and asked him to search for a hex editor online, download it to the disk, and return it to me. A few days later, he returned the disk with a hex editor, and I got started.

I followed the instructions to navigate to the saved game file, then open it with the hex editor. The screen full of rows and columns of hex number pairs with another column of gibberish off to the side terrified me. The tutorial explained exactly which row and column where I'd find the numbers and letters that represented the amount of crowns I had. When I changed that value to FFFF, saved the file, and reloaded the game, I had the 65,535 crowns. It was amazing, but seemed incredibly complicated without those precise instructions. I played for a couple hours enjoying my new riches, but kept having a nagging thought - What if I could manipulate more than just money with this hex editor? The idea was scary, but curiosity got the best of me, and off I went exploring that unintelligible sea of numbers and letters.

First, I figured out how to convert Dec numbers that I understood into their Hex equivalents. Then, I'd search the file for the hex numbers I wanted to manipulate. There were often multiple locations that the number would be found. I'd change them one by one saving and reloading the game after each edit. To speed it up, I began changing multiple numbers between game reloads. After a few corrupted files, I learned to back up the saved game file before editing it.

I quickly discovered how to increase my supplies for building castles and feeding the population of my land as well as weapons and armor for my armies. Instead of using money and supplies to keep the people healthy and happy, I started manipulating health, happiness, and even diplomacy values directly. In the same sense, I didn't need to wait for my population to grow within the game's parameters to build structures or an army. I manipulated the population size directly, increasing it greatly to quickly finish castle-building, then returning it to normal size to use fewer supplies. To build a great army, I didn't need all the armor and weapons. I just had to create a small army of only peasants from a tiny portion of my population. Then, I'd manipulate its values to give it any amount of any type of soldier.

Editing my army started me down the path for a mini-game which was never intended, but gave me many hours of enjoyment. It was intended that players could control their armies in battles against the armies of other lands, but I became obsessed with strategy. As I gained experience hacking on the saved game file, I understood how to edit not only values of my own, but also those of the NPCs as well. So I manipulated values of both armies, and I tested the limits of how large an enemy's army I could defeat with the fewest amount of precisely positioned soldiers of the right combination in my army. Another was how few solders I'd lose when defeating armies of various sizes, or made up of various types of soldier combinations in various positions on the maps. I'd also like to watch the game's AI play out both sides of the various scenarios I thought up. When I'd notice one enemy army about to engage another enemy's army, I'd make the armies equivalent and watch the result of the random number generator. Or I'd give one the advantage depending upon which I wanted to win and by how much.

I thought it was intriguing that diplomacy with other lords would always increase if you sent them supplies as a gift. Although it was simple to just change diplomacy values directly, I enjoyed strengthening relations by sending a cart with supplies of negative values and watching the towns' farms be decimated when they received a negative shipment of cattle and wheat. I tested other scenarios that were never intended like curiously watching the actions of another nation while being at war with it and simultaneously having the highest possible diplomacy rating with its lord. I'd change names of NPC's and other titles and text within the game to role-play as I desired. It became a whole new game for me, and I loved it even more.

Once, while lost in the euphoria of being able to almost create the game as I played it, I didn't notice an enemy army nearing another NPC's town. That particular army was able to overtake the last town of one of the NPCs and removed it from the game. I'd spent many hours role-playing in that game, and I didn't want that particular NPC to be gone yet. I didn't yet know how to edit an NPC army to weaken it, and the army was strong enough to easily take the town any time I tried to replay the turn. I thought, "No problem, I'll just reload an older backup saved game file." The "Oh shit" moment really set in when I found that the backups didn't have enough turns for me to get one of my armies over there to protect the other town.

This game was turn-based, and each army could move up to 15 spaces per turn. That was one value I remember trying to edit earlier, but wasn't successful. The limit must have been hard-coded into the game. I was stuck, and I had to come up with a way to save that town. So I tried something crazy. I started the turn that would end the reign of that virtual ally, and set my hopeless defending army toward the town. I paused the game before my army reached its destination 15 spaces away, and saved it. I looked at the file in the hex editor and, sure enough, the amount of spaces the army had moved was recorded. I changed the "spaces moved" value back to zero and reloaded the game. My army had moved, but the turn had not completed, and I could still move another 15 spaces! So I repeated that process until my army had crossed the entire map and saved the town allowing me many more hours of enjoyment in that game. Later, when I discovered how to send negative supplies, I put a negative value in for "spaces moved" and removed the range limit of my armies with far less tedium.

When I could finally connect to the internet, I shared the benefits with others too. I could customize far more parameters than the "Custom Game" interface allowed. I created new games that wouldn't have been possible to create using the game's interface, and gave them to enthusiasts of the game who found it too easy even on the hardest pre-programmed settings. They told me I helped breathe new life into the game for them when I removed their limitations and offered the freedom to define almost any disadvantage they wanted.

This game has a special place in my heart because it's where this farm boy first learned how to hack video games; a pastime that has provided great pleasure over the years. In any PC game I played afterward, the more defined and restricting the limitations of game-play were, the more fun it was to escape them and discover the extent to which the game could be redefined.




2 responses
Do you happen to remember which HEX offsets to alter to change army size and army composition?
The Hex offsets weren't static, and values would change positions as more actions occurred in the game. I haven't done this for many years, but IIRC, this is how I would identify a specific army and update its values: Let's say you have an army with 23 peasants and 3 archers. I would search for the hex value (1A) which is the army's total size (26). There will probably be multiple instances of that value in the saved game file, so search for 00 1A 00 to narrow your options. When the value is found, look for the following values somewhere within the vicinity: 0F - the maximum number of moves per turn for that army (15) 17 - the number of peasants in your army (23) 03 - the number of archers in your army (3) When you've identified these values near the 1A, try changing the 1A value to 1B. Save the file, and load that game. If the total size of the army changed to 27 in the game, then you've identified the right army. I think there were 4 digits allotted to each soldier type so the limit per soldier is FFFF (65535). For our hypothetical army, it would look something like: 1A00 0000 1700 0000 0000 0000 0000 0300 0000 If you changed those values to: 7805 0000 3200 6400 9600 C800 FA00 2C01 5E01 You would end up with something like: 50 peasants, 100 crossbowmen, 150 macemen, 200 swordsmen, 250 pikemen, 300 archers, and 350 knights for a total army size of 1400. Please send an email if you have any other questions. I'd be happy to help someone else have as much fun as I did hacking game files.