Fancy Dice for Roll20

Fancy Dice for Roll20

This Chrome extension was essentially a mod for the Virtual Tabletop (VTT) platform Roll20. By intercepting network requests and injecting custom JavaScript, it allowed users to customize the look of the platforms 3D dice. Your chosen design would even be synced with the other players in your game, using a real-time WebSocket server.

The project was a really fun technical challenge, and I was quite pleased with how I was able to turn my scrappy proof-of-concept into a real extension people could use. It also, in a very roundabout way, led me to my first encounter with Three.js and 3D graphics on the web, though hacking on the minified code of Roll20 was probably not the easiest way to learn.

This project was also one of the first times I actively encouraged outside contributions. I ended up writing comprehensive contribution guidelines aimed at non-technical folks, and I was pleasantly surprised to see people actively engaging with the project and submitting their own dice designs.

Maintaining an extension that relied on Roll20’s minified code came with its own set of challenges, however. Though some workarounds were implemented, the extension would often break when Roll20 updated their code. So when I later switched to a different VTT1, I decided to archive the project rather than continue maintaining it.

Footnotes

  1. Foundry VTT, for those curious. It has a powerful extension API and a vibrant community of modders.