← Previous → Next Contents

Last modified: Fri Mar 6 12:48:33 EST 2009


Best enhanced source port:  PrBoom-Plus

PrBoom-Plus is a relatively modest fork off of PrBoom, and I have only recently switched from one to the other, so most of the notes on PrBoom also apply to PrBoom-Plus.

PrBoom 2.4.7 / 2.5.0


(Software renderer, without OpenGL.)

Description:  Enhanced source port.

Source:  http://prboom.sourceforge.net/

Linux

To get music to work, you have to install TiMidity and put timidity.cfg somewhere that it will be found (like the current working directory).  TiMidity music is not identical to what Vanilla DOOM produced using a SoundBlaster, but it is passable and possibly the best that is doable.

The menu lets you choose 6 or 8-channel sound, but I only ever got stereo out.

User input and rendering are smooth.  There are separate sensitivity controls for the vertical and horizontal axes of the mouse / trak ball, and you get plenty of headroom on both.

A raft of run-time options control compatibility nits like the stair-climbing ability of goons, but the simplest thing is to use the command-line switch –complevel, which takes a magic number as documented in README.compat to specify what version of DOOM to emulate.  When it works and is properly configured, PrBoom is very DOOMlike.

When OpenGL is enabled, the graphics get much darker.  If I max out the gamma in PrBoom and set it way higher in the nVidia driver, then it's playable  However, many objects sink into the floor.  There is an option called "Item out of floor offset" that can be used to fudge all of the coordinates higher; a value of 3 yields tolerable results.

Rendering nits appear with regularity when OpenGL is enabled, but the vast majority are attributable to the WAD file and are just obscured by software rendering.  The rendering nit shown below, from E1M6, is present in the OpenGL renderer but not in the default "8bit" software renderer.

Here are some more screenshots with OpenGL enabled.  All have been postprocessed with qdgamma 1.75 to simulate the effect of increasing the gamma in the nVidia driver.  All have gl_sprite_offset ("Item out of floor offset") set to 3.

(Screenshot) Default settings for PrBoom 2.4.7:  gl_colorbuffer_bits=16, gl_tex_filter_string="GL_LINEAR" and gl_tex_format_string="GL_RGB5_A1"

(Screenshot) With gl_colorbuffer_bits=24, gl_tex_filter_string="GL_LINEAR_MIPMAP_LINEAR" and gl_tex_format_string="GL_RGBA8"

(Screenshot) That, plus 16xAA and 16xAF set in nVidia driver

(Screenshot) E2M2 at 1600×1200, with the same GL, AA and AF settings as the previous.

Windows XP SP2

(Tested with PrBoom 2.3.1)  Does not run as smoothly as the Linux version.

PrBoom-Plus 2.5.0.1


(1920×1080 screenshot scaled to half size; follow link for full size.  GL_LINEAR_MIPMAP_LINEAR, GL_RGBA8, 16xAA and 16xAF, render_fov=110, qdgamma 1.5.)

Description:  Fork of PrBoom with minor enhancements.

Source:  http://sourceforge.net/projects/prboom-plus/

Linux

I tried PrBoom-Plus because I could not get a correctly scaled widescreen picture from PrBoom after upgrading to a 16:9, 1920×1080 monitor.  PrBoom-Plus offers a command line switch, –aspect, to fix aspect ratio problems.  The usage was not immediately obvious to me, but it works.  With my new monitor, to get a widescreen DOOM game that is not squished in either direction, the correct answer is –aspect 32x15.  That's 8:5 (from 320×200) multiplied by 4:3 (the ratio of the monitor's actual 16:9 to the expected 4:3).

Obviously, the gun graphic is scaled incorrectly, but worse things could happen.  I am now playing this in lieu of PrBoom.  Apart from the added features, it seems very similar—bug-compatible, even.

Interesting tidbit:  The ASUS VK246H monitor is so bright that I normally set the brightness in the nVidia driver to −50.  However, with all default settings, the extra brightness of the monitor seems to exactly cancel out the extra darkness of OpenGL graphics in PrBoom[-Plus].  Coincidence?  Click for original, unadjusted screenshot.

How to FAIL

PrBoom and PrBoom-Plus do not default to compatible behavior the way that Chocolate DOOM does.  If you don't use the –complevel command-line switch, you will encounter incompatibilities with Vanilla DOOM.  I forgot about that when migrating from PrBoom to PrBoom-Plus and got bent out of shape when the wall switches in E3M4 (House of Pain) operated even after the crushing pillars had lowered into the pits.  The correct complevel for this level is 3 (Ultimate DOOM), and when using –complevel 3 the problem does not reproduce.

The only complevels relevant here are those that emulate the three variants of DOOM 1.9:  refer to README.compat for the others.

complevelNameDescription
2doom2_19_compatibilityDOOM 2 1.9
3ultdoom_compatibilityUltimate DOOM
4finaldoom_compatibilityFinal DOOM

I have played PrBoom more than I ever played Vanilla DOOM back in the day.  I played all the way through E1 and E2 in OpenGL without encountering a serious problem.  Considering that most source ports flunk out before finishing E1M1, that is quite an achievement.  Various older versions had various glitches, but I have had no problems recently.


← Previous → Next Contents
KB
Home