DoomGappy Posted October 13, 2023 (edited) Art by Pixel_Axel on Twitter Intro Doom. The game that changed gaming history forever. The father of all modern FPS games. The fast paced action packed shooting game that has proved time and time again that it's here to stay. The one that runs on a pregnancy test and on an ATM. The one we all know and love. Throughout the Years, Doom has become much more than a simple first person shooting game. Since its source code was released, Doom gave birth to something else entirely: A Community. From the early days of playing Doom on DOS to the modern era of source ports and convenient launchers, we still reunite under the same banner: to run and gun demons, to find keys and unlock doors, and to become feared by hell itself. Seeing as the community has been reinvigorated in the last fifteen or so years, there has been an influx of new mappers. Many factors contributed to this. There was the Brutal Doom craze, of which I was a part of, joining the community in the mid 2013's. The new franchise releases through 2016 and Eternal also contributed to interest in the older games. Another important factor was the so-called "boomer shooter" revival. And last, but not least, the MyHouse.wad phenomenon, which is sure to attract a new generation of young Doomers. From observing these situations, I wanted to make a thread to help novice mappers progress and develop. I'm a teacher, so I am always looking for ways to make students learn things in an easy, simple and concise way. In the following topics, I'm going to lay out what, in my understanding, are the basic concepts of doom mapping, and attempt to do so in a way that mappers can tick the boxes of what they have mastered and understand where they should go next. Even though it's a tutorial aimed at beginners, I think even intermediate and advanced mappers can learn a thing or two from this thread. This tutorial was made in the year we celebrate the 30th anniversary of Doom. I hope for 30 more years full of custom made content and a thriving community. May many new mappers learn and be able to create amazing things with this and keep the spirit of this wonderful community alive. WARNING This guide is pretty extensive, and explains things in as much detail as possible without overwhelming mappers. Read it slowly and calmly. I've divided it in parts so that new mappers can feel a sense of progression. Each part builds upon the last. Parts 1 to 3 teach the basics of creating rooms, doors and switches, the bare minimum to actually make a complete map. Part 4 focuses on the verticality aspects like stairs, tall platforms, lifts, and pools of damaging floors. It's the biggest part of the tutotial. Part 5 leaves us with a pretty good map already, but part 6 and 7 go a bit more into the other aspects of doom mapping, which are testing and beautifying the maps, that is, texturing and lighting. Part 8 is the last one, where our first map has been completed and is playable. It looks completely different than when it started, and that's a testament to the skills we've learned along the way. Video tutorial If you prefer, there is a video series for this tutorial. You can find it here. Video feedback I have a playlist where I post videos with level editing feedback using maps from new mappers. Here is the link. Disclaimer I'm not a proficient mapper, but I have made some maps. I try to stick to boom format because I think it is a very competent and versatile format even to this day. You can play my maps here to get a feel for what I generally go for, and you can judge whether or not you would like to participate in this thread. Below is a list of my maps with details about them. For the purpose of this tutorial we are going to stick to Boom too. Mainly because my goal here is to teach you more about the logic of how Doom mapping works, instead of a specific port. Boom is a limit removing format based on the original vanilla Doom, and thus it operates under the same general logic while offering more options for mappers. It is still one of the most widely used and compatible formats for Doom mapping, and so it’s possible to reach a wide audience by sticking to it. Clover.wad - An ambitious map that can only be played in GZDoom. Since It was my first map and I knew nothing about the details that I plan on teaching here, it may have some bugs, and is also unfinished. I used it to learn a lot about doors and traps. Box doom maps - My 3 submissions to the Box Doom project. They require Ukiro’s OTEX to be played, which you can download here. I added an exit switch for convenience's sake, and it's possible to beat them 3 in one sitting, although it can be hard with infinitely tall monsters. Tested on DSDA and PrBoom+. Descent into madness - An E1M1 I created for a Community Project I plan on leading one day. The idea is that mappers can only build decorations using the ceiling, and the floors have to remain flat. I actually like this one a lot. No extra textures or anything else needed, Boom compatible and tested on DSDA and PrBoom+. Wood5Flat5 - A short map using only Wood5 and Flat5_1. Boom compatible and tested on GZDoom, DSDA, PrBoom+ and Woof. You can find it here. Goal of this tutorial To get you from absolute zero mapping skills to being able to create a simple map. What this thread covers Making rooms Making doors Making stairs Making lifts Making switches Making damaging floors Making secret rooms Making teleporters What this thread doesn't cover Scripting Adding new textures Adding new monsters Voodoo dolls Changing sound effects Changing sprites Editing sprites and textures Modifying game behavior Anything advanced at all Map Submission folder I've created a Google Drive folder where mappers who participate in this thread can submit their maps for analysis and commentary. Here is the link for said folder. After you submit your maps, please tag me and explain it in greater detail. I'll post a video with feedback and commentary on this thread or send it to you in your DMs if you feel more comfortable that way. Map submission form Name: (Name of map) Map Format: Boom IWAD: Doom 2 Map(s): (MAP01, E1M1-M8, etc.) Time to complete (5 minutes, 10 minutes, etc.) Please name your map files according to the following naming convention. Please write them in Title Case. MapXX - Map Name - Map Author - Status - Version (v1.0, v1.2, etc.) For instance: Map01 - Clover - Jo2ukegappy - Completed - v1.2.wad Map15 - Hell's Kitchen - Jo2ukegappy - In Progress - v1.3.wad Now that we’ve gotten all of that introductory stuff out of the way, let’s start. Part 1 - The Basics Spoiler Downloading the editor For this tutorial, we are going to be using Ultimate Doom Builder. It’s my editor of choice for general mapping, and it’s packed full of amazing features. It is also easy to use, light, free and open source. It is constantly updated, and you don’t need to redownload the program because it checks for updates every time you open it. You can find the installation files for it here: https://devbuilds.drdteam.org/ultimatedoombuilder/ The project thread on the ZDoom forums here: https://forum.zdoom.org/viewtopic.php?f=232&t=66745 And the Github page here: https://github.com/jewalky/UltimateDoomBuilder For this tutorial, if you’re not very tech savvy, what you need is one of these files. Most computers nowadays are 64 bit systems (x64), but if you have an older computer, maybe the 32-bit version (x86) is the one for you. After you download one of these files, extract them in a folder in your computer and run the file builder.exe Important: You need to have a zip management program, such as winrar or 7zip. These are useful for extracting files, but also for compressing files and posting them for others to see. Terminology It’s necessary to know some names to start mapping well. Strap in and get ready for some light reading. Vertices Vertices are the square pegs on the editor grid. They are "pivot points" from where Linedefs can come out. You can also add them to the middle of Linedefs to create curves. You can drag them to extend or reduce Linedefs. Linedefs Linedefs are what makes a Doom map. All rooms are composed of three or more Linedefs in Doom (because it's impossible to make a closed shape with one or two Lines). These, in turn, are what constitutes a sector. It's broader than that, but let's stick with that definition for now. Making linedefs is as easy as clicking the right mouse button and dragging the cursor across the grid matrix to make whatever shapes you want. Linedefs have a little, smaller line pointing somewhere. This line represents two things. The first is the center of the linedef. If you make a linedef sized 64 pixels, the little line will be exactly at 32 pixels. The second thing is where the linedef is facing. The little line represents the front side of the linedefs. This is especially important when making switches and walkover lines, so keep that in mind. There is more to linedefs, but for the purpose of this tutorial, that's all we need to know. Sectors Sectors are what is formed by surrounding linedefs. Think of them like little islands. A sector can have as many linedefs as you want, but it's always an enclosed shape. Sectors have three major elements to them, floor texture, ceiling texture and sector brightness. If the sector is higher than the surrounding area, it also has 3 textures that can be used on its sides, upper textures, lower textures and middle textures. These can be used to create many desired effects, and will be explained in more detail later. Things Things are everything that populates a Doom map. It is generally divided into subcategories, but the most important for now are monsters and items (weapons, ammunition, health and armor, powerups and keys). Items have many properties like the settings they appear and the angle they face. The angle doesn’t matter for some items, but for monsters it is really important. More on that later. Part 2 - Getting started Spoiler Creating a new map To create a new map, we can use the shortcut ctrl + N or go to file, new map. A menu will pop up asking you important questions. Let’s analyze this menu. This menu has some important parts. The first one is Game Configuration in the settings section. For our tutorial, we’ll choose MBF21: Doom 2 (Doom Format), but there are many other versions. UDMF, Boom and MBF21 are the most popular nowadays. Here are some of them: Then we have the Level name. These follow the conventions of Doom. If you use the Doom1 IWAD, these would be things like E1M2, E3M5. If you use The Doom2 IWAD, these would be Map07, Map13, etc. Then, down below, we have the resources tab. Here you can add texture packs and other add-ons for your map, but for our basics tutorial, we’ll just add the Doom 2 IWAD. After that we can press ok and start editing. Important: there is a way to set-up some basic resources so that you don't need to redo it for every new map. This is useful because you are probably going to use the Doom 2 IWAD a lot. Let's do that now. Press F6 or click on tools > game configuration. You should see the following window. This window shows many format types. Here you can select the formats you want to appear in the map options menu every time you start a new map. Let's leave it as is for now. Select one of the formats where the checkbox is marked. Here you can add files that can be used as resources with this specific format. For our tutorial it's the boom format. Do this for all of the formats you are going to use, and then press ok and close everything. The editor In Ultimate Doom Builder, you create things using the right mouse button, and the left mouse button. The best way to start drawing things is by pressing ctrl+D to enter Draw Lines mode. This allows you to draw from anywhere in the grid. There are also other very important modes, These are Linedefs mode, which allows you to edit and move linedefs around, Vertices mode that allows you to place and manipulate vertices, and Sectors mode, which allows you to move sectors and change their properties. There is also 3D view mode, which is set to Q, and allows you to explore and manipulate your map environment in real time. In 3D view mode, you can move around using ESDF in the same way you would do using WASD while playing the game.The editor also has many buttons, but don’t panic. You don’t need to use most of these buttons for now to make a decent first map. You'll get a better feeling for this if you do it yourself, so take some time to play around with placing linedefs and creating weird shapes on the editor and checking them out in 3d view mode. We’ll do some more direct editing later on. Let’s analyze a crucial part of the editor. Expanded info panel This panel is very important, so pay attention to it. It tells almost everything you need to know about a selected or highlighted area, as well as the map in general. When nothing is highlighted, it presents like this: The most important parts for now are grid size and the left corner where it shows linedef or sector information. When a different mode is selected and a sector or linedef is highlighted, it presents like this: Sector informations: Linedef information: You will learn more about this panel with use, so pay attention to it. Using linedefs and sectors To make good use of the linedefs and sectors you have to imagine that all the things you draw on the matrix are coming out of the floor or ceiling. For the purpose of this tutorial, let's forget ceiling decorations for a moment and focus on the floors. Lines, bridges, cracks, liquids, all of these are made from linedefs and sectors. Let's take a look at an example: Notice how the bridge In E1M1 is composed of zigzagging linedefs surrounded by slime. These are just a raised sector with a different texture and no damaging floor effects applied. This way, the player can cross the bridge without being harmed. The platform where the imps are is also just a sector raised to a very tall height. Linedef properties Each linedef has a front and a back side, and they can have three textures, upper, lower and middle textures. They can also trigger actions in 4 ways, Doo and Switch, which require the player to press the use key (commonly "E"), Walkover, which is activated when the player crosses said line, and Gunfire, which activates when the player shoots the linedef (which can be a switch texture or not). There is a little cheat sheet on the bottom of the linedef actions menu so you can always take a peek. So, for example, if you wanted to create a repeatable door, you would search for DR and select the one that applies best to your needs. There are hundreds of different linedef types available, and if you are using Boom or MBF21, there are also generalized linedef types which allow for even more customization of actions. UDMF has a different way of dealing with linedefs, but it also allows for great customizability. Sector properties Sectors can also have their own properties. These can create lighting effects and damaging floors, as well as secrets. They are much less numerous than linedefs actions. Tags Tags are what allows linedef actions and sectors to interact. In Doom, most actions need to be tagged. If you want a lift to move or a platform to raise, for example, the linedef and sector that pertains to that action have to have the same tag. Here's a list of actions which do NOT need tagging: Doors (D1 or DR action) Exits Scroll Wall Texture Here's a list of things which DO need tagging: Locked doors, lifts, elevators, teleporters and everything else Important: tags can be a little difficult to learn at first. I remember when I started learning that I would tag all the linedefs on a sector, even those that had no function or way for me to interact. Remember, the linedef has the action properties and the linedef activates the sector. The sector just obeys and moves accordingly. Creating rooms Enter draw lines mode by pressing Ctrl + D. This is the best way to draw lines, as you can start and end anywhere you like. Click anywhere to start drawing. You will place a vertex and be able to drag a linedef across the grid. Notice how the linedefs show their size in pixels when you move them around. Place three more vertices in a rectangle formation to make your first room. Congratulations! You can enter visual mode by pressing Q and take a look around the room. Now that you've made your first room, let's create a corridor that will connect it to a second room. Enter Draw lines mode again, select one of the sides, and draw a thinner rectangle. Don't make it too thin, though, or doomguy won't be able to enter it. Let's make it at least more than 64 pixels wide. After you’re done, create your second room. Don't worry about detailing or texturing for now, let's make things functional first. After you've finished, enter things mode by pressing T and place a player 1 start on the room to the left. Make sure the three difficulties are selected. You can also choose an angle. This is where the map will start. Let's also place a shotgun in front of the player and a single imp facing the wall in the other room. Important: You can shape the rooms better using the linedefs mode and vectors mode, but this is not the focus of this part of the tutorial. For the purposes of teaching you these things in a simple way, all of the maps will be pretty squarish for this thread. Room properties Let's take a look at some things we can do in 3D view mode. As you've probably noticed, in 3D view mode you have a crosshair on your screen, and when you point it anywhere, the surface under it blinks a yellowish color. This is a way to show you what part of the map you are editing at that moment. If you click any surface, it turns into a blinking red surface. You can also select more than one. Let's change the height of out room. Select all the ceilings and then press the right button on any of them and set the sector height to 256 pixels. This way we can make a tall room and learn some important things later in this tutorial. After all of this has been done, it’s time to test our map. Testing the map First we have to configure the source port for testing. Press F6 or go to Tools > Configurations > Testing and click on the green plus symbol. Find the .exe file of your source port of preference. Ideally you should have some different ports set up to test compatibility, but for the purpose of this part of the tutorial, GZDoom is enough. After you've saved your settings, close the window and go back to the editor. Press F9 to play your map. Important: It's good to get into the habit of testing and visualizing your map in-game. Even though the visual mode is really useful, you can only get a feeling for things by playing them. Important: When you start making bigger rooms, you can start a test from anywhere in the map by placing your mouse pointer where you want to start and pressing Ctrl + F9. This way you don't need to drag the player around every time you want to test something. Creating Doors Open corridors are fine, but you can see what you're getting into right away. That's why humans came up with the wonderful concept known as doors. I think. Doors in Doom are basically a rising ceiling, a moving sector between two static sectors that raises and lowers according to a set of parameters you can define. Doors can be used by pressing use on the door linedef, or on a button. They can also be activated from afar using a walkover trigger on a distant linedef, or with a shootable switch. For the purpose of this tutorial, let's explore a simple door. We can make doors manually, but doom builder also has a built-in tool for that. I am going to explain how to make doors both ways. Important: You can deselect everything by pressing C (for clear) anytime. This is very useful, so memorize it! The traditional way To make doors the traditional way, first we make a new sector for our door Then, we select the sector and lower the ceiling of the sector to match the same height of the floor. After that, we select the door linedefs and texture the door on both sides. We choose a texture for the Door. Then we select the sidelines and add a doortrak texture to where the door raises and lowers. We also set it to Lower unpegged, which means that the texture will not raise along the door when it is opened. Finally, we apply the linedef action 1 to both sides of the door. The modern way Make a new sector for our door. Then, press S to enter sector mode, and select the sector you just created. After that, press Ctrl + shift + D to enter door creation mode. This menu has three buttons that can be activated, reset texture offsets, apply action specials and apply tag. If you are going to create a simple door you only need to check “reset texture offsets” and “apply action specials”. If you click ok, the program will make a door with the basic settings, that is, it will apply action 1 to the linedefs on both sides of the door, lower the ceiling of the sector to the ground level and apply the selected textures to the surfaces. You may check “apply tag” and uncheck “Apply action specials” if you want to make a door that will be activated somewhere else. I generally do all doors with the standard textures and then I texture everything once the map is done and working, but that's just a personal preference I rarely do doors the traditional way anymore, simply because it's more troublesome. The modern way may seem daunting at first, but after some time it becomes really easy. I decided to show you both ways so that you can decide what to do on your own. Regardless of the way you choose, the result should be a door that opens and closes and looks like this. Funky, right? Creating Switches You may have noticed before that our map didn’t have a switch in-game. The only way to exit the map was to quit to the main menu or to close the game. To change that we need to make switches. Switches are composed of two things, generally: a linedef and a texture. They can be used to raise or lower platforms, open doors and change the map layouts. For the purpose of this tutorial, we are going to learn how to make an exit switch. There are many layouts you can choose for your switch, and I like experimenting with them. Here are some switches I've done in the past: You can experiment with these later. To begin, let's do a simple switch. Start by drawing a small 16x64 rectangle on the side of one of the walls to make a new sector. Select the back linedef or go into visual mode and select the wall inside the crevice and press the right mouse button. Search for a switch texture you like. We'll go with SW1EXIT. Let’s not worry about aesthetics for now. Again, select the wall or linedef and set its action to 11. This way, when we test the map, we can exit the level. Important: Exit switches don't need tags, but if you want to make a different switch to open a door or lower a lift, it's Important to add a tag to the linedef and to the sector. This way, they will be linked together, and Doom Builder shows you the connections between sectors and linedefs when you hover the cursor over them. We will see an example of this later on in the tutorial. Important: you don't need to select a switch texture. If you make a linedef a switch but don't place a switch texture, the game won't play the switch sound when you press use on the linedef. This is one useful way to hide secrets. That's it. Our basic exit switch is ready, but we're not finished. We'll return to switches later. Part 3 - A brief pause and a rudimentary map Spoiler Creating a simple map By this section you can already make a pretty functional map composed of rooms, doors and an exit switch. Here is our tutorial map file and a map using the concepts we explored so far. You will notice that there is not much verticality, but that’s exactly what we’ll tackle next. Play it and try to understand how things work. Open it on the editor and analyze it. Try to create a version of your own with a similar concept. Send it in this thread so others can take a look at it if you want to or encounter any problem you can’t solve on your own. Part 4 - From Wolfenstein to Doom Spoiler Verticality It is known that the jump from Wolfenstein 3D to Doom was, well… actually making the game more 3D. Doom has height variation, and it lets you know about that from the very beginning. E1M1 was designed to showcase the engine's new capabilities, and this appears all around the map. Let's analyze it. The first room of E1M1 has two lowered sectors in the middle, with the iconic blue carpet and the raised electronics on the ceiling. To the left there is a room with stairs that lead to a green suit of armor. To the right there is a window that allows you to see the other side of the map, the pool of nukage, and the skybox. You can also be shot in the face from across the map like I was. The pool of nukage can be accessed through a secret. The door for the electronics area also opens when you walk around here. It's also possible to see a bunker that goes underground with stairs to the right. The computer area with decors coming from the ceiling also shows some verticality. And finally, the infamous imps hurling fireballs from a high platform. We may take these things for granted nowadays, but they were very innovative at the time. They still are very important to this day and can teach us many lessons about making cool looking maps. Making Stairs Stairs are just lowered or raised sectors. For the purpose of this tutorial, we'll learn how to create fixed stairs. Make a room similar to the one we created before, but without the door. We're going to make some subdivisions in the corridor we had made. Ideally, make them evenly spaced, that is, each step with approximately the same size. Of course, if you're building a set of "rocky stairs'', these rules don't apply, but we should learn the rules before we decide when to break them. I decided to go for 64 pixel wide stairs. Just draw linedefs and press enter or right click when you're finished. I like to do stairs in visual mode, so here's how I do it. Select everything you want to lower. This applies to floors and ceilings, but we are going to do only floors here. Important: You can select multiple surfaces that are at the same level by using ctrl + click. Pretty handy! Decide by how much you want to lower the stairs. I generally go for 24 pixel tall stairs. Each time you roll the scroll wheel down, it lowers the selected sectors by 8 pixels, so I just roll it down 3 times. 8 and 16 pixels are also possible, but if you make them 32 pixels tall, doomguy can't climb them. Important: The number 8 and its multiples are really important in Doom. Keep them in mind or write a little note with the most used units so you can remember them. Deselect the step closest to the non textured wall and lower all the floors by 24 pixels again. Repeat this until you have all your steps lowered. You may have to reposition yourself a bit for this. Texture the untextured stair bottoms. Select a texture and use it to highlight the stairs. For the purpose of this tutorial we're just going to use startan. Important: Point to a wall with the texture you want, hit ctrl + C and then point to the untextured wall and press the middle mouse button. This way you can paste textures easily. Now that we’ve learned how to lower and raise floors, we can go back and make our door and switches look better by putting them in small crevices. Get a feel for this because it will be important to make your maps look aesthetically pleasing. Switches and doors revisited Now that we can lower and raise platforms, we can go back and beautify our doors and switches. First, let’s fix our door. To do that, enter visual mode and select the ceiling adjacent to the door, and lower it until it fits the door texture. You will notice that the lowered sector is untextured. That’s because the part that appeared is the upper side of the linedef, and it is untextured. You can copy and paste startan for now. Let’s beautify our switch too. The texture we used is 32 pixels wide and 72 pixels tall, so let’s make the little crevice for that. When you point your crosshair to a floor or a ceiling, a little menu with details appears at the bottom of the editor. Let’s analyze it. Here we have info about the sector’s floor, the sector’s ceiling, the height of the floor, the height of the ceiling, and the height of the sector. There is also the sector’s effect and tag, which in this case don’t apply. Important: if you can't see this panel, press " (the key below esc), or go into view > expanded info panel and it should come back. To make the switch on the back look better, we have to make the height of the sector 72. Let’s do that by lowering the ceiling by 200. Important: You can make small calculations here and Doom builder will understand. If you want to add or decrease the sector height by a certain amount, just type it in the box and it will do the math for you. Here is the result. As you can see, it’s too wide and looks duplicated. Let’s go back to the linedef editing mode by pressing L and change the depth and width of this sector (add images). You can do this by selecting the linedef and holding the right mouse button. Now we have a good and simple end level switch. Test the map to see it working in real time. Important: you can move the ceiling, floor and wall at the same time if you select the three things and roll the mousewheel up or down. This way you don't need to realign the texture once you're finished. Try it! Raised platforms Raised platforms are cool for many reasons. Who can forget plutonia's first map’s raised shotgunners in the first room, and raised chaingunners on the other side, whittling down your HP little by little? Or, as I mentioned before, the unforgettable raised platform with the imps in E1M1? Raised platforms are versatile and a core part of Doom mapping. Making raised platforms is also very easy. It's the same process we used for lowering the ceilings near the door, or on the wall switch, but on the opposite end. Let's make a simple raised platform like E1M1 on one of the rooms. First, in Draw lines mode, draw a square in one of the corners. After that, go into visual mode. Notice that the floor is now divided when you highlight it. There are two different sectors. Select the square sector we just made and raise it. Let's do a big one, so raise it by 128 pixels. You can do this by rolling the mouse wheel up, or by using the sector properties window. Important: you can use the untextured surfaces as a ruler, since it is a 64x64 pixel box. Since this is a raised platform, we'll just paste startan here too. Now that our platform is ready, let's pay homage to E1M1 and put some imps on it. Go into things mode and add some imps facing the player. Test it and have fun! Lifts Lifts are very useful in many ways. They can be used for storytelling purposes, to improve setting, and also to control the flow of combat if necessary. In this video (5:10), Nirvana describes a specific lift used for this purpose on Map 04 of Abandon. Lifts can be used by pressing the lift linedef or activated with a button. They can also be activated from afar using a walkover trigger on a distant linedef. To start, how about we make a lift to reach the platform where the imps are? To entice the player, we'll put a soul sphere up there. First, we make an adjacent sector to the one we have. Let's make it 32 pixels wide. Then, let's raise it to the same heights as the platform with imps. Now, texture the lift with some fitting textures. We are going with Shawn2 and Flat 19 for this tutorial. Now we need to add a tag to this sector so that we can connect the linedefs to the action. Doom Builder has two very useful buttons which are new and unused. New allows for you to create a new tag that hasn't been created yet, and unused checks for created tags and gives you the lowest tag which hasn't been used. Click the new button. Now that the sector has a tag, we can associate actions to it. We can have as many linedefs as we want connected to this tag. We'll make some tests about this later. For now, let's make a classic doom lift. Select the outer linedefs of the lift and assign to them the same tag that we created before, and also select a pressable lift action. The simplest lift action is 62 SR Lift lower wait raise, which simply Lowers the lift, waits a few seconds, and raises the lift back again. Open the game and test it, and be amazed at the mind boggling effects the computer can produce. After you test it, you may have noticed that once you're up on the tall platform, there is no way to make the lift lower again. You can always just jump from there, but there are situations where that’s just not possible. Let's explore two ways of making the elevator come down again. First way: walkover linedef A pretty common way to make the lift lower, and extensively used in Doom, is to assign the linedef on the other side of the lift to be a walkover linedef action that activates the lift. This way, when the player passes over the linedef. His way back, the platform will lower. Let's do this step by step. Select the linedef opposite to the one we edited before, the one between the lift and the platform, and right click it. Set the same tag as the lift. As I mentioned before, there can be as many linedefs assigned to the same tag as you want. Then, set the action to 88 WR lift lower wait raise, which is the walk over equivalent of the one we used before. Finish it and test the map. You will notice that the monsters can also activate the lift now. This was not my intention when writing this tutorial at all, but it happens. Oh well, living and learning. Still, kill the monsters, get on the platform and test it. You’ll notice that whenever you cross that linedef, the lift will activate. Second way: elevator linked to switch If you want to make something more "life-like", you can make pressable switches for elevators. To do this, let's create a second raised platform on the other side. This time, we will use this platform as an elevator, so let's assign this platform a tag and texture it. After that, let's make a little sector on the bottom and raise it a little and to make a button. Texture it accordingly. Now, assign the tag to the button linedef and select an SR action. We'll go with a fast lift this time. On the top of the lift, also make a sector close to the wall. Texture it and repeat the process of tagging and assigning an action. Raise the lift, texture it and it should work. You can add something there if you want too. A rocket launcher will do it. Now, test it. Important: lifts always go back to the height they had when they were created. They oscillate between lower adjacent floor and upper height. You can make lifts whose top height is not the same height as the adjacent platform. Here are some examples: These lifts use multiple surfaces for different use of textures. This technique will be taught in a future detail, but it can be visually appealing and interesting if you have cool ideas. Important: in ZDoom based ports, some of these actions don't need the sector to be tagged. For example, if you make a lift, don't tag it, and add the linedef action 66 SR lift lower wait raise, zdoom and its familiars will assume that the lift is on the backside of the linedef and act accordingly. This practice of not tagging lifts is disencouraged, as it can lead to compatibility issues for people using different ports. Of course, if the port and format you want to map for is a completely different one, that is okay, but it's good to get used to a good set of automatic behaviors that allow for as few problems as possible. Damaging floors Raise your hand if you've ever fallen on a pit of molten nukage. I know I have. Many times (I'm looking at you, the chasm). These floors can be used to block players from progressing past a certain area, or to make reaching certain places more risky, but also more rewarding. They can also be used for other things. I've used the damaging floor without a damaging floor texture to achieve the effect of "being watched" in one of my maps once. You can play it here. But enough chit chat. Let's understand how to make a nukage pit. Create a sector where you want the nukage pit to be. For this tutorial, let's make a little nukage pool in the middle of the room with the imps, to add a little complexity to the battle (players now need to be aware of the imps' fireballs and the nukage). Then, we can add a nukage floor texture and select the sector special we want. I'm going with 16 - damage -10% or -20% health. Then we go into visual mode, we lower the sector a bit. I’m going with -16 pixels from the ground floor. Finally, we texture the borders of the pool. There are border specific textures for some themes, but I'm going with startan again. Now we can test our map again. Creating a secret Finally, let's use a distant walkover linedef to make a secret in our first room. First, let's create a closet inside the first room, and make a door. Don’t forget to check apply tag when creating it. In my case, I used the tag 4. Now, let’s select a linedef to activate this door. I chose the second linedef of the nukage pool we created in the first part. When the player walks over this linedef, the door will open. For the purpose of this tutorial, we’ll make it action 2 - W1 door open stay, but you can use other actions later and experiment. We also use the door tag (4) to assign the linedef to the door sector. Important: In Doom Builder, when linedefs have an action, they become green. They also connect to the sector they control when you hover your mose over them, and if they are not incredibly far away, a thin white line will extend itself across the grid to connect the two. This lets you know that one controls the other, and it makes your life much easier. Since our closet is a secret, we select it and put 9 - special on it. You can now test your map again. That's all for now. Let's revisit our old map. Part 5 - A rather competent map Spoiler Rudimentary map revisited By this part, you already possess the skill to make a pretty decent map. Here is our tutorial map revisited along with our playable map with some of those concepts added. I went back to the map I posted on part 3 and added more verticality using the things we've learned so far. I tried not to change the layout too much so that you can understand that even a bit of height variation can give a completely different feel to a room. Play it, explore it and analyze it. Open it in your editor and mess with it. Mess around with the linedefs and change their effects. Get acquainted with these basic concepts. Try to make some alterations to your first map too. Part 6 - Aesthetics (WIP) Spoiler Texturing It would be impossible to finish this tutorial without talking about textures. I decided to keep this topic for last because it's the way I deal with it. I generally create a room or or ambient and then texture it accordingly, after going to the next area. Texturing and aligning things properly can get very annoying and tiresome. I also wanted to focus on the more mechanical aspects of the map and forget about the visual side of things for a little to make this tutorial easier and simpler to follow. That being said, let’s dive in. For the purpose of this thread, and for at least your first three maps, I'd recommend you not try to use any other texturing resources other than Doom or Doom II’s original textures. This will allow you to get acquainted with them and also will save you a lot of trouble if you want to release them for others to play. Texturing is as easy as right clicking a wall or floor and selecting what texture you want to use. This way you can change the complete look of a room in two clicks. Let’s take a look at our earlier map. Ultimate Doom Builder uses Startan for all walls as a default. This can look kinda boring, so you can explore. I will use Bronze1 for the walls. After selecting it, I will just copy it and paste it on all walls. You can do this by selecting the walls and changing the texture or by pasting the texture onto the walls. Important: You can select more than one wall using ctrl + click or Shift + click. Ctrl + click will select some walls with the same texture and alignment, and shift + click will select all walls in an area. Test these commands and get acquainted with them. Important: You can “bucket fill” walls with a texture if you use shift + middle click. This will paste the copied texture onto all walls that have the same texture before it meets a different texture. Experiment with it, it can save you a lot of time. After pasting our textures, they look very messy. The offsets are not aligned, and need to be corrected. You can align textures in many different ways. Let’s explore some of them. Auto-align functions Ultimate Doom Builder possesses powerful auto-align features that can be used quickly. Let’s analyze them. A - X axis auto-align (horizontal) If you point the crosshair to a wall and press A, you will auto-align all textures on the horizontal level, or X axis. Very useful for fixing edges, but doesn’t solve all our problems. Shift + A - Y axis (vertical) If you point to a wall and press Shift + A, the textures will be aligned in the vertical axes. It can solve many problems like the one we had before. Here is our room after vertical alignment. Important: The vertical auto-align will be based on the wall you selected. If you select a wall with a texture that is not aligned how you want, it will follow that alignment. Here is an example of the same room auto-aligned with another wall. It doesn’t look bad, but it’s not what we want. Ctrl + A - X and Y axis (horizontal and vertical) Aligns textures in both axes. This can be very useful depending on the situation. Important: Even though auto-alignment is a powerful tool, attention is needed to every detail. Sometimes it doesn’t work as intended and can break the balance of a room. Always remember, you can undo any changes using ctrl + z. Manual alignment You can manually align textures. This is very useful and can produce incredible looking walls, stairs, elevators, and many others. Mouse You can click and drag wall textures. This is a very cool feature, but is one I ultimately don’t use much, because the offsets get weird. I usually only use this feature when I am making switches and the switch’s faceplate doesn’t appear at first. Keyboard The meat and potatoes of texture alignment. This is how I do most of my work. You can point or select a texture and just move it using the arrow keys. This will move the textures pixel by pixel in whichever direction you want. Generally, this is too slow, but you can do the same thing while holding shift, and the texture will move by 8 pixels instead. There is our magic number again. Using these two methods, you can achieve some great looking texture work. Offsets Offsets are another way of moving textures around. They are the difference of pixels from the point of origin of textures (0,0). These are very useful especially when doing middle textures. If you want some hanging wires or leaves from a place, you can use the same offset on the front and back textures to ensure they are in the same place. Just remember to have mirrored textures for both sides. But this is something we’ll talk about in more detail in another thread. You can use the right button to change offsets. They are the little numbers below the sector index. The first number is for the X axis, or Horizontal offsets, and the second number is for the Y axis, or vertical offsets. Floor textures (Flats) Floor textures in Doom are called flats. They can be used only on floors and ceilings if you are using Boom or MBF21. They also can’t be moved like wall textures. There are reasons for this, and if you feel curious you can read about them here (link https://doomwiki.org/wiki/Flat_and_texture_mixing). Other map formats allow more freedom with the usage of textures, like using flats as wall textures, wall textures as flats, and moving floor and ceiling textures around. There is not much to floor and ceiling textures. Just choose something you like and use them. For our rooms I selected Ceil5_2 for the ceiling and Flat5_1 for the floor because I felt bold to mix metal and wood. Important: When editing maps, you can always have one texture and one flat on your transference area. That means that you can copy a wall texture and a flat and paste them using the middle mouse button. Finishing texturing I added more textures to the other areas. For example, on the stairs, I added Step5 as a step texture, and on the nukage area I used a metal floor to give the idea of a more protected floor, and also put some lights on the nukage pool. This part is highly personal, but is very important. Talking about important… Important: Always lift the doors on the areas you’re texturing if you’re using 3D view mode. It’s easy to forget to texture something if you can’t see it. Go down below the floor and look up to check if you forgot to add something. You can also alternate between floor and ceiling modes in the editor by using these buttons on the toolbar to the top for a quick look around the map. Middle textures Middle textures are a wonderful way to make your map stand out and also to create new and interesting environments. They can be used to make forests look livelier with foliage, or to make cages where demons can be placed and many other cool things, or even to create fake walls with enemies or secrets behind them. A middle texture is a floating texture between the top and bottom linedefs. Whenever you use a middle texture, its initial offset will always be touching the ceiling. You can change that by going into 3D view mode, selecting the texture, and moving it around. Lighting Lighting is a very important aspect of mapping for atmosphere purposes. It can make or break an area if used correctly. In doom, lighting is a sector based property. That means that inside a given sector, we can have a light value that goes from 0 to 256, 0 being pitch black, and 256 being absolutely bright. 256 is also the light value that’s used when you get the Light Amplification Visor. In Ultimate Doom Builder, changing sector brightness is very easy. We can do it in two ways, mainly. Sector properties This is useful for setting the brightness across many sectors, mostly. Enter sector mode, right click a sector that you want to change the brightness and then select a number between 0 and 256. Sectors and 3D view mode The most used way by me is to set sector brightness using sectors mode or 3D view mode. This way you can have immediate feedback on how the sector will look when the game is being played. All you need to do is select an area and use ctrl + mouse wheel up or down. In Boom format, Ultimate Doom Builder increases or decreases the brightness level by 16 (2x8) for each mouse wheel roll. In GZDoom and UDMF formats, this value is 8 instead. Important: You can press B anytime to enter or exit full brightness mode. This is useful when creating very dark maps, so that you don’t need to change the brightness by hand to see things. Important: You can change the brightness of many sectors all at once, you just need to select them all and use ctrl + mousewheel Up or Down. Important: Since brightness is a sector based property, you will need to make new sectors to change brightness. You can experiment with creating many sectors to show lights fading away from the light source. In our tutorial map, I made the slime pit the radiating source of light, and the other sectors the slowly darkening sectors. I used the brightness properties discussed here to make our tutorial map look more atmospheric. You should pay attention to just how important brightness is when designing a map. It’s important to understand how to create interesting looking maps, but this is something that only comes after practice and experimentation. You should definitely watch these two videos to get an idea about designing levels. ChubzDoomer's video talks about the rules Romero created and followed for mapping, and DavidXNewton's video talks about the visual language of Doom. They can help you understand better the concepts that make a good looking and interesting Doom map. Boom properties Boom allows for a lot of different properties for mappers, most of which will not be talked about here. I still have no mastery of these. If you want to check what the format is capable of, you should play the boomedit.wad and check out all the cool stuff you can do. Here is a video playthrough of it. You may not learn all of these in a single sitting, but it’s good to keep in mind that these can be used for creating many different effects. You can use a conveyor belt and a voodoo doll to produce a repeating up and down moving platform, for example. The possibilities are endless, as long as you have an idea. These may be talked about more extensively in a future thread. Let's move on to our next topic. Part 7 - Testing and compatibility (WIP) Spoiler Source ports We have talked about testing a bit earlier, but not about compatibility. This is a very nebulous part, and I’ll try not to extend myself here. I’d recommend watching this video by Doomkid to better understand what compatibility and Vanilla means in Doom. For this thread, we’re using the Boom format, which is not vanilla, and is only usable in limit removing source ports. This means removing the limitations the original game had when it was last released in its 1.9 version. For more information on this, you can check this article on the Doom Wiki. Important: Don’t use the fandom doom Wiki, use doomwiki.org! Genealogy of Doom Doom comes in many shapes, many sizes, and many flavors. Chocolate, Vanilla, Nugget or Crispy. Whichever you prefer, each port has its own set of peculiarities which may alter the experience of players. It's important to be aware of those. Most people test their maps on the mainly used source ports. These are GZDoom, DSDA and PrBoom+. I also test my maps on Woof just to ensure that nothing's wrong. Below, there is a short snippet about each port, going from more vanilla to more modern. Chocolate Doom Vanilla Doom ported to work on modern operating systems. Maintains all of the bugs and quirks of the original and does not remove the game's original static limits. As close of an experience as you can get to the original Doom without playing the .exe in DOS. Crispy Doom A fork of Chocolate Doom that removes the game's static limits and adds some quality-of-life enhancements, but otherwise remains conservative. Woof! A modernized fork of (Win)MBF. Removes Doom's original static limits and has support for Boom, MBF, and MBF21 compatible levels. Contains many quality-of-life features, while remaining selectively conservative in cases such as rendering resolution. DSDA-Doom The most active continuation of PrBoom+. Removes Doom's original static limits and contains many quality-of-life enhancements, largely aimed towards speedrunners. Supports vanilla, Boom, MBF, and MBF21 compatibility levels. GZDoom A source port with a wide range of modding capability and enhanced graphics. Removes Doom's original static limits and supports a wide range of compatibilities, but may not properly emulate specific quirks of the original Doom engine. Dwars has a cool video about the history of doom ports, you can watch it here. Demos One of vanilla Doom's features was the ability to record a demo, which was a file that stored the player's inputs for future playback in the same engine. Many ports still support demo playback, although due to changes some ports made to the way the game behaves, demo compatibility with the original Doom executables are not always maintained. A subset of ports aim to maintain demo compatibility with vanilla Doom, and by extension, each other. The most well known of these ports would be Chocolate Doom, Crispy Doom, PrBoom+, DSDA-Doom, and Woof!. These ports are able to play back demos recorded in the original Doom .exes, and demos made in them will properly play back on the .exes as well. In the cases of PrBoom+, DSDA-Doom, and Woof!, they are also capable of recording and playing back Boom-compatible and MBF-compatible demos between them. DSDA-Doom and Woof! are capable of recording and playing back MBF21-compatible demos between them. If you want to learn more about recording and playing demos, you can take a look at this video by Percy T, and also this thread by Maribo in the Speed Demo Submissions forum. Compatibility Levels Many ports have added increased sets of features since Doom's original release, starting with Boom in the 90s. Because of the existence of these different feature sets, it is sometimes necessary to distinguish between them when playing casually, and is always necessary to distinguish between them when recording demos. Playing a level that uses Boom linedef actions, for instance, in a conservative port like Chocolate or Crispy Doom may make the map unplayable, as the actions will not function properly. There are 18 total compatibility levels, but many of them are legacy compatibility levels that the average player will almost never have a use for. The relevant compatibility levels are as follows: -complevel 2, -complevel 3 and -complevel 4 The previous 3 listed compatibilies are the compatibilities for the original Doom executables, with 2 being Doom 2, 3 being The Ultimate Doom, and 4 being Final Doom. They each have minor differences between them. If a level dubs itself "vanilla" or "limit-removing", these are the compatibility levels it is intended for. -complevel 9 This is the compatibility level for Boom v2.02. If a level says it is "Boom-compatible", use this. -complevel 11 This is the compatibility level for MBF. If a level says it is "MBF-compatible", use this. -complevel 21 This is the compatibility level for MBF21, a revised and expanded version of the MBF feature set. If a level says it is "MBF21-compatible", use this. Decino has a cool video about compatibility level quirks that you can watch here. Port specific behavior ZDoom and its familiars have many properties that other source ports don’t, so it’s important to pay attention to these aspects and to test your maps in different source ports, if that’s your goal. Below there is a list of ZDoom based behaviors that do not happen in other source ports. Untagged Lifts As mentioned before, In Zdoom based ports, if you make a lift and don’t tag the sector or the linedefs, they will assume that the lift is on the backside of the linedef and act accordingly. This practice of not tagging lifts is disencouraged, since it can lead to problems with lifts not working in other ports like PrBoom+, DSDA or Woof. Skybox from missing texture In ZDoom based ports, if you don’t use a wall texture on the walls, and also use FSky_1 on the ceilings adjacent to it, the ports will use the skybox textures in game to fill those gaps if you are using Hardware rendering mode. In Software rendering mode, they will be filled with a black texture or a Hall of Mirrors. In the original game and Boom based ports, you have to make an “outer layer” and lower it to the level if you want to make a skybox. If you don’t, you’ll get a Hall of Mirrors instead. This is good practice to instill, so it is important to remember it. Since skyboxes are a more complex subject, I've chosen not to delve into it on this first thread because it would be too extensive. Sorry, only closed maps for now! Testing Testing is an important aspect of mapping, and it is necessary to test your maps a lot before publishing them. Even then, you’ll still find mistakes and bugs that you couldn’t find but others did. Don’t be ashamed about that, this is the nature of creating things and also of having a community to help you. Doom, particularly, is full of its own quirks and sub variations. Part 8 - Producto Finalion Spoiler The Final Cringe Yes, this is a Jojo reference. As can be seen from my username and profile picture, I really like JoJo, and Josuke from part 8 (Jo2uke) is my favorite. I love Josuke from part 4 too. I think I've earned the right to be a little cringe on this thread. Anyways, this part is dedicated to the third and final iteration of our maps. I returned, textured and aligned them and now we can see just how much they've changed from when we started working on them. I’ve also added some angled corners, messed a bit with the lighting and made other adjustments. Some of the things in this map have not been taught in this tutorial, but maybe they will in another thread. You can download it and play it here. Before: After: I want to congratulate any of you who stuck until the end and little by little learned about the joys of Doom mapping. If you've finished the basics, you are probably already apt to release a very interesting map, but I would recommend going through the classic doom mapper experience, which is to create a map of your own house and have fun with it. Even Sandy Petersen did it! Feel free to submit your map to this thread if you feel like it. I'll play it and try to analyze the strong and weak points and give earnest feedback on it. If after that you're feeling adventurous and want to do something cooler, you can take a look at my community project (~wink wink~) Doom Rats and try to make a map for it using the things you've learned. This will help you have a better sense of scale and also is a light boom compatible exercise with familiar elements for you to practice. I also want to tell you I'm proud of your perseverance, and that I can't wait to see what you can make from here on out. I'll probably make another thread about more advanced aspects of mapping, but I still have a lot to learn before I do. Until then, class dismissed! Extra info Spoiler Original Google Doc Here is the link to the Google doc file where I edit this thread beeforehand. This is a work in progress, so feedback is greatly appreciated. The thread will be available in different formats once I consider it to be a good enough tutorial. My Doom content Here are my socials if you feel like taking a look. I stream mapping and playing Doom on Twitch, and record Doom maps on my youtube channel. Youtube: https://www.youtube.com/channel/UC7Xh_5KErCVGqAjt8EZcVXg Twitch: https://www.twitch.tv/jo2ukegappy Commands and Remaps Some commands can be remapped for quicker editing. Here's what I have remapped as well as a list of the most used commands. Most used commands in Ultimate Doom Builder Ctrl + D: Draw lines mode L: Linedef mode V: Vertice mode S: Sector mode M: Make sectors mode Q: 3d View mode (move around using ESDF just like WASD) Some interesting commands to try These are some commands that can create interesting effects. Try them! Ctrl + alt + D: Draw curves Ctrl + shift + D: Draw Rectangles (Useful for making rectangles and beveled rectangles, check the tools on the toolbar) In rectangle drawing mode: Ctrl + scroll up or down: Increase or decrease bevel size Shift + scroll up or down: Increase or decrease number of bevel vertices Ctrl + J: Randomize (in Linedef mode it randomizes Linedefs, in sector mode it randomizes Linedefs and sector heights) Shift + L: Point things to cursor (Select the things you want to change the direction, position the cursor and press shift + L) Ctrl + shift + L: Point things away from cursor (Select the things you want to change the direction, position the cursor and press ctrl + shift + L) Ctrl + click on wall texture - Select all textures until there is a height or floor variation. Shift + click on wall texture - select all the wall textures of the same type in a room. Some of my remaps These are some commands that I remapped to be more useful than the standard ones, in my opinion. Ctrl + shift + scroll up: increase grid size (replaces the rotation command that uses this remap) Ctrl + shift + scroll down: decrease grid size (replaces the rotation command that uses this remap) Ctrl + w: Close map Changelog Spoiler v1.0 - 10/13/2023 Base thread created. v1.1 - 10/14/2023 Added information about my maps and fixed some errors, thanks to @Tangra's feedback. Added Editor information as per @Worst's suggestion. Added a tidbit about Draw lines mode vs Linedefs mode according to @boris' suggestion. v1.2 - 10/15/2023 Added texturing and lighting information. Added link to Original Google Doc. Added links to my Doom things. V1.2.5 - 10/16/2023 Added a Google Drive folder for mappers to submit their maps for testing and commentary. Restructured the thread a little.V1.3 - 10/19/2023 Added a new intro. Added information about source ports and complevels. V1.3.5 - 10/22/2023 General formatting and image replacement. Added a link to Doom Builder: An Illustrated Guide, by John W. Anderson, AKA Dr. Sleep. V1.4 - 10/28/2023 Added information about ports and compatibility levels thanks to the Help of @Maribo. Formatted some of the videos into links to make the reading flow better. V1.4.5 - 10/30/2023 Added a link to the mapping workshop playlist. V1.5 - 11/12/2023 - Added a link to the DoomWorld tutorials - Reformatted dates to american format (oopsie!) Resources and references Spoiler Realm667 mapping articles https://www.realm667.com/en/articles/tutorials-mainmenu-138 Chubzdoomer's Doom Builder Playlist https://www.youtube.com/watch?v=ovcmaytwYl4&list=PL99214A1614CD2EED Chubzdoomer's Doom Builder 2 Playlist https://www.youtube.com/playlist?list=PLCE835098C82D8F24 Doomkid's modding tutorials https://www.youtube.com/watch?v=AHhihED8xRU&list=PLgU3IUvBpyiY1yYfH8uKy9N8NQwA7G3JB Dwars' Source port videos https://www.youtube.com/playlist?list=PL6Iguf8T_ie8SJUvv4Mt3XpSFgufOBVFZ Decino's monster and game analysis videos https://www.youtube.com/playlist?list=PLYZp53E4M0t_8HmPlV4m04vGKUcJIQc53 John Romero's map design rules https://www.youtube.com/watch?v=ptHurafdCoQ Every function in DoomBuilder by Bridgeburner https://www.youtube.com/watch?v=ZFiNIhFvywE DavidXNewton’s The Visual Language of Doom Maps https://www.youtube.com/watch?v=6arDCzmhONY Benpaste’s fast basicshttps://www.youtube.com/watch?v=JgCEGwEuepc Benpaste’s fast intermediate https://www.youtube.com/watch?v=JpBIIRWr9yo lazygamer's Ultimate Doom Builder video series https://youtu.be/5gelNGmTS-w?list=PLgyvB-paJoALDy0rRlc5na8-3xPHGFlHb Doom Builder: An Illustrated Guide, by John W. Anderson, AKA Dr. Sleep.https://www.doombuilder.com/files/doombuilder1guide.pdf The Doomworld editing tutorials pagehttps://www.doomworld.com/tutorials/ Licensing and translation Spoiler License The content of this thread, as well as the pdf version of it are hereby licensed under the CC BY-NC-SA 4.0 DEED license. You are free to: Share — copy and redistribute the material in any medium or format. Adapt — remix, transform, and build upon the material. The licensor cannot revoke these freedoms as long as you follow the license terms. Under the following terms: Attribution - You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. NonCommercial - You may not use the material for commercial purposes. ShareAlike - If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. No additional restrictions - You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. Translation If you want to translate this tutorial to your language and need help doing that, please contact me through Direct messages here, or at the email jo2ukegappy@gmail.com. Special thanks to @baja blast rd. for overall guidance. @Stabbey and @plums for answering many questions I posted on the Doom editing forum. @Chubzdoomer for all his tutorials, close to which this one is merely a speck of dust. If you really want to learn more about editing, he is the one guy I'd recommend you to start with. My friend @The Royal We, who helped me review the text and also make a version in Portuguese which is still in the works. @Maribo for contributing immensely with the source ports and compatibility section. All the other doom editing youtubers I watched to be able to create this, some of which are in the forums. It wouldn't be possible without a lot of learning. Edited March 30 by DoomGappy formatting, added information 57 Quote Share this post Link to post
DoomGappy Posted October 13, 2023 This is a workshop thread, and so I encourage new mappers to take a look and try to understand these concepts. I am still editing the thread, adding images, and formatting things to look presentable. Feedback from more experienced mappers is highly appreciated. Participation from younger mappers is deeply encouraged. 2 Quote Share this post Link to post
volleyvalley Posted October 13, 2023 Perhaps you also should do a section on how to add more proficient texture and light variation to their levels, because that's what most beginners suffer from. 2 Quote Share this post Link to post
DoomGappy Posted October 13, 2023 (edited) 8 minutes ago, volleyvalley said: Perhaps you also should do a section on how to add more proficient texture and light variation to their levels, because that's what most beginners suffer from. Do you mean like this image? I think this is more of an intermediate level skill, this guide is really aimed at the people who have never touched an editor before. I plan on making an intermediate level thread, but I still have many things to learn. The basic lighting and tetureing sections are being worked on, I just needed to post the thread to feel the pressure to improve it. Edited October 13, 2023 by jo2ukegappy 3 Quote Share this post Link to post
Jayextee Posted October 13, 2023 1 hour ago, jo2ukegappy said: in ZDoom based ports, some of these actions don't need the sector to be tagged. For example, if you make a lift, don't tag it, and add the linedef action 66 SR lift lower wait raise, zdoom and its familiars will assume that the lift is on the backside of the linedef and act accordingly. This practice of not tagging lifts is disencouraged, as it can lead to compatibility issues for people using different ports. PREACH! <3 Posting in epic thread. You're a legend for doing this. 2 Quote Share this post Link to post
volleyvalley Posted October 13, 2023 1 minute ago, jo2ukegappy said: Do you mean like this image? I think this is more of an intermediate level skill, this guide is really aimed at the people who have never touched an editor before. I plan on making an intermediate level thread, but I still have many things to learn. The basic lighting and tetureing sections are being worked on, I just needed to post the thread to feel the pressure to improve it. Not really, I was more talking about giving rooms different textures, so they would lool distingushable from one another, the same thing goes for light levels. 0 Quote Share this post Link to post
DoomGappy Posted October 13, 2023 (edited) 3 minutes ago, volleyvalley said: Not really, I was more talking about giving rooms different textures, so they would lool distingushable from one another, the same thing goes for light levels. Oh, I see. I will add that in the specific parts. I also forgot to add the video about Romero's Guidelines for mapping by Chubzdoomer. Edit: No, I didn't, but it does need a mention. Thanks! Edited October 13, 2023 by jo2ukegappy 1 Quote Share this post Link to post
DoomGappy Posted October 13, 2023 (edited) I'd also ask if you see any lost or very novice mappers that need to work some things out in the forums, that you point them here. It would be a pleasure to help them become more proficient in mapping. Edited October 13, 2023 by jo2ukegappy 1 Quote Share this post Link to post
Worst Posted October 13, 2023 I think in "Part 2 - Getting started" before you go into what menu to open or what shortcut to press, it would probably be a good idea to introduce and mention where to download the editor that is being used here. 1 Quote Share this post Link to post
DoomGappy Posted October 13, 2023 2 minutes ago, Worst said: I think in "Part 2 - Getting started" before you go into what menu to open or what shortcut to press, it would probably be a good idea to introduce and mention where to download the editor that is being used here. This was an oversight. I am going to put it before terminology in part 1. Thanks! 0 Quote Share this post Link to post
Tangra Posted October 13, 2023 3 hours ago, jo2ukegappy said: You can play my maps here to get a feel for what I generally go for, and you can judge whether or not you would like to participate in this thread. Uh... i'm really sorry i have to point out some issues here, but it will better for you to know this sooner than later. I really like your initiative and the idea behind this thread, and i'll be following it thoroughly. For now, i just want to let you know that none of the maps in this link work properly. You got me curious and i wanted to try them out. I did in DSDA-Doom cl9, since you mentioned Boom is your format of choice. The map Clover doesn't run at all due to one R_InitTextures error. In Descend Into Madness it's impossible to leave the starter room, because the door has no line action applied on the inner side where the player is: Spoiler And the Box Doom - Trial by Fire map has no textures. Nothing really wrong with the map, since it's a part of a community project if i'm not wrong, and the textures are not meant to be added by you. In this case, the least you could've done is to add a text file with some info about the texture pack (or the CP) we need to use in order to play it properly. Which once again brings the very relevant topic of the importance of playtesting, which a lot of new mappers seem to neglect, and they upload their maps without playing them themselves first in more than one port. Spoiler 1 Quote Share this post Link to post
DoomGappy Posted October 13, 2023 (edited) 11 minutes ago, Tangra said: Uh... i'm really sorry i have to point out some issues here, but it will better for you to know this sooner than later. I really like your initiative and the idea behind this thread, and i'll be following it thoroughly. For now, i just want to let you know that none of the maps in this link work properly. You got me curious and i wanted to try them out. I did in DSDA-Doom cl9, since you mentioned Boom is your format of choice. The map Clover doesn't run at all due to one R_InitTextures error. In Descend Into Madness it's impossible to leave the starter room, because the door has no line action applied on the inner side where the player is: Reveal hidden contents And the Box Doom - Trial by Fire map has no textures. Nothing really wrong with the map, since it's a part of a community project if i'm not wrong, and the textures are not meant to be added by you. In this case, the least you could've done is to add a text file with some info about the texture pack (or the CP) we need to use in order to play it properly. Which once again brings the very relevant topic of the importance of playtesting, which a lot of new mappers seem to neglect, and they upload their maps without playing them themselves first in more than one port. Reveal hidden contents Thanks for pointing out these mistakes. I learned about many of the things that I wrote in this thread during or after creating these maps, and so some of them might have passed over my head. I'll recheck my maps and reupload them and test them on DSDA-Doom and PrBoom+. Clover is a GZdoom only map, I think, due to it having really big textures on the walls. It was my first map with a real concept behind, but it's unfinished, and as such it has many flaws. Box Doom levels require OTEX to be played, since they are part of a Community Project. I'll fix descent into madness. Edited October 13, 2023 by jo2ukegappy 1 Quote Share this post Link to post
Arrowhead Posted October 13, 2023 I really like what you're doing here so far. A lot of the beginner tutorials I've seen are very old. Will be nice to be able to point to a new one! You explain things in a thorough, yet rudimentary fashion - easy to understand, for sure. Wish this was around when I started in early 2021. :) 7 Quote Share this post Link to post
DoomGappy Posted October 13, 2023 5 minutes ago, Arrowhead said: I really like what you're doing here so far. A lot of the beginner tutorials I've seen are very old. Will be nice to be able to point to a new one! You explain things in a thorough, yet rudimentary fashion - easy to understand, for sure. Wish this was around when I started in early 2021. :) Thank you very much, Arrowhead. I feel very shy about receiving compliments, so I don't know what to say. I plan on doing a little video version in English and in my native language, Portuguese. There is not a lot of content available about doom in these parts. I hope many people can learn things in an easier way, that is the joy of a teacher's life. 1 Quote Share this post Link to post
Carmelo Posted October 13, 2023 thank god for this, I always struggled with some guides going a bit too fast for me. Giving it a deep dive later, thank you! 1 Quote Share this post Link to post
DoomGappy Posted October 13, 2023 (edited) 8 minutes ago, DaBigNerd said: I hope this gets pinned Thanks for the support. 5 minutes ago, Carmelo said: thank god for this, I always struggled with some guides going a bit too fast for me. Giving it a deep dive later, thank you! I hope you can cook something fun after this! Edited October 13, 2023 by jo2ukegappy 1 Quote Share this post Link to post
Treehouseminis Posted October 13, 2023 I really like the idea from this thread, I've been mapping almost a year, made like 15 maps so far this stuff is still helpful. I didn't know draw square had a bevel option, I drew so many little curved corners....by. Hand. 1 Quote Share this post Link to post
DoomGappy Posted October 13, 2023 1 minute ago, Treehouseminis said: I really like the idea from this thread, I've been mapping almost a year, made like 15 maps so far this stuff is still helpful. I didn't know draw square had a bevel option, I drew so many little curved corners....by. Hand. Sometimes I do them by hand too, most of the times, in fact. But it's really nice to be able to create other shapes easily. You should submit a map here if you want to. This is supposed to be an active thread for people to learn and share. 1 Quote Share this post Link to post
Treehouseminis Posted October 13, 2023 3 minutes ago, jo2ukegappy said: Sometimes I do them by hand too, most of the times, in fact. But it's really nice to be able to create other shapes easily. You should submit a map here if you want to. This is supposed to be an active thread for people to learn and share. Yeah hand precision is better some times. While I can use the draw curve mode to OK results using it feels clunky. I do it by hand or use the curve linedef tool most of the time for curves. Actually maybe a helpful tip but sometimes I found it easy for some situations to draw an ellipse, cut it in half, now I have a curve corner I can use anywhere. As for my own maps, Im not sure what would be good for this thread, a first map? a recent one? maybe a middle of the road one. This is my 4th map made ever. Named it Corpsicle it used the TNT Iwad so if you play it use TNT. Map26, idlcev26 etc. I believe its comp 2, vanilla or whatever comp level FINAL DOOM is, so try 4? This is the first map I thought I made a clever loop and not just a series of rooms, even if the majority of the map is that to an extent lol. It was really satisfying to make the red key path for me. I always thought I was decent at combat design but the room to room layout was a struggle, how to connect everything in a more classic or believable way, have signpost for important items where you can get to later etc. 0 Quote Share this post Link to post
DoomGappy Posted October 13, 2023 (edited) 3 hours ago, Treehouseminis said: Yeah hand precision is better some times. While I can use the draw curve mode to OK results using it feels clunky. I do it by hand or use the curve linedef tool most of the time for curves. Actually maybe a helpful tip but sometimes I found it easy for some situations to draw an ellipse, cut it in half, now I have a curve corner I can use anywhere. As for my own maps, Im not sure what would be good for this thread, a first map? a recent one? maybe a middle of the road one. This is my 4th map made ever. Named it Corpsicle it used the TNT Iwad so if you play it use TNT. Map26, idlcev26 etc. I believe its comp 2, vanilla or whatever comp level FINAL DOOM is, so try 4? This is the first map I thought I made a clever loop and not just a series of rooms, even if the majority of the map is that to an extent lol. It was really satisfying to make the red key path for me. I always thought I was decent at combat design but the room to room layout was a struggle, how to connect everything in a more classic or believable way, have signpost for important items where you can get to later etc. Thanks, I'll record a playthrough of it and post it here soon. I'll use this same comment and tag you on it so you know it's ready. @Treehouseminis, video is up. Link is here: Edited October 14, 2023 by jo2ukegappy 1 Quote Share this post Link to post
LadyMistDragon Posted October 14, 2023 Chubsz tutorials are really good, but the problem is that they're painfully outdated. I find thelazygamer to make some good videos, personally. 0 Quote Share this post Link to post
DoomGappy Posted October 14, 2023 4 minutes ago, LadyMistDragon said: Chubsz tutorials are really good, but the problem is that they're painfully outdated. I find thelazygamer to make some good videos, personally. Just checked some of his videos, and he's really thorough. Will add him in the list of reccomendations in the end of the thread. 1 Quote Share this post Link to post
kwc Posted October 14, 2023 Way to go @jo2ukegappy, this is a cool resource for beginners, hope to see you expand upon it as you grow as a mapper yourself, I'm sure you're aware how this perspective can help. I'm impressed with your enthusiasm and productivity, +1 to you :) Make sure to include that cool ruler of yours when if/when you talk about level metrics. If I could find metrics.txt by Scott Ampoker, I'd share it. This LINK appears to be a breakdown of relevant metrics and may be a helpful resource. 1 Quote Share this post Link to post
boris Posted October 14, 2023 19 hours ago, jo2ukegappy said: Enter linedef mode and press the right mouse button anywhere on the grid. Drag it and left click. Why do tutorials keep telling people to start drawing lines from Linedefs Mode? It's an unnecessary extra step and will lead to problems down the line, when users get confused how to start drawing a new line starting on an existing line. The best way to start drawing lines is by manually entering Draw Lines Mode by pressing Ctrl+D. This can be done from any mode, not just Linedefs Mode. 0 Quote Share this post Link to post
DoomGappy Posted October 14, 2023 (edited) 8 hours ago, kwc said: Way to go @jo2ukegappy, this is a cool resource for beginners, hope to see you expand upon it as you grow as a mapper yourself, I'm sure you're aware how this perspective can help. I'm impressed with your enthusiasm and productivity, +1 to you :) Make sure to include that cool ruler of yours when if/when you talk about level metrics. If I could find metrics.txt by Scott Ampoker, I'd share it. This LINK appears to be a breakdown of relevant metrics and may be a helpful resource. Thanks, kwc, I will implement it somewhere in a section about shapes and sizes. I hadn't thought about it. I've always grown the most as a person when I've had to teach others what I've learned, which is actually an amazing ability to have. 26 minutes ago, boris said: Why do tutorials keep telling people to start drawing lines from Linedefs Mode? It's an unnecessary extra step and will lead to problems down the line, when users get confused how to start drawing a new line starting on an existing line. The best way to start drawing lines is by manually entering Draw Lines Mode by pressing Ctrl+D. This can be done from any mode, not just Linedefs Mode. There are many reasons, I think. First of all, it's easy to remember that L = Linedefs mode, just as S = Sectors mode and V = Vertices mode. Draw Lines mode also seems kinda counter-intuitive. When I enter vertices, lines or sectors mode, I know that the right button will create something or move somehting, and the left button will continously create something. Draw lines allows me to draw something, but when it's over it goes to a different behaviour or mode. Ultimately, I think it's a matter of preference, or how you got used to doing it first. I use Vertices, Lines and sectors mode a lot and I change between them constantly. For me, it doesn't make sense to use Draw Lines mode. Your opinion may be entirely the opposite. Edited October 14, 2023 by jo2ukegappy 0 Quote Share this post Link to post
boris Posted October 14, 2023 4 minutes ago, jo2ukegappy said: There are many reasons, I think. First of all, it's easy to remember that L = Linedefs mode, just as S = Sectors mode and V = Vertices mode. Draw Lines mode also seems kinda counter-intuitive. When I enter vertices, lines or sectors mode, I know that the right button will create something or move somehting, and the left button will continously create something. Draw lines allows me to draw something, but when it's over it goes to a different behaviour or mode. Ultimately, I think it's a matter of preference, or how you got used to doing it first. I use Vertices, Lines and sectors mode a lot and I change between them constantly. For me, it doesn't make sense to use Draw Lines mode. Your opinion may be entirely the opposite. You know what happens when you press RMB in Linedefs Mode? You enter Draw Lines Mode (with the first vertex already placed at the current cursor). Draw Lines Mode is a volatile mode, meaning that after finishing its operation you'll go back to the mode you were in before. 0 Quote Share this post Link to post
DoomGappy Posted October 14, 2023 Just now, boris said: You know what happens when you press RMB in Linedefs Mode? You enter Draw Lines Mode (with the first vertex already placed at the current cursor). Draw Lines Mode is a volatile mode, meaning that after finishing its operation you'll go back to the mode you were in before. I will mention it in the thread and make the difference clear, thank you. I will probably still not change my ways, but it's a case of teaching good practices, and I tried to aim at that while writing this with all the "Important" notes I wrote, so that mappers can learn useful commands slowly but surely. Thanks, boris. 1 Quote Share this post Link to post
Somniac Posted October 14, 2023 A very useful command is "align grid to selected linedef", which I have set to shift + w as there is no default hotkeys. This is not only great for drawing sectors diagonally, but its a lifesaver when you've been working at varying grid sizes (usually 8, 16 and 32 for me) and need thing to line up quickly and easily. Took me way too long to realise this was possible but it makes things a lot easier. Might be worth adding. Cool thread! 1 Quote Share this post Link to post
boris Posted October 14, 2023 8 minutes ago, Somniac said: A very useful command is "align grid to selected linedef" Don't use that. Use "Smart Grid Transform", which combines all three grid transformation actions into one actions and applies it in a context sensitive manner (read the explanation on the action in the preferences). 1 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.