The First Fortnight of Dungeon Scrawl V2

The public Dungeon Scrawl V2 preview launched two weeks ago (Oct 9th). If you haven't tried it now, head on over to app.dungeonscrawl.com and check it out! More than 6000 maps have been exported in this time, and the tool has received a fair few updates based on user feedback.

Dungeon Scrawl uses Crisp to effortlessly allow communication between users and the developer. This has been invaluable for feedback, feature requests, bug fixes, and prioritisation. My aim is for the gap between "want to do something" and "know how to do something" to be as small as possible, so it's really helpful when people message me asking how something works / why something doesn't work. It usually means that the UX / UI isn't good enough. On that note, if you have feedback or feature requests, ping them to me in the chat!

Let's see what has changed in Dungeon Scrawl over the past 2 weeks.

What's new?

Zooming - the uselessness of the welcome dialog

Rarely did a day go by where I didn't receive the question: "how do I zoom?". Ctrl+Scroll was the original bind for zooming, for technical reasons to do with trackpad vs scroll wheel detection. This shortcut was explained in the welcome dialog, but that's an unsuitable place for important information. People come to Dungeon Scrawl to make maps, they don't want to pause for 10 seconds to skim an instruction manual.

Zoom is now bound just to 'scroll', and Dungeon Scrawl tries to detect whether the user is on a Mac or PC to make trackpad pinch-zooming work properly. This tends to be the first thing people try when figuring out how to zoom.

High-res export

To export images in the browser, the dungeon needs to be rendered to an HTML Canvas. This canvas has a resolution limit (depending on the browser) which means that large dungeons can't be exported as an image. This is an issue that has existed since the dawn of Dungeon Scrawl, but since V1 had such terrible performance, people rarely built dungeons large enough to reach this limit.

With the performance improvements of V2, many more people are reaching the limit of the export resolution. Time to introduce a high-resolution export feature! It works by exporting smaller tiles of the dungeon at a time, and sending them off to a server to be stitched together. It's a little slow, but seems to work.

This feature is available to 'pro' users. A 'pro' tier has been introduced to the V2 which also includes dark mode, and a couple of other features. It's mainly a replacement for Patreon, and allows users to support development.

The exponential growth of walls

Someone sent a medium-sized dungeon savefile to me that was performing badly. They were content to save the dungeon, load it, edit it, save it, rinse and repeat, but it got to a point where it wouldn't export. Dungeon Scrawl should be able to handle medium-sized dungeons, something was wrong.

The save file was massive for something that didn't use many images (>6mb). I poked around inside and found >200,000 'lines'. A 'line' is a new geometry concept in V2. The wall tool places lines instead of thin polygons (like V1). This should help performance, but something was clearly afoot here.

I de-duplicated the lines in the savefile and found that there were only 138 unique lines. Erroneous lines were being created. After a bunch of playing around, I found that copying+pasting a shape with two polygons was doubling the number of lines in the dungeon. Fast forward a few edits, and the power of exponential growth gives you terrible lag! This has since been fixed.

The most shocking learning was that this person was able to put up with such terrible edit performance for so long.

ℹ️
On a side note, this person was using one of the great features of Dungeon Scrawl - it's geometry based (think Vectors), and has a copy-paste tool where the 'paste' allows you to paste in erase mode, or draw mode. This means you can construct complex areas outside of the dungeon, then paste them in. For example, want a quarter of a circle? Draw a whole circle with the regular polygon tool, then cut+paste it into the dungeon.

Kitchen sink

A bunch of miscellaneous stuff has changed, including:

  • Image layers - I'm still figuring out how image handling will work, but have brought back the concept of image layers from V1. They're a handy way to organise images and interact with separate groups of images. This has replaced the 'images folder' that was added by default to new maps. If an image later is selected, the object tool will only interact with that layer.
  • Stairs tool - Another common message is "the stairs tool doesn't work". All other tools have various drag interactions, but the stairs tool only worked with clicks. Drag has now been added.
  • Image snapping - Brought over from v1 - no snapping when resizing yet.
  • Toggle chat icon - From the "View" menu.
  • Toggle the left/right UI panels - From the "View" menu.
  • Duplicate layers - Right click on them.
  • V1 map import (partial) - Image layers don't work, nor do hex grids or isometric maps.
  • Opacity controls for each node.
  • Various bug fixes.

What's next?

The next few commonly-asked-for things include:

  • Hex grids
  • Isometric maps
  • Curved paths
  • Flip images / geometry
  • Better edit controls with multiple doors selected
  • Multi-page PDF export
  • Wall data export for VTTs such as Foundry, which can use it for dynamic lighting

All of this is on the roadmap, and more! Let's see where the next two weeks takes us.

Show Comments