Doom (1993)

From PCGamingWiki, the wiki about fixing PC games
(Redirected from Doom)

This page is for the original game. For the 2016 game, see Doom (2016). For the version included in the BFG Edition, see Doom 3: BFG Edition. For the 2020 Unity re-release, see Doom Classic.

Doom
Doom cover
Developers
id Software
Mac OS (Classic) Lion Entertainment, Inc.
Linux Dave Taylor
Publishers
GT Interactive
id Software
Engines
id Tech 1
Release dates
DOS December 10, 1993
Linux October 10, 1994
Mac OS (Classic) November 4, 1994
Windows August 20, 1996
macOS (OS X) 2001
Windows (DOSBox) August 3, 2007
Reception
IGDB 80
Taxonomy
Microtransactions None
Modes Singleplayer, Multiplayer
Perspectives First-person
Controls Direct control
Genres Action, Shooter
Themes Horror, Sci-fi
Series Doom
Doom (1993) on HowLongToBeat
Doom (1993) on IGDB
Doom (1993) guide on StrategyWiki
Doom (1993) on MobyGames
Doom (1993) on Wikipedia
Doom (1993) 1993
Doom II: Hell on Earth 1994
Final Doom 1996
DRL (unofficial game) 2002
Doom 3 2004
Doom 64 EX (unofficial port) 2008
Doom 3: BFG Edition 2012
Doom (2016) 2016
Doom VFR 2017
Doom Classic 2020
Doom II Classic 2020
Doom Eternal 2020
Doom 64 2020

Key points

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

General information

Doom Wiki
Doomworld — A major fansite for the series
ZDoom forums — ZDoom ports official forums, showcasing new mods
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
GamersGate
Icon overlay.png
Windows
Gamesplanet logo.svg
Icon overlay.png
The Ultimate Doom.
Windows
GOG.com
DRM-free
The Ultimate Doom. Pre-configured to run with DOSBox v0.74 (included in download).
Windows
Steam
DRM-free after installation through Steam client (notes may include more details)
The Ultimate Doom. Pre-configured to run with DOSBox v0.71 (included in download). Can be played without Steam. Comes bundled with Bethesda.net re-release of Doom Classic.
Windows
Bethesda.net (unavailable)
DRM-free after installation through Bethesda.net Launcher (notes may include more details)
The Ultimate Doom. Pre-configured to run with DOSBox v0.72 (included in download). Also includes the Bethesda.net re-release of Doom Classic.
Windows
Humble Store (unavailable)
Icon overlay.png
Windows
The Ultimate Doom is an updated version of Doom (1993) released on April 30, 1995, that features a new fourth episode, Thy Flesh Consumed. All digital distribution releases carry this version of Doom.
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).
The MS-DOS version of The Ultimate Doom included with Doom Classic from Bethesda.net comes with two versions of the IWAD, one as a separate download, and the other is included with the re-release in the base folder. The IWAD included with Doom Classic's installation is the unmodified version that is also found in the Steam release. The separate downloadable version has changes similar to Doom 3: BFG Edition, and may not be compatible with certain source ports.[2]

DLC and expansion packs

Name Notes
The Lost Episodes of Doom Unofficial commercial expansion released on floppy. Not available digitally.[3]
DOS
SIGIL Fifth episode released by John Romero for the 25th anniversary of Doom.
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.

Disable vertical mouse movement (DOS)[edit]

Game forces vertical mouse movement (forward and backward movement via mouse).
Automating novert in DOSBox (Steam release)[4]
novert is a program that disables vertical mouse input.
  1. Download novert and extract novert.com in <path-to-game> alongside DOOM2.EXE.
  2. Edit ultimate.conf and ultimatem.conf with a text editor, and in the [Autoexec] section, add novert.com before the line calling the game's executable.
  3. Save the changes in the *.conf files and close.

Source ports[edit]

Since the release of the engine's source code, various source ports have been released. See the link above for details and recommendations.

Enhancement mods[edit]

