Doom (1993)

From PCGamingWiki, the wiki about fixing PC games
(Redirected from Doom)
Doom
Doom cover
Developers
id Software
Mac OS Lion Entertainment, Inc.
Linux Dave Taylor
Publishers
GT Interactive
id Software
Engines
id Tech 1
Release dates
DOS December 10, 1993
Mac OS (Classic) November 4, 1994
Linux 1994
Windows August 20, 1996
Doom (1993) guide at StrategyWiki
Doom (1993) at Wikipedia
Doom
Doom (1993) 1993
Doom II: Hell on Earth 1994
Final Doom 1996
Doom 3 2004
Doom 64 EX (unofficial port) 2011
Doom 3: BFG Edition 2012
Doom (2016) 2016
Doom VFR 2017

This page is for the original game. For the 2016 game, see Doom (2016).

Key points

The engine was made open source in 1997.[1]

General information

Doom Wiki
Doomworld — A major fansite for the series
GOG.com Community Discussions for game series
GOG.com Support Page
Steam Community Discussions

Availability[edit]

Source DRM Notes Keys OS
Retail
DRM-free
Regular or The Ultimate Doom.
DOS
Mac OS
Windows
Amazon.com
Icon overlay.png
Windows
GamersGate
Icon overlay.png
Windows
GOG.com
DRM-free
The Ultimate Doom. Pre-configured to run with DOSBox v0.74 (included in download).
Windows
Humble Store
Icon overlay.png
Windows
Steam
Icon overlay.png
The Ultimate Doom. Pre-configured to run with DOSBox v0.71 (included in download). Can be played without Steam.
Windows
The Ultimate Doom is also available as part of Doom 3: BFG Edition. This version includes GOG.com and Steam achievements.
A shareware episode is also available (comes with the first episode, "Knee-Deep in the Dead").
The shareware IWAD can be downloaded separately from the main release (to be used with source ports).

Version differences[edit]

The Ultimate Doom is an updated version of the original Doom that features a new fourth episode, Thy Flesh Consumed. All digital distribution releases carry The Ultimate Doom.

Alpha and Beta releases[edit]

A list of all alpha, beta, and shareware versions of the game can be found at Doomworld Shareware section. Details about each alpha and beta release can be found both on The Page of Doom and the Doom Wiki. Note that the .WAD files available in the alphas and beta are not compatible with any Doom source port. They should work in DOSBox however. You can use the following batch launcher to make it's usage with such easier.

Alpha Launcher
@echo off
set dos4g=quiet
:start
@echo off
CLS
echo                          ═════════════════
echo                          DOOM Pre-Releases
echo                          ═════════════════
echo.
echo      ┌───────────────────────────────────────────────────────────────┐
echo      │ [1] Doom 0.2                                                  │
echo      │ [2] Doom 0.3                                                  │
echo      │ [3] Doom 0.4                                                  │
echo      │ [4] Doom 0.5                                                  │
echo.     ├───────────────────────────────────────────────────────────────┤
echo      │ [5] Doom press release beta: easy                             │
echo      │ [6] Doom press release beta: normal                           │
echo      │ [7] Doom press release beta: hard                             │
echo      │ [Q] Quit!                                                     │
echo      ─────────────────────────────────────────────────────────────────
echo.
:choice
choice/c:1234567q/n Choose Number:
if errorlevel 8 goto exit
if errorlevel 7 goto betah
if errorlevel 6 goto betan
if errorlevel 5 goto betae
if errorlevel 4 goto 05
if errorlevel 3 goto 04
if errorlevel 2 goto 03
if errorlevel 1 goto 02
if errorlevel 0 goto exit

:02
CLS
cd doom0_2
doom
cd ..
goto start

:03
CLS
cd doom0_3
doom
cd ..
goto start

:04
CLS
cd doom0_4
doom
cd ..
goto start

:05
CLS
cd doom0_5
doom
cd ..
goto start

