Revenant Posted May 1, 2020 Recently I've been working on a counterpart to my old dmvis utility aimed at generating top-down views of Doom maps in Scalable Vector Graphics format, allowing map layouts to be visualized with floor textures and lighting at any scale and with pretty reasonable file sizes. A few examples from Doom and Doom II: E1M1, E1M2, MAP11, MAP17 Other, more complex examples from a few PWADS: Back to Saturn X E1 MAP01 Ancient Aliens MAP16 (warning: large) Planisphere 2 (warning: really large) The dmsvg source repo is available on GitHub, and Windows builds are available on the Releases page if you don't have Python 3 installed. I may eventually add options for displaying things, keyed doors and other fancy stuff, but making sure sectors look okay is the main priority. Some IWAD maps come out looking pretty funky due to issues involving unclosed sectors, which I'll probably try to find a more graceful solution for at some point. 25 Share this post Link to post
elend Posted May 1, 2020 Great to see tools like this, I am wishing for a nice WAD2vector since forever now. Does this actually work with UMDF? I tried it with my map and it just told me "MAP01 not found". Doom2.wad worked fine, though. 0 Share this post Link to post
Revenant Posted May 1, 2020 UDMF will be supported whenever I end up merging support for it into the underlying WAD editing library, which is in progress, so... eventually. 3 Share this post Link to post
Redneckerz Posted May 1, 2020 @Revenant considering bringing this and the older DMVIS up with @Xymph - DoomWiki maps are currently also generated with a .py script but aren't colored. Perhaps you and him can share some ideas? Super interesting stuff, by the way, and useful on more levels then one may initially think of. 2 Share this post Link to post
Revenant Posted May 1, 2020 (edited) The wiki is actually something I very much had in mind when I was working on this, since I thought it could well come in handy. The script that's currently used on the wiki for drawing maps is actually what dmvis is directly based on. To that end, @sponge was the one who originally suggested some of the additional nice features I mentioned in the OP, which I might experiment with later on. 1 Share this post Link to post
Immorpher Posted May 1, 2020 I love SVGs and its neat seeing my browser construct them. :) 3 Share this post Link to post
elend Posted May 2, 2020 Keep up the good work, I'd love to make some Doom automap posters for myself some day. Or maybe a coffee table book featuring "The Evolution of Doom Mapping" along with Screenshots and... map layouts. 3 Share this post Link to post
Doomkid Posted May 2, 2020 This is badass! Been wanting a tool like this for some time now. 0 Share this post Link to post
sponge Posted May 4, 2020 (edited) For anyone curious, I saw the big SVG files and how slow they can get, especially on mobile, and spent a couple of hours seeing if I could render the SVG to tiled images. The end result was this: https://spongeserv.com/doommaps/ In this case, you're trading off performance for filesize, as the 6 zoom levels here make up about 15mb of JPGs instead, but the end result will run great even on lower end phones/tablets. Knocking off a zoom level might get it down to 8mb or so. The conversion process is pretty straightforward, although converting SVG files to PNG files is needlessly complex, and I settled on a node package svgexport that basically runs headless Chrome in the background. node ./node_modules/svgexport/bin/index.js $1.svg $1.png pad 8192:8192 "svg{background:black;}" mkdir $1 for z in 0 1 2 3 4 5 do zz=`expr $z + 8` sz=`echo 2^$zz | bc` convert $1.png -resize ${sz}x${sz} -crop 256x256 +adjoin -set filename:f "%[fx:page.x/256]_%[fx:page.y/256]" "$1/${z}_%[filename:f].jpg" done The disk space might make something like this unworkable for something like DoomWiki except for the most high profile of maps, but I could definitely see a TC release hosting their own maps as a guide for key locations and such. I know I would've loved something like this playing through some mods. 7 Share this post Link to post
Dragonfly Posted May 4, 2020 (edited) That's something I'd likely be keen on adding to my site @sponge, that's definitely a great addition to Revenant's work! What map formats does this support? :) Edited May 5, 2020 by Dragonfly 0 Share this post Link to post
elend Posted May 5, 2020 Aw man, Google Doom Maps. Awesome. When do we get a Street View? 1 Share this post Link to post
Chris Hansen Posted May 6, 2020 (edited) I tried it and got a "Rendered filenames." message. Has it completed creating the output file? I can't find the file anywhere on my HDD. What am I doing wrong? OK, I was supposed to give it a filename and not write "filenames" in the command. D'oh! So good so far, but I can't open the file. Nothing shows up, it's just a blank screen. Do I need to add more options to the command line or something? I'm a dummy at this, I know. Sorry! dmsvg.exe -o helpself.svg "C:\Doom\Levels\Helpyourselfish\helpself.wad" map map01 Edited May 6, 2020 by Chris Hansen 0 Share this post Link to post
Redneckerz Posted May 6, 2020 On 5/5/2020 at 2:16 AM, elend said: Aw man, Google Doom Maps. Awesome. When do we get a Street View? 4 Share this post Link to post
Revenant Posted May 6, 2020 13 hours ago, Chris Hansen said: I tried it and got a "Rendered filenames." message. Has it completed creating the output file? I can't find the file anywhere on my HDD. What am I doing wrong? OK, I was supposed to give it a filename and not write "filenames" in the command. D'oh! So good so far, but I can't open the file. Nothing shows up, it's just a blank screen. Do I need to add more options to the command line or something? I'm a dummy at this, I know. Sorry! dmsvg.exe -o helpself.svg "C:\Doom\Levels\Helpyourselfish\helpself.wad" map map01 The filenames and map names should both be entered without anything in front of them, like: dmsvg wadname1 wadname2 wadname3 map01 You can specify multiple WADs to use; if you're rendering a PWAD map be sure to include the correct IWAD so that the necessary palette/graphics can be used. 0 Share this post Link to post
Revenant Posted May 25, 2020 On 5/4/2020 at 12:22 PM, Dragonfly said: What map formats does this support? :) Doom and Hexen/ZDoom formats are both supported, though I've only really tested it with Doom maps so far. Others should also come out looking alright except in cases when non-64x64 flats are used (e.g. some Heretic maps, or ZDoom maps that use high-res flats, etc) @sponge If you're interested, I could probably add an option to my script at some point to support directly generating PNGs at various zoom levels, which would probably speed things up since it could just traverse the map a single time and output multiple raster images instead of having to fire up Chrome multiple times to rasterize the same SVG file over and over. 1 Share this post Link to post