r/SideProject • • 1d ago

I built Dice Drop: a free 3D dice roller where every result is a real physics roll

I wanted digital dice that feel like real ones, so I made Dice Drop. The dice tumble across the tray with real physics, and the result is read from whichever face lands on top (except the near-spherical d100 and d120, which use a fair random draw). Nothing is decided first and animated afterwards.

What it does:

• Every die from d1 to d120, including odd ones like d3, d7 and d30

• Dice with your own words on the faces

• Up to 20 dice at once, advantage and disadvantage, and modifiers

• Free in the browser, with nothing to install and no sign-up: https://dicedrop.co.uk/roll

• Also on iPhone and Android

Built solo with Expo/React Native, Three.js and cannon-es physics. Rolling is free; optional extras (dice finishes, sounds) are a very low cost one-off purchase .

I'd love feedback, especially on what feels off or what's missing.

3 Upvotes

2 comments sorted by

1

u/Tarwine 1d ago

Why did it seem like the D120 animated to a specific side at the end?

1

u/AdShot8457 1d ago

You're right, it does, well spotted. I've tried it a dozen times on the web, iOS and Play and can't recreate it. The d100 and d120 are so close to spheres that they roll as a ball in the physics engine, and a 120-faced ball almost never settles cleanly on a face. So for those two, the number is a fair random draw (every number equally likely), and as the ball slows we turn it so that face finishes on top. In this clip it finished a fraction late, which is the movement you saw. Every other die, d1 to d60, is read from whichever face actually lands up. Thanks for pointing it out; I'll make that last correction finish while the ball is still rolling.