Let’s Make a Custom Level for Duke Nukem 3D! Part 2


Previous parts: 1

Last time, we made a basic room. I realized I forgot to tell you how to save it. Pressing the Esc key brings up the menu shown below:

This is where, by hitting one of the indicated hotkeys you can save your progress, load a map you were working on, start a new one and more. We’ll be loading “duketroidvania.map” as shown below, since that’s what I saved our map as last time.

I’m making sure to cover even small tedious stuff because my hope is, by the end of this, you’ll know everything you need to make your own levels if you wanted to. Anyways, duketroidvania.map loads on command, giving us this:

Wait, what?? Our player start location is in the center of the map, but apparently I made the room way over there. Not to worry though, this is easily fixed. You can move the player where you want and hit the Insert key to set that as the new player start location.

Alternatively, you can hold the Alt key and drag the cursor to define a rectangle around the room. This will select it providing you got all four vertices inside the rectangle. Then you can click and drag the entire room around to relocate it.

That’s better. Now our room is at the center of the map, no need to change the player start position. Though really, either method works. Now let’s add some detail to our room. You might recall it was a big deal when Quake 3 came out that it could do curved surfaces.

They were still polygonal, but had level of detail to increase or reduce the polycount based on your distance from it and an easy tool for creating curvilinear surfaces within the level editor. Guess what? So does BUILD!

Pressing C near any wall brings up a visual guideline for the curve you’re going to create. Pressing plus or minus increases or decreases the number of vertices in the curve. Careful now, there’s a limit to how many walls you can have.

We’ll use this in a minute. But first I want to stretch the room out so the curved wall is more oval shaped. To do this, click and drag a selection rectangle, but select only two of the vertices (the ones we want to move). Then drag them to stretch the room.

You can do this with any number of vertices. With this you can alter rooms however you like, and with the Alt-drag method you can move those rooms around, though you may have to detach them from the rest of the map first. But we’ll go over how to do that later.

As you can see, the room has been stretched now. I’ll do the same to the other side, then use the curved wall tool to make a one of the walls semi-circular. No need to show all those steps, since you already know how to do them.

There we go. The beginnings of an interesting room. You don’t want your map to just be a bunch of square and rectangular rooms connected by hallways, that’s boring. You’ve got to get creative with the architecture.

There’s the 3D view of our room so far. Still ugly. As promised, we’ll now change the textures. Often this is the first thing I do because I can’t stand looking at the default brick texture for long. Hit V to bring up the texture selection menu. It will at first only show the textures used in the level (the ugly brick texture) but hitting V a second time brings up all the textures available for use:

Don’t be overwhelmed. A lot of that is just frames of animation for items, which of course are 2D sprites. We’ll go over how to create sprites later, though once you do, you assign what item, enemy, weapon, etc. they are using the texture selection menu.

Hmmm, what looks good? Pressing the arrow keys moves the selection to whatever texture you desire. Then just hit V to get out of the texture selection menu. Whatever texture you had selected upon closing the menu will be assigned to whatever surface your cursor was on:

Not too shabby. I’ve decided to go with an industrial theme for the level, to keep things simple. A concrete floor will suit it nicely. Now to use the same method to choose textures for all the other surfaces in the room:

See how much better that looks? Some textures look brighter than the rest because of the colors and shades used, but not to worry, there’s an easy way to brighten or darken their shade. Just point the cursor at the surface whose shade you wish to alter and press + or -.

I’ve darkened the ceiling just a bit. Looks more consistent with the wall and floor textures now, wouldn’t you say? But the ceiling is a little low, too. Let’s raise the roof! Woop woop! Put the cursor on the roof and press PgUp a few times.

Again, huge improvement. It’s starting to resemble an actual room instead of the default area in a level editor. That’s all for this time, but stay tuned for next time when we’ll learn to shrink, stretch and otherwise manipulate textures, as well as how to create child sectors within the room so we can start making good looking geometric details.

Stay Tuned for Part 3!

I post text here, often accompanied by images and sometimes video. People then clap or don't depending on whether they enjoy what I posted.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store