Weird impy thing
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom General > Drawing Doom maps, start to finish
Pages (2): [1] 2 »  
Author
All times are GMT. The time now is 12:33. Post New Thread    Post A Reply
Revenant
Junior Member


Posts: 178
Registered: 01-05


Recently I wrote a Python script that opens a Doom map and renders it to an animated GIF, starting from "line zero" and tracing out areas of the map in linedef order. The result is something like a "start to finish" view of a map's construction - it's not perfectly chronological, since areas being deleted/reworked/detailed, etc. can cause things to sometimes show up incomplete or slightly out-of-order - but it can still give a pretty interesting look at the process behind a lot of the original map designs.

Here are a bunch of GIFs it's generated - this includes every map from Doom, Doom II, Final Doom, the Master Levels, the Doom 0.4 and 0.5 alphas, Heretic, Hexen, Strife, and Chex Quest.

This wasn't really supposed to be something for Doom's 20th anniversary, but that's more or less when I ended up actually finishing it (I'm posting it four days late but at least I beat the Cacowards :V)

Enjoy, I suppose.

EDIT: handy py2exe compiled version for windows here

Last edited by Revenant on 12-14-13 at 22:48

Old Post 12-14-13 21:47 #
Revenant is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
fraggle
Filled with the code of Doom


Posts: 7771
Registered: 07-00


Thanks, this is really interesting!

Any chance you can expand the script to cover the Press Release Beta levels as well?

It would be particularly interesting if you could combine the data from different versions so that we can see a more complete evolution of eg. E1M2 or E2M2, which appear in 0.4, 0.5 and the beta.

Old Post 12-14-13 21:54 #
fraggle is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Eris Falling
Forum Staple


Posts: 3073
Registered: 07-12


This is amazing. Bad Dream is pretty funny

Old Post 12-14-13 22:14 #
Eris Falling is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Dragonsbrethren
Senior Member


Posts: 2474
Registered: 03-09


Wow, these are really cool! I haven't watched many yet, but you can definitely see Romero's iterative design at work, seeing a big shape get drawn, then all the little details filled in before moving onto another section of the level. Really easy to pick out areas where the design changed (and even guess at what the original design was in some cases), too.

Doing this with things displayed would be even more awesome.

Old Post 12-14-13 22:24 #
Dragonsbrethren is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Memfis
Forum Spammer


Posts: 5792
Registered: 04-07


Just awesome, definitely a lot more interesting and useful than boring and incomprehensible Doom Builder timelapse videos. Now I feel inspired to try different mapping techniques, like making separate areas and then connecting them instead of just gradually expading from one area.

Old Post 12-14-13 22:27 #
Memfis is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Pure Hellspawn
Forum Regular


Posts: 885
Registered: 01-05


i find this to be a useful tool. one can learn the style of an artist's design of maps this way.

Old Post 12-14-13 22:28 #
Pure Hellspawn is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Da Werecat
Senior Member


Posts: 1415
Registered: 11-09


Hurr.

Took almost half an hour to render. Mostly true.

Old Post 12-15-13 00:06 #
Da Werecat is online now Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
schwerpunk
Senior Member


Posts: 2067
Registered: 05-12


One of my favourite things related to Doom, that isn't actually playing the game or mapping for it myself, is watching timelapse videos of other people building maps.

So Merry Christmas to me! Thanks a lot, Revenant. I haven't tried it out yet, but I'm having a ball just looking at the GIFs you've already put up. Can't wait to apply this to some classic levels.