DOS and all source ports[edit]

  • Minor Sprite Fixing Project - Corrects sprite offsets and other graphical errors. Compatible with both original DOS release and source ports.
  • Perkristian hi-res Doom sound pack - The hi-res sound pack contains remastered versions of the Doom sound effects which have been remade at higher sampling rates (Doom's original sound effects were sampled at 11025 Hz, which is considered fairly low-quality nowadays).

ZDoom-based source ports[edit]

  • Master Levels Menu Interface - An in-game menu that serves to replace the old DOS program that would launch a chosen WAD of the Master Level for Doom II expansion. This mod allows the ability to play them in one sitting without restarting the game or loading each individual WAD file.
  • WadSmoosh - Combines all the official classic Doom IWADs (Doom, Doom II: Hell on Earth, Master Levels for Doom II, and Final Doom) the user can provide, as well as the No Rest for the Living WAD from Doom 3: BFG Edition and the SIGIL WAD released for Doom's 25th anniversary, into a single PK3 IWAD with each game selectable as episodes. The bonus secret levels from the Xbox port of Doom 3 (which can be downloaded from here) and the widescreen assets from the 2020 Unity re-releases can also be integrated.[5]
  • WidePix - A collection of 2D widescreen replacement graphics that faithfully extends the original 4:3 assets up to widescreen resolutions. These differ from the unrelated widescreen graphics featured in the 2020 Unity ports as they are created from the ground up, support up to 21:9 resolutions, and feature an animated intermission screen for Doom's Inferno episode. Included with GZDoom as of v4.5.0. Can be used with WadSmoosh v1.3 and does not require implementing the widescreen assets from the 2020 Unity ports.[5] Also supports Heretic, Hexen, Strife, Chex Quest 3, Hacx, and Harmony as of v1.3. For widescreen assets for other PWADs, see this Doomworld thread.
  • GZSprFix - A repacked version of Minor Sprite Fixing Project for GZDoom, combining both mods into one while using GZDoom's folder filter feature to load the relevant fixes to the respective IWADs and converting the DeHackEd patches into ZScript.
  • Roland SC-55 music packs - Soundtrack for Doom recorded on an authentic SC-55, the midi player for which the soundtrack was mixed on. Choose either OGG or FLAC; MP3 does not support proper looping.
  • Smooth Doom - Smooth Doom is a spriting project/general enhancement that adds newly drawn frames to all of DOOM's weapons and actors.
  • Cblood - Changes the blood color of monsters to match their sprite counterparts (e.g. Cacodeamon now has blue blood) without replacing actors.
  • RetroShader - A shader mod for GZDoom that replicates the low-resolution appearance and color depth of vanilla Doom without lowering its resolution or rendering scale.
  • Thematically Improved Mouse Cursors - Adds themed cursors for Doom, Strife, Heretic, Hexen and Chex Quest.

Any source port[edit]

  • Widescreen Status Bar - Designed for compatible source ports that support widescreen resolutions. In addition to removing the 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.
  • SC-55 Soundfont - Special sound bank, that emulates Roland SC-55 (sound module, that was used by Bobby Prince to compose Doom soundtrack) to provide the most accurate music quality.
  • SC-55 Soundfont - Special sound bank, that emulates Roland SC-55 (sound module, that was used by Bobby Prince to compose Doom soundtrack) to provide the most accurate music quality.
  • Boom - Boom is a source port created by TeamTNT. The design goals of the Boom project were to create a source port of professional quality, fix bugs and remove limitations of vanilla Doom, and add extra editing features, while keeping the same "feel" and "spirit" of the original Doom engine.
  • PrBoom - Brought Boom to Windows, and made large improvements to the graphics: first higher resolutions, later OpenGL rendering.
  • PrBoom Ray Traced This is a modified build of PrBoom to enable real time ray tracing using Vulkan rendering.

Game data[edit]

Configuration file(s) location[edit]

System Location
DOS <path-to-game>\DOOMDATA\
Windows <path-to-game>\Utimate Doom for Windows 95\[Note 1]
Mac OS (Classic)
Linux
Steam <path-to-game>\Ultimate Doom\base\
Steam Play (Linux) <Steam-folder>/steamapps/compatdata/2280/pfx/[Note 2]
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\[Note 1]
Mac OS (Classic)
Linux
Steam <path-to-game>\Ultimate Doom\base\
Steam Play (Linux) <Steam-folder>/steamapps/compatdata/2280/pfx/[Note 2]
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
It doesn't list it on the store page but it does have working cloud saves.
Steam Cloud

Video[edit]

In-game options menu.
In-game options menu.

Graphics feature State WSGF Notes
Widescreen resolution
Removed in v1.2.
See Source ports.
Multi-monitor
Supported by GZDoom.[6] See Source ports.
Ultra-widescreen
See Source ports.
4K Ultra HD
See Source ports.
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)
See Source ports.
Anti-aliasing (AA)
See Source ports.
Vertical sync (Vsync)
See Source ports.
60 FPS
Capped at 35 FPS;[7] for 60+ FPS, see Source ports.
120+ FPS
See Source ports.
High dynamic range display (HDR)
For GZDoom, use vid_hdr console variable.[8]
Ray tracing
For PrBoom Ray Traced.

Field of view (FOV)[edit]

Use the console (source ports only)
  • For ZDoom-based ports and Odamex: enter fov <1-179>.
  • For Legacy Doom: enter gr_fov <1-179>
  • For Doom Retro: enter r_fov <45-135>

