Versions of Doom and Doom II

From 1993 to 1995, various versions of Doom and Doom II were released by id Software to address bugs and input from players and fans. Additionally a few pre-release builds were preserved by testers, which eventually made their way to public archives. Summarised below are the main differences of each known version of the games, as changes were made. Executable and IWAD resource differences are noted, as well as what levels were modified, if any. For details on what was changed in each level, refer to the article about that level.

Pre-release builds
In order to make playability of these pre-releases easier a batch launcher has been provided below (Must be run in DOS/DOSBox). Alternatively a map pack WAD with all the pre-release levels is available here (Note that they are still development/education quality, being straight ports of the maps, and not meant for use as a typical game addon).
 * 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

v0.2

 * Compiled February 4, 1993.
 * One flat level with non-orthogonal texture-mapped walls, variable light levels, and inactive monsters.
 * Non-interactive status interface like a helmet interior.
 * Commands to alter some level properties.

v0.3

 * Compiled February 28, 1993.
 * Several maps in their earliest known forms.
 * A fully functional on-screen automap.
 * Though apparently never released to id's alpha testers, this build was sent to several industry professionals for comment and review. A copy was found in late 2014, and released to the idgames archive in 2015.

v0.4

 * Compiled April 2, 1993.
 * Various recognizable levels in an early stage of design.
 * Non-functional lifts.
 * Player rifle can be fired.

v0.5

 * Compiled May 22, 1993.
 * More levels are present, including a version of MAP10: Refueling Base.
 * Platforms move, and doors can be opened.
 * The player is harmed by damaging floors, and can die.
 * Various items are present, and can be picked up.
 * Health kits will heal the player, but use graphics from Wolfenstein 3D.
 * Clips give ammo.
 * Keys and bonus (point scoring) items are also present.
 * The inactive monsters disappear when shot.
 * The player has a rifle bayonet for melee attacks.

Press release beta

 * Compiled October 4, 1993.
 * Functionally is fairly close to the commercial release.
 * Includes three levels.
 * The plasma gun fires red as well as green shots.
 * The BFG9000 fires many plasma gun shots in a wide field in front of the player.

v1.0

 * Released December 10, 1993.
 * Initial public release.
 * Internally numbered as v0.99.
 * No registered version yet.
 * It is possible to play the 1.1 registered IWAD with this version, one must rename this wad to "doom1.wad", it also mentions that this is the "commercial version" in the startup screen, rather than registered.

v1.1

 * Released December 16, 1993.
 * The first registered release of Doom.
 * First appearance of gamma correction, which is either on or off.
 * A more stable version of the DOS extender (DOS/4GW).
 * Sound Blaster 1.0 support.
 * Textual changes:
 * At the text screen of Knee-Deep in the Dead "buy" is changed to "play" in the final sentence.
 * The "This version is NOT SHAREWARE, do not distribute!" text was added, to be shown with the registered version.
 * Many more, including capitalization, spelling corrections and additional error messages.


 * Serial mode multiplayer was added.
 * The command line parameters -send and -receive were added.

v1.2

 * Released February 17, 1994.
 * Rewritten sound code.
 * Modem/null-modem support. This release saw the network code split into external "drivers", providing a modular network system.
 * PAS-16 stereo support.
 * First appearance of "Nightmare!" skill level.
 * Mouse and joystick can be used in the menus.
 * Gamma correction mode was expanded to include five settings (0–4).
 * Improved joystick calibration.
 * Multiplayer text macros.
 * The -left and -right network options no longer work.
 * Textual changes:
 * "CENTER the joystick and press button 1:" was added, changes to other joystick messages were also made.
 * "I_StartupSound: forking sound daemon." in 1.1 was changed to "I_StartupSound: Hope you hear a pop."
 * "OpenSocket: ..", "ListenForPacket: .." and a few others were removed.
 * The status bar is modified and now uses a single STBAR image as a backdrop.

Bug fixes:


 * Fix for the broadcast packet bug which caused many networks to suffer decreases in performance.
 * Runs under Windows.
 * Z_Malloc error implemented.
 * IRQ 2 works.
 * Savegame slots 5 and 6 work.
 * Switches and platforms work when reloading from a saved game.
 * Network play no longer locks up when using a sound card.

