Skip to content

The Joy of Game Hacking – Part 1

October 3, 2012

More than thirty years ago I bought my first home computer, an Apple ][+.  Besides the basic 48k memory, I purchased a 16k memory expansion and two 5-1/4 inch floppy drives that could store 140k on each floppy.  It was not a small investment back then and the power and storage of that system would seem like a joke in today’s world.  To top off my “system” was an HP LaserJet II printer.  Total price for everything that I bought for that computer system was near $5000 (it may have been much more than I remember, but I had been saving up for a while).

Why did I buy a computer, and why would I spend so much?  To be honest, it was for playing GAMES!!!  Yes, the primary purpose I had in purchasing that computer and all those after was to play games.  The day I walked out of the Apple store with my new computer I also walked out with several games.  Ultima was my first game.  I don’t really remember the other games I bought at that time.  Perhaps the next year or maybe even the same year I purchased Wizardry when it was first released.  I played Ultima and Wizardry for hour after hour because some of the other games I had gotten did not work as well.  The other games would lock up or maybe quit for no reason.

Back then, it was common for a game company to exchange a “broken” disk for a new copy if you just mailed it to them along with $5 payment.  One particular game, which I will not say the name, was making more money off of the broken disk sales than off of the original sales.  I personally only purchased two replacement disks from that company before I realized that the program had a bug in it and they were not trying to fix it because they were making good money off of replacements.  That was the year that I first started game hacking.  I had to learn assembly language programming in order to read the sectors of the disk as there were no utilities available at the time.  After fixing the bug in their game, I found out that the crash came right at the very end of the game.  It crashed rather than tell you that you had rescued … oh.. uhmmm… nevermind.

So, there I was, finished with hacking and fixing one bad game and just creating new characters for Wizardry to see how each race, profession, etc worked.  It just followed naturally that I would take a peek at the saved game and start making some “tweeks” to my characters.  Oh!  It was love at first “God” character!  Each of my characters had massive Hit Points!  Their Strength, I.Q., Piety, Vitality, Agility, and Luck were all at 31.  I had as much gold as I wanted (not that I needed it anymore).  My characters were equipped with all the best magical weapons and armor.  They had all the spells.  EVERYTHING!  No monsters in the dungeon were a real threat to me!

But, to me, the real joy was not in playing the game with such powerful characters, but rather the investigating into how the characters were saved on the disk.  Finding out which byte or group of bytes controlled each aspect of their environment was the challenge.  I still have the Apple ][+ but I loaned it out for a history of computers lesson and it was returned broken.  I have been unable to fix it.

Today I run PC compatible computers and I run mostly FREE games.  Recently I downloaded free PC-DOS games from a site that has LOTS of old abandoned games: http://www.myabandonware.com/browse/genre/role-playing-rpg-5/page/19/ such as Wizardry, Perfect General, Master of Magic, and more.  I also downloaded DosBox and D-Fend Reloaded from links provided at the myabandonware.com site.  After playing Wizardry for a while I decided to use some of my modern utilities to look into the saved game.

Today, good game hacking tools are available for free or very small cost.  I personally like to use FlexHEX (download shareware, worth the price), Cheat Engine (FREE http://www.cheatengine.org/downloads.php), and Yahoo!Widgets’ Screen Shooter to investigate the games.  Yahoo!Widgets are no longer available for download, nor are they  supported.  I have JUST started looking into Wizardry but I thought I would share my personal game hacking methods with others. Since I no longer have the extensive notes that I took 30 years ago, I will have to start fresh.  You can follow along with me in this tutorial.

WARNING!!!  Always make backups of ALL files from your game before attempting to hack even ONE of them.  You never know what a mistake will do to the rest of the files (or even those on your computer).  Be prepared for the WORST!  You may have to rebuild your computer hard disk if you mess up the wrong thing. 

That said, if you are willing to take the risk (don’t blame ME!)

To start, my system runs the 64 bit version of Windows 7 Professional. I went to http://www.myabandonware.com/browse/name/ downloaded Wizardry and then followed the links to download free versions of DosBox and D-Fend Reloaded.  I installed DosBox and then D-Fend Reloaded. After installing, run D-Fend Reloaded and just drag-and-drop the downloaded Wizardry archive file onto it. After D-Fend Reloaded processes the Wizardry files an entry will be added to the table and you can click on it to play.  D-Fend Reloaded provides everything that Wizardry needs to run.  You just Start the game and press Enter when it asks for a character disk. You can modify your characters AS you create them, using Cheat Engine.  Here is a screen capture of a character that was modified as I created it:

Image

Illustration 1

How many times have you RE-Rolled a character because you did not get a good bonus? How would YOU like to have enough Bonus points to create a brand new character with all of the stats at 18, as in Illustration 1 above!?  It is EASY!  Here is how I did it using Cheat Engine. You can download free Cheat Engine from http://www.cheatengine.org/downloads.php

Start Wizardry and go to the Training Grounds and select Create Character. Then go through the creation process where you name your character, pick a password, race, and alignment.  I called my toon SUPERMAN.  Then stop when you come to the screen where you distribute BONUS points to modify your toon’s stats.  It looks something like this (depends upon race, etc):

Image

Illustration 2

OK, I know that Superman is not supposed to be a human, but the Kryptonian race is not available in Wizardry.  Leave Wizardry by using Alt-tab to get to the desktop. (for me, this takes Wizardry out of full screen mode and into a more convenient windowed mode for hacking.)  NOTE: If you cannot switch from Wizardry to the desktop then you will not be able to modify your characters as you create them.

Now, start Cheat Engine and, click on the button that has a picture of a computer with a magnifying glass over it, it is near the top just under the File menu option.  When the list comes up, click on DOSBox.exe in the list and then click Open.

Image

Illustration 3

You will now have Cheat Engine linked to your Wizardry game.  It should look like this for now:

Image

Illustration 4

Notice that it says DOSBox.exe near center top.  If not, try doing the step above again. 

If all is well, click on the button that says First Scan.  Now enter the value of your character’s current BONUS points into the Value box (for SUPERMAN it is 9).  Change the Value Type to Byte using the drop down list.  Click on the First Scan button.  You will get a long list of locations that contain the value you entered.  Don’t panic, we will soon narrow this down to ONE location for you. Your Cheat Engine should look something like this (the search number will be the value that you have for BONUS):

Image

Illustration 5

Now go back into Wizardry by left clicking it or by Alt-tab and increase the STRENGTH of your toon by 1.

Image

Illustration 6

Notice that the BONUS value drops down one when you increase the STRENGTH.

 Leave Wizardry again and go to Cheat Engine with alt-tab or by clicking on Cheat Engine if in windowed mode.  Enter the new value from BONUS into the Value box and click on Next Scan.  My bonus dropped to 8, here is how my Next Scan turned out:

 Image

Illustration 7

As you can see, for SUPERMAN, there is only ONE location that held the 9 before and now holds 8.  This is the location of the BONUS value.

Image

Illustration 8

Double click on this address and it will be added to the list in the bottom of Cheat Engine.  It will say “No description” but it is not worth the effort to modify the label as the memory location changes every time you load Wizardry.

Image

Illustration 9

Double click on the number under the Value column to edit it.  I usually put a high number like 70 here to ensure I have enough bonus to make all stats at 18 for any race.

Image

Illustration 10

Return to Wizardry and start increasing your stats (the changed BONUS value will not display until you press a key to change a value or move your pointer). Here is mine after increasing the I.Q. by 1:

Image

Illustration 11

After all of your stats are at the MAX (in my case they are all 18) you MAY have some BONUS points left over, like this:

Image

Illustration 12

If you do have points left over, you MUST go back to Cheat Engine and change the BONUS to ZERO before Wizardry will let you complete the creation. Just go to Cheat Engine, double click on the leftover value, and change it to zero as in Illustration 13:

Image

Illustration 13

Then go back to Wizardry and press Escape to enable CLASS selection for your character. In my case, the 9 leftover points still show after modifying the location with Cheat Engine but pressing ESC still brought up the “SELECT CLASS” option and lets me complete my character.  Also, even though LORD is shown, I was unable to select it. (I will hack it later)

Image

Illustration 14

So there I am, ready to run the dungeon with my SUPERMAN Fighter, Mage, Priest, Bishop, or Samurai (empty slot D is for Thief which requires a Neutral or Evil character. Empty slot H is for Ninja which requires an Evil character).  Repeat this process 5 more times for a full party of modified characters.

*GriN*

In Part 2, I will show you how to produce even BETTER characters like this:

Image

Illustration 15

 

Advertisements

From → Uncategorized

Leave a Comment

Leave a Reply

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

WordPress.com Logo

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

Google+ photo

You are commenting using your Google+ 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 )

w

Connecting to %s

%d bloggers like this: