A sacola na loja
Nos primeiros dias de compras de janeiro, as lojas de departamento e boutiques japonesas vendem fukubukuro: sacolas opacas a um preço redondo, cheias de estoque não vendido que a loja diz valer mais do que o preço. A fila se forma antes da abertura. O prazer está no lacre, não no conteúdo; você sabe que a sacola é um bom negócio no agregado, e não sabe o que há dentro da sua. É uma loteria em que o bilhete tem garantia de valer alguma coisa, o que é uma forma rara para uma loteria.
Essa forma é o que nosso jogo mantém. A sacola tem um preço, a abertura é um sorteio único, e o item vale um múltiplo do preço que nunca é zero. O que ele descarta é a promessa da loja de que o conteúdo supera o preço, porque um jogo não pode fazer essa promessa e continuar sendo um jogo. Em vez disso, ele publica a tabela.
Duas sacolas, quinze itens
| ITEM | PAGA | CHANCE | PESO (MILIONÉSIMOS) |
|---|---|---|---|
| 手拭 Tenugui, uma toalha de mão | ×0.20 | 45% | 450.000 |
| 御守 Omamori, um amuleto | ×0.50 | 29% | 290.000 |
| 招き猫 Maneki-neko | ×1 | 14% | 140.000 |
| 達磨 Daruma | ×2 | 7% | 70.000 |
| 鯉 Koinobori | ×5 | 3,2% | 32.000 |
| 扇 Sensu, um leque | ×10 | 1,26% | 12.600 |
| 刀 Katana | ×25 | 0,5% | 5.000 |
| 金招 Golden maneki-neko | ×100 | 0,04% | 400 |
Os pesos somam 1.000.000. Retorno = Σ chance × prêmio = 0,090 + 0,145 + 0,140 + 0,140 + 0,160 + 0,126 + 0,125 + 0,040 = 96,6%.
| ITEM | PAGA | CHANCE | PESO (MILIONÉSIMOS) |
|---|---|---|---|
| 箸 Hashi, hashi (pauzinhos) | ×0,10 | 58% | 580.000 |
| 風鈴 Fūrin, um sino de vento | ×0,50 | 26% | 260.000 |
| 面 Máscara de Kitsune | ×1 | 1,98% | 19.800 |
| 提灯 Chōchin, uma lanterna | ×2 | 8.5% | 85.000 |
| 兜 Kabuto, um capacete | ×6 | 4% | 40.000 |
| 龍 Ryū, um dragão | ×20 | 1.5% | 15.000 |
| 鳳凰 Hōō, uma fênix | ×250 | 0.02% | 200 |
Retorno = 0,058 + 0,130 + 0,0198 + 0,170 + 0,240 + 0,300 + 0,050 = 96,78%. As duas sacolas têm preços com uma diferença de apenas 0,18 pontos entre si.
VERIFICADO PELO MOTORfuku/derive.ts: UME_ITEMS e MATSU_ITEMS listam o mult100 de cada item (pagamento em centésimos do preço) e o weight (“peso do sorteio em milionésimos da rolagem”); os comentários do cabeçalho calculam “RTP = Σ w/1e6 × mult” como 96,6% para Ume e 96,78% para Matsu. FUKU_BAGS descreve Ume como “a sacola equilibrada — retiradas estáveis, com ×100 por cima” e Matsu como “a sacola selvagem — piso mais duro, com ×250 escondido dentro”. As chances acima são os pesos divididos por um milhão; os números de pelo menos o preço (26,0% Ume, 16,0% Matsu) são as somas das linhas de ×1 para cima, calculadas para este artigo.
Leia as duas tabelas como uma única decisão de design tomada duas vezes. Ume coloca 74% das aberturas nos dois itens mais baratos e distribui o restante em uma escada suave; Matsu coloca 84% em seus dois mais baratos, torna seu piso metade generoso, e paga por isso com um dragão ×20 quinze vezes em mil e uma fênix ×250 duas vezes em dez mil. Mesmo preço, dois formatos. Um jogador que quer abrir cinquenta sacolas e manter a maior parte do dinheiro escolhe Ume; um jogador que quer que uma única abertura possa importar escolhe Matsu. Nenhuma é mais barata.
Um número, uma sacola
O sorteio é o mais simples do motor. O hash da rodada gera um número uniforme; multiplique-o por um milhão e arredonde para baixo, e você tem um número inteiro entre 0 e 999.999. Percorra a lista de itens da sacola somando os pesos: o primeiro item cujo peso acumulado ultrapassar a rolagem é o que você abriu. Esse é todo o mecanismo. Não há física de rolos, nem posição de parada, nem segundo sorteio. A animação que se segue gira rolos por efeito, e o resultado em que ela para já foi decidido antes de começar.
VERIFICADO PELO ENGINEfuku/derive.ts deriveFuku: u = u64(HMAC-SHA256(serverSeed, `${clientSeed}-${nonce}-0`)); roll = min(floor(u × 1.000.000), 999.999); os itens são percorridos em ordem e o primeiro cujo peso acumulado ultrapassa o roll é retornado. _shared/demoLocal.ts: "Um nonce por bag; o cursor 0 sorteia o item … O dinheiro se resolve na abertura; a animação do reel é puro teatro." demoFukuOpen debita o preço, deriva o item e credita centsFloor(price × mult100 / 100).
Duas consequências decorrem disso, e ambas valem a pena conhecer antes de abrir. Primeiro, a ordem só importa para a aritmética, não para as chances: a chance de um item é o seu peso, onde quer que esteja na lista, porque o roll é uniforme. Segundo, uma bag é exatamente tão verificável quanto uma rolagem de dado, porque é uma: revele a seed, recalcule o único hash, percorra a tabela, e você tem o item. O verificador usa a mesma função.
Por que toda bag paga algo
O piso é a única coisa que distingue o fukubukuro de um bilhete de loteria, e é uma escolha deliberada com um custo. Um item que vale ×0,20 é uma perda de 80% do preço, o que é um resultado pior do que a maioria dos giros perdedores em um slot, e ainda assim não é nada, e nada é o que um bilhete de loteria costuma ser. O design toma emprestada a ideia da loja de que uma bag lacrada nunca deve vir vazia, e paga por isso tornando os itens comuns baratos: a toalha e o amuleto juntos custam Ume 0,235 do seu retorno de 0,966, dinheiro que em um jogo com piso zero iria para o topo da escada em vez disso.
- O piso é uma característica, não uma gentileza. Ele move o retorno dos itens raros para os comuns. A bag não é mais generosa por isso; ela é moldada de forma diferente.
- "Sempre paga algo" não é "geralmente paga de volta". Ume retorna pelo menos o preço cerca de uma em quatro aberturas, Matsu cerca de uma em seis. A maioria das bags vale menos do que custa, como o próprio número de retorno já mostra.
- As duas bags têm o mesmo preço. Escolher Matsu em vez de Ume muda como a vantagem de 3,3% é coletada, não o quanto. Leia o formato que você quer e abra essa.
As tabelas acima são lidas a partir do módulo de derivação do cliente, que a fonte descreve como compartilhado pelo engine de demo e pelo verificador do navegador; o serviço da casa é a autoridade pagadora. Nomes de itens e glifos são do engine. Isso é uma nota de design, não uma recomendação para abrir bags.
FAQ
O que é Fukubukuro neste site?
Um jogo de sorteio único: pague o preço da bag, abra-a, receba um item que vale um múltiplo fixo do preço. Duas bags, Ume com oito itens até ×100 e Matsu com sete itens até ×250.
O que cada bag retorna?
Ume 96,6% e Matsu 96,78% do preço em média, calculado a partir das tabelas de peso do engine como chance × pagamento somados entre os itens.
Toda bag realmente paga algo?
Sim. O item mais barato é ×0,20 do preço em Ume e ×0,10 em Matsu, então uma abertura nunca retorna zero. A maioria das aberturas retorna menos que o preço: Ume paga pelo menos o preço em cerca de 26% das aberturas, Matsu em cerca de 16%.
Como o item é escolhido?
Um número derivado do hash da rodada, escalado para um inteiro entre 0 e 999.999, é comparado com os pesos acumulados da bag em milionésimos. O primeiro item cujo peso acumulado ultrapassa o roll é o resultado. A animação do reel depois é apenas visual.
Qual bag é melhor?
Nenhuma, em termos de retorno. Ume tem o formato mais estável com um topo de ×100; Matsu tem um piso mais duro e um topo de ×250. Elas diferem em volatilidade a quase o mesmo preço.
FONTES E REFERÊNCIAS
- Fonte do motor Betkyo: fuku/derive.ts (UME_ITEMS, MATSU_ITEMS, FUKU_BAGS, deriveFuku), _shared/demoLocal.ts (demoFukuOpen)
- Os valores de preço mínimo são somas dos pesos ×1-ou-mais calculados para este artigo: 260.000 / 1.000.000 para Ume e 160.000 / 1.000.000 para Matsu
OS JOGOS NESTE ARTIGO
Fukubukuro — regras e jogo grátis →Omikuji — regras e jogo grátis →