Bethropic

Odds em Dice: a verdadeira chance de vitória por trás de cada alvo roll-under e roll-over, por que o pagamento arredonda para baixo, e quais alvos retornam os 99% completos

spindle6818 visualizações
🌐 Originally written in English· AI translationView original

Um roll, 9.999 resultados

Dice é o jogo mais simples do site: escolha um alvo, escolha Under ou Over, e o resultado fica do seu lado ou não. A tela mostra uma chance de vitória e um multiplicador para cada alvo, e os dois parecem se multiplicar para exatamente 99% — a aposta de volta, menos uma margem da casa de 1%. O engine é um pouco mais particular do que a tela, de duas formas que custam ao jogador, e este artigo precifica ambas exatamente.

ENGINE-VERIFIEDOriginalBaseDiceService.kt: getResult() draws nextIntBelow(9999) + 1 and divides by 100, so the result is one of the 9,999 values 0.01 to 99.99 — 0.00 excluded, 99.99 included. getWinChance() is target ÷ 100 for Under and (100 − target) ÷ 100 for Over. checkAndGetMultiplier() is (1 − house edge) ÷ win chance, floored to two decimals. getEarned() compares strictly: Under wins when the result is below the target, Over when it is above. The random number is the first 13 hex digits of HMAC-SHA256 over “clientSeed-nonce-0”, keyed by the server seed, divided by 2⁵²; the client mirror is payoutMultiplier() in dice/diceApi.ts, and diceGame.tsx limits the slider to targets 2.00–98.00.

O serviço da casa carrega seu próprio teste desta aritmética, DiceHouseEdgeTest, que verifica que nenhum alvo retorna mais de 99% e que o arredondamento para baixo nunca leva mais de um passo de arredondamento. Ambos se sustentam. O que o teste não imprime é quanto cada alvo realmente retorna, e essa é a tabela que um jogador precisa.

A chance mostrada e a chance verdadeira

A chance de vitória na tela é computada como se o roll fosse um número contínuo de 0 a 100. Não é: é um de 9.999 passos. Roll under um alvo T vence nos resultados 0.01 até T − 0.01, que são 100 × T − 1 deles, então a chance verdadeira é (100T − 1) ÷ 9.999. Na maioria dos alvos a diferença é invisível; nos menores ela não é.

Roll under um alvo: resultados vencedores, chance mostrada e chance verdadeira

ALVO (UNDER)RESULTADOS VENCEDORES DE 9.999CHANCE MOSTRADACHANCE VERDADEIRA
2.001992.00%1.9902%
5.004995.00%4.9905%
10.0099910.00%9.9910%
25.002,49925.00%24.9925%
50.004,99950.00%49.9950%
75.007,49975.00%74.9975%
90.008,99990.00%89.9990%
98.009.79998,00%97,9998%

Chance verdadeira = (100 × target − 1) ÷ 9.999. Rolar acima de um target T vence em 9.999 − 100T resultados, então Over T é precificado exatamente como Under (100 − T): Over 50 também vence em 4.999 resultados.

A diferença é sempre um resultado. Em um target de 50%, custa 0,005 pontos percentuais de chance, um centésimo de um porcento de retorno; em um target de 2%, o mais apertado que o slider permite, um resultado em 200 é cerca de meio porcento da chance de vitória, e o retorno cai de 99,00% para 98,51% por essa razão apenas. O mesmo fato explica uma pequena curiosidade: um rolo de exatamente 50,00 perde Under 50 e Over 50 igualmente, porque nenhuma comparação inclui o target. Acontece uma vez a cada 9.999 rolls.

O piso de dois decimais

O segundo custo é o multiplicador. O engine divide 0,99 pela chance de vitória e mantém dois decimais, sempre arredondando para baixo. Quando a divisão sai exata — 0,99 ÷ 0,50 = 1,98, 0,99 ÷ 0,25 = 3,96 — nada é perdido. Quando não sai, o jogador é pago pela figura truncada: 0,99 ÷ 0,80 = 1,2375, pago como ×1,23. Em uma alta chance de vitória o multiplicador fica perto de 1, o centésimo que é removido é uma grande parte do lucro, e o retorno cai muito mais que na ponta baixa.