v1.3
There are three known variants of this version: first level and second level betas, and a shareware build marked as v1.25. id Software stated that these beta releases were unauthorized, possibly because these executables had partial support for Doom II, which was being developed at the time.

Second level

 * Improvements to MIDI and modem code.
 * Additional PAS console information.
 * Could load doomr.wad (commercial mode, what would become DOOM2.WAD).
 * Textual changes:
 * "malloc in I_InitNetwork failed" was added.
 * "program loaded at: 0x%p" was removed.
 * "Game mode indeterminate" was added and "Adding external file %s." was removed.
 * "registered version." was added.
 * "Do not distribute!" was added when in commercial mode.


 * -wart parameter was changed to support loading from MAP** files, also located in m:/cdata/ (including E*M* files).
 * The command line parameters: -regdev and -comdev were added.
 * -regdev loads these files: c:/localid/doom.wad, m:/data/texture1.lmp, m:/data/texture2.lmp, m:/data/pnames.lmp and c:/localid/default.cfg.
 * -comdev</tt> loads these files: c:/localid/doomr.wad, m:/cdata/texture1.lmp and m:/cdata/pnames.lmp.
 * It is understood that these parameters were used to aid in the development of Doom and Doom II into 1 unique executable, "regdev" would have meant "registered development mode" and the "com" in "comdev" would have meant "commercial".

v1.25
A v1.25 build of shareware Doom was prepared by id Software for distribution by Sybex with the licensed book The Official Doom Survivor's Strategies & Secrets by author Jonathan Mendoza, which included two 3.5" high density floppy disks.
 * Released April 21 1994.
 * The engine internal version is 1.3.
 * Could load doom2.wad (commercial mode)

v1.4

 * Released June 28 1994.
 * Support for 14.4 and 28.8k modems.
 * Improved null-modem/modem support.
 * Improved version of setup:
 * Phone number list.
 * Database of modem control strings.
 * Addition of a level warp key (F1).
 * Allows up to 8 sound channels to be selected.


 * Addition of Deathmatch 2.0 (altdeath mode).
 * First inclusion of the Doom FAQ.
 * Multiplayer demos can be recorded.
 * Recorded demos no longer end when the player dies or at the end of a level. The 'Q' key must be pressed to end a demo.
 * Addition of the Parameter command line argument.
 * Addition of multiplayer "spy" mode (F12 key).
 * PWAD files can no longer be used with the shareware version.
 * Maps can be reloaded using the cheat code when map editing on a LAN, via the  command line parameter.
 * Response file support.
 * AWE32 support.
 * The swastika Easter egg in E1M4: Command Control was removed.
 * Random sound pitch removed. (This was an unintentional side effect caused by a change in the DMX API.)

Bug fixes:


 * Projectiles no longer trigger linedefs.
 * More than two people can play over a network without crashes.
 * Sound problem fixes.
 * Fix for a bug with the PS/2 mouse.
 * Savegame bug fix, where player saves a game under a door, restores it and presses the use key.
 * Difficulty can be selected when starting a null-modem/modem game.
 * '+' and '-' can be typed in multiplayer chat mode.
 * Map bug fixes.

v1.5
Bug fixes:
 * Released July 8, 1994.
 * Rewrite of the null-modem/modem support (SERSETUP).
 * Improved GUS instrument mapping file.
 * Increased savegame buffer size.
 * Added MIDI support, in addition to MUS.
 * Replaced GS Standard reset with GM On/Off SysEx.
 * Factored in mobj radius in P_CheckMeleeRange; and
 * Replaced short-range hitscan by melee range check in A_SargAttack. This made demon-triggered infighting impossible.


 * Help screen mentions the gamma correction function.
 * Bug with response file fixed.
 * Bug when using a baud rate greater than 38,400 bps in null-modem/modem games fixed.
 * Deathmatch bug fixed where items reappeared but could not be picked up.
 * Monster barrel suicides are no longer possible.

v1.6
Registered version 1.6 appears to be an unofficial patch only, created by Eric Yick Leung and distributed around various Usenet newsgroups. The IWAD file has changed since 1.2.


 * Released August 3, 1994.
 * ENDOOM had changed, text was added by Eric, calling himself a "DOOM-GOD" and John Romero a "Chicken", a reference of the former also appears on a newsgroup thread.
 * All demos are different, but are recreations of earlier demos. DEMO1 is almost the same. DEMO2 is a cooperative demo, with some intentional frags, long rumored to be Leung and Romero playing. DEMO3 is another recreation.

