Lesson 4 - A Second Room and a Simple Door

Note: This tutorial was written for Hexen2 mappers. I have also created a Quake2 version and a Quake version of this same tutorial. Read that if you are doing maps for either of those games. The content is the same; it's just the texture/entities/screenshots that have changed.
Now that you're getting the hang of things, I may not be quite so detailed in future lessons. If I need to go into more detail on something, E-mail me and let me know. In earlier lessons, we've been creating a test map. If you did those lessons, you should have a file called 'Lesson3.map'. If you don't have it you can download it here.
Before we change anything, make a copy of Lesson3.map and call it Lesson4.map. Now load Lesson4.map into BSP and let's get underway.
We've got this first room pretty well set up, so let's attach a second room now and put a door in between. Since this is just a simple map, let's keep the second room simple, but let's make it bigger than the first one. That way we can put some other things in it later :-)
Draw a new brush from (-912, 256) to (-272, -320). Switch to a side view and drag the floor to 0 and the ceiling to 256. If you don't understand what I'm talking about here, review earlier lessons to find out how to accomplish this. For the benefit of those who have worked through earlier lessons, I'll be a little more brief in some of my descriptions. If you feel there needs to be more explanation, let me know.
With the new brush still selected, give it a texture. I chose 'rtex065', but if you want to use something else, feel free. Let me digress a bit here about textures. The texture I've chosen is 128x128, but the ceiling in this room is 256 high. We could go ahead and use the texture this way, but it might look kind of odd repeating twice as it goes up the wall. Fortunately, in BSP, there's a way to make the texture fit the wall a little better.
Hit the 'S' key and you will see the Surface Window pop up. Here, you'll see a row of numbers and buttons. A later lesson will go more into detail on textures, but for now, look at the '+' and '-' buttons next to the 'Sy' label. Click the '+' button until the number under 'Sy' reads 2.0. Now click 'Apply Brush' to apply the texture to the brush (or hit Alt-B like you always do).
If you look at the texture preview 3-D mode now, you'll see that the texture we applied has been stretched vertically to fit the wall. I know, with this particular texture, it probably doesn't look that great, but you can see the results. As you might have guessed, the 'Sx' buttons stretch the texture horizontally, just like the 'Sy' does in the vertical dimension. Cool, eh?
After applying the texture, switch back to a side view. Make sure the grid size is set to 8, select 'Room' from the drop-down list on the tool bar and click on the 'Make' button. Remember, depending on your BSP setup, you may see a dialog box asking for wall width here. If you do, make sure the thickness is set to 8. Deselect the brushes that make up your new room and select the ceiling brush.
Let's apply 'rtex009' texture to the ceiling, but before you actually apply the texture, we need to clear out the 2.0 setting we put in earlier. Go back to the Surface Window and click the 'Reset' button to clear out any old settings. You can also right-click on the texture window and select 'Reset'. Either way works fine, just remember to do it, or later brushes will have settings you don't want. In this case, we don't want the ceiling texture to be stretched so we need to clear it.
Go ahead and apply 'rtex001' to the floor brush to make it consistent with the first room. (Remember to clear the stretch settings here also if they need it). Now, we've got our second room, but we need to make a doorway in order to allow access from the first room. Anybody care to guess how we're going to do that? That's right, brush subtraction.
Before we do that, however, switch to the front view and select the two wall brushes that are between our two rooms. Since the two brushes are different sizes, you can only select and size one at a time, but drag the bottom edge of each brush down 8 units. Here's a before and after shot:
The reason we're doing this is so that when we cut our door through these two walls, a small amount will be left below the door. This will make the floor flow continuously between rooms and prevent leaks which can make a map unplayable. Sometimes, depending on the location and size of the leak, the player can fall through the map and float away into the void. A neat effect, but it makes playing the map pretty tough.
Now we're going to cut the opening for our door. Switch to the Top view and drag a new brush from (-288, 64) to (-240, -64). Switch to a side view and drag the bottom of your new brush to 0 and the ceiling to 128. Once you've gotten the brush sized correctly, subtract it from the map and delete it. That will leave an opening between the two rooms.
Here's our map at this point. You'll notice a couple of things right away. Number one, the room beyond the door is pitch black. That's because we haven't added any lights yet. Remember in Hexen2 once you add one light, you're completely in control of lighting from then on. The second thing to notice is that the area around the inside of the door looks weird. This is because the textures we applied to the walls are showing here also. Both of these problems are easily fixed. Let's address the texture problem first.
BSP allows you to set the texture for a single face of a given brush, as opposed to setting the entire brush. Let's do this to the brushes which surround the door. Let's start with the 2 brushes in the floor. Select each of these brushes (remember how we used hit brushes in lesson 2 to select the brush we want?) and apply the 'rtex001' texture to each. It is alright to apply this texture to the whole brush in this case, since we can only see one side. Switch to the 3-D texture preview and you should see that the floor texture flows smoothly from one room to the next now.
Now select the brush above our doorway and switch to the Front or Side view. Notice that one side of the brush is yellow? That's the side that's selected, which means that it is the side we can apply a texture to. Click outside the brush with your mouse and whichever side of the brush you happen to be on, that is the side that becomes selected. Try it out to see what I mean, but when you are done, make sure the bottom of this brush is selected.
Now, with the bottom of this brush selected, let's apply 'rtex009' to the bottom face of this brush. With the bottom face selected, hit ALT-F (or click on 'Apply Face' in the Surface Window). This applies the texture to only the selected face, rather than the entire brush. How's that for easy?
One more thing before we go to the next brush. With the brush above the doorway still selected, switch to the Front view. Notice how there is a space of 8 units next to this brush, between this brush and the ceiling brush of our first room? This will create a gap in the ceiling of our map and make an ugly grey space appear here. So, to fix it, simply drag the right-hand side of the brush over, making this brush 16 units wide and filling the gap. This will plug the leak and allow our map to compile correctly.
We still need to fix the brushes on each side of our door, to make the textures blend together, so one at a time, select each of the two brushes on either side of the doorway opening and apply the 'rtex020' texture to the face of the brush which borders on the doorway. When you are finished, you should be able to switch to the 3-D textured preview and check your work. Now the facing on the inside of the doorway should be all one texture. (You can also change these textures directly in the 3D window - see this tutorial for details on 3D texture manipulation)
Got it? Okay, now if you remember, we still need to add lights to our room. I'll go through this pretty quickly, since you're all familiar with making lights now. What I did in this map was make 7 'light_torch_castle' entities, each with a light value of 300 and spaced them around the room, about halfway up the wall. This provides adequate light for the walls, but leaves the middle of the room a little dark. I'll let you fill in whatever lighting you want to help this. One trick you can do with these torches, is set an 'angle' flag and the 'back' side of the torch will have a little bracket sticking out so it looks like it's attached to the wall. That's something cool I have discovered about the Hexen2 torches.
Here's an example of how I arranged my torches:

