Map unit
From DoomWiki.org
The positions and sizes of objects in Doom levels are generally described by integer values between -32768 and +32767. The unit length is often called a map unit (or simply, unit). Some example dimensions in terms of Doom's map units are:
Structure | Map unit | Real life unit | |
---|---|---|---|
Small map details such as support beams and wall lamps | 16 units | 37 cm | 1.2 ft |
Smallest gap the player can pass through | 32 units | 75 cm | 2.4 ft |
Regular crate Small teleporter gate |
64 units | 1.5 m | 4.9 ft |
Big door Width of regular corridor such as the main hallway in MAP01: Entryway (Doom II) |
128 units | 3 × 4 m | 9.8 × 13.1 ft |
Small room | 200 units - 400 units | 4.6 - 9.3 m | 15.3 - 30.7 ft |
Medium-size room Start room of E1M1: Hangar (Doom) |
500 units - 800 units | 11.7 - 18.7 m | 38.4 - 61.5 ft |
Final boss | 768 units × 384 units | 18 × 12 m | 59 × 39.3 ft |
Large room such as the Spider Mastermind room in MAP06: The Crusher (Doom II) | 800 units - 1500 units | 18.7 - 35.1 m | 61.5 - 115.3 ft |
Typical Doom level (Knee-Deep in the Dead) | 4000 units | 93.7 m | 307.5 ft |
It is difficult to translate the size of a Doom map unit into a real-world unit, since the dimensions of various objects in the game are inconsistent. Very roughly, one could attempt to translate 32 map units as 1 meter (3.28 feet) based on the height of the Doomguy (56 units). With this interpretation, a cyberdemon would be 3.5 meters (11.48 feet) tall and a typical Doom level would have a size of approximately 120 square meters (1292 square feet).
However, height and width units do not quite agree. The 1-meter interpretation would imply that the Doomguy is one meter wide, or at least cannot pass through an opening narrower than one meter, which would be to exaggerate his muscularity. The discrepancy is likely related to the fact that pixels in Doom's original video modes were rectangular: because pixels were taller than they were wide, and each map unit was proportional in size to a pixel of an in-game texture, flat, or sprite, height units were larger than width units. A more realistic interpretation (if there is any such thing) is perhaps that one "width unit" (w) corresponds to 5/6 of a "height unit" (h).
Limitations[edit]
The total space that can be functionally covered by a Doom engine map is significantly less than the extent of the coordinate system implies. If any two points of valid play space in the level are separated by more than 32767 units, the game engine will be unable to appropriately measure distance between those points, resulting in numeric overflow. This can cause effects such as long-range melee attacks from monsters, impossible lines of sight for arch-vile attacks, and, near the wrap points, visual artifacts. In order to avoid this, a level must be contained within a 16384-unit radius as measured from its center point.
The blockmap limit and blockmap overflow phenomenon also exist as other stringent limitations which affect how many 128-square-unit blocks can contain linedefs.
In terms of height, areas which are too tall can trigger a crash due to numeric overflow during texture scaling when the height difference between the floor and ceiling is greater than approximately 2500 units and the player is close to a line.