After having brought peace to Britannia during his previous journey there, the Avatar returns to our world. However, he is haunted by ghostly dreams that warn him of great danger in Britannia. The Avatar decides to travel there once again. Upon his arrival, he witnesses the kidnapping of Baron Almric's daughter. Found guilty of the crime, the Avatar is thrown into the Great Stygian Abyss with the choice of either finding the girl or rotting in the dungeon. On his journey, he will have to get along with the many inhabitants of the dungeon, who are survivors of a failed colony, and eventually find out that there's much more to this kidnapping than meets the eye.
What I have done is that I have made a program which converts the 2d maps into real 3d meshes of triangles. This 3d data is more suited for the modern hardware accellerated 3d graphics cards. Because the levels are now real 3d you also get full freedom of movement which means that you can move and look in any direction in the world.
_|\_ .---. _/|_
_ .--._.-' \__| d b |__/ `-._.--. _
( `---/../----------< * >----------\..\---' )
(_.---\\\\-----------|||-----------////---._)
+ ``` ''' +
| |
| Ultima Underworld 1 & 2 |
| |
| Level Viewer v1.1 |
| |
| ...yet another FREEWARE production... |
+_ _+
( `---------------------------------------' )
(_.---------------------------------------._)
.---._.--. .--._.---.
.-./ .--. __ `----------' __ .--. \.-.
`-' ( / / `, .- BY -. .' \ \ ) `-'
.-. `-' ( | PEROXIDE | ) `-' .-.
`-'`---. `--' .--------. `--' .---'`-'
`-----' `-----'
Introduction:
-------------
The ultima underworld engine always fascinated me. In many ways it were
way ahead of its time giving the player non-orthogonal walls, sloped
floors, bridges, water, 3d doors etc. etc.
Add to that a huge selection of items and monsters stuffed into creatively
made levels and a genious plot - and you got an underworld game.
Recently I discovered some facts about the fileformat of the level file
(thanks to Jonathan Rimmer and more importantly Jim Cameron). Originally
the engine was a so-called ray-casting engine like Wolfenstein, Doom and
many other games from that early era of the first person shooter. This means
that the levels are basicly 2d maps and the player is then fooled into believing
that the world is 3d by some scaling tricks.
(Note : I am told by one of the programmers of Underworld that it is actually
NOT a raycasting engine - they had a general purpose 3d rasterizer. However,
the engine still bears strong resemblance to ray-casting engines..)
What I have done is that I have made a program which converts the 2d maps into
real 3d meshes of triangles. This 3d data is more suited for the modern hardware
accellerated 3d graphics cards. Because the levels are now real 3d you also get
full freedom of movement which means that you can move and look in any direction
in the world.
My viewer also loads the original 8bit textures and converts them to 24bit
using the original pallette from the game. Then it automatically generates a
set of mip-maps for each texture using a cubic filter which ensures that
flickering in the 3d graphics will be kept at a minimum.
I have made a crude collision detection algorithm to clip the player against the
walls. I warn you in advance that this is not a perfect algorithm, but I dont
want to spend any more time on this project so I just threw it in to provide
SOME realism ;)
Installation and use:
---------------------
To use the program you must have an original copy of Ultima Underwold 1 : The
Stygian Abyss or Ultima Underworld 2 : Labyrinth of Worlds installed on your
computer.
Then copy the main executable "uwviewer.exe" into the respective game folder. It
should appear next to the uw.exe or uw2.exe file from the original games.
Thats it, the program is installed and ready to run.
When you first start the program a dialog box will appear and ask you to select
a device and display mode. The device can be thought of as the graphics card
you chose to use. If possible, chose an entry called "Direct3D HAL" - this
will tell the program to use a hardware accellerated graphics card.
For display mode just pick one, only modes supported by your system are available
here. (You can always change both device and resolution from within the viewer by
pressing F2).
Inside the program you can press F1 for a list of all special keys.
When the program starts you are in "Explore mode" which means you will be walking
around in the levels, like in the game. You move the camera with the arrow keys
and change the direction you look by moving the mouse. If you prefer not to have
the mouse inverted on the y-axis just press F6 to turn off mouse invertion.
Now you can change between the levels with Insert and Delete for up and down.
Sometimes when you change to a new level you will be placed outside the level and
you will be unable to move. When that happens press F5 to turn on "fly-mode" and
get into the level. Once inside you can turn off fly-mode by pressing F5 again.
NOTE : The above is especially true for Underworld 2 which has many small levels.
Most of the time you will start FAR outside a level !!
By pressing M you switch between "explore mode" and "map mode". When in map mode
you will see the entire level from above. A white cross will mark the position of
the player.
NEW : If you would like to play around with the Ultima Underworld levels in your
own 3d engine or 3d editing program then I have added an export option. By pressing
F9 within the game you can export the current level in VRML format along with the
textures it uses. VRML can be imported to 3d studio MAX for example and the textures
will be saved in 24bit BMP format.
The data will appear in a new directory in the underworld directory named after the
level - ie. "c:\games\uw1\level1"
History:
--------
ver 1.1 (this release) : Added support for Ultima Underworld 2 levels (Thanks Jim)
ver 1.0 : First release
Contact:
--------
You can reach me for question/comments at:
telemachos@peroxide.dk
www.peroxide.dk
- Telemachos Dragon.
DISCLAIMER :
------------
Once again this is included to prevent some insane american from suing me
or anyone else from Peroxide :)
THIS SOFTWARE IS PROVIDED FOR FREE USE, ON AN "AS IS" BASIS.
PEROXIDE PRODUCTIONS DISCLAIMS ALL WARRANTIES RELATING TO THIS SOFTWARE,
WHETHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
NEITHER KASPER FAUERBY, MADS OLESEN, SOREN SEEBERG, NOR ANYONE ELSE
WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, OR DELIVERY OF THIS
SOFTWARE SHALL BE LIABLE FOR ANY INDIRECT, CONSEQUENTIAL, OR INCIDENTAL
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE SUCH SOFTWARE.
THE PERSON USING THE SOFTWARE BEARS ALL RISK AS TO THE QUALITY AND
PERFORMANCE OF THE SOFTWARE.
In words understandable by a normal human being :
If your dog dies, your house burns down or your computer explode while
you are playing with the level viewer it is not our fault!
You bears the risk on using this yourself - but hey! I really don't see
any way this product could inflict ANY damage to your computer system or
to your personal health.
Now go play the damn game :)
RESTRICTIONS AND AUTHORIZATIONS FOR DISK VENDORS:
-------------------------------------------------
Ultima Underworld 1 Level Viewer is FREEWARE! No charge other than a small
fee covering stamps and disc-handling must be taken for this product.
Written permission is not required for distribution of Ultima Underworld 1
Level Viewer as long as the following conditions are met:
- The ZIP file supplied by Peroxide Productions must not be
altered in any way. The file may be included as part of a
package with files added by the vendor which provide the user
with technical intructions on how to install and start the
game. No files may be added which contradict the information
supplied with the original Level Viewer package by Peroxide
Productions.
- Operators of electronic bulletin board systems are permitted to
post Ultima Underworld 1 Level Viewer for downloading by their
users as long as the above conditions are met (if applicable).
- All vendors or sysops must inform Peroxide Productions of the
inclusion of Ultima Underworld 1 Level Viewer in their catalog.
This is done to ensure that the vendor or sysop has the latest
version of the software. If a vendor produces a catalog, Peroxide
Productions requests a copy in order to verify the accuracy of
any descriptions of Ultima Underworld 1 Level Viewer.
If the above conditions are met, Peroxide Productions grants vendors and
sysops the right to distribute Ultima Underworld 1 Level Viewer as freeware
immediately.