Release 0.22.0 - What's new!

Posted 26 August 2020 by Darragh Van Tichelen

It’s been more than 2 months since the latest release, so we’re long overdue for an update! This release does not pack a ton of new features, but does pack one big one: rotation! Other things in this release are a bunch of performance improvements, some QoL changes to floors and a bunch of smaller changes and fixes.


Rotating shapes is an often asked about feature, for obvious reasons. This is however a more technical change that required some tweaks in the core of the draw logic, but it all worked out in the end.

Rotating is done in the select tool, but only in build mode (just like resizing). When you go into build mode, a rotation specific UI will appear (a line with a ball). By grabbing the ball and moving around you can rotate a shape freely around its center.

When multiple shapes are selected, the rotation UI will be drawn around the entire group and allows for rotation of all shapes at once. This rotation is again performed in relation to the center of this rotation box!

Additionally when you use snapping, the rotation will snap to clean angles of 45 degrees.

Floor QoL improvements

I’ve really come to like floors, but there were still some smaller pain points that I hope to address here.


The DM can now toggle accesibility of floors. Specifically this means that they can prevent players from manually going to a specific floor.

This does not prevent vision of a floor on the actual playfield (e.g. a player on a higher floor looking out of a window on a grass field below)


Floors can now be renamed, woo.

Display Order

The order in which floors are displayed in the popup menu is now reversed. It now follows a more logical order where the topmost entry is the highest floor.


It is now also possible to reorder floors, by draggin them around. So you no longer have to make sure everything is preplanned or move a bunch of stuff around manually!

Fog bug

There was an unnecessary amount of fog being added to lower floors, making them darker.

Performance improvements

A bunch of performance tweaks have been done that should have a large impact!

Startup time

Some changes in the websocket handling make it that now the client reacts to server data much faster, which in turn should be reflected in faster visual loading on all maps.

Additionally floors are now loaded separately on startup with the last visited floor being loaded first. This should improve the time to first paint dramatically on maps with a lot of floors.

Fontawesome icons used throughout the UI are now loaded with a vue library. In the past all icons were loaded with a fontawesome.js script, now we only load the icons actually used, saving a bunch of data!

The game loop is now only started when the first floor arrives, this is a rather small improvement in th grand scheme of things, but a nice improvement either way.


Another big improvement is done in shape movement. Group moves are handled more efficiently and fewer data is required for each shape move as well.

A last improvement is that panning will delay updating non visible floors until the pan action finishes, which again benefits maps with a lot of floors.



Reflection on the “Up next”

Last release I added an “Up next” section, to outline some of the things on the roadmap. I wanted to reflect on what the status is with this release completed.

partially done
not done

Although this release took a bit longer, I’m still happy with 6 out of 15 done. :)