Doom v0.3

Doom 0.3 was an alpha version of Doom built by id Software on February 28, 1993. Though apparently never released to id's alpha testers, this build was sent to several industry professionals for comment and review, and as a result it only resurfaced at a much later time compared to the other alphas. It was uploaded by James Haley (Quasar) to the idgames archive on August 3, 2015. Notable features include several maps in their earliest known forms and a fully functional on-screen automap. It much more fully displays the Doom engine in its earliest state than the tech demo, with an internal architecture significantly different and less advanced than later builds. Crashes are common, especially when walking over two-sided lines. The README file promises a more proper release to follow in two weeks, but such a release is not presently known to exist.

Features
Version 0.3 includes features that were also in 0.4, but certain things are not implemented or would later change in function.


 * A spinning 3D title screen.
 * The engine can render areas with different floor and ceiling heights, textured walls and ceilings, and different light levels.
 * Animating floors are supported.
 * "Prone" camera view. This viewpoint is only used when the player has died in the final version of the game.
 * Collision detection is performed against walls. However, there is not yet any collision detection with actors such as monsters.
 * Monsters appear in many levels. Although they animate, they do not move or react to the player or to other monsters, and cannot be damaged.
 * The player's weapon bobs during movement and can be fired, although it has no effect on the environment.
 * The weapon jitters slightly when still. It is unknown if this was meant for realism, or is a bug in the bobbing code.
 * The game includes the "helmet" HUD from v0.2, still largely non-functional. A dramatic exception exists in the form of a miniature automap in the upper right corner, which updates in real time.
 * A low profile status bar mode is supported, though the numeric displays are not yet functional. Full-screen display with no HUD is also supported.
 * The alt key causes a "use" action, but is non-functional as there are no doors in the maps.
 * Item sprites spawn, but are rendered inside the floor.

Special keys
Keys used in the alpha that are not related to player movement include:


 * A: Toggles "full screen" view.
 * S: Toggles the regular "helmet" view with working automap.
 * D: Toggles a smaller window size when using the helmet view.
 * Q, W and E: Select detail modes for rendering, Q being the same high detail in the final version, W being low detail, and E being low detail in addition to halved vertical resolution.
 * R: Invokes a high color mode planned for use with VGA modules such as the Sierra Hi-Color DAC. Without this module, the key produces pink, yellow and grey stripes.
 * T: Causes the player spin around in circles to test the frame rate, and quits to DOS with a display of the information after the routine is complete.
 * P: Shows a message box displaying the message, "Start Profile," and writes profiling information into a file named.
 * Z, X and C: Alter the display of floor and ceiling textures (C being called the "Wolf key"). It is unknown as to whether this was a testing feature or a planned detail mode.
 * M: triggers the "prone" mode (lowers camera viewpoint to the floor).

Levels
The levels in version 0.3 are the closest surviving iterations to the plans originally laid out by Tom Hall in the Doom Bible. Most of the levels still display an absence of major variation in floor and ceiling heights, and often the walls are angled at 90°. John Romero's Nuclear Plant is a notable exception, already exhibiting the experimental design characteristics which eventually turned the rest of the team against the idea of hyper-realistic level design as stated in Masters of Doom. Here, differences from version 0.4 are noted:


 * Level 1: E2M7 (Spawning Vats). Known as Hangar Two in the Doom Bible. Most of the map seems empty and flat, the room with the marines playing cards are now doing that on a crate, instead of a desk. Several rooms are different and give a more technical feeling.
 * Level 2: E2M2 (Containment Area). Known as Supply Depot Two in the Doom Bible. One difference is the significantly larger hall at the start of the map, with a structure that resembles a reception desk.
 * Level 3: E2M3 (Refinery). Known as Waste Processing Facility in the Doom Bible. Mostly the same, except for a few changes in brightness, and that several linedefs are blocking.
 * Level 8: E1M2 (Nuclear Plant). Known as Power Plant in the Doom Bible. The red keycard section and the hallway to the future exit room are completely missing.

Levels 4, 5, 6, 7 and 9 are copies of the placeholder spinning title map. Except for level 9, where you spawn in a corner with three other player starts, you spawn in the center.

Inaccessible levels
There are several levels with non-standard header names contained in the IWAD which appear to be implementations of concepts from the Doom Bible, in particular areas which would attach to episode 1's Supply Depot Two (the only remains of which eventually became Containment Area) via the game's then-planned hub system. Currently known are the following:
 * THESTORE is a small rectangular map containing multiple consoles and counters along with a voodoo doll probably intended to become the storekeeper character mentioned in the Doom Bible, from whom the player would be able to purchase or otherwise obtain arms and ammunition.
 * SHAWN2 is an implementation of the upper floor for Hangar Two which is described in the Doom Bible (evident both from its shape and the contents of the level, which closely match the description given for that area). This map does not appear in any further versions. It contains a crude office area with supply cabinets.

Quirks and bugs
The renderer is extremely raw, with numeric instability evident in the projection of walls, which wobble in a manner similar to the effect of long wall error but regardless of their length.

As mentioned above, it is is possible for the game to crash when the player's viewpoint passes directly above a two-sided linedef, frequently with the momentary display of garbage on screen, followed by an error message stating that a region of the frame buffer is not covered by any "rendersegs," a data structure which is not known to exist in the engine after v0.5.

When toggling between screen sizes and returning to the helmet view, the projection seems to pitch downward by a few degrees, in a manner similar to the y-shearing-based free look later independently added to the Doom engine by Heretic and Strife.

As in Wolfenstein 3D, it is possible to slide along walls that stand at 90° angles. However, attempting to do so on diagonally-angled walls produces jerky movement, as if the wall was composed of a series of tiny 90° blocks rather than a flat line.