Also published at /privacy.
DieFive is built with the following open source libraries:
| Library | Role | Licence |
|---|---|---|
| Three.js 0.184.0 | 3D rendering | MIT |
| Rapier3D 0.19.3 | Physics simulation | Apache 2.0 |
| ws 8.21.0 | Signaling server WebSockets | MIT |
| Vite 8.0.14 | Build tooling | MIT |
| vite-plugin-pwa 1.3.0 | PWA support | MIT |
| TypeScript 6.0.3 | Language | Apache 2.0 |
Whether you play on your own or online, the game collects the following four bits of information: your browser and its major version, your operating system, whether the 3D is running on graphics hardware or falling back to software, and the frame rate band it measured while the dice were rolling.
I am a hobby developer with limited time and this information is used to understand how popular the game is across different platforms and how well it is performing so that I can prioritise fixes where they will have the greatest effect.
In multiplayer, a server is used to collect data about whether players were directly connected, how much data was transmitted through the server and how long the game lasted. This data is used for cost monitoring purposes as the server is hosted in google's public cloud. The server does not collect any of the data transmitted other than that described above.
An online game tries for a direct connection between the two devices first, using WebRTC. When that works the server's only job is to introduce the players to each other; after that, names, dice and scores go straight from one device to the other. Setting up a direct connection means the two devices learn each other's network addresses - that is what makes the connection direct.
Some networks, mobile ones especially, will not allow that. The game then falls back to relaying, and every message travels through the server on its way to the other player.
Your player name, dice and other preferences are stored by your browser on your own device. Your name goes to the other player during an online game so they can see who they are up against. No cookies are used.s
Textures — PBR material textures are CC0 licensed, sourced from ambientcg.com and polyhaven.com.
Audio — Sound effects are CC0 licensed, sourced from freesound.org.
Models have been modified for use in the game, including reducing polygon count and compressing textures. Some audio samples have been modified by clipping and compressing.
Connection lost — reconnecting…