So a while back I made a very quick guide on the Something Awful forums on how to make maps for Doom for a bunch of people who had never mapped before. I never finished it, however I noticed all of the images were getting lost when waffleimages died and decided that it might be better to rehost the whole thing somewhere where more people are likely to find it in the event that somebody finds it useful. Bear in mind that I aimed the guide towards people who I imagined gave no shits about the annoying limitations of the original Doom, hence why I went for the super-flexible UDMF format. One day maybe I'll make a proper guide that also includes Boom format and other useful stuff, but today is not that day (tomorrow's not looking good either). Apologies for the multi-posting, the guide was split into multiple posts and it seems to make sense to leave it in that format.

How to make maps for Doom - Part 1

Contents
Part 1 - Setting up Doom Builder, basic map structure and controls for standard editing modes
Part 2 - 3D mode and its controls
Part 3 - Sector and Thing properties
Part 4 - Linedef properties, action specials, doors and lifts
Part 5 - Teleporters and flipping linedefs
Part 6 - Unpegging and sidedef propeties
Part 7 - Sound and basic monster teleport traps
Part 8 - More useful Doom Builder features
Part 9 - Skies and Sky boxes
Part 10 - Scripting

Things you will need:
1) Doom Builder 2 (or if your computer is complete garbage and can't run it, Doom Builder 1)
2) A copy of Doom 2, at least just the DOOM2.WAD file (or the original doom, but everyone uses Doom 2 because it's a complete upgrade)
3) A source port to actually play your levels with, e.g GZDoom, PrBoom+, Skulltag, etc.
4) The ZDoom wiki as your go-to source for finding out what stuff does or how to do things
5) Creativity

Things you might need:
1) A lump manager such as Slade 3 (this allows you to do things a level editor can't do, such as create your own enemies, add your own pretty graphics and give your level a name, and probably won't be covered by this set of tutorials)

Setting up Doom Builder 2
Open up Doom Builder and go to Tools -> Game Configurations. Doom Builder 2 doesn't come with all of the textures and stuff from the Doom games, because that would be illegal, so you'll need to tell the program where to find this stuff. Select "ZDoom (Doom in UDMF format)" and add in your DOOM2.WAD file.



Now select the Testing tab and add in the location of your sourceport in a similar manner. You might want to change the default difficulty to Ultra-Violence if you're not a big wuss.



