DeadMeat's Tutorial Logo (by KruGer)
Quake - Lesson 4 - Wind Tunnels and Jump Lifts

One of the really cool features of Quake is the trigger_push entity. This entity gives you the ability to make wind tunnels, jump lifts, and simulate water currents. It adds a whole new dimension to the game. This lesson will show how to do wind tunnels and jump lifts. Another lesson will demonstrate water currents.

Wind tunnels aren't that difficult to make, but there are some things to watch out for. As usual, we'll need a map to use. I've provided one here if you need one.

Okay, let's get started. In the Top View, draw a 64x64 brush, centered on (-192, -64). Switch to a side view, set the bottom of the brush at 88 and stretch the top to 408. Go ahead and apply 'COP1_1' as a texture. Make a copy of this brush and drag it so that it is centered on (-384, -64) and is at the same vertical position as the first one. Don't worry, we'll hollow these out later.

Next, let's draw a brush (in the Top View again) from (-352, -32) to (-224, -96). Set the top of this brush at 408 and the bottom at 320 on the Z axis. These three brushes provide the structure of our tunnel, but they're still solid. Let's hollow them out now. Draw a new 48x48 brush, centered on (-192, -64). Set the top at 400 and the bottom at 80. Now subtract it from the map and delete it.

Do the same thing in the other vertical shaft. Draw a 48x48 brush, centered at (-384, -64), with its top at 400 and the bottom at 80. Subtract it and delete it.

That should hollow out our two vertical shafts. Now let's hollow out the top horizontal shaft. Draw a new brush from (-368, -40) to (-208, -88) in the Top View. Set the top at 400 and the bottom at 328. Subtract this brush and delete it. We now have a hollow tunnel extending up from one room and down into the second room.

Okay, now to make our wind tunnel actually work, we need to use the 'trigger_push' entity. This entity, when activated, will push the player in the direction of its angle setting. Unlike some other entities, this 'trigger_push' entity can be any size you want. That way you can push the player a long way.

In the Top View, draw a 48x48 brush, centered in the first vertical shaft. Align the bottom of the brush with the bottom of the shaft and stretch the top of the brush to 336 on the Z axis. Switch to the Entity Window and make this brush a 'trigger_push' entity with an 'up' angle. This entity will propel the player upwards into the tunnel. You'll notice that the entity stops at the top of the shaft. That way the player stops at the top and our next brush can push him sideways.

Switch back to the Top View and draw a new brush from (-368, -40) to (-168, -88). In the Side View, set the top of this brush at 400 and the bottom at 328. Make this into a 'trigger_push' entity and give it an angle of 180. This will push the player horizontally.

That completes our wind tunnel. Go ahead and compile your level and run it in Quake. Stand under the vertical shaft in the first room and jump up. The tunnel should carry you into the next room and deposit you there, with a bit of a hard landing. You'll notice that it's awful dark in the tunnel. You can put a couple of soft lights in there if you want, so the player can see where he is going, but it's not necessary. One idea that might work well for a trick is to put a silent teleporter inside the wind tunnel. Then the player will have no idea where he is when he comes out the other side; he might not even know he was teleported. It could make for a nice disorienting trick.

There are other things you can do with wind tunnels, though. Switch back to BSP and let's add a grenade launcher to our map. Draw a brush somewhere near the wind tunnel and make it into a 'weapon_grenadelauncher' entity. You can even add a case or two of grenades if you want, so you'll have some ammo to play with. Now run your map in Quake. Grab the grenade launcher and stand near the door so that the door opens and you can see the exit of the wind tunnel. Shoot a grenade up into the wind tunnel entrance. Hopefully, it will run through the tunnel and exit in the other room before it explodes. The first picture shows a grenade being shot up into the tunnel. The second picture shows it coming out the other side. Pretty cool, huh?

Insert Grenade Here! Surprise!

Now it's possible that your grenade might not make it through the tunnel. If it bounces off the sides too much as it goes through, it will explode before it makes it all the way. I've found the best way to make it work is to stand directly under the tunnel and shoot it as straight up as you can. The problem lies in the fact that we have right angles in our tunnel. This makes places where the grenade can bounce around and impedes its progress through the tunnel. In a straight tunnel, you can shoot grenades much farther without them getting hung up. I just wanted you to see it work.

Over the last few months, I've had a lot of requests from readers on how to make various items of architecture. One of the more requested items has been how to do a Jump Lift. If you don't know what a Jump Lift is, I'll tell you briefly. I first saw these in Jim Lowell's Critters level. I don't think they appear in any of the Quake levels, but there are a couple I haven't played, so I could be wrong. Basically, it's a vertical wind tunnel with a platform that covers the top opening after the player passes through it, allowing him to land on the platform rather than fall back through the tunnel again. It's a pretty cool way to make a lift without using the same old elevator you see all the time. They're really not that hard to make, so let's dig in, shall we?