Doom II version

 * Compiled August 30, 1994.
 * Released September 30, 1994.
 * An alternate version, dated August 25, 1994 is considered to be pirated.
 * Addition of the -timer</tt> command line option.
 * Doom FAQ updated to version 5.8.
 * Lost souls no longer count as monsters (to accommodate for Doom II's pain elementals).

Doom version

 * Released September 1, 1994.
 * OPL music playback crash was fixed.
 * First appearance of.

v1.7

 * Released October 11, 1994.
 * Various IWAD changes.
 * DeathManager! was not included in this release.
 * README.EXE</tt> file was added back.
 * No README.TXT</tt> file.
 * OPL music playback freeze was fixed.

v1.7a

 * Released November 8, 1994
 * Various level design bugs. (HOM, see through walls, etc.).
 * Sound code changes.
 * Re-appearance of DeathManager! version 1.1.
 * ENDOOM</tt> lump had a phone number change.

v1.8

 * Released January 23, 1995.
 * Doom FAQ updated to version 6.666.

v1.9

 * Released February 1, 1995.
 * A large amount of text from  was cut, presumably because it duplicated information that was already covered in the bundled copy of the Doom FAQ.

Ultimate Doom

 * The engine internal version is still 1.9.
 * Support for Ultimate Doom: can select the fourth episode, the ending text.
 * Only the bosses present in original maps can trigger tag 666.
 * The lost souls bounce off ceilings and floors (see Demo desyncing caused by bouncing lost souls).
 * The executable expects four demos, and will exit after the third demo if DEMO4 lump is not present.
 * Introduces a bug that would hide par times after idclev which affects Doom II and Final Doom.

Final Doom

 * The engine internal version is still 1.9. The same executable is used for both the TNT: Evilution and The Plutonia Experiment; the game setting is selected depending on the IWAD name (either tnt.wad or plutonia.wad).
 * New level names and intermission texts if playing Evilution or Plutonia.
 * Teleporters do not set the Z coordinate, causing player to teleport into the air sometimes.
 * Setting joyb_speed to 31 in the configuration file doesn't make the player always run as in the previous 1.9 versions, though the value of 29 works in all versions.

Final Doom, id Anthology version
''Some copies of the id Anthology contain an updated Final Doom; the rest use the version described above. The GOG.com release uses this alternate version.''
 * The engine internal version is still 1.9, and likewise the same executable is used for both IWADs.
 * The teleportation bug introduced in the original Final Doom was fixed.
 * The bug with skies never changing was fixed.
 * The missing yellow key in TNT MAP31 was fixed.
 * Missing deathmatch starts in both TNT: Evilution and The Plutonia Experiment were added.
 * Executable expects 3 demos again to resolve issues with IWADs other than Ultimate Doom. As a result, Ultimate Doom will only show the first 3 demos and it won't crash on IWADs where the fourth demo is missing.

Source release

 * The engine internal version is 1.10.
 * This was a source release only. No binaries were included. The source code was for the Linux version, not the DOS one.
 * The bug with skies never changing was fixed.
 * The FixedDiv function uses floating-point division internally, leading to occasional desyncs.

Doom Classic
Doom Classic is a version of the Doom engine integrated into id Tech 4, originally created by for the Xbox ports of Doom and Doom II, and later carried across by Nerve Software for the Xbox 360 Live Arcade ports. It was ported back to the PC for Doom 3: BFG Edition.
 * The internal version is 1.11.
 * Code ported to C++ language.
 * Thy Flesh Consumed levels have gained par times.
 * Visplane limit raised to 384.
 * Drawsegs limit raised to 1280.
 * Built-in support for No Rest for the Living and the Master Levels.
 * The renderer still works in 320x200, but this output is then scaled to 960x600.
 * Maximum view bobbing amplitude reduced by 25%.

Doom Classic (Unity)
Further versions of the Doom Classic codebase have been developed as of 2019, utilizing the game engine as an abstraction layer in place of id Tech 4. Development was initially handled by Nerve Software and then continued in-house at id Software.