Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

PRBoom+ guide [Usage, recording demos, and some extra info]

Recommended Posts

Posted (edited)

We've been lacking a condensed post with updated info, so hopefully this will suffice as a straight forward guide for new runners.



You'll need to grab prboom+, this fork of with cndoom's mouse movement option is a popular choice.


Make sure to turn on "Sikk cndoom mouse behavior" under general options. If you're doing categories where glides are important, you may want to leave this setting off.


You'll additionally need a copy of the iwad for what you're running (doom.wad, doom2.wad, etc) which can be found from any official release of the game.


Put them in the same folder, along with any pwads you'll want to be running.

Pwads are custom mapsets, such as Eviternity, Valiant, Ancient Aliens, Sunlust, etc.


Parameters and how to record

.bat files are an easy way to load doom and pass it the parameters required to record a demo. Unless you're familiar with paths in .bat files, put it in the same folder as everything else.


I use recorddemo.zip which will record demos with unique names each time you run it. Extract this into the same folder with everything else. You can edit the demoname part of demoname_%datestr%.lmp if you want unique names, such as sunlust_%datestr%.lmp


If you want to run something different, you'll need to right click the .bat file, select edit, and it should open up in notepad.

The parameters you'll likely need to be aware of are;

-iwad (which tells prboom which iwad to use)

-file <wadname>.wad, for loading custom mapsets

-complevel <#>. Custom mapsets are built with different compatibility levels in mind, 9 is the most common one you'll see, but if in doubt find your wad on https://dsdarchive.com/ and look at what other people are using.

-warp <map#> will start you at the provided map. If you're looking to do a specific level from a mapset you'll need this.

-skill <#> sets the difficulty, 4 is Ultra Violence.

-record <demoname>. The .bat file provided will use the current date and time to generate the demoname.



-iwad doom2.wad -file sunlust.wad -skill 4 -complevel 9 -record sunlustdemo

This will launch sunlust using doom2 as an iwad, on the ultra violence difficulty.


-iwad doom2.wad -file sunlust.wad -skill 4 -complevel 9 -shorttics

This is the same as above, but instead of recording a demo it launches the game with shorttics enabled, which changes the mouse movement to be the same as while recording a demo.

This is useful for practicing, as you'll have the same experience between practicing and recording.


-iwad doom2.wad -file eviternity.wad -skill 4 -warp 32 -complevel 11 -record evi32uvmax

This will launch eviternity using doom2 as an iwad, starting at map 32 on the ultra violence difficulty.


-iwad doom2.wad -skill 4 -warp 31 -complevel 3 -nomonsters -record lv31oxxx

This will launch doom 2, starting at map 31, with monsters disabled.


Demo naming and submitting

When you're ready to submit a demo, you'll want to make sure you name it appropriately.

This post by ZeroMaster010 has all the information you'll need:

The tl;dr is your filename should be (shortname for wad)(level)(category)(time).lmp. Such as evi32m2828.lmp.


You'll also want to take the demo file, write up a text file with the same name, and put them in a .zip file and upload them directly to the forum.

Here is a sample text file you can fill out: sampletextfile.zip


Virtually every mapset has a thread already created for posting demos into, so make sure you post demos in their appropriate thread instead of creating a new one.

If you're submitting a non-world record demo, there's a stickied thread for personal bests.


Helpful resources





https://discord.gg/ghWqUYu - If you have questions, the speedrunning discord is a great place to ask.

Edited by Daerik : bat file fixed

Share this post

Link to post
Posted (edited)

Extra information;


Advanced hud

Advanced hud provides some useful information the default hud doesn't. If you're going to use it for demos make sure to note that in the text file, "uses advanced hud" will suffice.




You can see the amount of monsters left alive, secrets discovered, and time. You'll want to make sure smart totals are turned off in the hud options.

You can access this hud by pressing the larger view keybinding repeatedly. The hud keybinding will cycle through various versions of the advanced hud.


They can be further customized by opening prboom-plus.wad in SLADE and editing -prbhud-.

I personally use image.png.e085c6d4b1c446e02cedbf8ee3f495bc.png

which can be found in prboom-plus custom hud wad.zip. Overwrite your prboom-plus.wad file with this.



Vertical mouse movement toggling

Glides require vertical mouse movement to execute, but leaving it turned on all the time can be difficult for regular play.

PRBoom+ has some support for toggling it on and off, but it's a little bit convoluted to setup.

Under options > general, set max view pitch to 1 (0 works, but looks wrong for me).

Under keybindings, assign mouse look to a button (this'll be what toggles it on and off).

Under options > mouse sensitivity, move the vertical slider to atleast 1 increment from the left. It'll probably take some experimentation to find the setting that works for you, I use 7 increments from the left.

Make sure mouse look is all the way to the left.



-viddump usage

If you have a demo you want to convert to a media file for uploading to youtube, you'll need to use -viddump. I'm not an expert on it but here's what works for me:

You'll need these files https://www.dropbox.com/s/dei4xox6mjh7lpq/viddump prerequisites.zip?dl=0.

Extract them to the same folder with prboom.

In prboom-plus.cfg (or glboom-plus.cfg if you use that) replace the # Video capture encoding settings with;


# Video capture encoding settings
cap_soundcommand          "oggenc2 -r -R %s -q 5 - -o output.ogg"
cap_videocommand          "x264 -o output.mkv --crf 22 --preset ultrafast --muxer auto --demuxer raw --input-csp rgb --input-depth 8 --input-res %wx%h --fps %r -"
cap_muxcommand            "mkvmerge -o %f output.mkv output.ogg"
cap_tempfile1             "output.ogg"
cap_tempfile2             "output.mkv"
cap_remove_tempfiles          1
cap_fps                      60

Use this bat file to launch it and record viddump bat.zip.

If you're using glboom, edit it to say glboom-plus at the beginning. Edit the -timedemo parameter to match your demo's name, and edit the -viddump parameter if you want a different file name for the media file.



Fixing the midi playback

While not specific to speedrunning, information on this isn't readily available.

Put this soundfont in the same folder with prboom+ gm.zip.

Edit prboom-plus.cfg/glboom-plus.cfg and edit # Sound settings to match;


# Sound settings
snd_pcspeaker                 0
sound_card                   -1
music_card                   -1
pitched_sounds                0
samplerate                44080
sfx_volume                    5
music_volume                  5
mus_pause_opt                 1
snd_channels                 32
snd_midiplayer            "fluidsynth"
snd_soundfont             "gm.sf2"
snd_mididev               ""
mus_extend_volume             0
mus_fluidsynth_chorus         0
mus_fluidsynth_reverb         0
mus_fluidsynth_gain          50
mus_opl_gain                 50

Note the sfx_volume and music_volume #'s are the sliders ingame.


Edited by Daerik

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now