On December 23, 1997, id Software® released the source code to their game Doom® . The source that was released ran on Unix systems and was primarily for Linux. Within a few days several "ports" of the code showed up on the Internet from people who had taken the Linux source and modified it to run under DOS&trade, Windows95® and Windows NT® . WinDoom was one of those ports and was the result of the efforts of Bruce Lewis. It used DirectX® 5 for the sound handler, the video mode control as well as display and for game input.
WinDoom was not an end unto itself but rather a platform from which glDoom could be derived. A stable Win32® platform was needed before completely replacing the rendering engine of Doom. glDoom is an evolutionary program rather than revolutionary because it is intended to update the technology of Doom while leaving the game the same as it was. Doom, already a great game, just needed to be brought up to date with a 3D hardware assisted renderer and some new rendering features such as transparency, translucency and dynamic lighting.
This document is intended to answer most of the questions people ask about glDoom. Working a full time job and having a family does not leave much programming time. The more questions I have to answer via e-mail the less time I spend on actually getting the programming work done. I get to put in about 20 hours a week on glDoom if I'm lucky. Much of this time is spent going through the original source to determine how certain effects were achieved and how best to tap into the game logic to make use of those routines with the OpenGL&trade renderer. The rest of the time is spent actually writing code and figuring out storage formats and data structures and how to exploit them.
So far glDoom represents a significant part of my free time since 1 Feb, 1998. My only reservation is that I do the job well enough that it is well received by the Doom community (its authors included). I hope you like it.
Who is making glDoom?
This question is actually a non-sequitor. Doom has already been made. I (Bruce Lewis) am making changes to the program to use OpenGL as the renderer. So I am converting Doom to glDoom. None of the original artwork will be changed, none of the original level structures will be changed and none of the gameplay will be changed. It's quite difficult for me to see how you could improve the gameplay of Doom.
I wanted to update the technology of Doom. It's a great game but in this day of 800x600 resolution games running on 3D accelerators it was beginning to look "dated". The goal is to bring Doom forward in time. Not to change the game itself.
OpenGL is only truly portable 3D API in existence that I know of. If someone wants to take the source code to glDoom when I'm done and port it back to Linux, they can do that. They couldn't if I used Direct3D or any of the other proprietary 3D API's. Yes, I know there are Glide drivers for Linux but only 3Dfx users could benefit from that because it is a proprietary API.
Also, without getting into the religious war between OpenGL and Direct3D, OpenGL is far easier to use, better documented, and has better and more example code available. Whether or not Direct3D stands up to OpenGL technically wasn't even a consideration.
There is a third reason for using OpenGL. The only companies that have created OpenGL drivers for their hardware are the ones whose hardware is capable of implementing most of the features planned for glDoom in hardware. There are a lot video cards out there that call themselves 3D accelerators when all they can do is accelerate the drawing of triangles. Big deal. If they can't accelerate texture mapping, bilinear filtering and perspective correction they have no business calling themselves 3D accelerators. Unless you have an application where all you do is draw colored triangles.
I did not and do not want to deal with people telling me that glDoom won't run on their $29 3D accelerator because there are Direct3D drivers for it so it MUST be a 3D accelerator and the reason that glDoom is so slow and looks so crappy is that glDoom is crap when the actual problem is their "3D Accelerator".
Now, bear in mind that I'm talking about the current crop of 3D accelerators for the PC which were supposedly designed to accelerate the functions used for computer games. I'm not talking about some of the older high-end stuff that couldn't do it either. Those systems were cutting edge then. The few cards I'm referring to aren't even close to cutting edge.
What will the new features be?
There are a number of features planned for glDoom but many will not make it into glDoom I. glDoom I is intended to be first and foremost a simple upgrade of Doom's renderer to use a 3D API; OpenGL. The number of features added to this version will be minimal. The features currently planned for the initial release include:
- OpenGL rendering which allows bilinear filtering and texture smoothing and hardware acceleration.
- Looking up and down. (cvar controlled)
- Explosion transparency and translucency.
- Dynamic lighting from projectiles, weapon discharge and explosions.
- Player lighting from power-ups. (cvar controlled)
- Selected weapon display in deathmatch (over the player's head - also cvar controlled).
- Aiming crosshairs (only in conjunction with looking up and down).
Do you have plans for glDoom II?
Yes, there are tentative plans for a glDoom II which will not use the standard Doom WAD files. These will have to be converted to a new format for use with the new program and will require a new editor to enable the new features of glDoom II. There are a number of new features planned for that. These will be disclosed once glDoom is finished.
Where can I download glDoom?
glDoom is available on the downloads page. It is currently in public beta which means that it is still in development.
When will glDoom be finished?
glDoom will be finished "when it's done". Due to the circumstances under which I work, I can't give any kind of time frame for completion. It was released as a public beta this year but beyond that, I don't know. I never know what might crop up that will get in the way. I work a full-time day job and have a family as well. Both of these take priority over glDoom.
How much will glDoom cost?
glDoom will be absolutely free (except for whatever you have to pay for your Internet connection). Doom isn't my work and I can't charge for the program. Even if I could, I wouldn't. It's someone else's work for the most part and making money off of someone else's work is just wrong.
Will glDoom run on my machine?
If your machine meets the criteria listed below, then you can run glDoom on your system.
- Pentium 133 or faster
- Windows95/WindowsNT (DirectSound) compatible sound card.
- A 3D accelerator that has OpenGL drivers. cards based on the following chipsets SHOULD work:
- 3Dfx Voodoo II - tested
- 3Dfx Voodoo - tested
- 3Dfx Rush - tested
- 3Dfx Banshee - tested
- Rendition V2100 - tested
- Rendition V2200 - tested
- nVidia Riva 128 - tested
- nVidia Riva TNT - tested
- PowerVR PCX2 - drivers not finished
- Permedia II - tested (monochrome lighting only)
- Glint 500 - tested
- Glint GMX - tested
- Intergraph Realizm - tested
- Intergraph Realizm II - tested
- Evans & Sutherland - tested
- ATI Rage Pro - tested (incomplete)
- Intel i740 (Real3D) - tested
- nVidia Riva TNT - tested
- S3 Savage 3D - (being tested by S3)
- Matrox G200 - tested
- A minimum of 32 Meg of RAM for Windows95 and 48 for WindowsNT.
- DirectX 3 for (DirectSound & DirectInput)
Are you going to make it client/server like Quake?
Yes, after glDoom I is finished, I intend to make the program truly client/server and to make it possible to enter and leave games at will. There are a number of network enhancements planned for that release. They will be listed here when I get ready to add them. The list keeps changing. Unfortunately, you won't be able to play glDoom client/server against the legacy Doom versions. There are just too many changes required. All the specs for that will be published, though, so anyone else who wants to make the same changes to their ports will be able to do so.
How far along is glDoom?
glDoom is currently in public beta testing. I can't be more specific than that.
What version of Doom do I need for glDoom?
glDoom will work with any of the Doom games released by id Software. You must have version 1.9 of the game WAD for it to work, though. If you don't have version 1.9 you can download a patch to update your version to 1.9. ftp.cdrom.com is a good place to look. This INCLUDES Doom Shareware, Doom I, Ultimate Doom, Doom 2 and Final Doom. Third party WADs are not guaranteed to work flawlessly "out of the box" because of the differences in the engine between the original Doom and glDoom. Any "tricks" used by the WAD author can cause the program to behave in an unpredictable fashion.
glDoom already has a full set of alpha testers so please don't ask if you can be an alpha tester. The answer is no. The initial phase of the Beta test will also be closed but will be a wider test. This section has also already been filled so don't ask about that either. The second phase of the Beta test will be public. The source code will not be released until the public Beta is complete. This means that the source may not be released this year. It depends on how long the Beta testing takes.
In case you don't know what a public Beta test means, you can download the public Beta from the downloads page (or from mirror sites, if any) without any "qualification". Anyone can participate in a public Beta. It's basically just a release of the Beta program. This HAS NOT STARTED, yet.
The alpha test is going relatively well. Good progress is being made on every round. Fewer and fewer bugs of any consequence are manifesting themselves. Once all the serious bugs appear to have been fixed and the program is "feature complete", the public beta will begin. The private beta will begin when all the serious bugs have been fixed. This includes errors in the geometry handler and in the culling code.
The various card/chipset manufacturers are also still working on their OpenGL ICD's (drivers) and many of them have done very well. Some have not finished their drivers, yet and some have not even released their drivers. All the hardware that was been listed above except for the ones where the manufacturer is doing the testing has been tested and the program runs on it. The S3 Savage3D has not passed testing, yet.
As always, glDoom will be done "when it's done".
glDoom uses source code modified by someone other than id Software (that would be muggins here, me). id Software® is not responsible in any way, shape, form or fashion for any problems you may have running glDoom or for any consequences of running glDoom. So there. If you bother them with support questions about glDoom (or WinDoom), you will be in big, big trouble. I shall be forced send rough shadowy figures to your home to remove the "Do Not Use While Sleeping" tags from your hair driers and alert OSHA. Your dog will also stop talking. You will also be barred from buying any more "Jolt" cola no matter how good it is. You will then be forced by thirst to become a "Pepper".
DOOM® © 1993 Id Software® , Inc. All Rights Reserved.
DOOM images are the copyrighted property of Id Software, Inc., used with permission.
Okay, show's over, nothing else to see here. Move along. That means you, too. And you with the funny hair. And they guy who hasn't shaved today (eewww). And that delicious brunette. Well, she can stay, but the rest of you, clear off.
Good bye, please.
Hmmm, not good at taking hints, eh? How about this, then. The management of this establishment well, me, really, wants you to leave since you've read all there is to read on this page. There, did that clear it up for you?
No? Well, don't expect anything nice for your birthday, then. I've seen to it. That "Commander Cody"&trade secret decoder ring is history. And no "TV Jet"® , either. Now, how do you like that? Hmmm? In any case, please try to spend a little time in "Real Life"&trade so you don't become so pasty faced that the girls/women will think you're a creature of the deep or the dark.
Alright, fine. Hang out here as long as you like but I'm done. There won't be anyone to run the projector, now. And you've brought it all on yourself. Hmmmph! (stalks off)
Ahem. The Management apologizes most sincerely if any of the above threats made in jest were taken seriously and offence taken as the normal writer is a bit dolally. If you weren't threatened or offended he didn't try hard enough. We'll have to get someone better next time, eh? :wink: