Bruce Lewis: glDoom

We recently had a chance to interview Bruce Lewis, the person responsible for porting the Doom source code over from software rendering to OpenGL. While glDoom isn't finished yet, Bruce Lewis's work appears to be progressing quite well. Here is the interview, along with a few screenshots of glDoom.


LiMbO: Would you care to give any background information on yourself? What your career is?

Bruce Lewis: I've been programming for 19 years, 15 of them professionally. I write communications and control software for my company. I'd rather not go any further than that.

LiM: Since John Carmack released the Doom source code back in December, there have been many independent ports, changes, and modifications to the source, including your port over to Win32. How difficult of a task was this?

BL: It wasn't very difficult to do what I did. I've been using DirectX for about 3 years so I didn't have to get used to that. I've been doing Windows programming about 8 years so I'm pretty familiar with that as well.

The hardest part was just figuring out where to put the hooks for the Win32 and DirectX code. That's why I had a port up and running in about three days.


LiM: How will glDoom's detection of OpenGL compatibility work, will minidrivers for 3Dfx and PowerVR boards need to be copied to the doom directory such as GLQuake works, and if an ICD or MCD is the method of OpenGL support, will opengl32.dll in windows\system be checked?

BL: It will let Windows' DLL search find opengl32.dll to load so if you have one in the game directory it will find that first. Otherwise it will look in the Windows System directory for it.

new effects added to the Doom engine


LiM: For those people who don't have a proper OpenGL capable board, will they at least get to see what glDoom looks like via SGI's or Microsoft's software OpenGL?

BL: It works under software OpenGL but it's REALLY slow. It's a bit faster on NT but still far too slow to be playable.

LiM: GLQuake and GLQuake2 have many functions to 'tweak' the OpenGL renderer(s) for better performance on slower machines. Will glDoom feature similiar settings such as gl_flashblend, gl_polyblend, etc?

BL: I haven't gotten that far yet.

all the violence of Doom with all the features of OpenGL


LiM: There are other Doom projects showing up on the internet now and then, and alot of them are going to end up being pseudo Duke3d style changes. You decided not to go this route and keep the gameplay basically original from the original source code. Can you explain why?

BL: I enjoy Doom as it is. I feel like if I change the game play much, I'm trying to turn it into something else. I wanted to update the graphics and I think OpenGL does a pretty good job of that. There are a couple of other things I'm going to add like looking up and down and doing height testing for collisions between sprites. There may be a few others but they elude me at the moment.

I didn't make any changes except higher resolutions to WinDoom because it was a stepping stone for me to glDoom. All the graphics advances will be in glDoom.

I believe in making a stable platform first then enhancing the features of it like Team TNT is doing with Boom. I chose to go with Win32 rather than DOS but that's just my preference. I think Win32 has much more longevity than DOS.


its all the same, now its accelerated and in high resolutions


LiM: At one time there were only two companies making 3d action titles - id software and 3D Realms. On top of that, there were only a few games: Doom, Quake, and Duke3d. Now, almost two years later, we see MANY companies making MANY 3d games - most of them using id's technology. Do you think the 3d shooter genere could someday be like the real time strategy games, in that there will be over 40 games released per year, and half of them being really good?

BL: I think the saturation point has nearly been reached already. There are only so many variations on the theme. After a while they all seem just alike.

They aren't but they seem that way.

id's technology seems to be the front-runner with everyone else trying leap-frog them. They just keep plugging away, though, and every generation is more technically advanced than the last. They keep raising the bar for everyone else.

Competition in the 3D shooter genre will only make all the games better, I think, so that even the "bad" ones will be pretty good. Otherwise they won't see the light of day. I don't think we'll see 40 games released a year but I wouldn't be surpised to see half that many and most of them be good games.


The Cyberdemon: fear


LiM: Final question. Direct3d vs OpenGL, Microsoft vs SGI. What do you think will happen?

BL: If I could predict what would happen with that, I'd be a rich man or in trouble with the SEC.


Our note:

Our thanks go out to Bruce Lewis for this interview.

glDoom looks to be a spectacular port of Doom, and should be a required download for anyone who owns a copy of Doom and has a video board capable of running it. If your current board(s) can run GLQuake or GLQuake2, it will run glDoom.

All images here are owned by Bruce Lewis, maintainer of WinDoom and glDoom.