Quirks of the Ultima VII engine

The Ultima VII engine was really advanced for its time. However, the technical limitations were still a challenge for the programmers at Origin. So they had to resort to tricks in order to create the game world. Tricks, that are quite interesting to reveal.

Where do the Dead go?
One very important distinction in the engine is between objects and NPCs. Objects can be created or destroyed. NPCs however, unlike for example monsters, can't, or the game could break. This of course creates the question what does happen when an NPC is killed.

It goes like that: When an NPC is killed, he/she doesn't actually die. Instead he/she is teleported away and replaced by a corpse-object with a pre-defined inventory. Casting Resurrect on the corpse-object destroys the object and puts the fitting NPC into its place with full health, taking the inventory of the corpse-object.

However, this still leaves the question where the NPCs go to while being "dead". On both, Britannia and Serpent Isle, there is an area that is totally unreachable by normal means, where all the NPCs are stored. In Ultima VII this is is a carpeted area deep inside the mountains just north of the Shrine of Compassion. In Ultima VII/2, the "House of the Dead" is located on the top left of the map. Also, NPCs who just vanish are also there, since they can't be removed form the world but still have to become un-encounterable.

There are some things of interest with this mechanism: 
 * Exult seems to break it, probably because the game engine can now store the NPCs in-program. In Ultima VII only Batlin is found there after vanishing from the Black Gate fight. In Ultima VII/2, only destroyed Automatons, Gwani, some pikemen and the Banes of Chaos are found there.
 * The Armageddon spell doesn't actually kill anyone. It instead causes permanent unconsciousness which simply can't be un-triggered. Essentially, everyone is turned into a sleeping vegetable. This is why Resurrect doesn't work.
 * Lord British seems to hold executive power over death, since angering him by cheating (more below) kills even people in the room of the dead, this time for real! Since the game breaks anyway, they felt they now could do it.

Double-Vision
Looking into Alagner's crystal ball reveals what he has done last day and later shows his execution by Abraham, Elizabeth, Hook and Forskis.

How is this feat accomplished? After all, the Britannia of Ultima VII is one, single map.

It indeed is a single map, so to create this effect, the programmers had to use a trick. Looking at a computer-generated map of the Isle of the Avatar reveals two copies of Alagner's house hidden beneath the mountains. The southern one has a dummy NPC (using a monster slot, since there can be only one Alagner) doing exactly the same things as the real Alagner, providing the image for the crystal ball.

The northern house actually has another dummy and dummies of his assassins being frozen in motion, providing the scenery for the killing seen in the crystal ball. Walking into the scene causes them to come to life and attack the party.

Even more, this system was also used in Serpent Isle. In the north-western part of the map is a strangely unfinished structure in the ocean. Walking up the stairs reveals a copy of the upper floor of Shamino's Castle with strange lighting bolts and fireballs flying around.

Since the programmers were unable to use the real location for programming reasons, they created this little area and Batlin and Cantra teleport in to create the cutscene for the crystal ball in Harnna's house. 

Not so ethereal
Indeed, the whole thing with everything being forced to share one map was a huge problem for the programmers. All three generator areas are hidden beneath the mountains. It becomes even more obvious with the Shrine of Spirituality.

They had ran out of mountains where they could hide this huge area (huge, because otherwise the limits would be obvious), so they had the idea to house it on the huge upper floor of an equally huge building on the Isle of the Avatar. The building is real prominent, you can't miss it.

Note that with Exult, this building vanishes with the Keyring Mod, since the new multi-map option allows for de-crowding the map. 

Talking to an object
The Armageddon spell can't hurt the Ferryman. Indeed, it is totally impossible to do anything to him. However, to do this, the programmers had to trick the game. The Ferryman actually is an object which you can use to talk to. His weapon is part of his sprite, therefore unreachable and his object type has no inventory.

The whole issue with objects doubling for people becomes more interesting once you realise that the Time Lord also is an object! To add to the twist, the player normally thinks that the person locked into the time barrier is the Time Lord. However, this is totally wrong, it is just a plain statue. Moving the barrier to a different place with the hackmover and then using it reveals, that the barrier represents the Time Lord.

In Serpent Isle they had the problem that all NPC slots were used up when they created Silver Seed, so the NPCs in the expansion are actually modified monsters. 

Map Mess
Looking at the Serpent Isle map with the map viewer.... it is a mess.

The reason for this mess however is simple. Since Ultima VII/2 is a much more linear game, the Avatar never uses a ship to sail around, meaning that he/she is restricted to walking on the land. This fact gave the programmers the chance to not only hide things under mountains. In practically every ocean area that is out of sight, there is some underground area placed.

These areas are usually reached via teleporter or stairs which have a hidden teleporter to this new place on the map. In normal gameplay this never becomes obvious. It did however create a programmer's nightmare (especially with the lost source code).

Note that with Exult and its multi-map support, this solution is no longer needed and there are mods that clean up the map, shifting everything to an underground map. 

The teleport trick
At the beginning of Ultima VII/2, the Party loses much of its inventory to a Teleport Storm. The game mechanism behind this is to take away objects from the inventory and add new ones. However, the programmers were faced with a problem.

The mechanism only worked for things in possession of the party, meaning that there was the danger of clever players putting everything on the ground (with exception of the Black Sword) and retrieve it after meeting Thoxa and the triggering of the events. To make this impossible, they used a trick. West of the beach are two copies of it. The game starts on the westernmost. When the lightning starts, the party starts to vanish. After that, the Avatar is for a second on the second beach, then the lightning strikes and he/she is teleported to the final beach, unable to reach the dropped objects on the first beach. In-game, the player doesn't notice these game mechanics, since a map and Sextant are only later available.

Indeed, the objects you "get back" are already on the map, meaning that every item actually exists two times on the map should they be dropped on the ground at the beginning! 

"Replicate!"
One weakness of the engine is that objects that are supposed to be different can have the same properties, should the programmers miss something.

In Ultima VII this wasn't much of a problem, the only noticeable thing is that a filled bucket, regardless if it was water, milk, alcohol or blood(!) always has the same property for filling a container with water or making bread. Only the blood from the Stone of Castambre has different properties.

It became a problem in Ultima VII/2. Already in the original without the expansion there is a serious problem with ghosts. The Chaos Hierophant ghost was accidentally used for all ghosts encountered on the Serpent Isle, which can be especially critical in the exploded powder mill early in the game. The same problem arises in the Silver Seed. The black-yellow pillars in the room with Isstanar actually are carbon copies of the pillar from the test of purity in Furnace, which can lead to crashes. 

Gotcha!
This is not an actual engine trick, but interesting nonetheless.

There is a normally unreachable, small room with Fire Fields and cracked mirrors in the mountains just south of the Lost River (directly north of the Sphere Generator). Entering it will summon Lord British, who declares the Avatar a cheater before attacking. Everyone in the world has turned into a corpse and the NPCs were erased from the game. And the companions are now useless, spouting total gibberish.

Note that in Exult, one effect is lost: all other text was replaced with "oink!". It seems that removing the NPCs will break the game, something the programmers accepted, as this situation meant it was game over anyway.