Borderless fullscreen windowed[edit]

PrBoom+: Run PrBoom+ in windowed mode at the display's native resolution[9]
GZDoom: Perform the following for either Modern or Vintage branches (v3.5.0 or newer; Windows only)[10][11]
  • Modern branch: No longer supported natively as of v3.8.3. See this thread for details. Use Special K version 21.2.15.0 via .dll injection, not global injection as newer versions will crash GZDoom. Rename SpecialK32.dll (32-bit) or Specialk64.dll (64-bit) depending on the GZDoom version to OpenGL32.dll and place this file to where GZDoom is installed in the computer.
  • Vintage branch: Natively supported; set Fullscreen to OFF and Borderless Windowed Mode to ON from the Video Mode options.
Doom Retro: Enable borderless fullscreen in configuration file[12]
  1. Open the *.cfg file(s) where the Doom Retro folder is located with a text editor.
  2. Find the variable vid_borderlesswindow and set it on, then find vid_screenresolution and set it to desktop.
  3. Save the changes. Doom Retro now should run in borderless fullscreen windowed.

Input[edit]

Keyboard and mouse State Notes
Remapping
Mouse acceleration
See Source ports.
Mouse sensitivity
Mouse input in menus
See Source ports.
Mouse Y-axis inversion
See Source ports.
Controller
Controller support
Full controller support
Supported by ZDoom and its derivatives as well as Doom Retro and Woof. See Source ports.
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
Some source ports have adjustable analog stick sensitivity settings. ZDoom and its derivatives also support XInput trigger sensitivity settings. See Source ports.
Controller Y-axis inversion
See Source ports.
Controller types
XInput-compatible controllers
ZDoom-based source ports and Doom Retro have XInput support.
Xbox button prompts
Use a ZDoom-based source port or Doom Retro.
Impulse Trigger vibration
DualShock 4 controllers
Tracked motion controllers
Use Classic Doom VR
Button/gesture prompts
Generic/other controllers
Additional information
Button prompts Input settings icon - Generic Controller.svg ZDoom and Doom Retro reference XInput controllers with Xbox notations.
Controller hotplugging
Supported by ZDoom and Doom Retro. See Source ports.
Haptic feedback
Doom Retro features vibration for XInput controllers.
Simultaneous controller+KB/M
ZDoom-based source ports and Doom Retro allows simultaneous inputs between controller or keyboard and mouse.

Audio[edit]

Audio feature State Notes
Separate volume controls
Sound Effects, Music
Surround sound
See Source ports.
Subtitles
No spoken dialogue.
Closed captions
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[13][14] (A3D support discontinued since version 1.7.0)[15]
A3D can be hacked in the WinDoom port through IAS[16]
General MIDI audio

Localizations

Language UI Audio Sub Notes
English
Japanese
Fan translation. Translates the in-game HUD into Japanese katakana and kanji. Download here.
Russian
Fan translation. Download here.

Network[edit]

Multiplayer types

Type Native Players Notes
Local play
2 Co-op, Versus
Use Doom Legacy, SsZDoom or Eternity BananaSplit.
LAN play
4 Co-op, Versus
Online play
4 Co-op, Versus
Zandronum is recommended for online play as it adds modern networking support and simplifies the process of finding games.

Connection types

Type Native Notes
Matchmaking
Peer-to-peer
Dedicated
Provided by Zandronum and Odamex. See Source ports.
Self-hosting
Direct IP
See Source ports.

Ports

Protocol Port(s) and/or port range(s)
TCP 666
UDP 666
Universal Plug and Play (UPnP) support status is unknown.
These are the ports used by the vanilla game. The ports to forward for each source port will vary.
It is highly recommended not to forward these ports without a good reason! Some malware uses these ports as an entry point into systems.[17]

VR support[edit]

3D modes Native Notes
Nvidia 3D Vision
See Helix Mod: GZDoom, requires GZDoom.
Headsets Native Notes
HTC Vive
Use Classic Doom VR
Oculus Rift
Use Classic Doom VR
OSVR
Windows Mixed Reality
Use Classic Doom VR
Devices Native Notes
Tracked motion controllers
Use Classic Doom VR
See Input for details.
Traditional controller
See Input for details.
Keyboard/Mouse
Play area Native Notes
Seated
Standing
Room-scale

Issues fixed[edit]

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

Disable double-buffering in DOSBox[18][19]
  1. Go to <path-to-game>\base\.
  2. Edit ultimate.conf and ultimatem.conf with a text editor.
  3. Under the section [sdl], look for the line fulldouble=true and set it to false.
  4. Save and close both files.

