123DiceRoller är en gratis tärningssimulator online som kastar realistiska 3D-tärningar i din webbläsare. Den är byggd för att vara rättvis, snabb och privat: resultaten kommer från en kryptografiskt säker slumpgenerator, tärningarna kastas med riktig fysik, och ingenting om dig eller dina kast skickas till en server.
Så går ett kast till, steg för steg
- Talen dras först. För varje tärning levererar webbläsarens Web Crypto API (
crypto.getRandomValues) ett slumpmässigt 32-bitarstal. Det omvandlas till en sida med rejection sampling (förkastningsmetoden) – dragningar som skulle göra låga sidor en aning vanligare kastas bort – så att varje sida på en tärning med N sidor har exakt chansen 1 på N. - Kastet simuleras. En fysikmotor för stela kroppar (cannon-es) kastar tärningarna på bordet med gravitation, friktion, studsar och kollisioner mellan tärningarna. Hela kastet räknas ut på en bråkdel av en sekund innan det visas.
- Tärningarna vrids så att de stämmer. Alla tärningsformer är symmetriska: en d20 kan roteras på 60 olika sätt och se likadan ut. Tärningssimulatorn väljer den enda rotation som flyttar det dragna talet dit där fysiken placerade den övre sidan, och tillämpar den redan från första bildrutan. Rörelsen är äkta; talet var redan bestämt, på ett rättvist sätt.
- Tärningar som landar snett kastas om. Om någon tärning skulle bli liggande lutad mot en annan görs kastet om osynligt, precis som man slår om vid ett riktigt bord.
- Kastet spelas upp med skuggor, reflexer och ljud som är synkat med varje studs.
Varför inte låta fysiken välja talet?
För att en simulering inte är en rättvis slumpkälla. Små detaljer i startläget, tidssteget och avrundningar kan göra att vissa sidor kommer upp oftare än andra, och ingen kan bevisa att de inte gör det. En kryptografisk generator är konstruerad och testad för att vara oförutsägbar och likformig. Genom att hålla isär de två får du det bästa av båda: ett kast som ser ut och låter äkta, och ett resultat du kan lita på.
Exakta sannolikheter
Oddsen som visas för varje kast är uträknade, inte gissade. Summor räknas ut med faltning, en tärning i taget, och kast där tärningar behålls eller stryks, som fördel, genom att räkna varje unikt utfall. Sannolikhetskalkylatorn för tärningar förklarar metoden.
Byggd med
- three.js för 3D-renderingen (MIT-licens)
- cannon-es för fysiken (MIT-licens)
- Vanlig PHP på servern, utan databas, utan konton och utan spårning
Båda biblioteken levereras från den här webbplatsen i stället för från ett CDN hos tredje part, så sidan laddar aldrig kod från någon annanstans.
En del av 123-familjen
123DiceRoller hör ihop med 123Calculator och våra andra gratisverktyg som inte kräver någon registrering. Har du frågor, idéer eller en bugg att rapportera? Mejla hello@123diceroller.com.
Senast uppdaterad