Doom Builder Guide – Slopes

This guide is intended for beginners/intermediate level mappers who want to make slopes in their GZDoom levels.

There are two ways to make slopes in GZDoom. The recommended way is to use line action 181: Align Slope. The second way is UDMF specific (I think so at least) and you add a slope angle and direction to a floor or ceiling inside a sector’s settings.

Making a Basic Slope on the Floor

Our first objective is to make a slope on the floor. The most common thing you’ll see this used for in maps is ramps. Go ahead and draw a main sector that will be used as our “ground floor”. Make sure the floor height is 0 and let’s make the ceiling height 256 to create some breathing room. Place a Player 1 Start thing somewhere in the sector.

Next, let’s create another sector either inside or adjacent to our first sector. This will be used as an upper platform we will want to make a ramp up to. Increase it’s floor height to 64.

Now let’s draw a third sector that will be used as a ramp. Try to keep it square/rectangular because angled ramps can look strange or make it difficult for players and demons to navigate. Make it at least 64×64 to allow some width for travel but also length so the angle of the ramp isn’t greater than 45 degrees. You can make slopes that are steeper, but again, you need to be mindful of players and demons traversing your map. I’m going to make our sample slope sector 128px long to make it a little more of a gentle slope.

Now we can do two different things here. We can either align the slope down from 64px (platform) to 0px (ground floor) or we can align the slope up from 0px to 64px. It’s really up to you what you want to do, but I will demonstrate both. (You’ll need to understand both if you end up having complex geometry in your maps that prevent you from using the slope line action on certain lines or there are slopes that you don’t want to create ramps for.)

Set your ramp sector’s floor height to match the platform’s height. Select the line that is at the bottom of your slope. This is the line that we will align to, or attach to the floor. Make sure it’s facing inward to the slope. The direction of the linedef is crucial for the engine to determine where the slope aligns to.

Edit the line properties and set the line action to 181: Align Slope. You’ll see some arguments you can set on this action. We will set the Align Floor argument to front.

Save your settings and let’s test our work. Either preview our slope in Visual Mode or play your level. While inside Visual Mode, you can also experiment with sector heights to see how it affects slope angle.

Making A Sloped Ceiling

In this next example, I’m going to make a basic sloped ceiling. I’m going to create a hallway off of our main room and create sectors where I want the slopes to be. I’m going to make the hallway 128px tall and then bring down the two slope sectors’ ceilings by 32px. **Notice the direction of the lindefs.**

Now add the line action 181 and change the Align Ceiling argument to Front. Go ahead and test in visual mode now.

What about aligning slopes to Back?

I’m going to show a quick example of some places where you’d want to align to back instead of front. The best way to learn the difference it to experiment and trail-and-error while creating your maps. Sometimes instead of aligning to the back, you can just flip the linedef and still align to front.

I’m going to split our original slope from earlier in the guide and align it to the back instead. Instead of aligning it at the bottom of the slope, we will want to add the Align Slope action to the linedef at the top of the slope. We will also want to flip the linedef direction, lest we accidentally make our platform to slope towards our ramp instead! Lastly, make the new slope sector’s height 0.

The two slopes will be identical and indistinguishable in Visual Mode.

Make an interesting teleporter / item area

Here’s a quick way to make your teleporters and item pickups stand out. Make a 64×64 sector somewhere and raise it up by 16px. Make four sectors around it like the screenshot below. Make those border sectors 16px high as well.

Now make the four outermost linedefs align to the floor. Add some textures to spruce it up and you should end up with something cool like the screenshot below.

Make interesting and natural looking hills

Sometimes slopes can make outdoor areas look really good. I’m going to demonstrate how to make some natural looking hills by using triangular sectors that alternate where they slope to.

Lets start by adding an outdoor area on the other side of the hallway we made earlier. I’m going to make an irregular shaped platform that we will want to make slopes to. (I’m also going to change the textures on the map so it’s easier to look at — I really hate the default STARTAN textures haha!)

Now I’m going to create triangular sectors branching off like spikes from the hill sector. I always imagine I’m just making a crude depiction of the Sun.

Now I’m going to close off the points of each of the new triangle sectors like the screenshot below. This creates more triangular sectors. I’m also making sure all the linedefs that are touching the hill and the grass are facing inward.

Now, select all of the triangle sectors that are touching the grass, and raise them to the same height as the hill.

It looks really silly right now, but once we add Align Slope and slope all of the floors to Front, we are going to get a really smooth looking hill.

Nice work! You can extrapolate off of this concept and make winding trails that slope smoothly or lots of hills that build on each other.

Sloped 3D Platforms

Sloped 3D platforms are a little complicated but are very possible and can make your Doom maps rival Quake-style architecture. Let’s do a little work on our inside area so we can make an appropriate area for one. I created another area that has a floor height of 128px. You can do anything you want, but I just wanted to create something natural-feeling for my level making style. Here are some screenshots.

I’m going to make our 3D platform between our original platform and our new platform like this:

Let’s start off by just making this sector a 3D floor. If you haven’t made a 3D floor yet, I’m going to write a guide about making them later.

Make your dummy sector outside of the map. In order for the slope to be correct later on, make the sector as wide/tall as our destination sector, and also aligned with our destination sector.

Let’s add our linedef action 160: Sector Set 3D Floor on one of the sides of our dummy sector, not on the sides that will match where our slopes will eventually be.

Now I’m going to adjust the heights of the 3D floor so the bottom is at 64px and the top is at 128px. This is so it matches the two heights of our other platforms we want to create a ramp in between.

This is a proactive step, but I’m actually going to lower the bottom of the 3D floor by 32px to give our ramp a little thickness later on.

Now it’s time to make it slope. Add a sector on top of the dummy sector.

I like to do the next step in Visual Mode. I’m going to set the dummy sector’s floor height to 96. This will move the 3D floor’s underside up higher. We are also going to add a slope linedef action on the linedef between the dummy sector and the new slope sector.

Now lower the ceiling of the slope sector to 64px and slope the ceiling.

Now our platform will look like this!

Nice work. Sloped 3D floors have a lot of potential and can really make your map have a lot of modern capabilities.

Some other interesting architecture possible with slopes