(I would also advise selecting Tools -> Preferences..., clicking on the Appearance tab and checking the "Square things" box, but this is not necessary. This will show you exactly where the bounding boxes for the monsters and pickups are so you don't place monsters inside each other etc.)

Now that everything is set up, click on New Map and choose "ZDoom (Doom in UDMF format)" as your game configuration from the list. Leave the map as MAP01. You might want to immediately choose File -> Save Map As once the map drawing screen has opened to ensure the file actually has a name so that you can actually test your map (I would also advise saving frequently just in case). DO NOT SAVE YOUR LEVEL INTO DOOM2 WAD YOU RETARD.

The following guide will assume the default controls. You can change these at any time in the preferences.

Actually making your map

You should now be facing a big black screen with gridlines on it and the words "VERTICES MODE" in humongous letters at the bottom. Before we get to the cool stuff, here's a short explanation on what maps are made up of so you know what you're doing:



A Vertex is like the dots in a "join-the-dots" puzzle. These are the corners that you attach walls to, and are the "basic" unit in a map. A wall is made from joining two vertices together.

A linedef is most easily thought of as a wall (but doesn't have to be). These are the lines that connect two vertices, and can be given various properties and textures. Giving a linedef an action will let you do stuff with the architecture, such as a switch that you can use or teleporting anything that walks over it. Linedefs are usually two-sided unless there is empty space on one side. You can texture the front and back sides separately. The little line sticking out of the middle of the linedef shows which side is the front side. One sided linedefs should always have the front-side pointing inwards, Doom Builder should do this automatically unless you seriously cock things up.

A sector is the "floors and ceilings", and are made when you make a fully enclosed space with linedefs. Technically, they do nothing more than hold properties about that area, such as the height of the floor and ceiling, what texture they have, and whether they do cool stuff like hurt you or count as a secret area. One important feature about sectors is that because they just hold a set of properties, you can actually have entirely separate enclosed shapes all count as a single sector. While this does not speed up the performance of your level or anything, it can be useful for allowing sound to travel between different and separate areas of the map, or making lifts stop at certain places, however in UDMF format you can do all this stuff in a much more intuitive way.

Things (not pictured) are the objects. The player, monsters, guns and ammo, etc. This stuff should be really obvious.

Actually actually making your map

We're currently in Vertices mode, which lets us fiddle about with vertices, and can be accessed at any time by pressing v. There's a similar mode for linedefs (press l), sectors (press s) and things (guess what button you have to press). To start drawing, there are 3 ways to do this, either right click or double left click while not hovering your mouse over an existing linedef/sector etc., or press CTRL+D, which I find easiest.

In drawing mode, left clicking your mouse will place a vertex, and you'll see a line extend as you move your mouse, which shows you the linedef that will be created and it's length.



Complete a fully enclosed shape and you'll make a sector. Try it out. In drawing mode, pressing BACKSPACE will go back a step if you mess up while drawing, pressing ENTER will end the drawing prematurely with all you've done so far, and pressing ESCAPE will cancel the whole thing. Note that the vertices you're placing will both snap to the grid, and to any nearby lines and vertices, if you want to place something a bit closer to an existing linedef but not on top of it, you can zoom in and out with the scrollwheel and change the size of the grid with [ and ] (or use the two buttons at the bottom of the screen). Alternatively, hold SHIFT to ignore snapping to the grid for super precise placement, or there is an icon on the bar at the top which will toggle off snapping to the grid. Next to that is a button labelled "Merge Geometry". Never ever disable this or your map will fuck up! If you want to move your view around the level, either use the arrow keys, or hold space and move the mouse. Pressing HOME will fit your entire map onto one screen.

In the appropriate mode, you can move stuff by dragging it with the right mouse button. You can edit its properties by clicking the right mouse button once (or double clicking the left mouse button). If you want to highlight a number of them at once, a single left click will select or unselect a single thing/sector/etc at a time. Dragging the left mouse button will create a box and everything inside this box will be selected if you want to select a bunch of stuff at once. Finally, press c to unselect everything. Right clicking with multiple stuff selected will edit the properties for all of it at once.

Sometimes when drawing your level, you'll have an enclosed space that you want to be a sector, but isn't (this sometimes happens if you've delete a linedef and a sector is no longer "enclosed" in the same way it used to be). Situations like this is where Make Sector Mode comes in useful, accessed by pressing m. When in this mode, a single left click will attempt to flood fill the current space as a sector. It's also good for making two separate areas currently treated as the same sector into two different sectors (this usually happens when you draw a small shape to split a hallway in half e.g. to make a door, in this case both sides of the door will be the same sector, and sound will travel past the door and wake up the monsters behind it, usually not what you want).

Edit Selection Mode

One last mode that deserves special mention, highlighting a bunch of stuff and then pressing e will enter edit selection mode and let you manipulate stuff more easily. In this mode, a tab will appear at the right side of the screen called Edit Selection which lets you fiddle with numbers and flip/rotate/scale your selection. You can drag the selection around with the right mouse button and use the little squares on the selection box to rotate and scale the selection too.



Testing your shitty map

Press the play button at the top of the screen. Use the drop down to change the difficulty level or play without monsters, but neither should concern you yet.

Next time
This post is way too long already. My next post will detail the workings of the super awesome 3D MODE which is the main reason why Doom Builder 2 kicks so much ass.

Homework
Arse about with drawing sectors, then place a player 1 start thing, some monsters and ammo and stuff, and enjoy a extremely flat and boring frag fest. Don't worry about changing floor heights or textures or sector and linedef properties yet.