EDIT: @ Da Werecat, I think your GIF crashed my laptop, lol. >:[

Last edited by schwerpunk on 12-15-13 at 00:42

Old Post 12-15-13 00:31 #
schwerpunk is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Revenant
Junior Member


Posts: 178
Registered: 01-05



Dragonsbrethren said:
seeing a big shape get drawn, then all the little details filled in before moving onto another section of the level

gothic99.wad_MAP01.gif (thanks TGH)


Dragonsbrethren said:
Really easy to pick out areas where the design changed (and even guess at what the original design was in some cases), too.

There are a few pretty interesting specific examples of this in early maps, I think: for example, the northmost area in E1M1, in its current form, appears to have been added very late in the process - and in the "A Visit to id Software" video (just after the 10-minute mark) you can actually see a completely different area that once occupied that space, so the GIF is probably a reasonable indicator of just how long it stayed that way before getting redesigned.

Another interesting early-game thing I noticed was that the SSG room in Underhalls seems to have been essentially the last part of the map to be built, like they had added the new weapon and just decided to bolt a new area onto an existing map to show it off. I wonder how much of the map's gameplay was ultimately designed without the SSG in mind at all.


fraggle said:
Thanks, this is really interesting!

Any chance you can expand the script to cover the Press Release Beta levels as well?

It would be particularly interesting if you could combine the data from different versions so that we can see a more complete evolution of eg. E1M2 or E2M2, which appear in 0.4, 0.5 and the beta.



It actually does support the press release beta levels already (they're just regular Doom-format maps after all), it just didn't really occur to me to add GIFs of them myself since I didn't recall them being extremely different from the final maps. I've added them to the doomalphas directory now.

A way to compare versions of maps would definitely be interesting, though. I guess at the very least, without modifying the script at all, you could just edit multiple GIFs together to highlight differences between versions somehow, but a way to make the comparison automatically would be awesome (not just for the Doom alphas but for any other map that exists in multiple versions as well).

Last edited by Revenant on 12-15-13 at 01:10

Old Post 12-15-13 00:42 #
Revenant is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Shadow Hog
Forum Regular


Posts: 761
Registered: 07-09


code:
Rendered 24293 linedefs into 8010 frames in 3516.300597 seconds.


Good news: your program can handle the behemoth that is Egg Rock Zone Act 2 without any issues. (At least, in shape mode. I daren't try the default linedef mode. This GIF is already 2MB large.)

Old Post 12-15-13 03:31 #
Shadow Hog is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
schwerpunk
Senior Member


Posts: 2067
Registered: 05-12


Hey, maybe I'm just dumb, but I checked you readme and couldn't find an answer. I guess what I'm looking for is a simple 'how to run this thing' guide.

Windows 7:
I unzip dmvis.zip's contents into their own folder,
with MAP01 in the same folder, run dmvis.exe
try dragging MAP01 to dmvis.exe
a few different permutations of the above, running as administrator, etc, etc...

(can't find this 'py2.exe' mentioned anywhere)

Either way I just get a cmd box this pop up really fast, with some text, but it's gone before I can read it. '/k' in the command line doesn't work for some reason...

Anyway, probably missing something glaring and nooby, but I can't be the only one.

Old Post 12-15-13 04:27 #
schwerpunk is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Revenant
Junior Member


Posts: 178
Registered: 01-05



schwerpunk said:
Hey, maybe I'm just dumb, but I checked you readme and couldn't find an answer. I guess what I'm looking for is a simple 'how to run this thing' guide.


Running it from the command line with no arguments (or "-h") will give you a quick rundown of the options, but the simplest way is to enter the directory and type something like:

dmvis doom2.wad map01

and let it spit out a GIF.

Old Post 12-15-13 05:56 #
Revenant is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
gemini09
Doomed Member


Posts: 1210
Registered: 04-03


I could be yelling from the top of my lungs, how DIVINE this utility is! It's absolutely unbelievable!

Happy 20th to yourself too!!!

Old Post 12-15-13 06:56 #
gemini09 is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
traversd
Forum Regular


Posts: 667
Registered: 01-09


The GIFs of the iwad maps are great :o)

I think my habit of splitting linedefs instead of drawing new shapes in Slade2 seems to really break any sense of sequence in stuff I have done. Only older stuff where I used DCK22f has reasonable stretches of continuity in a single zone of the map.

Old Post 12-15-13 07:02 #
traversd is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
schwerpunk
Senior Member


Posts: 2067
Registered: 05-12


Thanks, Revenant. Running it from the command line worked like a charm. Works with Doom2.wad, and I'm now just running it on one of my own colab maps. Fun fun fun!

This is probably the most exciting thing to come out for Doom's 20th. You should feel very proud. I can foresee people routinely posting dmvis gifs along with their screenshots in the 'post your Doom pictures' thread. I think you've started something really great here. :)

EDIT: doesn't seem to work on a colab map I did with someone else... maybe the map is just going beyond the 1024 box, though.
EDIT2: this old map worked fine, though. Really shows my sloppy mapping. Splitting linedefs and remaking sectors kind of screws with the script, but knowing the map, I can easily recognize my own progression.

Last edited by schwerpunk on 12-15-13 at 09:04

Old Post 12-15-13 07:17 #
schwerpunk is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
sgt dopey
Member


Posts: 518
Registered: 09-11


This is freaking cool, does it work with UDMF and boom maps aswell?

Old Post 12-15-13 09:32 #
sgt dopey is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Revenant
Junior Member


Posts: 178
Registered: 01-05


Boom maps yes, UDMF maps no - the script uses Fredrik's WAD editing library which was last officially updated a few years before UDMF was created.

I did start a personal fork of the library which the compiled version of dmvis uses; at the moment the only major change was added support for Hexen/ZDoom format maps, but UDMF support would be a nice thing to add eventually.

Old Post 12-15-13 10:22 #
Revenant is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
40oz
Forum Spammer


Posts: 6967
Registered: 08-07


Super cool revenant!

Old Post 12-15-13 13:43 #
40oz is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Chris Hansen
(used to be c-cooper)


Posts: 650
Registered: 05-02


Love it! What an interesting and original idea :)

Old Post 12-15-13 16:05 #
Chris Hansen is online now Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Mechadon
Senior Member


Posts: 2225
Registered: 12-06


This is a very cool idea, and I'm glad you were able to make something out of it! I've always wondered if it would be possible to have a recording of a line-by-line construction of a map as it is being made. This isn't exactly that, but its close enough.

I thought it would be neat to see if I could do one of the Vela Pax maps. I started it on MAP01 and it has been running for about 6 hours now...

Old Post 12-16-13 01:38 #
Mechadon is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Revenant
Junior Member


Posts: 178
Registered: 01-05


Haha yeah, it's "a bit" slower than I'd really like. Having to iterate over linedefs to form complete shapes is a huge bottleneck when there are so many of them (doing it in "pure" first-to-last linedef order with the IWAD maps usually produced incomprehensible nonsense and I think it looks a lot better as it is). I'd like to try coming up with a better (faster) solution at some point.

Old Post 12-16-13 03:16 #
Revenant is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Shadow Hog
Forum Regular


Posts: 761
Registered: 07-09


I lied, btw; I did the linedef version of ERZ2 as well. Turns out it isn't that much larger, filesize-wise, than the shape version. Takes about as long, too:

code:
Rendered 24293 linedefs into 24294 frames in 3584.515016 seconds.

Old Post 12-16-13 04:08 #
Shadow Hog is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Snakes
Senior Member


Posts: 2397
Registered: 09-09


These are all awesome. Very interesting to see how the id designers would make completely disconnected areas and then build paths towards them... I also like watching the little differences in how Sandy, John and American would approach a map.

Sadly I'm a bit technologically retarded - can anyone give me a quick how-to on how to run these for certain maps? I'd like to watch some classic designers at work a la Worch and what-not.

Old Post 12-16-13 05:36 #
Snakes is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Mechadon
Senior Member


Posts: 2225
Registered: 12-06



Revenant said:
Haha yeah, it's "a bit" slower than I'd really like. Having to iterate over linedefs to form complete shapes is a huge bottleneck when there are so many of them (doing it in "pure" first-to-last linedef order with the IWAD maps usually produced incomprehensible nonsense and I think it looks a lot better as it is). I'd like to try coming up with a better (faster) solution at some point.


Faster is always better, of course :). I suppose it makes since that it took so long for this particular map since the linedef count is pretty much at the ceiling (its hovering around 65500+). But I didn't realize that it draws that way, which surely does make it more interesting to watch instead of seeing lines just pop up out of nowhere.

