Baltimore: A 3D Game Engine

Release 1.01
(C) Song Li, 1996, 1997, 1998




Baltimore Screenshots




New Release 1.01

New release 1.01 is available, with 30% faster performance and Pentium-optimized code. Again, source code is available. Download it here ! Please check readme first.


What is Baltimore ?

Baltimore is a real-time 3D graphics engine designed particularly for interactive first-person perspective games. In popular terms, it is a Doom-like game engine. It is NOT a real application, neither is it a general API kit like OpenGL or Direct3D. Baltimore does not require special hardwares and it is concentrated on the fast rendering algorithm, which is the key element while doing 3D games. Baltimore is actually a program for game developer rather than for game players. It is written in C++ and is available on Windows NT/95 and virtually on all Unix platforms. The source code is free for any non-commercial use. By cleverly using Baltimore code, you can easily develop an interactive 3D game just like Doom.


Which Platforms Does Baltimore Support ?

Baltimore supports Windows 95, Windows NT, Irix, Linux, Solaris, Aix, and all other Unix platforms. I thought about software portability issues all the time while developing it, and consequently the final source code is highly portable and extendable. You can easily port it to any system that has a 32-bit operating system, 256-color graphical display, and a decent C++ compiler.


What Can Baltimore Do ? And What Can't ?

Baltimore has the potential to be used to develop an excellent first-person perspective 3D game. It can quickly render a scene in a world that's like Doom. You can put some complex structures in the scene, to list a few, a staircase (going up, or going down, or first going up and then down), an elevator, a corridor, a balcony, etc. All of these are fully texture mapped, which may give them a very realistic looking quality. Like others, however, Baltimore has its own limitations as well. For instance, Baltimore is the ideal tool to develop games that resembles Doom, Doom 2, Heretic, Wolfeistein 3D, Dark Forces, Duke Nukem, etc. But unfortunately you CANNOT make Quake, Descent, Fury 3, Flight Simulator, etc. Besides, the current release of Baltimore does not have any illumination model but it is very likely that I add some support for this in the coming release.


What's in Baltimore ? And What's Not ?

The heart of Baltimore is its rendering algorithm. If you have already downloaded a copy of Baltimore, the source code for the algorithm may be the main reason of your doing so. But you got more stuff than this. Besides the core algorithm, you've also got a C++ application framework from someone who really knows object-oriented programming (that's me). This framework is application independent and can be easily extended according to your special needs. For instance, there is NO support for triggers (i.e. little switches in Doom that open a door and set an army of monsters free) and weapons and monsters, because all these things vary from one game to another. However, you can write your own code to support these needs and mix it with Baltimore by means of subclassing. Besides, you should develop code to support file I/O, better keyboard response, sound, network playing, etc. Remember, Baltimore is just a delicately designed graphical engine.


Where to Download Baltimore ?

Baltimore can be downloaded free right in here. You can use it any way you want on non commercial purpose. Just remember to give me credits. If you are interested in the algorithm and trying to develop something good out of this, please be sure to let me know. I'll be only glad to hear about that. (Note: The source code for Windows is completely the same as that for Unix, except that text files are in Dos format.)

Last Update Date: Thu Feb 5 12:02:21 PCT 1998

And Release 1.01 with improved performance...








Hit Counter
Since 3/5/1997
 




Song Li
Autodesk, Inc.
Work Phone: 415-507-8702
Home Phone: 510-215-7250
E-Mail: sli2@cs.umbc.edu
Homepage: http://www.cs.umbc.edu/~sli2