Reaper Grimm
Display Options
RSS
/Room Above Room

Room Above Room

Iikka Keranen constructed example levels for the Requiem team, showing off how to do some special effects he himself used. With one of his effects you can create the illusion of room above rooms with solid-looking floors and ceilings - this in contrast to regular bridges. This is the closest thing to 3D the Doom engine can get!

You can find a wad with this effect called 'cross.wad' in the ikspcial archive (30K).

The example given below deals with crossing corridors, both having their own floor and ceiling. Before explaining the fully-functional trick I'll give an example of a partial solution... this helps understanding some things. Tested with BSP.

Take a look at a partial solution in schematic 'A': I'm assuming here you already know how to create a 3D bridge.

[ik3.jpg] SECTORS

1 : ceiling/floor 128/0
2 : ceiling/floor 256/0
3 : ceiling/floor 256/128
4 : same as sector 3, different light level
5 : ceiling/floor 256/128;
6 : ceiling/floor 0/0
7 : ceiling/floor 256/128
8 : ceiling/floor 128/0
9 : same as sector 8, different light level

LINEDEFS

a : no textures, one reference to sector 8, one to sector 9
b : no textures, one side reference to sector 3, one to sector 4

The linedefs 'a' and 'b' should be almost (but not quite) touching the borders of sector 2 !

This looks like a normal bridge, except for two details. The 'bridge' consists only of the red sector. The sides of this sector's linedefs ('b') references to the dummy sector 3, the other to dummy sector 4. Both dummy sectors are alike, except for the light level to prevent merging. Same with a normal bridge it can be lowered by triggers 83 and 91 (not shown in example), with dummy sectors 6 and 7 providing the correct floor height. Having two dummy sectors making up the bridge causes the engine to draw a floor texture between the four linedefs, thus creating a solid floor. This is the easiest part. Now, the upper corridor has a solid floor and ceiling. Lowering the bridge and the lower corridor has a solid floor but a ceiling that is too high. Therefore we apply the same trick to the ceiling, by creating linedefs 'a'. One side of 'a' references back to dummy sector 8, the other to 9. Again, both dummy sectors are the same except for light level. Again, this causes the ceiling texture to be drawn between the two linedefs. Which also brings us to the bug in this design: at the border between sector 5 and 2 the solid ceiling effect breaks up.

Now, take a look at schematic B. Iikka has solved this problem by extending linedefs 'a' into the upper corridor, thus moving the edge (and thus, the flaw) away from the player's view. Since you cannot let the linedefs 'a' ceiling touch another floor (this gives rise to one hell of a HOM) this requires also some tweaking with the floor of the upper corridor (by lowering the floor of the upper corridor and creating a dummy floor at the correct height)

[ik2.jpg] SECTORS

1 : ceiling/floor 256/144
2 : ceiling/floor 256/0
3 : ceiling/floor 128/0
4 : ceiling/floor 256/127
5 : ceiling/floor 128/120
6 : same as sector 5, different light level
7 : ceiling/floor 256/144
8 : same as sector 7, different light level
9 : ceiling/floor 256/144
10 : same as sector 9, different light level
11 : ceiling/floor 0/0
12 : ceiling/floor 256/144
13 : ceiling/floor 256/0
14 : ceiling/floor 128/0

LINEDEFS

a : no textures, front reference to sector 3, back reference to sector 14
b : no textures, one side reference to sector 9, the other to 10
c : no textures, one side reference to sector 7, the other to 8
d : no textures, one side reference to sector 5, the other to 6

Linedefs 'd' and 'c' should be close to the borders of sector 4 and linedefs 'a' and 'b' close to the borders of sector 13!

Vertices are connecting linedefs 'a' and 'd', but these vertices (shown in purple) do not connect to the border linedefs between sector 13 and 4 !

This is basically schematic A with some extensions. The red bridge is still done in the same way (triggers not shown), taking care of the correct floor height and the solid look of this floor as described above. Focus is now on how to achieve a solid ceiling texture effect. Note that sector 3 consist of two parts: an in-level part and a dummy sector. One side of linedefs 'a' reference back to sector 3, the other to 14. Sector 3 and 14 are alike, except for light level to prevent merging. This, as explained above, takes care of one aspect of drawing a ceiling texture at the 128 unit height. Now we have to get rid of the flaw.

Linedefs 'd' are extending linedefs 'a' into the upper corridor. One side of 'd' reference back to dummy sector 5, the other to 6 (which are alike except for light level). Note that the purple vertices are connecting linedefs 'a' and 'd' but they do not connect to the borders of sector 4 and 13 ! Now the edge of the faked ceiling has been moved beyond the player's point of view. The effect would have been finished if it wasn't for the lowered ceiling of linedefs 'd''s sector interfering with the floor of the upper corridor. To prevent HOM, the floor of the upper corridor (sector 4) has been lowered. To uphold the correct floor height linedefs 'c' have been inserted, one side referencing to dummy sector 7, the other to 8.

That's it! Enjoy... :-)


Introduction | Regular Doom Tricks | TeamTNT's Boom Support
Sprites/Flats | Window above Window | Other 3D Appearances | Transparent Door | Shadowcasting | Fake Bridge | 3D Bridge | Double 3D Bridge | Two-storied Room | Swinging Doors |

Copyright 1998-2006 (c) Doomworld, All Rights Reserved.