Doom95 doesn't start on Windows 7[edit]

Use d95patch[20]
This patch includes dgVoodoo 2 and the Doom95 Mouse Patch.
  1. Install Doom95 from the CD-ROM or shareware versions of Doom.
  2. Download d95patch here.
  3. Extract the contents of d95patch.zip to <path-to-game>, replacing all files in the process.
  4. Run Doom95.exe, then click the Advanced Options button, go to Screen Resolution tab and set the Screen Size to 320x200 and display mode to Fullscreen, then click OK to save the changes. This is to avoid distorting the image (aspect-ratio correction is handled through dgVoodoo 2) and bugs with the automap on resolutions higher than 320x240.[21]

Other information[edit]

API[edit]

Technical specs Supported Notes
Direct3D 9 Doom Retro only for D3D9 support. Full D3D10/11 rendering is not supported by any source port. Some ZDoom derivatives support modern D3D APIs but only for rendering software/GUI/2D elements, there is no Direct3D render support yet. See Source ports.
DirectDraw 2 Doom 95 only.
WinG
Doom 95 only.
OpenGL 2.0, 3.3 Supported in Doom Retro, GZDoom, PrBoom and Zandronum. See Source ports.
Software renderer
Vulkan
Modern versions of GZDoom and PrBoom Ray Traced. See Source ports.
DOS video modes VGA
ExecutablePPC 32-bit 64-bitARM Notes
Windows
For 32/64-bit, see Source ports. ARM source ports must be built from source, with one known fanbuilt binary known to exist.[22] Original game is 16-bit DOS only.
macOS (OS X)
PowerPC support applies to the Doom Legacy source port.[23]
Linux
PowerPC support applies to the ChocolateDoom source port.

System requirements[edit]

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

Notes

  1. 1.0 1.1 When running this game without elevated privileges (Run as administrator option), write operations against a location below %PROGRAMFILES%, %PROGRAMDATA%, or %WINDIR% might be redirected to %LOCALAPPDATA%\VirtualStore on Windows Vista and later (more details).
  2. 2.0 2.1 File/folder structure within this directory reflects the path(s) listed for Windows and/or Steam game data (use Wine regedit to access Windows registry paths). Games with Steam Cloud support may store data in ~/.steam/steam/userdata/<user-id>/2280/ in addition to or instead of this directory. The app ID (2280) may differ in some cases. Treat backslashes as forward slashes. See the glossary page for details.

References

  1. id-Software/DOOM: DOOM Open Source Release
  2. DOOM: The New Official Source Port - Now on PC! (First Impressions) - last accessed on 2020-09-08
  3. The Lost Episodes of Doom
  4. Steam Community :: Guide :: Doom 2 Disable Vertical Mouse Movement - last accessed on August 4, 2016
  5. 5.0 5.1 WadSmoosh 1.3 - WadSmoosh by JP Breton (itch-io) - last accessed on 2020-11-07
  6. ZDoom 2.5.0 changelog - last accessed on October 11, 2018
  7. VOGONS • View topic - Doom in DOS: Original vs Source Ports - last accessed on December 15, 2017
  8. ZDoom • View topic - GZDoom 3.5.1 Released
  9. Verified by User:AmethystViper on 2022-05-11
    Tested with PrBoom+ v2.6.2
  10. ZDoom • View topic - GZDoom 3.5.0 released - last accessed on February 2, 2019
    "(modern branch only) Fullscreen is now borderless window (which, technically, it always has been, anyhow). Removed hacks which changed the desktop resolution in order to simulate exclusive fullscreen because they were a constant stability concern."
  11. Verified by User:Axer128 on May 10, 2022
  12. Verified by User:AmethystViper on 2022-05-11
    Tested with Doom Retro v4.4.10.
  13. JDoom + SBLive! + a3dapi.dll support file = INCREDIBLE! - New Doom Forums
  14. About: The Doomsday Engine - Doomsday HQ (retrieved)
  15. Doomsday Version History - Doomsday HQ (retrieved)
  16. IAS Doom Port - Extreme Audio Reality
  17. Port 666 (tcp/udp) :: SpeedGuide - last accessed on 2017-12-19
  18. Steam Community :: Guide :: How to get DOOM to work on Windows 8 without downloading any sourcecodes or mods - last accessed on August 4, 2016
  19. 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.
  20. Verified by User:AmethystViper on 2022-04-08
    Tested this patch on Windows 10 Home 64-bit 21H2.
  21. Doom95 - The Doom Wiki at DoomWiki.org - last accessed on 2022-04-08
  22. [APP PrBoom (Doom port) for Windows RT] - last accessed on 2021-07-14
  23. Doom Legacy for OS X - last accessed on 2020-11-20