A while back I posted this thread asking for mapping software recommendations. Since then I’ve tried out a bunch (thank you to everyone who gave me suggestions!), and have settled on Excalidraw as my current favourite.
Some caveats. I’m approaching this as an player who wants to draw maps for reference while I play parser games, and would like adding/naming rooms to be as convenient as possible. Trackpad/touchscreen compatibility is a must since I usually play on a laptop on my train commute. Authors making maps for planning purposes, or those who don’t use a laptop trackpad, would probably have different priorities.
That said, here are Excalidraw’s features that make it useful for IF mapping:
infinite canvas without defined page sizes
all elements (boxes, lines, text) can be snapped to grid and to each other. Helps with making maps look neat even when you move bits around
ability to quickly change box and colours, for colour-coding rooms, including specifying colours via hex code
Trizbort Web is another great option I tried, with much the same functionality plus neat IF-specific features. But the scroll/pan direction is for some reason the opposite to what I’m used to, and I didn’t like that you can’t just type free text (it has to be in a note box).
I did try draw.io, my main issue there was the default connection is an arrow instead of a simple line. I really liked the “connect and clone shape” feature, where you can make a new room and connection in 2 clicks, but there doesn’t seem to be a way to change the connection from an arrow to a line, and there isn’t a simple keyboard shortcut for a line either. Ultimately I found it more convenient to make new boxes and connections with Excalidraw’s keyboard shortcuts.
Also it required a defined page size instead of having an infinite canvas, somewhat inconvenient when you don’t know the shape/dimensions of the map going in. You could get around it by making a giant page and only saving the diagram area when exporting though.
I did try draw.io, my main issue there was the default connection is an arrow instead of a simple line.
I use draw.io all the time during my day job. One of my biggest gripes with it is the web-based version and the desktop version act differently. On the desktop app, if you draw a line and change the line type or arrow type (for example, to turn off the arrow) it will remember that and all further lines you draw will use the same settings. The web version doesn’t do this and instead resets the settings to the defaults with every line. Unfortunately, all our tooling and internal systems integrate with the web version, so actually using the desktop app is a little inconvenient for us.
But if you’re just making maps and not using integrations with other web-based tools, the desktop app works great. The main benefit I find to using it over Excalidraw (also an amazing tool that I use regularly) is the ability to snap lines to points on boxes, so when I move the boxes the lines stay attached to the particular sides or corners I want them on rather than sliding around.
Also it required a defined page size instead of having an infinite canvas
draw.io does have an infinite canvas, it just only shows you the “pages” currently be used. If you drag a shape off the edge of the canvas, it will automatically extend the canvas in that direction.