Bethropic

Projetando o Fukubukuro: a sacola da sorte que sempre paga algo

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

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

梅 Ume, a sacola equilibrada: item, pagamento como múltiplo do preço, e chance por abertura

ITEMPAGACHANCEPESO (MILIONÉSIMOS)
手拭 Tenugui, uma toalha de mão×0.2045%450.000
御守 Omamori, um amuleto×0.5029%290.000
招き猫 Maneki-neko×114%140.000
達磨 Daruma×27%70.000
鯉 Koinobori×53,2%32.000
扇 Sensu, um leque×101,26%12.600
刀 Katana×250,5%5.000
金招 Golden maneki-neko×1000,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%.

松 Matsu, a sacola selvagem: piso mais duro, cauda muito mais gorda

ITEMPAGACHANCEPESO (MILIONÉSIMOS)
箸 Hashi, hashi (pauzinhos)×0,1058%580.000
風鈴 Fūrin, um sino de vento×0,5026%260.000
面 Máscara de Kitsune×11,98%19.800
提灯 Chōchin, uma lanterna×28.5%85.000
兜 Kabuto, um capacete×64%40.000
龍 Ryū, um dragão×201.5%15.000
鳳凰 Hōō, uma fênix×2500.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 →

Projetando o Fukubukuro: a sacola da sorte que sempre paga algo

Comentários (1)

  • mellowpebble

    The 96.6% return on the ume bag is clever—gives you that guaranteed value feeling while still keeping the house edge, just like real fukubukuro do.