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.
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.
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.
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.
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.