Oh yea, my gif did eventually finish. It probably took a good 8 hours or so. The .gif ended up being 43mb; every time I tried to open it in Firefox, it would choke :P

I got it to open and play in Virtual Dub, but sadly it seems that the generator doesn't like my node format :(. I dunno if that's anything you could fix, but now you know that it doesn't like the uncompressed ZDoom node format, heh.

Old Post 12-16-13 05:46 #
Mechadon is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Revenant
Junior Member


Posts: 178
Registered: 01-05



Snakes said:
These are all awesome. Very interesting to see how the id designers would make completely disconnected areas and then build paths towards them... I also like watching the little differences in how Sandy, John and American would approach a map.

I suspect that might actually be caused partially by things like hallways, doorways, and stairways being altered after a basic connection between areas already existed, which would in effect sometimes make the connection "newer" than the areas it was connecting. Like I said before, don't trust the exact progression of the GIF to be 100% accurate because of things like that :P


Mechadon said:
I got it to open and play in Virtual Dub, but sadly it seems that the generator doesn't like my node format :(. I dunno if that's anything you could fix, but now you know that it doesn't like the uncompressed ZDoom node format, heh.

That's not anything to do with nodes (which my script completely ignores), it's actually.... probably the fact that the Omgifol library doesn't actually handle more than 32768 of anything correctly (I really should have realized and fixed this myself when I added Hexen support, but uh, I'll do it tomorrow. Sorry for wasting your time!!!!!!!!!)