:betae
CLS
cd doomdemo
fakedate
newdoom -devparm -skill 0 -pressrelease %1 %2 %3 %4 %5 %6 %7 %8 %9
fakedate /u
cd ..
goto start

:betan
CLS
cd doomdemo
fakedate
newdoom -devparm -pressrelease %1 %2 %3 %4 %5 %6 %7 %8 %9
fakedate /u
cd ..
goto start

:betah
CLS
cd doomdemo
fakedate
newdoom -devparm -skill 2 -pressrelease %1 %2 %3 %4 %5 %6 %7 %8 %9
fakedate /u
cd ..
goto start

:exit
CLS
echo DOOM
echo by id Software, inc.
echo Copyright (C) 1993

Alpha maps that have been converted to work with modern versions of the engine can be found here. Note that they are still development/education quality, being strait ports of the maps, and not meant for use as a typical game addon.

Downloadable content (DLC) and expansions

Name Notes
The Lost Episodes of Doom Unofficial commercial expansion released on floppy. Not available digitally.[2]
DOS

Essential improvements[edit]

Patches[edit]

All patches for the retail versions of Doom (as well as Doom II: Hell on Earth and Final Doom) can be found here. The retail versions of the original Doom can be upgraded to The Ultimate Doom through patches.

novert[edit]

When using the keyboard and mouse configuration in Doom or similar games on DOS or through DOSBox, vertical mouse movement causes the player to move forward and back, which can make mouse aiming difficult. novert is a DOS TSR that disables vertical mouse movement to prevent unnecessary player movement.

Automating novert in DOSBox[3]
  1. Download novert from Doomworld here, then extract novert.com from the zip file to where the game's executable is located, usually found under <path-to-game>.
  2. Open the *.conf file that launches the game in DOSBox with a text editor (e.g. Notepad, Notepad++), search for the [Autoexec] section, then add the command novert.com above the line with the game's executable. An example of using this command can be seen below.
  3. Save the changes in the *.conf file and then run the game. You should be to use the mouse to aim without moving forward and back.
MOUNT C "."
C:
novert.com
DOOM.EXE -config MOUSE.CFG

Source ports[edit]

Since the release of the source code, several modified engines have emerged.

