|Doom alpha versions|
Doom 0.2 is the earliest known alpha version of Doom released to testers outside of id Software. It is referred to as a "tech demo," and while it is the earliest known version of the Doom engine proper, it does have contemporaries which share some of its technological advances over Wolfenstein 3D in the form of the Raven engine, used by games such as Shadowcaster. It was released on February 4, 1993, when only two months of work had been done on the game. It contains a single primitive level which demonstrates many novel features of the engine, including arbitrarily sized and oriented walls, texture-mapped floors and ceilings, distance fading, and sprites with multiple view angles. Via the alpha's test controls, support for varying light levels and ceiling heights can also be observed.
The "technology preview" includes only one small level with no changes in elevation, no doors, and no items. Only three enemies are present—the imp, the demon, and the baron of Hell—and their sprites and programming consist only of walking in place.
The only weapon, an early version of the shotgun, has no effect on the monsters. The texturing is scant, though a few textures and flats were modified and used in the final game. Floor, ceiling, and wall textures can be cycled individually by pressing the number keys 0-9. This may also change the ceiling height or light levels.
The heads-up display/status bar in this alpha is larger and more complex than those that followed. An automap, item list, and weapon stats are among the extra elements visible. However, at this point, all of the data shown on the HUD is purely decorative and does not change. There are two message areas. The left message area has text "Chen: Ooh, I found cool stuff" (possibly meant to be a communications/message window; "Chen" refers to Lorelei Chen, a character from the original design document), while the right has "Captain's hand, Sandwich, Heart of Lothar" (possibly meant to be an inventory window; again, the items are from the original design document). According to programmer John Romero the items were meant to function as different types of keys. The automap shown does not correspond to the actual level layout at all.
Several of the keys on the keyboard allow various features of the engine to be controlled. Instead of selecting weapons, the 3 and 4 keys cycle the wall textures forward and backward; 5 and 6 do that for the ceiling textures; 7 and 8 for the floor textures, and finally 9 and 0 decrease and increase the ambient brightness level. One selection for the floor and ceiling displays the words "TOM IS KING", while another selection displays "JULES SUCKS" on the walls. Jules is known to refer to Adrian "Jules" Carmack, while "Tom" refers to Tom Hall. Tensions between the two developers are well-known and extensively cited in Masters of Doom by David Kushner, and eventually played a part in the latter's departure from the company before Doom's completion.
- The renderer and game engine of the 0.2 Alpha version was still in its early stages. The engine did not make use of textures internally, but displayed the patches directly on the wall surfaces. Therefore the game WAD file does not contain TEXTURE lumps.
- At this point the renderer made no use of the Z axis, so the engine was incapable of rendering levels with different floor heights.
- The engine uses three different image formats: flats, plus an early version of the picture format for sprites and walls, and a third format for all interface graphics. This format, abandoned since, consists of a header (similar to the one used in the final version of the picture format) followed by a raw list of pixels. Palette index #255 is used for transparency, as can be seen in the mock-up HUD picture (PLAYSCRN). All these interface graphics are found within L_START and L_END markers. Except for PLAYSCRN itself, these lumps were all drawn using the palette of Wolfenstein 3D rather than the Doom 0.2 palette. The TITLEPIC, which is also in this format, uses its own palette, TITLEPAL, also found within the L_ markers.
- The COLORMAP lump contains 32 maps. The PLAYPAL lump has only the first level, though most of its colors are already in their definitive version (color ranges 3-15 and 160-249 are different, 0-2, 16-159 and 250-255 are identical).
- The single map is made of several lumps starting with M_. The map format is extremely different from the final version.
- The wad also contains two other lumps, VIEWINFO and HIGHBLIT. HIGHBLIT contains x86 assembly code to paint the "empty" region inside the HUD. This means that the HUD was not an overlay drawn over the rendered world, and that the shape of the view window could have been customized in a WAD file with custom assembly. On the other hand, it would have made Doom harder to port to different architectures, and custom HIGHBLIT lumps could have been used as an attack vector for malware.