Winkler's DnD Dice

Making random rolls somehow more random

Winkler

This RNG utilizes the cryptographically secure browser API methods found in the window.crypto object. It additionally uses Winkler, an open source library for generating client-side entropy by measuring fluctuations in the machine's state. It intends to produce a mathematically random sequence suitable enough for encryption.

I don't care

What is this?

This is a simple dice roller for use with tabletop games. It is also a demonstration of different random number generators (RNGs) and various algorithmic techniques used to achieve as close to mathematical randomness as possible, using a computer. This is not a straightforward task, and is studied well in the field of cryptography - its application ever crucial in the fast-paced world of cybersecurity.

This weird foray into cryptographically sound dice stemmed from real-world frustration with physical DnD dice. I created an open-sourced clojure(script) library called Winkler as a solution for client-side entropy generation, and wrote more thoughts about it here. Sure, maybe a demonstration with dice is overkill, but would you trust your character's fate to anything less than the power of chaotic indifference that is a truly random dice roll? I think not.

View this page's source on github. Made with <3 by Nathan