The Floor Hatch - A somewhat original creation of Aaron Bentley The QuakeLab - http://www.in2nett.com/stevefu/QuakeLab TEXTURES: You may use any you wish, but the included MAP uses MMETAL1_1 - The hatch sections MMETAL1_6 - The floor (upper room) MMETAL1_2 - The the ceiling (lower room). +1BASEBTN - The button (optional) METAL1_1 - The button holder (optional) ENTITIES: func_door func_button (optional) WHAT TO DO: Begin by making a room that is a cube, 256x256x256. Now create a brush 64 units wide, 64 units long, and 16 units high. Give it a texture of MMETAL 1_1. Make three other copies. Time to create the hatch. First find the centre of the room. Now move the brushes so that each has a corner touching the centrepoint. For the first brush, it should be the south-east corner. For the second, the south-west corner. For the third, the north-east corner. For the fourth, the north-west corner. Make sure all the brushes are at the same height in the room (16 units below the middle is optimal). You should end up with a square (as seen from above) with sides of 128 and a thickness of 16. Now designate each section of the square as a func_door entity. Change the direction of each section so that they all go different ways. I like to make the north-west door go north, the north-east door go east, the south-east door go south and the south-west door go west. You can also make the door north-west door move north-west etc., but I don't think this looks as neat. I think sound 2 works best. So far, we have a hatch, but no floor. I use ramps for the floor; if you prefer (or don't have a choice), you can use regular brushes. Make a ramp that is 256 units long, 96 units wide, and 32 units thick. It should slope down to the east. Place this on against the west wall of the room, so that its bottom surface touches the top surface of the hatch. Texture it with "mmetal1_6". Now copy it, rotate it 90 degrees clockwise and place it against the north wall. Do the same for the other two walls. The ramps should overlap near the corners of the hatch. This is the floor. Now do the same, only using standard brushes, for the ceiling of the lower room. Texture the brushes with MMETAL1_2 and make their top surfaces touch the bottom surface of the hatch. Your basic hatch- room is done. NOTE: Be careful when lighting your rooms. Light travels through the hatches because they are entities. I have lit the upper room from above to show this effect. Either maintain the same approximate light-level in both rooms, or do your lighting from the sides of the room, preferably at the floor of the upper room and the ceiling of the lower room. Another alternative is to make the hatches stay open once opened. That way, the light from above belongs there. OPTIONS: If you want it to be button-activated, give any of the hatch sections a targetname of "hatch", then make a brush with height 32, length 16 and width 32. Apply texture METAL1_1 and then apply the +1BASEBTN texture to the 32x32 face only. Designate as a func_button entity with target "hatch". Place against a wall, or make a buttonholder by making a brush with height 64, width 48, length 16. Texture with METAL1_1 and place against a wall, so it goes just slightly below the ramp. Place button against holder with the top 8 units below the top of the holder, with 8 units of the holder showing on the left and right. Set delay and direction as appropriate. You can also make the rooms above and below the hatch different sizes by adding more brushes as false walls. If you choose to abandon the 256x256x256 room, seal the floor/ceiling sections at the outside edges. Otherwise, you might get leaks.