Hacker News new | comments | ask | show | jobs | submit login
Make a Doom level, part 1: the basics (eev.ee)
129 points by fcambus on Dec 25, 2015 | hide | past | web | favorite | 28 comments

How Doom works in a nutshell:

- Every enclosed polygon has a ceiling height and a floor height

That's it.

- The table in the middle of the room? It's just a polygon with a higher floor. The room around it has a comparatively lower floor.

- A door is just a polygon with a ceiling height that matches the floor height. When you use the door, the ceiling raises. Combined with the textures being pinned, this makes the door seem like it's going up.

Super simple. Also: play my wad, it's awesome. I did most of the level design on my 386, my buddy stitched them together on his 486:

Screenshots: http://mikemaccana.com/images/work/screenshots/doom-the-path... http://mikemaccana.com/images/work/screenshots/doom-the-path... http://mikemaccana.com/images/work/screenshots/doom-the-path... http://mikemaccana.com/images/work/screenshots/doom-the-path...

(yes, that's a working toilet)

Download: https://www.doomworld.com/idgames/levels/doom2/s-u/thepath

Don't forget the BSP tree, that's what really made Doom work and be playable with huge maps on a 386 & 486. By cutting the game map into sections in front and behind the player it could very quickly figure out a small set of sectors that are visible and just render them instead of the entire world (which would be way too slow on computers of the time). Fabien Sanglard has a great analysis of how Doom worked: http://fabiensanglard.net/doomIphone/doomClassicRenderer.php

+1 for mentioning Fabien's stuff.

Now, if he just had time to do the book he was going to write... I'd seriously pay $100

I thought bsp came in when they made quake, interesting to know! Is this how Wolfenstien and Commander Keen worked too?

Wolfenstein was grid-based (you couldn't have arbitary wall angles), and Keen was a 2D side scrolling platformer.

Map making in Doom was (is?) so accessible as the editors were in 2D for a 3D world. Granted you couldn't place 1 room directly above another room, but no one cared too much at the time. Once things moved on to Quake a lot of my friends lost interest in trying to "figure it out" as the editor was more challenging.

In high school a group of friends would all create their own maps and then before classes started we would play test them on the computer lab LAN. Our favorite editor at the time was DEU.

None of us being map making geniuses, we'd always end up with something that didn't play well but did have a few "fun spots". Eventually someone had the idea to just cherry pick all those fun spots and Frankenstein together a single map using our individual parts. This map ended up being the most fun we have ever had in Doom.

I'm not sure if Doom was the first, but it was the first for me to instill the idea that a game should be moddable if you want to make a great community and give the game a very long life after the developers have moved on to the next thing.

None of us being map making geniuses, we'd always end up with something that didn't play well but did have a few "fun spots". Eventually someone had the idea to just cherry pick all those fun spots and Frankenstein together a single map using our individual parts. This map ended up being the most fun we have ever had in Doom.

That's exactly how Half-Life has been made: http://gamasutra.com/view/feature/131815/the_cabal_valves_de...

> Once things moved on to Quake a lot of my friends lost interest in trying to "figure it out" as the editor was more challenging.

Moving to constructive solid geometry (CSG) map editing was really hard for a lot of people, myself included. I ended up learning on Dark Forces 2: Jedi Knight, which was subtractive and a lot more like how Doom felt to me.

I spent many years building levels for Doom/Build engine games, and I also had trouble moving to the void-space model of the Quake engines. Unreal, with its subtractive CSG model, was the next step for me, and felt so right in comparison.

Unreal engines was substractive. Only the last iteration has becomes additive.

> Our favorite editor at the time was DEU

DCK (Doom Construction Kit) was a huge game-changer when it arrived IMO. One of the most user-friendly DOS applications I had ever used. I just loved working in DCK. Only the Build Editor managed to rival it. Ben Morris later went on to work on WorldCraft/Hammer at Valve.

A childhood friend of mine(32) from elementary school, has a mild autism and does not know how to deal with his life. We used to be mad doom fans (well, we still are) when it came out and it stuck with us for years. But the poor guy is living with his family, sitting up until 4AM making Doom levels. At this stage he is one of the leading "levellers" at Doomworld[0]. "STILL MAKING LEVELS IN 2015" is a thing which is kind of funny, but it is actually sad. He's wasted so much of his young years thinking about Doom, making levels etc. I wish he'd just snap out of it, but it seems it will not happen. That is how the story goes I guess, with the kids you grow up with. Not all of them have the interpersonal and mental means to pick a chose a good path for themselves.

[0] http://doomworld.com

Have you played (or watched somebody play) The Beginner's Guide┬╣? I watched a video of somebody playing through it, and it affected me pretty powerfully; now I'm pretty positive towards the idea of letting people express themselves creatively however they like and not trying to pressure them towards my ideas of "productivity".

┬╣: http://thebeginnersgui.de/

That's not so bad, considering the alternatives for people in such a situation.

I also have a friend in a somewhat similar place, although last we met he seems to have gotten a bit of a better grip on his life (managed to find some freelance work as a programmer, as far as I know he was never able to hold a "normal" steady job before).

If we didn't have happen to be into computers as kids I'm pretty sure things would have been worse.

YOU are sad but what about him ? He might be the happiest guy in the world.

He probably is happy, but when I read that I'm sad for his parents. Especially when I think of them in another 10 or more years. And then a bit later I realise (selfishly?) there's more to it than empathy towards some strangers I've only just heard of, as it could be my own reality in another 20 years.

If it's fulfilling to him, then that's not necessarily a bad thing. Some people never find something they are passionate about.

OMG, this _was_ my childhood. So sad I decided to throw away the levels I had saved on floppy disks. Some of them I think were quite impressive.

If I recall things right my editor was a DOS program simply named "Doom Editor". Can't seem to find any info on it though... http://doom.wikia.com/wiki/Doom_Editing_Utilities

Note that this tutorial will make a map that only works with ZDoom, not the original .exe. Having said that, mapping for Doom is fun and I suggest you try it!

Haslam's Book Store's Books of Doom: http://www.haslams.com/doom.shtml

Skimming through the article, it seems like it was so much easier and faster making a level in DEU back in the day (1994/95). It was more or less like the CAD software I was using in my senior year in high school at the time. By contrast, this seems almost counter-intuitive.

Then again, the difficulty in getting DEU to run on modern OSes might be an even greater challenge than learning a new, awkward tool.

Wow - the WAD editors have come a long way since 1995 - and I guess that with contemporary computing power, one doesn't have to wait a few minutes while the level renders, only to find a stupid bug to fix and render again... Which reminds me about all the quirks of Doom's 2.5D mode that the article doesn't get into - for example, put a texture on the wrong side of a wall an you'll get ugly artefacts... Lots of those gotchas to watch for... Oh the nostalgia... Doom levels have been my biggest foray in game content creation - I did the 2.5D modeling and three business school friends handled sound, music and texturing... Borrowing school hardware and organizing a 250-people tournament of two-people teams (Doom's IPX multiplayer allowed only four players) was a highlight of those times !

Ahh, ther is is a lot of beauty level design on doom maps. I saw a lot of tricks like creating fake deep water, fake bridges, or simply playing with lighthing to create a deeper scene.

The only other game that I found that reach this level of simplicity and powerfull level making, are the old good Unreal Tournamet, and the Unreal Tournament 2004. It's like levels for DooM but is real 3d, thanks to substractive booleans.

Oh man this takes me back... I used to build maps for Doom, Unreal, Quake and Half Life. I still play one of my HL maps with a couple of friends, it's just so much fun! Back then QuArK was my tool of choice, it seems they are still releasing new versions of it! [0]

I guess I know what I'm going to do this holiday :D

[0] http://quark.sourceforge.net/

I did a few stuff on DooM and on Unreal Tournament. Even I found a path to convert maps from DooM to Unreal Tournament -> http://www.moddb.com/games/unreal-tournament/tutorials/how-c...

And this piece of crap, was how I got a email from ID software : http://www.moddb.com/mods/unreal-doom

I just spent the last couple of nights watching Doom II playthroughs on Youtube and now this shows up on HN. Sweet!

I still have the (unfinished) wad I created back in the late 90s using WADED from the Tricks of the Doom Programming Gurus. Barely rescued it from a floppy disk over a decade ago that reported the file size as over a gig. Now that I think about it, I hope the CD I recorded to is still good.

btw doom 4 is coming 2016: https://www.youtube.com/watch?v=xVaWl1GtDHU

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact