Making deep water
Deep water is an effect that allows a level designer to put false floor textures on a pit or trench in which the player can sink. If the pit is not very deep, the false floor texture will still be displayed after the player falls, simulating swimming or the player crawling on the floor.
There are several known methods to obtain this effect. Some of them work on many source ports, while others only work on vanilla Doom. Also, some of these methods might not work on certain level editors.
- The very simplest method is by exploiting flat bleeding and surrounding the deep sector with a shallow (higher floor) sector. The boundary linedefs between both sectors are left without lower textures so that the shallow sector's floor bleeds over the deep sector and hides it. This method is easily detected and emulated by hardware-accelerated source ports and can be used with any map editor. It is used in MAP02 of TNT: Evilution.
- Deep water can be simulated by using self-referencing sectors. This method is the most common.
- Deep water can also be obtained by superposing sectors of identical shape, tracing a diagonal linedef on one of them.
Since these methods remain very limited and prone to glitches, and may not be well supported by all ports, node builders or even map editors, advanced ports started defining genuine methods to create deep water.
Boom defined several property transfer linetypes to achieve effects not possible before -- or at least not possible without hacks. The one meant to create, among other things, deep water, is linedef type 242.
ZDoom supports the Boom method in Doom-format maps, and in Hexen format or UDMF uses special 209 (Transfer_Heights) for the same thing, optionally with thing 9045 (WaterZone) to set friction. It is also possible to create a non-solid (optionally swimmable) 3D floor, allowing partially translucent effects, with special 160 (Sector_Set3dFloor).
This article incorporates text from the open-content ZDoom documentation project article deep water.