Automatic Dice Tower Project

My wife and I started playing D&D with some friends a few years ago (after a gateway 3-year Gloomhaven campaign!) and were subsequently introduced to the insane dice culture of the hobby. While there are certainly apps available to roll virtual dice, players are obsessed not just with superstitious aspects of their physical dice, but also the (perceived) “true randomness” and tactile nature of rolling physical dice. While helping a with a friend with a tactile electronic dice roller project at my local makerspace, I realized that balancing the convenience of a dice rolling app with a physical dice rolling machine would be an excellent robotics project!

Why not use a computer to generate the main post image as well?

Background

In Role Playing Games (RPGs), like Dungeons and Dragons (D&D), players work together with a game master to collaboratively generate a story. Dice rolls are used throughout the process to add an element of unpredictability to the story (especially in a combat or character interaction situation). The unpredictable results help to drive even more creativity from the players as they strive to add a narrative reason to explain the dice roll outcomes, for better or worse!

Many different types of dice are used beyond the standard 6-sided dice in order to provide the appropriate amount of possible deviation from an expected outcome. The most common dice have 4, 6, 8, 10, 12, and 20 sides (known as their “rank”) with larger rank dice generating a larger variance in outcome. There is standard notation for referring to each type of die (i.e. “d4” to represent a 4 sided die), or rolling specific groups of dice together (i.e. “2d4+1d8” to represent rolling two d4 dice and one d8 die then adding all of the values together).

Most dice have the numbers between one and their rank represented once each on a single face. The big exception is 10-sided dice which are sometimes used to calculate percentages. These dice commonly come in pairs, one that counts from zero to nine, and a second that counts from zero (“00”) to ninety (“90”) by tens. When rolled as a pair they can unambiguously be added to represent a number between 0 and 99 (although sometimes the 0 is reinterpreted as a 100). As a consequence, the zero on the d10 rolled individually may need to be reinterpreted as a value of 10.

Percentile Dice Example © Wikimedia Commons | CC 3.0 Attr.

RPG dice are most commonly rolled by hand. Players often roll their dice into a tray instead of directly onto the table in order to contain the tumbling dice, preventing them from striking other components or rolling off the table entirely. Dice Towers are sometimes used by players instead of hand rolling because of the perceived increase in true randomness, aesthetic appeal, ease of use, and dramatic effect. Dice towers are simply a structure with internal baffles that the dice tumble through before exiting and coming to rest in a connected tray where the result can be read. They can be simple boxy structures or dramatic, thematic 3D sculptures.

Virtual alternatives to dice towers exist to further automate the dice rolling process. One major benefit of virtual dice rolling is that the math required to add up the dice is done more quickly and accurately than if a player were to do it themselves. There are countless independent dice rolling apps and websites (including a built in google search tool), but also embedded virtual dice rolling functionality within RPG-specific apps (such as DnD Beyond). There are also a few tactile virtual dice rolling options, such as the Critical Machine Automatic Dice Roller.

Project Goals

Problem Statement

Despite the popularity of RPG games, the large variety of dice-rolling solutions, and the huge overlap of RPG players with the engineering and technology community, I have not been able to find a fully automatic dice rolling solution that belongs at an RPG table and brings together the best aspects of all of the common dice rolling approaches.

The world needs a fully automatic dice rolling machine that combines the convenience, physicality, and table presence of a dice tower with the automation of a virtual dice roller and tactile, social nature of a hand roll.

Requirements

  • Convenience
    • Must be at least as fast at generating results as a player finding then rolling dice by hand.
    • Must be easy for any player to interact with from their position at the table (remote, voice, RPG app, etc).
    • Set up and tear down must not require extensive calibration or settings changes. Ease of use must be on par with setting up a group video call for a virtual play session (some hiccups or adjustments are OK, but not the norm!)
  • Physicality
    • Must physically roll dice to generate results.
    • Must tumble the dice sufficiently to create random results.
  • Table Presence
    • Must fit at a gaming table. Ideally between players (maybe in a corner) but at worst occupies one player’s worth of space.
    • Must be powered by a wall outlet, although an additional battery power capability would be nice.
    • Must looks like a dice tower (not an industrial machine) with appropriate theming (probably for a fantasy setting).
  • Automation
    • Must be able to complete any number of rolls back to back without any manual intervention (reloading, un-clogging, etc).
    • Must provide the complete result of the roll to the players without intervention (detecting and summing die results).
  • Player Interaction
    • Players must have a physical or tactile method of providing roll commands. Ideally this involves physical buttons and not a touch screen.
    • Players must have a social method of providing roll commands. Ideally this is something like a voice command, but could also by a text-typed command from a virtual gaming space.
    • Results must be visible to all players, regardless of who initiated the roll.

Technical Challenges

It will be difficult to create a machine that satisfies all of my requirements, which is likely why I have not been able to find a suitable existing invention in the wild. While some of the requirements can be solved by fairly straightforward subsystems (like a tactile remote, power/battery setup, dice tower internals, and hopefully voice control) the core of the automated rolling system and integration of everything into one tableside box will be less straightforward (to me!) The specific topics that I think will provide the biggest challenge are worth detailing and researching before I begin designing anything.

Identifying the Roll Result

The most obvious technical challenge for this system is the need to quickly identify and calculate the result of a roll. While there are definitely “smart” dice available that use built-in sensors to report the result of a roll, it would be impractical to incorporate potentially dozens of those dice into this machine. Machine vision seems like the obvious method for reading dice results, but a generic dice-reading vision system is a daunting project on its own.

Selecting the Dice to Roll

There are literally thousands of possible combinations of dice that might need to be rolled. The pool of available dice need to be queued up in such a way that the selected dice can be very quickly separated from the rest of the dice and rolled immediately. The machine needs to know the rank and position of all available dice in order to select the correct set for a roll.

In order to accomplish this, the machine needs to be able to manipulate dice individually to some extent. For a machine to manipulate dice individually it must also be able to singulate the dice at some point in the selection or recirculation process.

Recirculating the Dice

Once the dice have been rolled and evaluated they need to be returned to the pool of available dice. If the dice pool is stored as a group at the bottom of the tower then this step is not very challenging, but if the dice pool is stored in some kind of sorted, individualized, or elevated state then recirculation will not be trivial.

Packaging and Theming

There will be a lot of sensing and manipulation required to achieve the goals of this project. Just making a proof of concept will be difficult on its own, but repackaging it to fit at a table will be even more challenging. Additionally, applying the proper theming (3D printed dragons, castles, mountains, wizards?) to adequately “hide” the technical bones of the system is not something that I feel confident in being able to achieve on my own.

Next Steps

While my background in automated machine design and robotics gives me confidence that I can achieve most of the goals for the project, I am particularly daunted by the image recognition challenge (my only experience involves industrial systems too pricey for this project) and theming (my only modeling experience is boring technical parts, not artistic shapes). That being said, I have plenty of friends (who also play DnD) that are willing to contribute in areas where my own expertise will not be sufficient.

Before diving in to a specific project architecture I must first research related work and do simple prototyping on the various technical challenges. Detecting dice with cameras is a classic computer vision problem and there will certainly be plenty of prior work to get inspiration from. The dice manipulation, especially recirculation and singulation, are mechanical tasks that definitely require early prototype work.

In the end, my main goal is to be able to share this device with my own D&D group. It is absolutely not necessary for us to have a good time playing together, but it will definitely elevate the experience (at least for me!)

Leave a Reply

Your email address will not be published. Required fields are marked *