Ian-Albert.com Twitter logo @IanAlbertShow
Ultima 6 Game Maps

Here you'll find maps of the PC classic Ultima VI: The False Prophet. The map consists of six layers, from the overworld (level 0) to the underside (level 5) and the caverns in between. The images are in PNG format and are all pretty large. You may have trouble viewing them in your web browser, so right-click and save them to your computer, then open them in an external graphics program, such as Photoshop.

These maps were captured from screenshots from the PU6E map editor and pieced together in Photoshop. The game itself can sometimes be found on "abandonware" websites, though it will not run on most modern Windows systems. A new engine is being written, Nuvie, which will not only allow you to play the old game on newer systems but will also be adding in some additional features. Nuvie is, unfortunately, still in its early stages. It requires the original data files to work.

November 26th, 2005: Added some preliminary software generated maps including NPCs and monsters below. They're not perfect, but a bit better than these blank ones. Take a look below.

Thumbnail
Level 0
16,384×16,384
17.9MB
Quarter-res JPEG (8MB)
Thumbnail
Level 1
4,096×4,096
1.38MB
Thumbnail
Level 2
4,096×4,096
1.44MB
 
Thumbnail
Level 3
4,096×4,096
1.53MB
Thumbnail
Level 4
4,096×4,096
1.41MB
Thumbnail
Level 5
4,096×4,096
2.10MB

November 26th, 2005: A few weeks ago I was working on a program to decipher the Ultima 6 data files and render them. I got pretty far with it but got sidetracked with other projects before I could really polish it. It's the polishing that always takes forever. Anyway, I present my results here for the dual reasons of providing a map that – while not perfect – contains more information than the maps above; and also to hopefully see if any knowledgeable people out there might be able to help with a few data format problems I'm having (detailed below the maps). These maps contain all the monster spawn points and NPCs in the game, with some strange things. For instance, NPCs are not all labeled correctly. The shrines in particular. I don't think the shrine of Honor sells crossbows in Britain. Also, the monster spawns need work. Sometimes land animals get spawned in water and water animals on land. And they're all pointing north, which isn't very realistic. Apart from that it's not a terrible map. It will certainly give you a pretty good idea of what to expect when venturing into an area, which caves are worth exploring and which pathways will only lead to an onslaught of monsters with no treasure.

Problems I'm having are, as mentioned, with NPC names. I'm not sure why shrines are all mixed up. I don't know what other NPCs might be scrambled.

Eggs are also a bit mysterious. I figured out that the quantity of the monsters in an egg is the number of monsters to spawn. I assume the quantity of the egg is the percent likelihood of the monsters spawning, but I'm not positive. Values all seem to be 33, 25, 66, 75, 100, which look an awful lot like percentages, and since in the game you almost never see the number of monsters specified in the egg there must be some sort of chance variable in there. The detail that I have not figured out yet is orientation and captivity settings. For example, in Paws there is a dairy with two cows in stables. I don't think they move, and they have a definite orientation. Whereas immediately south of there in the fenced field are a number of randomly spawned, randomly oriented cows. The eggs for both sets of cows have a quantity of 100 and quality of 1. The captive cows have a quality of 14, while the fenced cows have a quality of 12. And then there are the two-headed Sutek cows, which throws a wrench in everything. You'll notice none of the two-headed animals are rendering properly on his island. I've spot checked the properties on a number of known monster spawns and the other egg and monster fields don't form any definite pattern to my eye.

Further related to eggs, I'm not sure how monsters are actually placed. If an egg contains 4 monsters how are the coordinates for each actually chosen? Over what range are they distributed? I've improvised an algorithm where 1 animal is spawned on the egg tile, 2 are spawned within a 3×3 area surrounding the egg, 3 in a 5×5 area, and 4+ in a 7×7 area. I need to add a test to ensure the random spawn location is still reachable by the egg, because on occasion monsters will spawn on the other side of walls from the egg.

Z ordering is also kind of mysterious. I know objects are to be drawn in reverse order to get the proper ordering, but there are exceptions. For example there are some places with a floor tile that gets rendered on top of things like doorways and stone lions. My solution was to augment the reverse ordering thing with a hardcoded Z order table for each tile. Things like floor tiles always have a Z class of 0, while trellises and archways have a Z class of 4. All the tiles in each Z class are rendered in the usual reverse Z order. This works pretty well, but I'm always finding things that don't quite work out, so I have to modify their Z class. Clock and stove tops have been especially problematic. I don't know any better way there is to fix this problem.

I interpreted the quantity of a silver serpent to be its length. This is a pretty arbitrary decision and don't know how accurate it is. Some seem to turn out awfully short compared to the real ones. Again, any knowledge about this would certainly help.

Most of my information is gleaned from PU6E editor source code and Nuvie's source code. Being as I don't know Pascal and my C++ is extremely rusty they only help so much. If you can answer any of my questions I would be very grateful. Then I can put the finishing touches on these maps.

There are other polishing things I need to finish. I have enough information to do them, but they'll just take time. One is ensuring NPC labels don't collide with one another. I'd also like to find a way to show the contents of treasure chests and crates, but only if I can do so without making a complete mess of the image.