How to construct 3D sectors

A tutorial for GZDOOM

In vanilla DOOM and some early DOOM ports it was possible to fake sectors into looking like a 3D construct. They were not easy to set up correctly and, worst of all, they were prone to HOMs. See here.

With the introduction of OpenGL enabled ports, like GZDOOM, 3D sectors are easy to build and they look great from any angle.




Construct the game-play area

First, draw the gameplay area as in this image, which also shows 2 pedestals. The two pedestals are not really necessary, the 3D construct could just be a floating platform instead of a bridge.

The sector of the gameplay area is c512/f0 and the pedestals are c512/f96.




Construct the 3D components

Next, draw the area between the pedestals where the 3D bridge is to be rendered. And on the side draw a control sector.

The sector between the pedestals is also c512/f0. Give it a sector tag of 1.

The values given for the control sector determine how the bridge is being rendered. For now the bridge will have a thickness of 24 and be level with the pedestals, so the values will be c96/f72. Also specify the textures for the floor and ceiling of the bridge.

One linedef of the control sector must have a linedef special to indicate that this is to be a 3D construct. The sector tag 'Tag 1' links it to the sector tagged 1 in the gameplay area. Type 1 indicates that the 3D sector is solid, and Alpha 255 means the 3D sector will be fully opaque. LineID/High-tag will only be important if you have more than 256 tags.


Open the 3D viewer to specify textures. If you wanted to, you could also raise or lower the sectors.









What it looks like to the player in-game.

The question now is, of course, how to get up there.

And the answers is 'Exactly in the same fashion as just demonstrated above'. Take a look at these three example pwads:




Example 1 : 3D stairs

In the first example just some steps leading to the bridge were added.




Example 2 : More 3D stairs and floors

The second example depicts a multi-floor building




Example 3 : Sloped 3D floors

The third example shows some sloped 3D sectors. They are a bit more finicky since they have to be aligned with the sector in which they are to be rendered. If the map is already crammed for space this aligning can be quite problematic.

sloped (494K)




Some proof of concept examples:




Always have fun creating your maps.

Kappes Buur
08 Sept 2013