In the interest of saving time, I've prepared a different map for us to use for jumplifts. Download it here.

Okay, the first thing we need to make is the vertical wind tunnel. I'll rush through this pretty quick. If you feel lost trying to follow what I'm doing, review what we did above (on the wind tunnel) to refresh your memory. I'll do my tunnel a little differently than we did then, but the concept is the same.

Let's start out by drawing an 80x80 brush in the Top View. Center this brush at (-152, -32), which will put it in the middle of the room. In the Side View drag the top to 304 and the bottom to 80, then give it a texture you want to use. I chose COP1_1, but anything you want to use will work fine. Now with that brush still selected, click on the N-Sided button and enter 8 for the number of sides and 40 for the radius. Click OK to complete it and you will now have an octagonal brush.

Let's copy this brush and paste a new one, dragging the new brush so that it sits directly in the same place as the first one. Now with the second brush still selected, click on the Scale button and enter 1.2 for the X setting, 1.2 for the Y setting and leave the Z setting at 1.0. Click OK. This makes our second brush bigger than the first so that it fits around the outside of the original brush.

We're ready to hollow out our tunnel now, so go back and select the inner brush (the one we drew first). In a side view, drag the top and bottom of this brush so that it sticks out above and below the outer brush. Click on the Subtract button and then return the top and bottom edges of the brush to their original position. That will hollow out the outer brush so we have a tunnel now.

Okay, with the inner brush still selected, let's use it to make a trigger_push entity. Assign it an 'Up' angle, but leave all the other settings at the default. They will be fine the way they are.

Now if you want, you can run your map in Quake and try it out. You will have a vertical wind tunnel. You can jump up the tunnel, but you may get trapped at the top. Everytime you start to fall, the trigger_push will throw you back up to the ceiling. That's not really what we want, but I thought it was a good idea to test our wind tunnel to make sure it was working properly before we went on.

If everything is working properly, return to BSP and now we'll make a door that will sit on top of the wind tunnel and close under the player, giving him a place to stand. Go to the top view and draw a brush from (-152, 16) to (-104, -80). In a side view, set the bottom edge of this brush at 304 and the top at 312. I chose a texture of METAL2_4 for my door, but again, use whatever you want. Copy this new brush and paste a copy. Drag this pasted copy over so that it lines up over the left half of your tunnel opening (in the Top View). With both brushes together, the tunnel should be closed off.

Make sure the left hand brush (the one we just pasted) is still selected and switch over to the Entity Window. Make this brush into a 'func_door' entity. Give it an angle of 180 and set the following key/value pairs: "speed" "1000", "lip" "0", "wait" "1". Also click the 'START_OPEN' checkbox (I'll explain why in a moment). Once you get all these set, switch back to the brush that makes up the other half of our door and do the same thing to it, only make the angle 0 rather than 180.

If all that is done correctly, you should be ready to run your map. Compile it and load it into Quake. Now when you jump up the tunnel, the door slams shut under you and you have a place to land. As long as you're standing on the platform, it won't re-open, so it makes a pretty good place to stand. Cool, huh?

Here are some screenshots to show you what you should see. The first one shows what the player sees from the floor. Notice the 'door' is open. Of course, if there were a floor there, you wouldn't see the door, but for the interests of clarity, I left out the second floor:

Jump Lift
Now, this is what you will see when you're standing on top of the platform. See, there's no way to go back down the tunnel from here:

Jump Lift
Here's a shot from the ceiling, just to show you what it looks like from above when the door is open:

Jump Lift
Now there are a couple of other things you could do here if you wanted. I merely showed the simplest method to implement the Jump Lift. I chose 'START_OPEN' for my door so that the player could look up the tube and see it open. Ideally, there would be a second floor here that the player could run around on after he jumped up the lift and you would want the player to maybe get a glimpse of it by looking through the tube.

Of course, if you wanted to, you could have the door start out closed and attach it to a 'trigger_multiple' entity inside the bottom edge of the tunnel. That way the door would open as the player jumped into the tunnel. You might have to adjust the 'wait' value depending on the length of your tunnel. It's really up to you. Just remember that the door has to move quick (that's why I gave it a 1000 speed setting) or the player will hit up against it. You also want it to shut before the player lands back on it (hence, the wait value of 1 in our map).

Well, like I said, this is a pretty easy piece of architecture to make, but it breaks up the monotony of having the same old platforms all over your level, don't you think?

Well, that does it for another lesson. Hope you found it useful. See you soon!

| Return to the Quake 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