Dino's Guide to The Savage Empire

Celebrating 22 Years

The Gold Falls Bug Investigation

By Daniel D'Agostino on 9th July 2022

Contents

Introduction

The T-Rex is dead and so is... gold.
The T-Rex is dead and so is... gold.

The Savage Empire has a known bug that occurs when you drop a boulder on The Thunderer, a T-Rex that the Sakkhra need you to kill. Tell-tale signs of this bug are the message "Gold falls!" and various consequences, most notably the loss of a party member.

This bug has baffled gamers since the game's release in 1990. At the time of writing this article, I've found five recorded occurrences of this bug on the internet, in addition to my own. However, very few people have heard of or played The Savage Empire, so it has been pretty hard to track down the cause of this bug.

Things changed when Sean38FL asked about a bug he thought was related to inventory, and provided a savegame. I deduced that this savegame suffered from the same Gold Falls bug, and with two affected savegames in hand (the one provided by Sean38FL, and another one I happened to have from one of my earlier sessions), I spent a week investigating this bug until I discovered its cause - and a lot more along the way.

The investigation was shared in five different parts [1, 2, 3, 4, 5] on Twitter as it happened. Aside from solving the Gold Falls bug, it shows how this is also connected to the horse companion bug, the myserious eohippus in the Gargoyle Lands, and the Swift the Vehicle bug from Ultima 6 (documented by DOUG the Eagle Dragon). The rest of this article explains the details.

Symptoms of the Gold Falls Bug

The Sakkhra tribe send you on a quest to kill The Thunderer, a T-Rex that has taken over their sacred grove. Armed with a grenade or a Kotl explosive device, you knock a boulder over the unsuspecting dinosaur. But, unwittingly, you kill more than just the T-Rex.

You know you ran into this bug when you see the message "Gold falls!" This also results in the loss of a party member, under different conditions:

When you wake up in Intanya's hut, each of your party members has between two and six legs.
When you wake up in Intanya's hut, each of your party members has between two and six legs.
A myrmidex and a horse walk into a bar... (caption by Ian Eborn)
A myrmidex and a horse walk into a bar... (caption by Ian Eborn)

If you die after this and are resurrected in Intanya's hut, one of two different things happens randomly:

Sometimes, you actually wake up with zero hit points, die again, and get resurrected a few times in a cycle until you either have hit points or the game freezes completely.

What Causes the Gold Falls Bug

There are two conditions necessary to trigger this bug:

  1. You must have used the raft near Topuru.
  2. You have to hit the boulder in a certain way.

The reasons for this are a little complicated, and we'll discuss them in the next few sections.

But, if you don't meet these conditions, then:

Eohippus/Gold Falls

Eohippus falls!
Eohippus falls!

An interesting clue came from my own description of the "Gold falls!" bug:

"When I first dropped the boulder on the Thunderer, the text "Eohippus falls" appeared. When I replayed the game to write the walkthrough in this guide and dropped the boulder on the Thunderer again, the text "Gold falls" appeared. It seems that some bug causes "[object] falls" to be written whenever that particular boulder falls."
-- Savage Empire Fun page

By comparing savegames with the bug to ones without, there was a clear difference. When dropping the boulder on the T-Rex, the message about the T-Rex's death was always accompanied by either "Gold falls!" (if the bug occurs and a party member is lost) or "Eohippus falls!" (in which case nothing bad happens to the party).

This text has been the cause of confusion for a long time. In the first recorded occurrence of this bug in 1997, Mark D. Niemiec aka Strong Axe Dragon wrote: "Whenever I use a grenade to push a boulder onto the T-Rex, I get the message: Gold falls! (I should have expected "Boulder falls!" instead)"

As it happens, "falls" is not about the boulder falling. Instead, it is written anytime a party member or other NPC dies (e.g. if you feed Rafkin to a T-Rex, you get "Rafkin falls!").

So what does this have to do with an eohippus or gold?

The Mystery Eohippus

To better understand what's going on, we'll need to digress a little, and talk about another mystery. Since the launch of my Savage Empire Guide in 2006, I've mentioned this among the list of Easter eggs:

"A long time ago, someone told me about a special Eohippus hiding in the unused gargoyle map from Ultima 6 (accessible only with MDHack), which had its own portrait and was supposed to be an easter egg for Smith. Unfortunately, I have not been able to verify this myself, and I even forgot who told me this. Whoever told me about it should contact me, so that I can give him proper credit for this easter egg (and perhaps I can verify this Eohippus' existence)."
-- Savage Empire Fun page