If you look at your map in Hexen2, you'll notice that the wall on the 'south' side of the new room has a strange texture alignment. Select this brush and hit 'S' to display the Surface Window. In the Surface Window, you'll notice a '+' and '-' button next to the letter 'S'. Clicking these buttons up and down sets the X-Offset that will take effect on the texture you are applying. In this case, click the '+' button until the counter reads 64. Then click 'apply brush' to make the changes to your wall. This will offset the texture 64 units. The 'T' buttons next to these control the Y-axis texture offset. Of course you need to do this before you actually apply the texture. Remember to click 'Reset' to clear any previous settings which may still be hanging around.
This texture alignment method is kind of cumbersome, so let me show you another way. In BSP, you can align textures interactively in the 3-D window. Position your camera so you are looking at the face of the brush you want to align. Make sure that this face is the currently-selected face and turn on the texture preview mode. Now, you can move the texture up, down and sideways by Shift-dragging on the brush. The offset values are displayed in the status bar as you drag. Ctrl-dragging adjusts the scale values of the texture and Ctrl-Shift-dragging adjusts the texture Rotation value. This is a very handy feature. Offsetting the texture 64 units on this wall helps. It doesn't look perfect, but I wanted you to see how to align textures.
Now, let's make that door like I promised earlier. In Hexen2, there are several different types of doors available. In this lesson, I'll show how to make a simple door that opens when you approach it and closes after you go through. In later lessons, we'll get into button-controlled doors, secret doors, and more advanced door design.
First of all, we need to make 2 brushes to represent each side of our door. Make sure no brushes are selected and draw a new brush from (-268, 64) to (-260,0). You may need to set your grid size to 4 in order to do this. Switch to a side view and drag the bottom of your brush to 0 and the top to 128. Now apply the 'rtex081' texture to this brush. Before we turn it into a door entity, let's go ahead and make a copy of this brush and drag it into position as the other half of our door, so that the two brushes fill the doorway.
Now with the newly pasted half of the door still selected (you may have to deselect it and reselect it to make these following changes take effect), switch to the entity window and make this brush into a 'func_door' entity. While you are in the entity window, set the angle to 270 and assign a 'soundtype' '2' key/value pair to your new door. Switch back to your top view and select the other half of the door (the one you drew first) and make it a 'func_door', with an angle of 90 and 'soundtype' '2' key/value pair.
If you look at the top view now, you'll see your two brushes have arrows in them, indicating the direction they will travel. That's a neat feature to make sure you've got everything lined up before actually play-testing your level. Well, believe it or not, that's all there is to making a door. You can control other features of your door, like its speed and how much of a lip it leaves showing when it's opened, but for now, the default settings are fine.
Save your map and try it out. Look at your new light fixtures too and see how they look while you're at it. I know some people might not like the textures I've chosen, but hey, I'm not an artist. :-) The main point of this lesson was to show how to make a door and how to align textures, not to prove my worth or unworth at artistic endeavors.
Well, that wraps up this lesson. Hope you got something useful from it. See you soon.
| Return to the BSP Tutorial List | Return to the Main Page |

This site is designed for 800x600 resolution, and is best viewed in Netscape 4.0 or above with 16bit color or higher.
BSP is the sole creation of Yahn Bernier. I am only a dedicated user, reporting news and making tutorials so Yahn can spend more time enhancing BSP.
This web page was created and is being maintained by me (DeadMeat). Unless otherwise noted, all content appearing on this site was written by me. Also, 'DeadMeat's BSP Tutorials' were created entirely by me. All unauthorized use is prohibited. (c) 1997. So there :-P