O que um roll-under target paga e retorna, house edge de 1%

TARGET (UNDER)PAGACHANCE MOSTRADA × PAGARETORNO VERDADEIRO
2,00×49,5099,00%98,51%
5,00×19,8099,00%98,81%
7.00×14.1498.98%98.85%
10.00×9.9099.00%98.91%
13.00×7.6198.93%98.86%
25.00×3.9699.00%98.97%
40.00×2.4798.80%98.79%
50.00×1.9899.00%98.99%
70.00×1.4198.70%98.70%
80.00×1.2398.40%98.40%
90.00×1.1099.00%99.00%
95.00×1.0498.80%98.80%
97.06×1.0198.03%98.03%
98.00×1.0198.98%98.98%

Retorno verdadeiro = multiplicador × (100 × alvo − 1) ÷ 9.999. Em 90.00 é 98.999%, o mais alto do controle deslizante; em 97.06 é 98.030%, o mais baixo. Alvos Over espelham essas linhas: Over T retorna o que Under (100 − T) retorna.

Leia as duas colunas da direita juntas e os dois custos se separam claramente. Em alvos baixos o multiplicador geralmente divide exatamente e toda a diferença é o resultado faltante; em alvos altos o resultado faltante é negligenciável e a diferença é quase toda floor. O alvo 80 é o caso mais claro: 0.99 ÷ 0.8 precisa ×1.2375, a tabela paga ×1.23, e o retorno é 98.40% — uma vantagem da casa de 1.6%, não 1%. Cada alvo entre 97.06 e 98.00 paga o mesmo ×1.01, então a chance que você abre mão ao passar para 97.06 não compra nada.

Em todo o controle deslizante — cada alvo de 2.00 a 98.00 em passos de 0.01, 9.601 configurações — o retorno verdadeiro é em média 98.72%. Apenas 585 dessas configurações, 6.1%, retornam 98.95% ou mais; 1.453, 15.1%, retornam menos de 98.50%.

Digite o multiplicador, não a porcentagem

O jogo tem uma segunda forma de definir uma aposta: digite o multiplicador que você quer, e ele descobre o alvo. Ele escolhe o alvo cujo payout arredondado é pelo menos o que você digitou, então um multiplicador digitado sempre cai em uma configuração onde 0.99 ÷ chance divide limpo. Isso remove o custo floor completamente; apenas a lacuna de um resultado permanece.

Multiplicadores digitados e os alvos que eles se resolvem para

DIGITADOALVO (UNDER)CHANCE VERDADEIRARETORNO VERDADEIRO
×1.1090.0089.9990%99.00%
×1.2082.5082.4982%99.00%
×1.5066.0065.9966%98.99%
×249.5049.4949%98.99%
×333.0032.9933%98.98%
×519.8019.7920%98.96%
×109.909.8910%98.91%
×204.954.9405%98.81%
×49.502.001.9902%98.51%

targetForMultiplier() em dice/diceApi.ts reduz o alvo Under (ou arredonda para cima o alvo Over) para que a chance nunca suba acima da que o multiplicador digitado implica. Retorna arredondado para duas casas decimais; ×1.10 é 98.999% e ×1.20 é 98.998%.

A regra prática é simples. Se você se importa com o último meio-ponto, defina o multiplicador em vez da porcentagem, e prefira multiplicadores redondos na faixa baixa do retorno. Um alvo escolhido porque parece redondo como porcentagem — 80, 70, 40 — geralmente tem um preço pior que o alvo um tick acima ou abaixo. Nada disso muda a direção de longo prazo: cada configuração retorna menos que a aposta, e o martingale, precificado e risco de ruína explicam por que nenhuma sequência de apostas resolve isso.

Limbo evita o arredondamento por construção: o jogador nomeia o retorno diretamente e o número sorteado é comparado contra a mesma figura, então não há segundo arredondamento para pagar. Dice cota uma chance e deriva o retorno dela, e essa derivação é onde o arredondamento entra.

