Stairs that can be ascended, but not descended

Stairs that can be ascended, but not descended are an oddity caused by the way the Doom engine physics work. It is not a programming error, and creating such stairs is generally considered as erroneous level design.

The effect is seen when the difference between the ceiling height of one stair step and the floor height of the next higher stair step is less than 56 units (the height of the player). The Doom engine allows the player to automatically mount any step of 24 units or less. However, there is no such code to allow the player to "duck under" obstacles. When ascending the stairs, the engine checks for horizontal movement first, and the player is automatically elevated to the height of the next stair. When trying to descend, however, the horizontal movement check fails because the player is taller than the ceiling of the lower stair step, and so the player bumps into it instead.

Demo

 * [[Media:weirdstairs.wad|A level demonstrating the phenomenon]] (file info)