O 123DiceRoller é um rolador de dados online grátis que lança dados 3D realistas no seu navegador. Ele foi feito para ser justo, rápido e privado: os resultados vêm de um gerador aleatório criptograficamente seguro, os dados são lançados com física real, e nada sobre você ou suas rolagens é enviado a um servidor.
Como funciona uma rolagem, passo a passo
- Os números são sorteados primeiro. Para cada dado, a Web Crypto API do seu navegador (
crypto.getRandomValues) fornece um número aleatório de 32 bits. Ele é convertido em uma face por amostragem por rejeição — os sorteios que deixariam as faces baixas um pouquinho mais prováveis são descartados —, de modo que cada face de um dado de N lados tem exatamente 1 chance em N. - O lançamento é simulado. Um motor de física de corpos rígidos (cannon-es) lança os dados sobre a mesa com gravidade, atrito, quique e colisões entre os dados. O lançamento inteiro é calculado em uma fração de segundo, antes de ser mostrado.
- Os dados são girados para bater com o sorteio. Todo formato de dado é simétrico: um d20 pode ser girado de 60 maneiras diferentes e ficar exatamente igual. O rolador escolhe a única rotação que leva o número sorteado até onde a física colocou a face de cima, e a aplica desde o primeiro quadro. O movimento é real; o número já estava decidido, de forma justa.
- Dados apoiados são relançados. Se algum dado fosse parar encostado em outro, o lançamento é refeito sem que você veja, assim como numa mesa de verdade se pediria uma nova rolagem.
- O lançamento é reproduzido com sombras, reflexos e som sincronizado com cada impacto.
Por que não deixar a física escolher o número?
Porque uma simulação não é uma fonte aleatória justa. Pequenos detalhes da posição inicial, do passo de tempo e dos arredondamentos podem fazer algumas faces saírem mais vezes que outras, e ninguém consegue provar que isso não acontece. Um gerador criptográfico é projetado e testado para ser imprevisível e uniforme. Separar as duas coisas dá a você o melhor dos dois mundos: um lançamento que parece e soa real, e um resultado em que você pode confiar.
Probabilidades exatas
As chances mostradas para cada rolagem são calculadas, não chutadas. As somas são obtidas por convolução, um dado de cada vez, e as rolagens de manter ou descartar, como a vantagem, contando cada resultado distinto. A calculadora de probabilidade de dados explica o método.
Feito com
- three.js para a renderização 3D (licença MIT)
- cannon-es para a física (licença MIT)
- PHP puro no servidor, sem banco de dados, sem contas e sem rastreamento
As duas bibliotecas são servidas por este próprio site, e não por uma CDN de terceiros, então a página nunca carrega código de nenhum outro lugar.
Parte da família 123
O 123DiceRoller faz companhia ao 123Calculator e às nossas outras ferramentas grátis e sem cadastro. Dúvidas, ideias ou um bug para relatar? Mande um e-mail para hello@123diceroller.com.
Atualizado em