Door

Doors in Doom, Heretic and Strife only go up and down (In Hexen, more flexible doors can be made using Polyobjects). This is because the NODES tree is prebuilt and not modified at runtime, and thus all lines must stay in the same place (when the map is viewed from above).

A closed door is constructed as a thin rectangular sector whose ceiling and floor are both at the same height as the neighboring sectors' floors. When the door is opened, its ceiling moves up at a controlled rate to four units below the lowest adjacent ceiling.

By convention, doors are 16 units thick, but any thickness will work.

The doorjambs (or doortracks) are the walls exposed at the sides as the door opens. They are usually specified with the lower unpegged bit, which causes them to be drawn from the floor up rather than from the ceiling down as usual. When this bit is not used, the doorjambs move up and down with the door.

There are, of course, many textures designed specifically for doors and doorjambs.

The precise behavior of a door is dictated by the type field of the linedef that activates it.

Some of these linedef types require a key, and the corresponding door is thus locked. By convention, locked doors are bordered with a distinctive frame in the appropriate color.

A door does no damage to the player if it closes upon his or her head; neither does it damage monsters. If however a monster or player is killed in a doorway, a closing door will transform its corpse into a pool of blood. Items dropped by monsters, and subsequently trapped beneath a closing door, vanish and are removed from play.

Sliding doors
In the early stages of Doom's development cycle doors were supposed to have the additional option of sliding open horizontally to reflect the original door behaviour in Wolfenstein, specifically for the secret "Wolfenstein levels". The alpha versions of Doom still contained graphics for doors that were designed for vertical movement. The option was never completed and dropped entirely for retail. Remnants of this code is still present in the source code but commented out; it can be enabled via additional code or by applying patches.

A patch for Chocolate Doom is available here; http://www.soulsphere.org/random/slidoor.zip. Video demonstration here http://www.youtube.com/watch?v=DF3hQfo9ju0.