Hacking Centauri Aliance (and The Bard’s Tale)

Backstory

I played a lot of adventure games on my old Commodore 64. I grew up during the golden age of Infocom, and played Zork 1, 2, & 3, Planetfall, Deadline, The Leather Goddesses of Phobos, Lurking Horror, and the all-time classic: The Hitchhikerʼs Guide to the Galaxy. There were a few attempts at marrying text adventure games with pictures, like Fahrenheit 451, but, most successfully, there was the whole The Bardʼs Tale series, Wasteland, and Centauri Alliance, which at least looked like they all shared the same “engine,” back before game “engines” were a thing to talk about.

I donʼt usually like to cheat at video games. Obviously, it takes almost all of the challenge out of it, and I always lose a lot of interest in actually finishing the game when I do. But sometimes… I just get frustrated. With The Bardʼs Tale, I got to a point in the adventure where I just kept dying. I had progressed through the story too quickly, and my characters had not accumulated enough experience to get through the whatever dungeon I was trying to get through. Either it never occurred to me to simply “grind” until I got a few more levels, or it did occur, and the idea bored me. So rather than do that, I opened the save disk with a hex editor, and looked to see how my characters were stored. I could see the stats, but I couldn’t figure out how the leveling system worked. I finally settled on just increasing their experience points (and gold pieces), then going to the guild, and putting a weight on the key that “interviewed” for a higher level, and watching TV for awhile. Lather, rinse, and repeat for each character. When I was done, everyone in the party was around level 900.

BTII was glitched for me. My save disk had an infinite supply of all the weapons in the game available at the stores, which made hacking my characters irrelevant. It even included one each of the 7 parts of the magical rod you had to put together, and they were only like a couple of gold pieces each! I guess the game makers figured you could never buy them, so they didn’t set some astronomical price on them to reflect their rarity. So I had them from the first levels of the game, and their powers made things much easier. I always wondered if this were the case for other people, or if a fortuitous disk error caused this to happen just for me…

My 1541 disk drive had died a long, long time ago. I thought about selling my collection on eBay, but C64ʼs — even with all the stuff to go with them — are hardly even worth boxing up. I see that prices have rebounded now, but at the time I was thinking about it, you might have gotten $30 for the whole shebang. Because of this, a friend gave me his old C64, with all the accoutrements. He even had the Commodore monitor I had always wanted! Anyway, his floppy drive got me back up and running, so I got all of my stuff out and had some fun.

I played some old games, the way they were meant to be played: not through an emulator. I resurrected the programs I had written. Of course, nothing was useful any more, but it was great looking over the aborted AD&D character generator I had written, which is what got Dad to upgrade me from a Vic-20 to a C64. It was still interesting to see the D&D character sheets I had designed via control codes to a dot-matrix printer. Then there was the almost-complete, level-18+ AD&D (2e) adventure I had written. I looked over it, thought it was really cool, started to reformat it in a word processor, then trashed it. However, there was also the entirely-new, post-apocalyptic RPG I was writing. That one I cleaned up and saved…

Screen Shots

Disk Corruption

One of the significant things about this diversion was Centauri Alliance. I had bought the game back when it came out, but I screwed up the master save disk. I wrote the company, got a replacement, and… then screwed up the new disk. So it sat for, like, 15 years. When I was playing around with everything again, I wanted to finish the game, so I downloaded disk images on the internet, and tried to play on an emulator under Linux. Lo and behold, they were screwed up too, but in a different way. So I created disk images of my good disks, and combined that with the cracked boot disk and blank generic save disk from the Moby Games site, and played through the game.

Here are the Centauri Alliance Scenario Disks, which are the good ones.

I also finally actually finished the game, though I used a walkthrough. Heavily. I wanted to see how the game ended. I didnʼt want to spend all the time mapping the levels.

Hack

Of course, things started to get tough — as they definitely will, in this game, especially if youʼre speeding through it with a walkthrough — so I decided to try hacking my characters, like with Bard’s Tale. I found a page on someoneʼs web site about how they thought it should be done, but it didnʼt add up. (I canʼt find that page any more.) If I recall, he was saying something about adding 0xD to the stats. That didn’t work, but it gave me the hint I needed to figure it out on my own.

Characters are stored on the Roster disk starting at even offsets, like 0x1600, 0x1500, 0x1700, etc. I couldnʼt find a rhyme or reason to their ordering, and their names are obfuscated. I figured out who was who by hacking where their names should be, and seeing whose name was nerfed when I reloaded my last save.

My notes were all really sketchy by the time I made this page, and itʼs been several years since I did this. If I understand my scribbles, the experience points bytes are offset 30-35 inside the character.

Each stat is XORʼed with a different byte:

STAT XOR Byte
LIFE 0xF9
PSI 0x3B
STR 0x0C
IQ 0x20
VIT 0x5A
AG 0x6A

Each skill is similarly encoded:

SKILL XOR Byte
Melee 0xCC
Thrown 0x26
Sidearm 0xC3
Master 0xC4
Hardware 0x41
Weaponry 0x06
Bio 0x9B
Ancient 0x4D
Mind 0xFC
Body 0xD2
Matter 0x49
Energy 0x63
Metamorph 0x75
Shape 0x42

I donʼt even quite know why Iʼm bothering to put this up. Thereʼs probably not another living person who will ever care about this by now. But, hey, this is why the internet was created, so why not?

Since writing this up, The Bard’s Tale games have now been collected and rereleased in modern format — for both PC and Mac! And the “port” is really good! There are some modern affordances that make the game(s) much, much easier to play, like the automap. I spent countless hours making perfect maps of these levels on grid paper, which, while quaint, just isn’t value-added effort.

There’s also a party inventory system, which makes inventory management a lot less hassle, spell categories and search for casting, and the ability to save anywhere, any time. Psychotically, there are options to turn off these features to make the gameplay as brutally unforgiving as it was originally released.