Verificando um resultado você mesmo

  1. Antes de jogar, o painel de justiça mostra a impressão digital SHA-256 da seed do servidor. Gire seu par de seeds depois para revelar a seed e confirmar a impressão digital.
  2. Calcule HMAC-SHA256 com a seed do servidor como a chave e
  3. Leia os primeiros 13 dígitos hexadecimais do digest como um inteiro e divida por 2⁵² para obter u. O resultado é (floor(u × 9.999) + 1) ÷ 100. Compare com seu alvo, estritamente, e o multiplicador no seu ticket com 0.99 ÷ chance arredondado para duas casas decimais.

Se o resultado corresponder, foi fixado antes de você escolher um alvo — que, como o que um commitment de hash prova explica, é o que o commitment garante e tudo o que garante. O preço do alvo não está no hash. Está nas duas linhas de aritmética acima, é por isso que este artigo existe.

FAQ

Quais são as odds reais em um jogo de dados que rola de 0 a 100?

Aqui o roll é um de 9.999 resultados de 0.01 a 99.99. Roll abaixo de T ganha em 100 × T − 1 deles, então roll abaixo de 50 é 49.995%, roll abaixo de 10 é 9.991% e roll abaixo de 2 é 1.990%.

Qual é a house edge em dados?

A edge declarada é 1%, mas o retorno verdadeiro depende do alvo: de 99.00% em um alvo de 90 a 98.03% em 97.06. Média sobre cada ajuste de slider de 2.00 a 98.00 é 98.72%, uma edge efetiva de 1.28%.

Por que meu multiplicador de dados parece arredondado para baixo?

O engine paga 0.99 ÷ chance de ganho arredondado para duas casas decimais. Em um alvo de 80% isso é 1.2375, pago como ×1.23, que retorna 98.40% em vez de 99%.

Qual é o melhor alvo a escolher em dados?

Qualquer alvo onde 0.99 ÷ chance divide exatamente, como 50 (×1.98), 25 (×3.96), 90 (×1.10) ou 66 (×1.50). Digitar o multiplicador em vez da porcentagem encontra um automaticamente. Nenhum alvo retorna mais de 99%.

O que acontece se o roll de dados cai exatamente no meu alvo?

Perde. Under ganha apenas abaixo do alvo e Over apenas acima dele, então um roll de exatamente 50.00 perde tanto Under 50 quanto Over 50. Acontece uma vez a cada 9.999 rolls.

Posso verificar um roll de dados?

Sim. HMAC-SHA256 de "clientSeed-nonce-0" codificado pela server seed revelada; os primeiros 13 dígitos hex sobre 2⁵² dão u, e (floor(u × 9.999) + 1) ÷ 100 é o resultado.

FONTES & REFERÊNCIAS

  • Betkyo engine source, house service: OriginalBaseDiceService.kt — getResult() (nextIntBelow(9999) + 1, over 100), getWinChance() (4-decimal floor), checkAndGetMultiplier() ((1 − house edge) ÷ win chance, 2-decimal floor), getEarned() (strict comparison); SeedPairRandom e PfHashUtils.normalize() (primeiros 13 dígitos hex ÷ 2⁵²); DiceHouseEdgeTest.kt
  • Betkyo engine source, client mirror: payoutMultiplier() e targetForMultiplier() em dice/diceApi.ts; os limites do slider 2.00–98.00 em diceGame.tsx
  • Cálculo exato escrito para este artigo: chances de ganho (100T − 1) ÷ 9.999 e multiplicadores arredondados para todos os 9.601 alvos do slider, seus retornos verdadeiros e distribuição; verificado cruzado ao reprojetar 400.000 rolls do fluxo HMAC pela derivação de resultado (roll abaixo de 50: 49.88% simulado vs 49.995% exato; resultados variaram de 0.01 a 99.99)

OS JOGOS NESTE ARTIGO

Dice — regras e jogo grátis →

Odds em Dice: a verdadeira chance de vitória por trás de cada alvo roll-under e roll-over, por que o pagamento arredonda para baixo, e quais alvos retornam os 99% completos

Comentários (0)

Ainda não há comentários.