How to Make a Simple Door


If I don’t cover something here, It means I don’t know what it does, so if anyone wants to add something, just post to the message board explaining the option.


  1. First, start with a simple room. (I’m assuming you know how to make a room). Make it about 512 x 512 x 128 high. Now place a wall down the center of it to create two rooms. Make the wall 64 units thick.


  3. Now find a nice door texture that is 96 units high. I’m using lab_door1b. Create a block the size you want the door to be, but as thick as the wall or thicker, and place it in the wall, like so:

    Notice, the texture on the front face is aligned. All texture coordinates are off of the dark cyan origin lines. Because I had the edge of my door along those lines when I created it, the texture will be aligned correctly.

  5. Now use the door to carve a hole out of the wall. This is the only situation where I recommend carving. If you try carving a non-square shape or carving with a non-square shape, bad things usually happen. I resized the door after carving to fit it in the wall.


  7. Now with the door selected, click the ‘To Entity’ button. A dialog box should popup:

    Under ‘Class’, choose func_door if it isn’t already chosen. Next, set the angle you want the door to move when it opens with the angle control. You can also choose up or down with the drop down box. For the important attributes:

    • Leave the ‘Name’ alone, unnamed doors will open automatically as someone approaches.
    • The next four are your standard render options, leave these as is.
    • Speed is how fast it will open/close in units per second.
    • You can set a move and stop sound from the choices.
    • Set how long you want the door to stay open with ‘delay before close’, in seconds. (But 4 seconds [the default] seems to always stay open).
    • Next is ‘Lip’. This controls how far the door opens. With lip set to 0, the door will open it’s entire width (or length) in the selected direction. If it is set to 4, the door will open 4 pixels less, leaving a 4 pixel lip showing. If you have carved a track into the wall or ceiling where the door slides to and you want the door to slide further into the track than the door width so that some of the track will be showing when the door is fully open, set the ‘lip’ to -4, and the door will slide 4 units further into the wall than it’s width. Basically, the door will slide it’s width minus the lip value. If the lip is positive, that means it won’t open the whole way, if it is negative, it will open more than it’s width.
    • Next is ‘Damage inflicted when blocked’. This is just how much the player will get hurt if the door closes on them.
    • If you want the door to trigger something when it opens, enter the name of the object to trigger under ‘target’, and set the ‘delay before fire’. (It won’t trigger the object until the door is completely open, and the delay will start after that.)
    • Set ‘Fire on Close’ if you also want to trigger the object when the door fully closes.
    • If you set 'health' to a positive number, you will have to shoot the door and do that much damage to it for it to open.
    • The last important option is ‘minimum light level’, which will control how dark the door will be if no light is falling on it.

    I’m setting my door to open up, have a delay before close of 3 and a lip of 4 (so it will open 92).

  8. Now click on the flags tab. ‘Starts Open’ will cause the door to be in it's open position when the level starts.  ‘Toggle’ will only effect triggered doors. Normally a door will go from closed to open then back to closed automatically. However, if toggle is set, the door will change state from open to closed, or vice versa, when triggered. ‘Use Only’ will have the door only open when the player goes up to it and presses their ‘use’ key. ‘Monsters Can’t’ won’t allow monsters to use the door in single player. Finally, ‘Not in Deathmatch’ will have the door show up only in single player.

  9. That’s about it for a simple door, add a info_player_start and a light or two and run the map.


Next time, Rotating Doors!