Old Post 12-16-13 06:17 #
Revenant is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Waffenak
Forum Regular


Posts: 926
Registered: 10-09


very interesting thing

Old Post 12-16-13 08:23 #
Waffenak is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
FireFish
Member


Posts: 593
Registered: 04-13


a very interesting python program.

i tested it on a map i made for the w.i.p. soul survivor wad, and i noticed that it follows the way the map is made in a more than correct manner.

as i make all maps on a concept basis with no predetermined layout,
i delete, alter, and redraw many sectors when the textured 3D preview is not to my liking. thus the resulting gif has at times a reverse order where it looks as if the detail is drawn before the actual holding sector.


dropbox link to the gif as photobucket its upload fails :
https://www.dropbox.com/s/nuiqx0gkzdvvxgv/soulm2.gif

gif kb : 113.2 kB
frames : 1000+
size : optimized for size with the gimp


edit : more correct statement.

Last edited by FireFish on 12-16-13 at 09:37

Old Post 12-16-13 09:32 #
FireFish is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
40oz
Forum Spammer


Posts: 6967
Registered: 08-07


Some of these are really crazy. I'm really fascinated with the way the stairs in the secret tunnel in E1M1 are done, all disconnected like that. also the pillars in E2M2, five of them are made and the last one is added really later on -- i wonder why. It also shows some evidence of maps like MAP14 and MAP15, where much more attention is given to specific areas at a time than the general layout of the entire map. Im trying to make note of all the maps that didn't start with the starting room. It seems like many of the ones in that category are ones with large landmarks, like MAP20: Gotcha's Cyberdemon and SpiderMastermind arena, and CATWALK.WAD's... catwalk. Surprisingly though, MAP06: The Crusher's Crusher (excepting the final battle before the exit and some secret areas) was the last part of the map to be made.

These are all really sweet though. I'm curious to run this thing through my maps and see if anything really embarrassing happens.

Last edited by 40oz on 12-16-13 at 14:41

Old Post 12-16-13 14:23 #
40oz is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
40oz
Forum Spammer


Posts: 6967
Registered: 08-07


Here's my MAP13: Late Night Porking from 32in24. It looks really weird though because a lot of it was made with basic shapes and splitting lines and dragging them around. The overall design process didn't really look like this when I was making it I think, given all the hallways I stretched and room shapes I manipulated and stairs I added for height variation.

http://img690.imageshack.us/img690/5455/ocqy.gif

EDIT: some further examples -- pretty interesting look at how much my level design has evolved, here's MAP01 or Motornerve that I made a few years back, vs. MAP01 of Motornerve 2 that I made last week.

Most of the maps from UAC Ultra 2 are crazy since so much of the time spent on the maps were from deleting and restarting areas from scratch, and manipulating the shapes of the rooms. This one from MAP05 of uu2e1-v1.wad looks like I started every single room in the map at once.

Also if you're interested in mapping like a robot, here's a map from Oblige. Unfortunately it looks a lot more sane than anything I've ever made.

Last edited by 40oz on 12-16-13 at 18:41

Old Post 12-16-13 17:02 #
40oz is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Mechadon
Senior Member


Posts: 2225
Registered: 12-06



Revenant said:
That's not anything to do with nodes (which my script completely ignores), it's actually.... probably the fact that the Omgifol library doesn't actually handle more than 32768 of anything correctly (I really should have realized and fixed this myself when I added Hexen support, but uh, I'll do it tomorrow. Sorry for wasting your time!!!!!!!!!)


Oh I see! I assumed it was node-related because of the format that I was using (not sure why...). If its something fixable, that would be pretty cool! And no worries, I just let the thing run while I did other things, heh. I probably shouldn't have tried to use such a huge map, but it was a good stress test it guess. It made the gif just fine except for that fact that it didn't like more than 32768 lines.

By the way, if you want me to send you the 48mb gif file for any reason, let me know.

Old Post 12-16-13 20:10 #
Mechadon is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
All times are GMT. The time now is 12:33. Post New Thread    Post A Reply
Pages (2): [1] 2 »  
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom General > Drawing Doom maps, start to finish

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.