Poking the Eye of the Beholder

How can visualization support dungeon masters?

Kristian Nicholas Koeser
VisUMD
5 min readDec 16, 2022

--

Image by MidJourney (v4).

First released in 1974, Dungeons & Dragons is a tabletop roleplaying system that has seen several updates and editions, with the most recent being the 5th Edition from 2014. The game involves a group of players adventuring in a world that is run by a Dungeon Master (or DM). The DM controls all of the non-player characters and monsters that the players encounter. The monsters that are officially published for use in Dungeons & Dragons 5th Edition are contained in the Monster Manual, a 352-page book which has descriptions of over 400 monsters.

To plan a combat encounter for a session a DM must know which monsters they would like to put the party up against. There is a lot to consider for this like how powerful the players are, the environment that they are navigating and the power and types of monsters that the DM would like to use. The Monster Manual itself is organized alphabetically with some monsters grouped by type such as types of giants. This is a logical set up and is useful for looking up monsters if you know the name of the monster that you would like to use already. However many people are not as familiar with all the options in the book which is why I developed this tool to allow for DMs both rookie and veteran to be able to filter and select monsters that are listed in the book using the mechanical features of the game and not just the monster’s name.

Now let me set up a scenario: You are a DM and you really need to set up a combat encounter for your game session tomorrow night. You don’t really have any ideas but you know that the party is 4th level and they like fighting large groups of small monsters. With the book your best shot at setting up this encounter is either flipping through all the pages and hoping something catches your eye or turning to outside lists of all the monsters sorted by challenge rating then looking at each of them individually. Now however, I am hoping that the monster searching troubles are alleviated with the help of this new tool.

My tool was developed using Tableau with a dataset from Kaggle. The upper portion is a scatter plot which has hit points on the Y axis and challenge rating on the X axis. Additionally, the monster’s color is determined by its type and the size of the circle is relative to the size category of the monster. The lower portion is a parallel coordinate chart which has the following axes: challenge rating, hit points, armor class, speed, and the saving throw bonuses for strength, dexterity, constitution, intelligence, wisdom, and charisma. Each monster is represented by one line which connects points on each axis for that particular monster’s value in that axis relative to the dataset as a whole. In addition to this each of the actual values from the book for each of these stats is contained in the tooltip that appears when the user highlights any of the circles in the scatterplot or lines in the parallel axes chart. When one or more lines are selected from the parallel coordinate chart, the scatter plot is filtered to show only those selected monsters. Lines can be selected by clicking individually or by clicking and dragging to select a range of data points.

The central idea behind this tool was to provide an interactable space that would allow DMs to find and compare the different attributes of the variety of monsters so that they wouldn’t have to spend a great deal of time flipping through the book. It was for this reason that I chose to use the parallel coordinate system in order to handle the high dimensionality of the dataset. Entire monster types can be highlighted and filtered at a time so if you were ever wondering how exactly the different types of giants compared to each other…

Now you can see without having to look at all of their stat blocks individually!

In terms of practical use I feel that the tool is best served when trying to find a monster that fulfills multiple criteria that you as a DM have in mind. For example if you want to have the players come up against a slow monster with a low dexterity save modifier you could use the tool to highlight just the monsters with very low dexterity saves then look towards the speed axis to check which of those have low speed. Finally, you could then look towards the challenge rating axis to see if the party is of an appropriate level to fight whatever it is you are looking at. Of course following all of this the best course of action will be to look in the book itself, now that you know the name of your ideal monster, and make sure that its attacks and other abilities are truly appropriate for your next session. However, it should be a much quicker decision to make since you’d know all of the monster’s defenses before you crack open the book.

As of right now the data in the tool only includes official monsters from the published 5th Edition Monster Manual. In the future more monsters from other 5th Edition sourcebooks could be added to make it even more comprehensive.

Use of this tool has already led me to some interesting findings such as the one showcased earlier that only four monsters in the game have the highest value for a dexterity saving throw modifier which is only 9. I encourage you to take a look at the tool and see what other findings there are to discover and I hope that it can be of use for any future Dungeons and Dragons sessions you may or may not be planning in the future!

Try out the tool for yourself!

--

--