My Ultimate Doom megawad "Deathless" was mapped in nine days, starting midnight November 1st and with the final map being thingplaced/playtested November 10th around the same time. In this topic I will attempt to recall in as much detail as possible how I attained that.
Disclaimer: Working on a single project to the exclusion of literally everything else in one's life may have worked for me, but it is absolutely not something I would recommend. You risk health issues and creative burnout if you don't know what you're doing.
However, this thread should hopefully serve as a set of guidelines to improve your mapping speed and workflow, so that hopefully you can develop your mapset at a swift pace that still suits you. Planning is absolutely essential for this kind of undertaking, so I'll be talking about that side of things too.
There are some fairly obvious requirements that you must meet before tackling such a thing as making your own megawad. If you don't have most of these, you might be doomed from the outset.
Experience. Sorry first-time mappers, you'll need the fundamentals down first in order to pull this off! (Also you might not want to make a megawad your first outing, just sayin'.)
Some familiarity with speedmapping or otherwise working under pressure. As outlined below, you're gonna want to attack this task with ruthless efficiency.
Plenty of free time. If you aim to get something of this magnitude done in record time, be prepared to devote virtually all of your available free time to it.
You're going to need to tackle this task with sheer bloody-mindedness. Eschew anything that might be holding you back. You're going into this with the mindset that in spite of everything and anything else, you're going to have a megawad at the end of it. Any serious distractions (both online and offline) that can afford to be swept aside for the duration of your working on this project MUST be swept aside, if you want to minimise the time spent on this.
A huge amount of creative passion for mapping. Almost goes without saying, but if you don't have the creative drive, you're gonna need to find it somewhere. Play some maps that inspire you, and aim to weave that inspiration into your future mapping.
Make sure you have plenty of access to food, water, and fresh air. These things will become essential to not making this task a horrendously unhealthy one. You will need to step away from the keyboard roughly once an hour (or more often than that, even - the Pomodoro technique should be ideal for this kind of project), to ensure you're getting the things you need as a human being to function.
Once you're ready to begin, get planning. Planning everything out, or as close to everything as you can get, is very much a crucial part of the process. By all means you can run with it seat-of-the-pants style and improvise a bunch of stuff, but this requires you to be creative on the spot for extended periods, and could lead to serious burnout and physical exhaustion.
Have a clear picture in mind. We're covering the most basic of basics here but: What map format will you work with? What is your target port/compatibility? How many maps? (Don't shoot for 27 or 32 straight away... unless you really want/need to!) What gameplay style? What visual style? What textures and resources will you be employing? This is all essential. You must know what you're gonna do before you do it! The more detail you have in this mental picture, the better.
You absolutely must shoot for a goal you know you are capable of reaching. Don't necessarily shoot low, but challenge yourself. Know that if you put your mind to it 100%, that you absolutely will achieve this. Using Deathless as an example, an Ultimate Doom megawad in a classic style was very much within my skillset to do, as I'd done plenty of mapping prior to this and developed quite a bit of speed, not to mention familiarity with the tools I use and the style I wanted to imitate.
Start everything off "officially" by opening SLADE and creating your WAD. Give your megawad its name right here if you didn't do it two bullet points ago. Do things like texture-gathering, creating new graphics (e.g. titlepic/interpic) and selecting the music roster first, so your WAD is essentially close to feature-complete minus the maps themselves. Having these resources in place will hopefully jog you on to finishing it! It's a good motivator to have a bunch of new menu graphics and suchlike in play, and this was the very first thing I did for Deathless, before November had even rolled around. It gave me less to worry about, and a framework in which to instantly place the maps once they were done.
Come up with some map names. Listen to music, go on websites, look around you at typography that stands out, and run with the ones that give you the clearest idea for a layout. Use name generators as a last resort, heh. (I believe the name for E4M5, "Serene Shadows", was auto-generated, or it could've been an idea that spawned as a result of auto-generating several others. I'd recommend coming up with your own stuff far above having a website do it for you.)
Start drawing layouts out on paper, ideally graph paper so you have the grid to work with. Develop a key that'll help you with mapping out your layouts so you can draw in things like liquids, lifts, doors, railings and other key features consistently. Annotate where the keys and exit are. Keep the layouts small and compact so you can fit them on a page of A4. Large maps will be your downfall if you want this done quickly!
Have some stuff you did beforehand that you can just remake. Yes, this is legit!! Deathless Episode 3 was already almost entirely blocked out back in July, and I basically just remade everything from the ground up because while the layouts' central concepts were solid, I wasn't at all satisfied with the way any of them had turned out. The process of remaking everything come November was cathartic, felt much more fluid compared to a lot of my improvisational approach for Episode 2, and I wound up with a highly satisfying episode.
The mapping process:
Next you're gonna be making the maps. Exciting!
Don't save them into your full WAD right now, though - create a new WAD file and map them out in there, using your resource WAD as, well, an additional resource. It's just a little bit more organised this way round, and it avoids having the same WAD open in two different programs, which is absolutely fatal, and another reason why it's a good idea to sort out your resources first.
PRO TIP: SAVE OFTEN. HAVE BACKUPS. AND START MAKING COPIES OF THINGS YOU CAN COME BACK TO IN THE EVENT OF BIG CHANGES OR DATA LOSSES.
The process of making these maps is going to be split up into four distinct phases.
You'll do all the layouts for the entire set first, followed by texturing, followed by gameplay, and then a bout of playtesting. The first three phases will not overlap in any way, although there will of course be plenty of playtesting when you come to add the gameplay aspects.
Layout - drawing the rooms' shapes and adding all necessary height variation - is the most crucial part of the process. If you didn't do it earlier on paper, this is where you figure out how each map will flow, any optional areas there'll be, how many keys will be needed, etc. You will want to place working doors and keys during this part of the process - leaving keys until you thingplace everything can be dangerous, in case you wind up placing keys that aren't flagged correctly! Plus you won't be able to get a feel for the maps' flow right out of the gate. I also place liquids in this part of the process (and I try to make sure I use the same liquid across the map).
Set a timer for each map you lay out. Err on the side of underestimating how much time you'll need, to motivate yourself to work quicker. However, don't be too strict. It's okay if you overshoot! Aim to be done with the fully-blocked layout in 10 mins, end up spending 30, by all means; it's not the end of the world. What matters is that you use those 30 minutes wisely, and have something to show at the end.
When the bulk of the map's layout is fleshed out, this is where I spend some time adding vital specials and tags for stuff like lifts and teleporters (plus adding the destination things). Monster closets and things like that will come later when I add actual gameplay and monsters.
Memorising the line special numbers helps here immensely. You might find this developing naturally as you map. This is of course easier to do in Doom and Boom format where there are fewer specials. The ones I use the most are 1 (DR door open/close), 11 (S1 exit), 31 (D1 door open) 36 (W1 floor lower to 8 above highest), 62 (SR lift), 71 (S1 floor lower to 8 above highest) 97 (WR teleport), 103 (S1 door open), 123 (SR lift fast).
Regarding monsters, you may wish to place down certain monsters for maps like E1M8, MAP07 and so on, so you can check certain tags like 666/667 work without issue. Do bear in mind that on MAP07, two arachnotrons being killed at the same time will cause the sectors tagged 667 to rise up twice. This is a bug no port in the history of Doom has chosen to fix, so uhhhh... good luck?
Map episodically - simple enough to do for Ultimate Doom megawads; for Doom 2 I'd recommend splitting them like this: MAP01-11, MAP12-20, MAP21-32. Importantly, have all of the maps in one planned "episode" in the same session. This way, you can copy-paste stuff from multiple maps to cut down on time spent making doors or exit rooms for the umpteenth time. Each map in Deathless E1-E3 basically copies the exit room from the previous map.
Place your exit as soon as possible, so you don't forget to and wind up creating a bunch of empty rooms with no earthly escape. (I've done this.)
You don't need to create these maps in numerical order, in fact I'd advise against it. Warm up your mapping engine by starting with a map somewhere inoffensively in the middle of the set. The very first layout I blocked out for Deathless was actually E2M3; I then moved on to E2M1, then E2M2, then the rest of Episode 2. Deathless's second episode was therefore blocked out first, followed by the third episode, then the first episode (for which I had the least ideas starting out).
Be ruthlessly efficient. Abuse shortcuts. GZDoom Builder (Bugfix) is my editor of choice and it has a number of shortcuts that can improve your workflow manifold. Unashamedly use "Make Door" to... make doors. (Trust me, it's faster!) Use Shift+L to turn things towards the mouse cursor. Bind a key to "Snap Selection to Grid". Ctrl+Shift+C/Ctrl+Shift+V (Copy/Paste Properties) is a godsend if you want to relocate switches or trigger lines or anything else like that.
Here's where you give your maps some individual character beyond "STARTAN-wallpapered series of shapes". This can be done relatively quickly if you know what you're doing.
Abuse the floodfill tool in your editor. The STONE and BRICK textures in particular look really good en masse.
Texture alignment is ancillary. I mean, sure, I hate misalignments too, and sure, auto-aligning takes but one keystroke, but if you have a burning compulsion to align anything and everything that looks "off", you might have to try and overthrow that compulsion or you'll be stuck in this phase forever. Only align things if you desperately hate the look of the misalignments. You can always fix those up in a polish pass later.
Certain textures like STAR*, GST*, MARB* etc. may generally require careful alignment to look any good and not "wallpapered", so it's gonna be more productive if you use textures that look good whether they're misaligned or not. GRAY*, WOOD*, STONE*, SKINTEK* and most of the BRICK* textures (not BRICK11 or 12 though) will come in handy here.
You should have a keybind that resets texture offsets (I have it bound to the "0" key). Personally, I think you should use it more often than autoalign.
DON'T BOTHER WITH LITTLE DETAILS. Here's my hot take: heavily-detailed maps don't necessarily look any "better" than maps that follow the classic visual formula, so if we're talking efficiency, I'd personally be more inclined to be as minimal on the detail front as possible. At least at first. Of course, this isn't to say you should just do a slapdash floodfill texture job and call it a day - add some useful visual flair by all means. However, my idea of "detail" in this context is anything that assists the gameplay of the map, rather than getting in the way and hampering player movement, or creating too much visual stimulation. Angle your walls slightly to guide the player in a certain direction. Place down torches to code where teleporters will take the player. Have your switch inlets glow with sector special 8 to make them call attention (or blink randomly with special 1, or blink rapidly with 2, or even flicker with 17). Don't bother painstakingly coding in an array of ceiling lights that strictly pulse in a cycle or whatever. Save the eye-candy for your big and impressive GZDoom singular map release. :P
Copy-paste is your friend. Don't be afraid to use it. Abandon the sense of bullheaded pride of manually constructing every switch inlet or light fixture - you can always vary those up after copy-pasting, like say, changing a door texture from BIGDOOR1 to BIGDOOR2 - if it looks different enough at face value, no one's gonna call you out for it!
Time to give your maps some playability! Rudimentary monster and item placement will happen in this phase. The gameplay of a map will in most cases take the longest time to get "right", but at this point, just go with your gut and place down what you feel is right. You'll be doing a total polish pass on this after your release candidate which is drawing ever closer!
In this phase you'll also add in monster closets/ambushes and other climactic encounters. Have some fun with that!
FOR GOD'S SAKE TURN ON SQUARE THINGS! You roundies are the bane of me. Please make sure you can actually see the hitboxes of enemies appear as boxes! Round things in the editor may easily trip you up and have you place monsters that are stuck in walls, or indeed other monsters.
Just on that note, you will find that thing placement goes by a LOT quicker when you disable the Thing Properties dialog appearing every time a thing is placed. This absolutely should not be the default behavior, in my view. In Doom Builder's Preferences menu, go to the Editing tab and disable "Edit thing properties when inserting a new thing". Then place a thing down and breathe anew.
Bear in mind how much pickups dropped by enemies are worth. Zombies and nazis drop clips of 5, shotgunners drop shotguns of 4, and chaingunners drop chainguns worth 10 bullets. These values are of course doubled for the ITYTD and NM difficulties. Treat these enemies - especially shotgunners who drop a ton of free firepower for you - also as ammo pickups.
Place plenty of light sources, and decorations like trees, gore and pillars, if you consider those important. Be sure to not have so many that they overcrowd the player in a space that should otherwise be open, and bear in mind that they can get in the way if they are placed too close to ledges the player can fall/jump off - they will obstruct a falling player when infinite actor height is on.
When placing items, be sure to bear in mind that sometimes they can be "grabbed" from lower elevations. This can occur if the player is travelling fast enough, so even if the item looks like it's well out of reach, it may not be. Just be careful with this - it occurs a lot in ports that don't modernise any of Doom's physics/collision.
Try to avoid mandatory pickups, especially if they're things like medikits or big ammo boxes which are valuable commodities that the player may not wish to waste, in case they're close to maxed-out already.
Again, copy-paste is your friend. See above.
You've come a long way to get here and you've done brilliantly! Here's where you will test everything and make sure the set is at the very least functional - that all the exits work, there are no ways to get stuck, and that hopefully you've injected quite a bit of fun into the experience!
Create a text document that will be your to-do list for this phase. Open it, write down a heading for each map (E1M1, E1M2, etc...), and then list out in bullet point form, beneath each heading, everything that needs changing as you playtest the entire set.
I use dashes (-) to lay out my bullet points, and then change them to a pound sign (#) as I work through them - the visual difference between these two symbols is stark enough that I immediately see at a glance what is and isn't done.
Difficulty balancing. This can be a pain in the ass, and I think just about everybody dreads it, but I have an approach: for Deathless, I wrote up an Excel spreadsheet into which I could type the monster counts for each difficulty level and have it show those numbers as red or green, depending on whether or not the numbers were "balanced" with each other. The way I designated "balance" was with an extremely simple formula, though - as I work downwards, placing UV enemies first and then removing enemies on lower skills, I had the spreadsheet check if the HNTR and HMP skill levels were balanced by simply taking the UV monster count, multiplying it by 0.8 to get the ideal HMP count, then again by 0.8 to get the ideal HNTR count. This is of course going purely by the number of monsters in the map, rather than accounting for the exactities of encounter design or monster types. However, it's usually a pretty good metric.
Playtest everything from start to finish on ITYTD one last time just to make sure the maps are all beatable. Not maxable necessarily, just beatable.
The polishing phase:
This comes after everything has been playtested at least once and is ready to show. You'll have something you can call a release candidate by this point!! Of course, if you're bold, put it out there right here and now, by all means! You've already done a lot of work and it'd be great to see you share it. But it will be wise to run through the entire thing with a very fine-toothed comb, still.
Run through the mapset once on the three main skill levels (that is, HNTR, HMP and UV), making note of monsters or items you want to add or remove on each skill level as you go. Try and max the map each time (including item %). The spreadsheet method I mentioned above works well where pure numbers are concerned, but if the map doesn't "feel" easy or medium-difficulty, then you'll want to make the necessary tweaks until they do.
You may wish to place a few health bonuses/armor bonuses in every map, even those that already have powerups placed, to ensure the item % at the end of the map can exceed 0% (I know this is the least important % where demos/speedruns are concerned, but I think it's just polite to make sure this can be maxed too). Generally, only place down these bonuses in clusters of 10 or fewer - that way these won't impact the balance of the maps much at all.
Go through the maps in the editor and use custom Thing filters to make sure any obstacles, decorations and light sources aren't accidentally difficulty-flagged. If none of your decorative trees in a vast outside area don't appear on easy, you're gonna feel like a bit of a jerk, but hopefully nobody will notice. Still, it's good practice to make sure these little things are accounted for.
Go through the maps in the editor and using the search function (F3) make sure all your damaging liquids damage the right amount, and that there are no surfaces that do damage that shouldn't. To do this you'll want to search by both sector special and by specific flats like BLOOD1, NUKAGE1 etc. Importantly, give every body of the same liquid a consistent damage value - I generally go with 5% damage for blood and brown slime, 10% for nukage, and 20% for lava, and this is what I did for Deathless. Water should never damage unless you're a sadist by nature, or if it's made very clear by the map that it will do (e.g. the electrified water near the end of Jenesis MAP17).
It's "polite" for every map to have 4 player starts. 8 if you're making a GZDoom map.
Do some rudimentary multiplayer placement - if you feel like it. This generally involves placing a few more medikits, a few more large ammo pickups, and extra enemies that are only flagged to appear on medium/hard. For maximum efficiency, place simple weapons like the chainsaw and shotgun at or near the player starts. If you've placed too much ammo in a map, flag it multiplayer-only instead of removing it.
Use SLADE's maintenance tools to remove textures you didn't use, duplicated entries, and IWAD duplicate entries. CHECK ALL YOUR ANIMATED TEXTURES AND SWITCHES STILL WORK AFTER YOU'VE DONE THIS!
What I tend to do is create an ugly square room painted with every animated texture, and I'm therefore able to check at a glance if all of these work. Bear in mind that if SLADE has removed lumps from the WAD, there's a slight risk that animated textures will continue to cycle through every texture in the roster. If this happens, it can be fixed by reimporting entries where necessary to correct the lump order.
If you continue to make changes to maps, or to the WAD structure itself after your initial round of playtesting and polish... well, you know what to do, I hope. DO MORE PLAYTESTING! THEN MORE POLISH! THEN MORE... okay well, make sure you don't get caught in a horrid cycle at this point.
At the very last minute, record some DEMOs (if you feel like it/your mapset is targeted at a port that will play these back).
PUSH OUT A FORMAL 1.0 RELEASE! CONGRATS, YOU MADE A THING! :D
That concludes this editing tutorial. Hope it's been useful!