Proto:Doom (PC, 1993)/Doom 0.2
Having more detail is always a good thing.
Specifically: * Expand the art section, make .gifs of those enemies, clarify/correct the article, and get some captions up.
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.
- 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.
- No frame rate limit has been implemented yet, so the game can run at framerates greater than 60 FPS on a Pentium or better.
- Non-orthogonal walls are implemented, but are rendered using routines that do not resemble the final product at all.
- A lump called HIGHBLIT, containing mostly x86 code, 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 appears to instruct the renderer how to draw the scene, 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.
- The renderer appears to rely on a data structure referred to as M_AREAS in lieu of the final version's NODES lump in order to determine visibility. The format of M_AREAS has no known analogue to the data structures of the later prototypes nor the final version.
- 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 concept of "sectors" does not exist in this prototype.
- Textures interestingly are not capable of tiling horizontally and this will continue to be the case until the 0.5 prototype, but do tile vertically.
- 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
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 can only be seen through hacking the .wad. Weirdly, there are no references to the chainsaw or the plasma launcher in this build.
The Machine Gun's sprite is like the one from Wolfenstein 3D.
The Missile Launcher's sprite from the 0.4 build looks exactly like this build's silhouette.
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 and functions completely differently.
The shotgun is slightly different from the final. Notice that the player has sleeves when it is used.
Aside from the re-coloring of the mouth and eyes, the Imp appears to be identical to the final version.
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.
Baron of Hell
The Baron of Hell's walk cycle is close to the final, but the horns were made darker and some shading around the shoulders was tweaked for the final game.
'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.
'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.
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).
***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.