Doom 1: A Hellish 3D Game
id Software released the original version of Doom for IBM PC MS-DOS in December of 1993. Doom is a first-person shooter (FPS) most notable for its action-packed gameplay, engine coding and DeathMatch multi-player mode.
As it pertains to computer games, Doom was the Killer App of its generation. [1]
The origin of Doom is Wolfenstein 3D of 1992 whose origin is Catacomb 3-D of 1991.
Doom of 1993 was followed-up by id Software's Quake of 1996.
Doom was distributed on 4x 3.5" 1.44MB HD diskettes and extracts and installs to hard disk drive via Doom Installation utility and LHA's SFX of 1991 by Yoshi. The install size is 11 megs and consists of 10 files. Doom music supports General MIDI, Sound Canvas, WaveBlaster, Sound Blaster, UltraSound and AdLib. Doom sound effects support PC Speaker, UltraSound and Sound Blaster.
Doom is a v1.95 Rational Systems' DOS/4GW Protected Mode run-time. Thus, Doom does not require and is not compatible with memory managers such as EMM386 or QEMM; nor SMARTDRV disk-caching.
Doom 1 Engine
Coded by John Carmack and Michael Abrash, the Doom engine is most notable for its efficiency in shifting around a ton of sprites and texture-mapped geometry at high framerates. Doom is all about high-speed gameplay driven by efficient code. In the early 1990s Doom did that best in the 3D action-game genre.
Considering the density of the action and complexity of the graphics, it is astounding that 35 FPS was achievable on i486DX-33s (11 MIPS). Top of the line in 1993 was the i486DX2-66 (25 MIPS). [2]
In regards to 3D coding pedigree in the early 90s, only Braben's Frontier: Elite 2 and Sphere's Falcon 3.0 contended with Doom in terms of trail-blazing technical prowess.
Like most MS-DOS games, Doom was coded to run in Mode 13h VGA 320x200 resolution at 4:3 aspect ratio via CRT-native scaling. Doom ran in 8 bit color depth or 256-color palette range, which suffices to display textures, digitized bitmaps, sprite details, brightness modifiers and color fades.
Doom 1 WAD file format
Most of Doom's asset and data files are stored in a single uncompressed *.wad file named DOOM.WAD. The wad file contains compiled 3D maps (Binary Space Partitioning files), sprites, textures, music and sounds.
The file is about 10 megs in size. Thus, the game easily fit on HDDs of the era.
Doom 3D Innovations
Please note that I am not going to employ technical Doom-engine jargon in my description of Doom's graphics. Besides, coders have already done that better than I ever could. Instead, I will just employ basic technical terms in my attempt to describe Doom's graphics from the perspective of a gamer who played Doom in its heyday.
Doom levels are built from several hundred polygons. In basic terms, levels consist of rooms connected by halls, staircases and lifts; they are made up of fully texture-mapped floors, ceilings and walls of varying heights, widths, depths and angles.
Indeed, rooms can be of any geometric shape and walls can assume any angle, not just 90-degrees, which increases level variability and realism far beyond the pre-Doom FPS.
Doom features gameplay verticality and seamless transitioning; that is, by virtue of coding trickery levels have perceivable storeys and doors can be passed through without area changes or loadscreens. The rooms and halls are not chambered as separate areas but are rather linked contiguously to create seamless, non-linear environments to explore.
Draw distance extends map-wide but visibility is based on sector lighting and obstructions. When you fire a weapon over a long distance you can eventually hear the projectiles hitting the wall far away.
For added immersion Doom employs light-sourcing in that rooms and halls glow and flash with gunfire and monster fireballs. In addition, visibility is modified via light levels and light diminishing: unlit sprites and geometry are shrouded in darkness when not in proximity to a light source.
One nice touch is that flaming torches flick light on the walls.
Truth be told the lighting effects are incredible considering the tech-limitations of the time. They didn't come close to early-90s raytracing programs but we're talking about a game that runs in real-time, not rendered-out 3D cinematics (CGI).
Light shining through a window in Doom Alpha 0.5:
Surface animations are applied to floors and ceilings to indicate hazards such as radioactive ooze (nukage). The surface anims are not generated by algorithms on-the-fly, they are "just" animated or color-cycled textures.
Doom's 300-odd texture-tiles range in dimensions up to 128x128px.
2D digitized bitmaps of 256x128px wrap around levels as backdrops (e.g., a mountain range), which adds depth to the scenes without adding hardware-taxing geometry. While not technically skyboxes, the effect is similar.
Here you can see the wall angles and textures. You can also see a "fake" (2D) mountain range through a window. Note how every 3D surface has its own texture-map.
In conclusion, it was angled walls, gameplay verticality, level-seamlessness, light-sourcing and full surface texture-mapping that separated Doom from its FPS predecessors, such as id Software's own Wolfenstein 3D of 1992.
Doom 1 Sprites
Interactable objects, static placeables, explosions, projectiles and monsters are represented on-screen as 2D sprites. Doom's chunky, clay-like sprites were pre-digitized in fixed dimensions but at multiple viewing angles and in multiple states of activity, shrinking and scaling in the 3D viewport depending on their proximity to the cam.
While sprite-scaling had long been a mainstay of Sega rail-shooters and other games that predate SNES Mode 7, Doom scaled and shifted around more detailed sprites than any of them, and in much greater numbers.
Consider for example that monster sprites each have about 50 frames that cover rotation, attack and death anims. Doom has about 800 frames of sprite animation in total.
Destructible barrels are also sprites. Firing projectiles into barrels to thin out demon ranks is a tactic, not a gimmick. Players or monsters caught in barrel-blast AoEs are knocked back and damaged or killed.
Sprites were presumably chosen for Doom because early 90s hardware could not render (in real-time) textured meshes that would match sprite detail in the object numbers Doom displays, which can exceed 100.
How many polygons would it take to create one model that resembles a humanoid? 50? 100? Now multiply that by 100 and show me a consumer-level PC from 1993 that could generate them on-the-fly, fully animated, equipped and textured. Early 90s polygonal humanoids were flat-shaded, cube-like and moved around slowly, like robots.
Thus, sprites.
Being hideous but amusing, monster sprites also added a lot of character to Doom; character that it would not have been able to convey with low-poly models.
Note that 2D MS-DOS games were just starting to spread their wings in the early 90s. Many of them were smoothly shifting around and quickly switching between big or many bitmaps which, only a few years prior, had been the exclusive province of Amiga games, coin-ops and Carmack's 2D games (e.g., smooth parallax hardware scrolling and hardware sprites).
If Doom did not bring an end to the history of classic shoot 'em ups, Quake certainly did.
Doomguy
In Doom the player assumes the role of a space marine ("Doomguy") who was transferred to Mars by the military. On the moons of Mars (Phobos and Deimos), a corporation is building teleport-gateways for space travel, but the experiments go wrong and demonic hordes starting pouring out of the gateways, possessing or killing everyone.
Thus, Doomguy must mow down hundreds of monsters over dozens of levels, wielding several different weapons. If he fails humanity is doomed.
Doom Gameplay
The object of Doom is to find the exit on each level and defeat the boss on the last level of each episode.
Doom's levels are maze-like environments replete with locked doors, crushing ceilings, obstructions, environmental hazards and raging monster-hordes. As in arcade-action games, secrets areas can be discovered that contain weapons, ammo and power-ups.
Resource management includes health, armor and ammo, just like arcade games. Players can switch between several weapons on-the-fly, depending on level itemization.
To collect items players simply run over them. Doing so increases combat stats that are shown in the status display panel.
Due to obstructions it is possible to take out monsters from safe positions (since not all monsters can fire projectiles). It is wise to save power-ups and back-track to them when they are needed.
As a result of friendly fire, Doom monsters often turn on each other, thereby thinning out their ranks through infighting (ammo conservation).
Monster attacks and movements are dynamic rather than scripted or set to patrol-paths: monsters set off in pursuit or start attacking players as soon as they hear or catch sight of them, which can lead to chaotic battles in which players are mobbed by charging melee monsters or come under heavy fire by riflemen or shotgunners.
There is no targeting reticule aka crosshairs to indicate projectile destination but impact-points are briefly visible, thereby aiding targeting. Players cannot tilt their viewpoint up or down. Thus, aiming at monsters is the same regardless of their elevation. [3]
In addition, there is no crouching, leaning, jumping or manual reloading of weapons, but there is strafing, sprinting and strafe-sprinting.
Doom menus are simple and fast to navigate. The Ultimate version of Doom includes a Help Screen that outlines hotkeys as well, which is useful when learning to play the game.
The wireframe automap updates the player's position in real-time, but Carrier Command had that feature in 1988. I suppose Doom could have pinned an always-on automap to the viewport (like the Alphas), but it would probably have been too small to be useful.
Doom 1 Soundtrack
The iconic Doom soundtrack consists of dozens of PCM files that form 23 heavy rock / heavy metal tracks. MIDI- or arcade-style music (low sample rate) was common in MS-DOS games of the era. In addition, there are over 100 unique sound effects in Doom.
Doom 1 Conclusion
Overall, Doom's controls are responsive, its graphics are clear, collision detection is fine and the game offers enough variety in level, monster and weapon design to keep players engaged for hours, to say nothing of the plethora of Doom wads or Doom's robust coop and DeathMatch modes, both of which are inexhaustible.
GZDoom Source Port for Doom 1
There have been many engine source ports for Doom that hook into the original-game WAD file.
The OpenGL- or Vulcan-powered x64-native GZDoom, for example, grants players an embarrassment of display, customization and QoL features.
To give an indication, gzdoom.ini is over 800 lines long.
The most obvious change to gameplay is the ability to play Doom like a modern FPS, with up/down mouse-look (free-look) and WASD keys. Also, projectiles leave impact-point dents and scorch-marks on surfaces, aiding targeting. GZDoom offers tailorable auto-aim as well as always-run, switch on pickup and vertical bullet spread toggles.
The most obvious change to graphics is GZDoom's Open GL or Vulcan hardware acceleration support, which allows for display scaling, texture filtering, anisotropic filtering and advanced color settings. Lightmaps and brightmaps can be toggled. The trilinear texture filtering basically depixelates sprites and surfaces, plasticizing them to match modern "sensibilities."
Due to increased control, stabler framerates and overall clarity of the hardware-accelerated graphics, Doom difficulty is decreased when played in GZDoom.
For example, I knocked several seconds off my long-standing Doom time records simply by playing GZDoom instead. Thus, it is not the same game.
This review is written based on the original and authentic Doom run natively in MS-DOS.
Doom 1 Story Episodes
Doom's story is made up of episodes that are divided into levels. There is one episode in Shareware Doom, three episodes in Doom 1 and four episodes in Ultimate Doom.
At the end of each episode is an intermission, updating the "plot," such as it is (see above image).
- Knee-Deep in the Dead (Shareware Doom)
- The Shores of Hell
- Inferno
- Thy Flesh Consumed (Ultimate Doom)
Each episode consists of a series of levels:
Doom 1 Levels
There are 10 levels aka maps in Shareware Doom, 27 levels in Doom 1 and 36 levels in Ultimate Doom.
- Hangar (Ep.1: Knee-Deep in the Dead)
- Nuclear Plant
- Toxin Refinery
- Command Control
- Phobos Lab
- Central Processing
- Computer Station
- Phobos Anomaly
- Military Base
- Deimos Anomaly (Ep.2: The Shores of Hell)
- Containment Area
- Refinery
- Deimos Lab
- Command Center
- Halls of the Damned
- Spawning Vats
- Tower of Babel
- Fortress of Mystery
- Hell Keep (Ep.3: Inferno)
- Slough of Despair
- Pandemonium
- House of Pain
- Unholy Cathedral
- Mt. Erebus
- Gate to Limbo
- Dis
- Warrens
- Hell Beneath (Ep.4: Thy Flesh Consumed: Ultimate Doom)
- Perfect Hatred
- Sever the Wicked
- Unruly Evil
- They Will Repent
- Against Thee Wickedly (46)
- And Hell Followed
- Unto the Cruel
- Fear
Doom 1 Weapons
Doom weapons have damage and rate of fire (RoF) stats as well as projectile spreads (horizontal dispersal only) and ammo capacities.
- Fist
- Chain Saw
- Pistol
- Shotgun
- Chain Gun
- Rocket Launcher
- Plasma Rifle
- BFG 9000
Doom 1 Ammo
- Small Ammo: Clip
- Large Ammo: Box
- Shells: Box of Shells
- Rocket: Rocket Case
- Cell: Bulk Cell
Doom 1 Items (Lootables, power-ups)
- Backpack (ammo)
- Berserk Pack
- Blur Artifact
- Computer Map
- Stimpack
- Medikit
- Combat Armor (body armor)
- Health Potion
- Invulnerability Artifact
- Light Amplification Visors
- Radiation Suit
- Security Armor (body armor)
- Soul Sphere
- Spiritual Armor
- Blue Keycard
- Blue Skull Key
- Red Keycard
- Red Skull Key
- Yellow Keycard
- Yellow Skull Key
Doom 1 Monsters
Doom monsters have hit points, rates of attack and damage stats as well as reaction time, movement speed and stun-lock stats. Their behaviors are also governed by several states. Some Doom monsters are incredibly hardy: it takes 55 shotgun-blasts to put down a Cyberdemon. Some monsters are also stealthed.
- Zombieman (Former Human)
- Shotgun Guy (Former Human Sergeant)
- Imp
- Demon
- Spectre
- Lost Soul
- Cacodemon
- Barons of Hell
- Cyberdemon
- Spiderdemon
Doom 1 Difficulty Levels
There are five difficulty levels in Doom 1.
- I'm too young to die.
- Hey, not too rough.
- Hurt me plenty.
- Ultra-Violence.
- Nightmare!
Difficulty levels modify the number of monsters, respawns, monster speed, ammo quantity and damage incurred.
Doom 1 WASD
You can change Doom keybindings by running setup.exe from the DOS prompt. You can reassign the arrow keys to WASD or ESDF.
The original Doom of 1993 features keyboard only, kb + mouse and kb + joystick support.
Doom 2: Hell on Earth 1994
id Software released Doom 2: Hell on Earth for IBM PC MS-DOS in October of 1994. Doom 2 is the sequel to id Software's Killer App of 1993, Doom.
Doom 2 is basically Doom with 32 new levels, ten new enemies and one new weapon. Thus, unlike Quake of 1996, Doom 2's evolution on the Doom formula is merely incremental.
The Ultimate Doom 1995
id Software released The Ultimate Doom aka Doom: Special Edition for IBM PC MS-DOS in April of 1995. The Ultimate Doom added one episode to Doom: Thy Fleshed Consumed. In addition, The Ultimate Doom includes a Help Screen that outlines hotkeys.
The Ultimate Doom was distributed on 5x 3.5" 1.44MB HD diskettes and extracts and installs to hard disk drive via LHA's SFX 2.13S of 1991 by Yoshi. The install size is 13.1 megs and consists of 22 files.
Final Doom 1996
Final Doom was released in June of 1996 for IBM PC MS-DOS. Running in the Doom 2 engine, Final Doom consists of TNT:Evilution and The Plutonia Experiment, each of which consist of 32 levels. Final Doom was developed TeamTNT and Dario Casali and Milo Casali.
Note that tPE is particularly difficult due to monster numbers and RoF. That said, gibs galore!
The Plutonia Experiment was distributed on 6x 3.5" 1.44MB HD diskettes and extracts and installs to hard disk drive via LHA's SFX 2.13S of 1991 by Yoshi. The install size is 17.4 megs and consists of 15 files.
TNT:Evilution was distributed on 7x 3.5" 1.44MB HD diskettes and extracts and installs to hard disk drive via LHA's SFX 2.13S of 1991 by Yoshi. The install size is 18.2 megs and consists of 15 files.
Heretic IBM PC 1994
Doom spawned dark-fantasy spin-offs Heretic and Hexen of 1994-95 by Raven Software. Both Heretic and Hexen executables embed Rational Systems' DOS/4GW.
A dark-fantasy spin-off of Doom, Heretic: Shadow of the Serpent Riders was released for IBM PC MS-DOS by Raven Software in December of 1994. Heretic is notable for its (limited) employment of up/down looks in the Doom engine. Heretic also introduced an inventory interface.
The original version of Heretic was distributed on 5x 3.5" 1.44MB HD diskettes and extracts and installs to hard disk drive via Heretic Setup and LHA's SFX by Yoshi. The install size is 15 megs and consists of 16 files.
Heretic displays in 256-color VGA 320x200.
Heretic sound effects support Gravis Ultrasound, Pro Audio Spectrum and Sound Blaster. Heretic music supports General MIDI, Sound Blaster AWE32, AdLib, Sound Canvas, WaveBlaster, Gravis Ultrasound, Pro Audio Spectrum and Sound Blaster.
Hexen IBM PC 1995
Sequel to Heretic, Hexen: Beyond Heretic was released for IBM PC MS-DOS by Raven Software in October of 1995. Suggesting a 3D Diablo a year before Diablo came out, Hexen allows you to select from three "character classes".The original version of Hexen was distributed on 7x 3.5" 1.44MB HD diskettes and extracts and installs to hard disk drive via Hexen Setup and LHA's SFX by Yoshi. The install size is 20 megs and consists of 15 files. Hexen audio support is as per Heretic.
***
[1]
The Amiga's Doom
While Doom's impact on gaming has been huge and well-documented, one facet goes by largely ignored in computer game journalism: that Doom basically own-zoned the Amiga as a gaming platform.
The Amiga had already been eclipsed by IBM PCs and MS-DOS through Falcon 3.0 two years prior, but flight sims are niche whereas FPS is akin to arcade-action games, which have mainstream appeal. And most Amigans were of arcade-action stock; 2D platformers and shoot 'em ups played to the Amiga's strengths, not 3D flight sims.
The Amiga's hardware (its custom chipset) focused on 2D acceleration for arcade-action games; it had a planar rather than a chunky pixel mode display, and it lacked the raw processing power of IBM PCs (MHz).
So when Doom came out and was not going to get a port, many Amigans jumped ship overnight: they bought IBM PCs just to play Doom. It was a sinking ship anyway. And very unfortunate.
Doom could have been coded to run on A1200 030s and A4000 040s. However, the Amiga did not receive an official port by id Software, presumably because the engine would need to be recoded from the ground up or at least majorly nerfed since Doom, in its full glory, would run on roided-up A1200s at only a few frames per second (a slideshow).
Thus were spawned Amiga-based Doom Clones with small viewports and other compromises. Off-hand, there was Gloom and Alien Breed 3D (1995).
Here is a screencap of Gloom running on an Amiga 1200 030 on max settings in WinUAE. Screencaps were taken in 640x480, but I upscaled the image for viewing purposes. Runs at a consistent 30 FPS, which is impressive. But it doesn't run like Doom and it isn't Doom.
Before all this doom and gloom Robocop 3 of 1991 featured some FPS gameplay in 1991; and MIDI Maze of 1987 was the first FPS with multi-player (and the first Deathmatch FPS).
Did the advent of Doom really doom the Amiga as a gaming platform? In the eyes of many Amigans it did. But of course the Amiga was already in bad shape from fighting a war on two fronts (consoles and IBM PCs). The market didn't seem to have room for an all-rounder like the Amiga. And the IBM PC had finally caught up in 2D (thanks to VGA) and had been blitzing the field in 3D for two years already, but mostly via flight sims (even without factoring in math coprocessors).
That is why I said Doom drove in the nail; because, if Amigans hadn't realized it through niche genre such as flight sims, they certainly realized, with the advent of Doom, that the Amiga was no longer at the forefront. I mean, who wants to wait a couple years for sub-par Doom clones? Gamers go where the games are, software sells hardware, etc.
There is, however, this thing called platform loyalty. And there are die-hards. And by die-hards, I mean Amigans that are still loyal to the platform in 2024. And for good reason, too.
[2]
You're not getting 35 FPS on i368SX CPUs. That was a laughably low-end PC for 1993 gaming. Even in low-detail mode you'd be lucky to get 10 FPS out of that toaster.
Note that Braben's Frontier: Elite 2 also featured light-sourced 3D graphics in 1993. And texture-mapping. And momentum physics. And it ran on 286es. Using less than 1 MB of data, one-tenth of Doom's WAD.
[3]
Through even more coding trickery Doom's engine could have been capable of up/down looks, but that wasn't put in the pipeline.
Back to: cRPG Blog (Master Index).
No comments:
Post a Comment
Note: only a member of this blog may post a comment.