Among the Alt Cheats you can use in The Savage Empire (once you've enabled them) is Alt+224, which teleports you to a specific NPC. You can use this to reach not only standard NPCs in the game, but also NPCs that are not in the game yet, such as Darden, Johann, and a lot of parrots.

NPC 0 is an eohippus.
NPC 0 is an eohippus.
Here, on the other hand, NPC 0 is gold.
Here, on the other hand, NPC 0 is gold.

More importantly, if you teleport to NPC 0, depending on your game state, you will see either an eohippus or gold. It's ironic how, back in 2006 when I created my character list for The Savage Empire, I remarked that "The zero character is a pile of gold with an empty portrait", and didn't make the connection at the time.

This character indeed has an empty portrait, and its actual surroundings change depending on where you happen to be on the map - invoking Alt+213 seems to give the same coordinates in the remnant map of the Gargoyle Lands from Ultima 6 (Z=6), but they're not reliable. You won't be able to find the eohippus or the other characters by exploring the Gargoyle Lands.

So, to address the original mystery about the eohippus:

A Horse in the Party

When Sean38FL recently asked for help about a bug he hadn't heard of before, I noticed something very strange. Using his provided savegame, when I died, I was resurrected as a Myrmidex, with an eohippus as a companion. This reminded me of Sergorn Dragon's post from 2010 in which he was shocked that a horse seemed to have joined his band of adventurers. In one of his screenshots, I noticed something I hadn't noticed before: "Gold falls!"

Additionally, ikantspelwurdz noted in a 2018 forum post that the Gold Falls bug decreases the party count - location 0xFF0 in the savegame file OBJLIST - and its effects could be countered by incrementing it back to its original value.

Increasing the party count via hex editing brings extra characters into the party.
Increasing the party count via hex editing brings extra characters into the party.

By tweaking this same party count to an even higher number, I was able to get the eohippus to show in the party, along with another companion.

The Vehicle

While experimenting with hex editing the OBJLIST savegame file, and comparing this file for savegames with and without the bug, I discovered that the two bytes at 0x400 affected what "falls" when you drop the boulder. Bugged savegames had a value of 45 00, representing gold, whereas fresh savegames always had a value of 51 09, representing an eohippus. If I changed this to an arbitrary value, the message would change to something else (e.g. "Neanderthal falls!").

Changing this value alone didn't affect the outcome of the bug, but it was an important clue in itself. Eric Fry from the Nuvie project confirmed that those two bytes at 0x400 represent the party's vehicle.

The clues about the gold and the vehicle reminded me of Swift the Vehicle, one of the many abuses to which DOUG the Eagle Dragon subjected Ultima 6 back in the day, and which I later reproduced with screenshots. A sentence in DOUG the Eagle Dragon's description of the Swift the Vehicle bug was key to finally reproducing the Gold Falls bug:

DOUG the Eagle Dragon wrote: "Swift's physical appearance is variable, and it is set each time you leave a vehicle."

When you board the raft, NPC 0 changes to a raft.
When you board the raft, NPC 0 changes to a raft.
When you get off the raft, NPC 0 changes to gold.
When you get off the raft, NPC 0 changes to gold.

The only party-wide 'vehicle' in The Savage Empire is the raft. By using the Alt+232 cheat to check NPC 0's portrait, I was able to observe how NPC 0 changed from eohippus to raft when I boarded the raft, and then from raft to gold when I disembarked.

Conclusion

Thanks to the discovery of the effect of the raft on the eohippus, I was finally able to reliably reproduce this bug (see video) even from a new game. It also explains why this bug is always observed with parties of about five people - the raft needs at least four to operate.

So we have established:

A few days ago, I tried explaining to some colleagues that there was a horse in another dimension that got killed when you dropped a boulder on a T-Rex. They thought I was on drugs.

Your options to deal with this bug are:

Note also that:

Acknowledgements

I would like to thank the following people for indirectly helping this investigation reach a successful conclusion:

I managed to solve the mystery behind the Gold Falls bug by putting lots of clues together - both those documented by other people before me, and others I came across by experimentation.

© by Daniel D'Agostino 2002-2024