If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
Proto:Doom (PC, 1993)/Doom 0.2
This is a sub-page of Proto:Doom (PC, 1993).
Download Doom 0.2
File: Doom0 2.zip (254 KB) (info)
|
Version 0.2 of Doom dates back to February 4, 1993. At this point, Doom is little more than a tech demo, as only two months of work have been done.
Contents
General Differences
- The HUD consists of a large static image that frames the screen. While the HUD appears to include many active elements, none of them function whatsoever in this build.
- Only three enemies are present on the only map of this build (see below) – an imp, a demon, and the Baron of Hell. Object-to-object collision detection has not been implemented yet, nor has the enemy AI. They will only cycle their walking animations slowly and will not move nor react to gunfire, noise, or even the player walking right through them.
- Your only weapon is a prototype shotgun with infinite ammo.
- Sound and music are not implemented yet. It is possible that the DMX sound library used in the final version was not licensed at this time.
Engine
- The game's tic rate is 70hz, allowing the game to run at 70 FPS on faster machines. This would be reduced to 35 starting with the 0.5 alpha.
- Non-orthogonal walls are implemented, with a renderer conceptually similar to the final game, but very rough at this point.
- A lump called HIGHBLIT, containing x86 code and some unneeded filler, is used to render the scene through the inline of the HUD. In other words, the HUD is not an overlay; the scene is drawn on top of it, obviously with an objective of eliminating overdraw. A companion lump named VIEWINFO instructs the renderer how to draw the scene in the cutout, which is then copied to the screen via HIGHBLIT. Both lumps do not exist in the final game. In addition, strings in the executable also reference nonexistent MEDBLIT and LOWBLIT lumps.
- M_TEXTUR implements an early version of the composite texture format used in all later versions of the game, but the prototype lump only defines a single texture, and this texture's contents are overridden by the demo to implementing the changeable wall textures. The needed patches are stored in M_PNAMES, and available flats are stored in M_FNAMES.
- The concept of "sectors" does not exist in this prototype. A similar structure named "areas" stored in M_AREAS is present instead, but maps can only have one area at this point in time. There's no way for the renderer to render into other areas, and the player physics have no code for relinking the player's current area.
- Textures interestingly are not capable of tiling horizontally and this will continue to be the case until the 0.5 prototype. The debug texture is always wide enough to span the walls without tiling, though. Lines contain both a start column number and an end column number, allowing for horizontal texture scaling.
Controls
- Arrow Keys - Move
- Control - Shoot
- Right Shift (w/ arrow keys) - Run
- 3 & 4 - Go through wall textures
- 5 & 6 - Go through ceiling textures
- 7 & 8 - Go through floor textures
- 9 & 0 - Adjust brightness
- Pause - Pause
Weapons
At this point in development, several weapons were planned but eventually cut. All of the weapons are documented in the Doom Bible. Everything but the shotgun only has HUD graphics in the .wad. These graphics were drawn with the Wolfenstein 3D palette, but using the included palette, they're red.
Knife
The Knife would have been an attachment for the pistol, but it did minimal damage. This would become the fists in the final game.
Pistol
The Pistol is also present in the final, but as mentioned above it would have a knife attachment.
Shotgun
Also in the final, the Shotgun although its silhouette is a bit different at this point.
Machine Gun
The Machine Gun's sprite is like the one from Wolfenstein 3D. This would become the chaingun in the final game.
Missile Launcher
The Missile Launcher's sprite from the 0.4 build looks exactly like this build's silhouette.
Dark Claw
The Dark Claw would "cast a cloud of tortured essence", and this weapon would be present up to the 0.5 alpha build before being cut in favor of the plasma rifle.
Probjectile
The Probjectile would have little fire power, but also gave stats on enemies. It did not get any farther than this.
Spray Rifle
Would have been as powerful as the shotgun, but with a wider spread of fire... which would make it worse and less accurate. Again, this is the most iD ever did.
BFG 2704
The BFG 2704's silhouette is identical to the sprite found in Doom 0.4.
Unmaker
The Unmaker would have been used in the commercial version to hurt enemies, depending upon what type they were. A similar demonic weapon was used in Doom 64, although it was not intended to be the Unmaker according to the developers[1] and functions completely differently.
Art Differences
Shotgun
0.2 Prototype | 0.3 Prototype | Final |
---|---|---|
The shotgun is much rougher compared to the final game. The graphic would be revised in Doom 0.3 somewhat, extending it so the stock is visible and tweaking the muzzle, before trimming it all off for the final and cleaning it up.
Imp
0.2 Prototype | Final |
---|---|
Aside from the re-coloring of the mouth and eyes, the Imp appears to be identical to the final version.
Demon
0.2 Prototype | Final |
---|---|
The Demon's teeth were made bloodier, and the poses are different. The sprite was re-shaded, and the eyes were redrawn to look like they're glowing.
0.2 Prototype | Final |
---|---|
In addition to the cleanup, the demon was heavily reanimated to make it look more like it's running rather than shuffling along.
Baron of Hell
0.2 Prototype | Final |
---|---|
The Baron of Hell's walk cycle is rather close to the final - the horns and hooves were made darker, and some shading around the shoulders and legs were tweaked for the final game.
Walls
0.2 Prototype | Final |
---|---|
'WALL8_7' was renamed 'WALL02_1' and was stretched from 64×64 to 64×72 pixels in subsequent builds.
0.2 Prototype | 0.3 Prototype |
---|---|
'WALL6_1' was redrawn for subsequent prototypes as 'WALL03_2'.
0.2 Prototype | 0.3 Prototype | 0.4/5 Prototype | Final |
---|---|---|---|
'WALLBB_2' was slightly modified in 0.3 and renamed WALLBC_2. It was later turned into PLAT1_1 in Doom 0.4, then PLAT2_1 in the final game.
Flats
0.2 Prototype | Final |
---|---|
'FLAT1' was renamed 'FLOOR0_1' in subsequent builds with lighter shading and thicker outlines.
The rest of the flats are unique and don't appear in any other build of Doom.
Palette
0.2 Prototype | Final |
---|---|
The palette color ranges in PLAYPAL (the actual 256-color VGA palette), while not precisely final, largely resemble their final counterparts in the retail game. The palette only saw nearly-unnoticeable tweaks leading up to the final game, with the exception of colors 3-15 being unused in this prototype and some of the latter color ranges being moved around. In addition, the PLAYPAL data in this prototype only contains one palette, while the final version contains 14 (for things like the red haze when the player takes damage, or the yellow haze when picking up items).
Text
***STATS*** CLI= STI= PUSHF= POPF= IRET= INTxx= MISC= *I13= *EXT= OVERALL= *TM BGN= *CUR TM= INT STATS=
This is probably debug text for the CPU to see how the program crashed.
main.c i_ibm.c lingfx.c p_play.c p_things.c p_user.c r_game.c r_init.c r_draw.c r_plane.c r_posts.c r_render.c wadfiles.c
Compiler leftovers scattered throughout the executable.