Name Description
ZDoom Renderers available: Software.
Limit-removing source port that has features such as high resolutions and all-new editing features for modders. Most mods are designed around ZDoom's features. Uses a software renderer which could cause some incompatibility issues with mods that use special effects reliant on OpenGL like Brutal Doom. No longer in development by the original developer.[4]
Windows
macOS (OS X)
Linux
GZDoom Renderers available: Software, OpenGL.
Based on the same code as ZDoom, except it also uses an OpenGL renderer. Nearly every mod should work with GZDoom, specifically ones that use special effects.
Windows
macOS (OS X)
Linux
QZDoom Renderers available: Direct3D, OpenGL.
A successor to ZDoom, based off GZDoom except it uses a 32-bit true-color renderer instead of an 8-bit one. It has been merged with GZDoom
Windows
macOS (OS X)
Linux
Zandronum Renderers available: Software, OpenGL.
Based off modified ZDoom code. Use this source port if you want to play multiplayer, as it significantly overhauls the netcode from ZDoom. Basic mods that change the maps are fully supported, but more complex mods such as Brutal Doom varies. Check to see if the mod supports Zandronum or if there's a separate version that does.
Windows
macOS (OS X)
Linux
Odamex Renderers available: Software.
Source port based on ZDoom 1.22 (and parts of 1.23) that focuses on multiplayer while staying close to the original Doom. Not as widely used as Zandronum.
Windows
macOS (OS X)
Linux
PrBoom Renderers available: OpenGL.
Source port based off Boom (a source port that was made by TeamTNT) that uses an OpenGL renderer that supports high resolutions.
Windows
macOS (OS X)
Linux
PrBoom+ Renderers available: Software, OpenGL.
Based off PrBoom that attempts to extend the port with more features.
Windows
macOS (OS X)
Linux
Chocolate Doom Renderers available: Software.
Source port that aims to accurately reproduce the experience of playing vanilla Doom. Renders at a low-resolution (that's upscaled to higher resolutions) and purposefully keeps the original game's limits.
Windows
macOS (OS X)
Linux
Doom Retro Renderers available: Software (with acceleration), Direct3D, OpenGL.
Source port based off Chocolate Doom that supports vanilla, limit-removing and Boom-compatible maps and makes a few other changes/fixes for the modern age while still keeping the classic Doom experience.
Windows

You can view a more exhaustive list on Wikipedia or a set of comparison tables on DoomWiki.org. The history of various source ports is examined on Doomworld. Latest Git builds of ZDoom, GZDoom, QZDoom, and Odamex are available at DRD Team Development Builds.

Launchers[edit]

If using a source port, it is recommended to use any of these following launchest to easily load the WADs or PK3 files, change their loading order, add the command lines or even set up the starting level. Some of these even allows you to save the list of mods you have added.

Name System Notes
SSG Launcher Windows, Mac OS X, Linux The launcher also has the extra functionality with launching Doom 64 EX, the DoomRPG mod, and also the OBLIGE Level Maker.
ZDL Windows There are 3 versions managed by each developer and the only version that is available is Q's that is currently linked. Others such as Bio's and WildGoose's are no longer available
RocketLauncher Windows, Linux Based on Qt, RocketLauncher consists many features to customize your game and a support for DOSBox. Linux users should compile it in order to install it.
Doom Launcher Windows Besides being a launcher, it also allows you to download mods from /idgames database.

Useful WAD/PK3 files[edit]

The following wads are designed to fix some sort of game data bug or a feature short coming of the game. They do not add any levels/change play style and thus are generally compatible with most user add-ons.

Minor Sprite Fixing Project - Repairs bad sprite offsets and other graphical errors normally encountered when viewing the player and NPC sprites. Works on Doom I despite the thread only referencing Doom II. Vanilla (DOS) executable compatible
Blood Fixer - Fixes monsters bleeding the wrong color of blood when the player damages them compared to the blood color shown on their corpse. Doom Retro has its own optional blood color correction feature.
Random Deaths & Decoration - Randomizes enemies' death sprites and animations as well as various decorations.
Smooth Doom - An interesting project that aims to improve all Doom in-game animations. It also additionally contains the above three fixes already integrated. There is also a version with only monster animations as well as a companion, Smooth Textures, that improves wall texture animations. Based heavily on perkristian's smoother weapons mod. ZDoom-based source ports (excluding Zandronum) only; for the Doom Retro and Crispy Doom source ports, see SMOOTHED and Black Ops.
Beautiful Doom - A similar project similar to Smooth Doom which aims to improve on many of the game's animation, visual, and blood effects while retaining vanilla gameplay. It also adds physics-based gib effects and interactive objects (e.g. breakable lights, destructible decorations), new weapon and monster sound effects, and has some features adapted from Smooth Doom. Only compatible with GZDoom.
Widescreen Status Bar - Designed for compatible source ports that support widescreen resolutions. In addition to removing the ugly brick patterns that appear on the side of the bar when upscaling it, it also helps prevent graphical glitches that sometimes occurs from the upscaling process. Some source ports may require adjusting the status bar upscaling size manually in their respective options menu to retain the intended aspect-ratio.
Thy Flesh Consumed Intermission Map - Restores the, strangely missing, intermission screen animated map to The Ultimate Doom's fourth episode.
SC-55 Music Pack - For source ports that support OGG, FLAC, or MP3 playback. Allows you to listen to Doom's music more authentically without having to own expensive MIDI hardware. Patch93's SC-55 Soundfont is an alternative for source ports that support custom .SF2 soundfonts for MIDI playback or supports external MIDI synthesis software.
hi-res Doom sound pack - Aims to improve all of Doom's sound effect samples whilst being faithful to the originals, which it surprisingly is. An interesting offshoot of this project is also available in the form of sound calking, which aims to give each monster its own unique sound effects in addition to improving their quality.

WadSmoosh[edit]

If using the GZDoom or QZDoom source ports, you can use JP LeBreton's WadSmoosh tool to combine any of the official DOS-era Doom games' IWADs (Doom, Doom II: Hell on Earth, Master Levels for Doom II, and Final Doom) that you own, as well as the No Rest for the Living WAD from Doom 3: BFG Edition, into a single PK3 IWAD with each game selectable as episodes. The bonus secret levels from the Xbox port of Doom 3 and Resurrection of Evil expansion can also be integrated. The tool along with a guide to use it can be found here.

Content[edit]

A freely redistributable replacement of Doom-like assets is available at Freedoom, forming a completely free and open source game. Art assets from the original game such as the levels, sounds, textures, etc., remain under copyright. They can be purchased from Steam, GOG.com, or copied from an original game disc.

Game data[edit]

Configuration file(s) location[edit]

System Location
DOS <path-to-game>\DOOMDATA\
Windows <path-to-game>\Utimate Doom for Windows 95\
Mac OS (Classic)
Linux
Steam <path-to-game>\Ultimate Doom\base\
C:\DOOMDATA is used if running v1.1 or from CD; C:\DOOM_SE is used if The Ultimate Doom is installed from CD.
It's unknown whether this game follows the XDG Base Directory Specification on Linux. Please fill in this information.

Save game data location[edit]

System Location
DOS <path-to-game>\DOOMDATA\
Windows <path-to-game>\Utimate Doom for Windows 95\
Mac OS (Classic)
Linux
Steam <path-to-game>\Ultimate Doom\base\
C:\DOOMDATA is used if running v1.1 or from CD; C:\DOOM_SE is used if The Ultimate Doom is installed from CD.

Save game cloud syncing[edit]

System Native Notes
GOG Galaxy
Steam Cloud

Video settings[edit]

In-game options menu.
In-game options menu.
Graphics option Option WSGF Notes
Widescreen resolution
Removed in v1.2.
A source port is required. See Source ports.
Multi-monitor
When using the GZDoom port. See Multi-monitor.
Ultra-widescreen
4K Ultra HD
Field of view (FOV)
See Field of view (FOV).
Windowed
Toggle with Alt+ Enter in DOSBox or its source ports, if supported.
Borderless fullscreen windowed
See Borderless fullscreen windowed.
Anisotropic filtering (AF)
A source port is required. See Source ports.
Anti-aliasing (AA)
A source port is required. See Source ports.
Vertical sync (Vsync)
A source port is required. See Source ports.
60 FPS
Capped at 35 FPS;[5] for 60+ FPS, see Source ports.
120+ FPS
See Source ports.

Multi-monitor[edit]

ZDoom seeks to support multiple monitors out of the box since version 2.5.0. Widescreen Gaming Forum discusses multi-monitor set ups with GZDoom.

The oldest versions of Doom supported multi-monitor by having a network of three computers, used to expand the field of view. The three clients needed to be launched with the following parameters: doom -devparm -net 3 -left, doom -devparm -net 3, and doom -devparm -net 3 -right.[6]

Field of view (FOV)[edit]

Depending on your choice of engine, you can usually change the field of view with a console command, or even in the options. Try fov <1-179> or gr_fov <1-179>.

Borderless fullscreen windowed[edit]

The following lists source ports that supports borderless fullscreen windowed, either natively or though third-party programs.

GZDoom: enable fake fullscreen mode[7]
Requires v3.2.4 or newer; Windows only.
  1. Open the *.ini file(s) where the GZDoom folder is located with a text editor.
  2. Find the variables fullscreen= and set it to false, then find win_borderless= and set it to true.
  3. Save the file(s). GZDoom should now run in borderless fullscreen windowed.
Doom Retro: use Direct3D or Software rendering while running at native desktop resolution[8]
  1. Open the *.cfg file(s) where the Doom Retro folder is located with a text editor.
  2. Find the variables vid_scaleapi and set it to either direct3d or software inside the quotation marks, then find vid_screenresolution and set it to desktop.
  3. Save the file(s). Doom Retro now should run in borderless fullscreen windowed.
PrBoom+: Use Borderless Gaming while running PrBoom+ at your display's native resolution[9]

Input settings[edit]

Keyboard and mouse Native Notes
Remapping
Keys can be remapped for the DOS version with the SETUP.EXE program. A source port offers broader support for key remapping.
Mouse acceleration
A source port is required. See Source ports.
Mouse sensitivity
Mouse sensitivity in the DOS version in the in-game options menu. Source ports also provides mouse sensitivity options.
Mouse input in menus
A source port is required. See Source ports.
Mouse Y-axis inversion
A source port is required. See Source ports.
Controller
Controller support
Full controller support
ZDoom, as well it's derivatives, and Doom Retro features full controller support.
Controller remapping
Limited to only remapping Fire, Use, Sprint, and Strafe in the DOS version. Some source ports feature broader controller remapping options. See Source ports.
Controller sensitivity
False for the DOS version. Some source ports have adjustable analog stick sensitivity settings. ZDoom and its derivatives also support XInput trigger sensitivity settings.
Controller Y-axis inversion
A source port is required. See Source ports.
Additional information
Button prompts Input settings icon - Generic Controller.svg DOS version references buttons by numbers. ZDoom and Doom Retro references XInput controllers with Xbox notations.
Controller hotplugging
False for the DOS version, however ZDoom and Doom Retro supports hotplugging.
Haptic feedback
Doom Retro features vibration for XInput controllers.
Simultaneous controller+KB/M

Audio settings[edit]

Audio options Native Notes
Separate volume controls
Sound Effects, Music
Surround sound
A source port is required. See Source ports.
Subtitles
No spoken dialogue.
Closed captions
Only pickups sounds have linked messages.
Mute on focus lost
A source port is required. See Source ports.
EAX support
A3D 3.0 and EAX 2.0 can be used in the jDoom port[10][11] (A3D support discontinued since version 1.7.0)[12]
A3D can be hacked in the WinDoom port through IAS[13]

Localizations

Language UI Audio Sub Notes
English

Network[edit]

Multiplayer types

Type Native Players Notes
Local play
2 Co-op, Versus
A source port required.
LAN play
4 Co-op, Versus
Online play
4 Co-op, Versus
For split screen use Doom Legacy, SsZDoom or Eternity BananaSplit.
A source port is recommended for online play as it adds modern networking support and simplifies the process of finding games. Most major source ports (like Zandronum) also increase the max player limit (for Zandronum, the limit is 64)

Connection types

Type Native Notes
Matchmaking
Peer-to-peer
Dedicated
Requires source port.
Self-hosting
Direct IP
Possible in source ports.

Ports

Protocol Port(s) and/or port range(s)
TCP (outbound) 666
UDP (outbound) 666
These are the ports used by the vanilla game (no source ports). The ports to forward for each source port will vary
It is highly recommended not to forward these ports without good reason! Some malware uses these ports as an entry point into a system.[14]

VR support[edit]

3D modes Native Notes
Nvidia 3D Vision
See Helix Mod: GZDoom, requires GZDoom.
Headsets Native Notes
HTC Vive
Use ViveDoom
Oculus Rift
Use ViveDoom
OSVR
Windows Mixed Reality
This game might be playable with the Revive Compatibility Layer (compatibility list).
Devices Native Notes
Tracked motion controllers
Traditional controller Partial support See Input settings for details.
Keyboard/Mouse
Play area Native Notes
Seated

Issues fixed[edit]

Game does not run in DOSBox (Steam)[edit]

Disable double-buffering in DOSBox[15][16]
  1. Go to <path-to-game>\base\
  2. Open ultimate.conf with a text editor such as Notepad or similar program.
  3. Under the section [sdl], look for the line fulldouble=true and set it to false.
  4. Saves the changes made to the file.
  5. Repeat Steps 1-3 for the ultimatem.conf file.
  6. Launch the game. It should be able to boot properly in fullscreen.

Doom95 doesn't start on Windows 7[edit]

Apply necessary fixes and Doom95 XP Mouse Patch[17][18]
  1. Apply a palette fix (see Rainbow color problems in older games).
  2. Right-click the DOOM95.exe file, click Properties, go to the Compatibility tab, then set it to Windows 95 compatibility mode and check Run the program as administrator option.
  3. Go to %WINDIR%\SysWOW64, copy dplayx.dll and paste it into <path-to-game>, then rename the copied file to dplay.dll.
  4. Now download the Doom95 XP Mouse Patch and extract it to <path-to-game> folder.
  5. Run the program; at the end of the page, click the install button.
  6. Use the Configure button to disable Vertical Axis to prevent moving forward with the mouse; smooth the mouse and add parameters if desired.
  7. Now run DOOM95.exe, go to Advanced/Screen Resolution and set it to the highest resolution available.

Other information[edit]

API[edit]

Technical specs Supported Notes
Direct3D
A source port is required. See Source ports.
DirectDraw 2 Doom 95 only.
OpenGL
A source port is required. See Source ports.
Software renderer
DOS video modes VGA
64-bit executable
A source port is required. See Source ports.

System requirements[edit]

DOS
Minimum Recommended
Operating system (OS) MS-DOS 6.2
Processor (CPU) Intel 386 Intel 486
System memory (RAM) 4 MB 8 MB
Hard disk drive (HDD) 100 MB
Video card (GPU) VGA graphics card

References

  1. id-Software/DOOM: DOOM Open Source Release
  2. The Lost Episodes of Doom
  3. Steam Community :: Guide :: Doom 2 Disable Vertical Mouse Movement - last accessed on August 4, 2016
  4. ZDoom • View topic - ZDoom is Dead. Long live ZDoom. - last accessed on May 5, 2017
  5. VOGONS • View topic - Doom in DOS: Original vs Source Ports - last accessed on December 15, 2017
  6. Official DOOM FAQ, section 9.2
  7. GZDoom 3.2.4 Released - ZDoom Forums - last accessed on December 18, 2017
    "implemented win_borderless for fake fullscreen in Windows"
  8. Verified by User:AmethystViper on December 18, 2017
  9. Verified by User:AmethystViper on April 25, 2016
  10. JDoom + SBLive! + a3dapi.dll support file = INCREDIBLE! - New Doom Forums
  11. About: The Doomsday Engine - Doomsday HQ (retrieved)
  12. Doomsday Version History - Doomsday HQ (retrieved)
  13. IAS Doom Port - Extreme Audio Reality
  14. Port 666 (tcp/udp) :: SpeedGuide - last accessed on 2017-12-19
  15. Steam Community :: Guide :: How to get DOOM to work on Windows 8 without downloading any sourcecodes or mods - last accessed on August 4, 2016
  16. Verified by User:AmethystViper on August 4, 2016
    Have tested using Windows 95 compatibility on the game's executable when using DOSBox, which did not stop the freezing issue until disabling double-buffering within DOSBox under Windows 7 and 8.1.
  17. Doomworld Forums - Doom95 mouse patch for XP available now - last accessed on August 4, 2016
  18. How to run Doom95 on Windows Vista/7 - The Doom Wiki at DoomWiki.org - last accessed on August 4, 2016