Le sac dans le magasin
Les premiers jours d'achat de janvier, les grands magasins et boutiques japonais vendent des fukubukuro : des sacs opaques à prix fixe, remplis de stock invendu que le magasin dit valoir plus que le prix. La queue se forme avant l'ouverture. Le plaisir réside dans le sceau, pas dans le contenu ; vous savez que le sac est une bonne affaire dans l'ensemble, et vous ne savez pas ce qu'il y a dans le vôtre. C'est une loterie où le billet est garanti de valoir quelque chose, ce qui est une forme rare de loterie.
C'est cette forme que notre jeu conserve. Le sac a un prix, l'ouverture est un tirage, et l'article vaut un multiple du prix qui n'est jamais zéro. Ce qu'il génère est la promesse du magasin que le contenu dépasse le prix, car un jeu ne peut pas tenir cette promesse et rester un jeu. Au lieu de cela, il publie le tableau.
Deux sacs, quinze articles
| ARTICLE | PAIE | CHANCE | POIDS (MILLIONIÈMES) |
|---|---|---|---|
| 手拭 Tenugui, une serviette de main | ×0.20 | 45% | 450,000 |
| 御守 Omamori, un amulette | ×0.50 | 29% | 290,000 |
| 招 Maneki-neko | ×1 | 14% | 140,000 |
| 達磨 Daruma | ×2 | 7% | 70,000 |
| 鯉 Koinobori | ×5 | 3.2% | 32,000 |
| 扇 Sensu, a fan | ×10 | 1.26% | 12,600 |
| 刀 Katana | ×25 | 0.5% | 5,000 |
| 金招 Golden maneki-neko | ×100 | 0.04% | 400 |
Les poids totalisent 1 000 000. Retour = Σ probabilité × gain = 0,090 + 0,145 + 0,140 + 0,140 + 0,160 + 0,126 + 0,125 + 0,040 = 96,6 %.
| OBJET | PAIE | PROBABILITÉ | POIDS (MILLIONIÈMES) |
|---|---|---|---|
| 箸 Hashi, baguettes | ×0,10 | 58 % | 580 000 |
| 風鈴 Fūrin, une clochette du vent | ×0,50 | 26 % | 260 000 |
| 面 Masque de renard | ×1 | 1,98 % | 19 800 |
| 提灯 Chōchin, une lanterne | ×2 | 8.5% | 85,000 |
| 兜 Kabuto, un casque | ×6 | 4% | 40,000 |
| 龍 Ryū, un dragon | ×20 | 1.5% | 15,000 |
| 鳳凰 Hōō, un phénix | ×250 | 0.02% | 200 |
Return = 0.058 + 0.130 + 0.0198 + 0.170 + 0.240 + 0.300 + 0.050 = 96.78%. Les deux sacs sont évalués à moins de 0.18 points l'un de l'autre.
ENGINE-VERIFIEDfuku/derive.ts: UME_ITEMS et MATSU_ITEMS listent chaque item's mult100 (payout en centièmes du prix) et weight (« draw weight en millionièmes du rouleau »); les commentaires d'en-tête calculent « RTP = Σ w/1e6 × mult » comme 96.6% pour Ume et 96.78% pour Matsu. FUKU_BAGS décrit Ume comme « le sac équilibré — tirages réguliers, ×100 au sommet » et Matsu comme « le sac sauvage — plancher plus rude, ×250 caché dedans ». Les chances ci-dessus sont les weights divisés par un million; les figures au-moins-prix (26.0% Ume, 16.0% Matsu) sont les sommes des lignes ×1-et-plus, calculées pour cet article.
Lisez les deux tableaux comme une décision de design réalisée deux fois. Ume met 74% de ses ouvertures sur les deux items les moins chers et étale le reste sur une échelle douce; Matsu met 84% sur ses deux moins chers, rend son plancher deux fois moins généreux, et paie cela avec un dragon ×20 quinze fois par mille et un phénix ×250 deux fois par dix mille. Même prix, deux formes. Un joueur qui veut ouvrir cinquante sacs et garder la plupart de l'argent choisit Ume; un joueur qui veut qu'une ouverture puisse compter choisit Matsu. Aucun n'est moins cher.
Un nombre, un sac
Le tirage est le plus simple du moteur. Le hash du round donne un nombre uniforme; multipliez-le par un million et arrondissez vers le bas, et vous avez un entier entre 0 et 999,999. Descendez la liste des items du sac en additionnant les weights: le premier item dont le weight cumulatif dépasse le rouleau est celui que vous avez ouvert. C'est tout le mécanisme. Il n'y a pas de physique des rouleaux, pas de position d'arrêt, pas de deuxième tirage. L'animation qui suit fait tourner les rouleaux pour l'effet, et le résultat sur lequel elle s'arrête a été décidé avant qu'elle commence.
ENGINE-VERIFIEDfuku/derive.ts deriveFuku: u = u64(HMAC-SHA256(serverSeed, `${clientSeed}-${nonce}-0`)); roll = min(floor(u × 1,000,000), 999,999); les articles sont scannés en ordre et le premier avec un poids cumulatif supérieur au roll est retourné. _shared/demoLocal.ts: « Un nonce par sac; le curseur 0 tire l'article … L'argent se règle à l'ouverture; la course des rouleaux est du pur théâtre. » demoFukuOpen débite le prix, dérive l'article, et crédite centsFloor(price × mult100 / 100).
Deux conséquences en découlent, et toutes deux valent la peine d'être connues avant votre ouverture. D'abord, l'ordre n'importe que pour l'arithmétique, pas pour les probabilités: la chance d'un article est son poids, peu importe où il se trouve dans la liste, car le roll est uniforme. Ensuite, un sac est aussi vérifiable qu'un lancer de dé, car c'en est un: révélez la graine, recomputez le hash unique, parcourez la table, et vous avez l'article. Le vérificateur utilise la même fonction.
Pourquoi chaque sac paie
L'étage est la seule chose qui distingue fukubukuro d'un billet de loterie, et c'est un choix délibéré avec un coût. Un article valant ×0.20 est une perte de 80% du prix, ce qui est un résultat pire que la plupart des spins perdants sur une machine à sous, et pourtant ce n'est pas rien, et rien est ce qu'un billet de loterie est généralement. Le design emprunte l'idée du magasin qu'un sac scellé ne devrait jamais être vide, et le paie en rendant les articles communs bon marché: la serviette et l'amulette coûtent ensemble à Ume 0.235 de son rendement de 0.966, de l'argent qui dans un jeu sans étage irait vers le haut de l'échelle à la place.
- L'étage est une caractéristique, pas une bonté. Il déplace le rendement des articles rares vers les articles communs. Le sac n'en est pas plus généreux; il est simplement façonné différemment.
- « Paie toujours quelque chose » n'est pas « rembourse généralement ». Ume rembourse au moins le prix environ une ouverture sur quatre, Matsu environ une sur six. La plupart des sacs valent moins qu'ils ne coûtent, comme le chiffre de rendement le dit déjà.
- Les deux sacs sont au même prix. Choisir Matsu plutôt qu'Ume change la façon dont l'avantage de 3.3% est collecté, pas la quantité. Lisez la forme que vous voulez et ouvrez celle-ci.
Les tableaux ci-dessus sont lus à partir du module de dérivation client, que la source décrit comme partagé par le moteur de démonstration et le vérificateur du navigateur; le service de la maison est l'autorité payante. Les noms et glyphes des articles sont ceux du moteur. Ceci est une note de conception, pas une recommandation d'ouvrir des sacs.
FAQ
Qu'est-ce que Fukubukuro sur ce site?
Un jeu à un tirage: payez le prix du sac, ouvrez-le, recevez un article valant un multiple fixe du prix. Deux sacs, Ume avec huit articles jusqu'à ×100 et Matsu avec sept articles jusqu'à ×250.
Quel est le rendement de chaque sac?
Ume 96.6% et Matsu 96.78% du prix en moyenne, calculés à partir des tables de poids du moteur en tant que chance × paiement additionné sur les articles.
Chaque sac paie-t-il vraiment quelque chose?
Oui. L'article le moins cher est ×0.20 du prix chez Ume et ×0.10 chez Matsu, donc une ouverture ne retourne jamais zéro. La plupart des ouvertures retournent moins que le prix: Ume paie au moins le prix sur environ 26% des ouvertures, Matsu sur environ 16%.
Comment l'article est-il choisi?
Un nombre du hash de la manche, mis à l'échelle à un entier entre 0 et 999,999, est comparé aux poids cumulatifs du sac en millionièmes. Le premier article dont le poids cumulatif dépasse le roll est le résultat. L'animation des rouleaux ensuite est du pur affichage.
Quel sac est meilleur?
Aucun, par rendement. Ume est la forme plus stable avec un sommet ×100; Matsu a un étage plus dur et un sommet ×250. Ils diffèrent en volatilité à presque le même prix.
SOURCES & RÉFÉRENCES
- Moteur Betkyo source : fuku/derive.ts (UME_ITEMS, MATSU_ITEMS, FUKU_BAGS, deriveFuku), _shared/demoLocal.ts (demoFukuOpen)
- Les chiffres de prix minimum sont des sommes des poids ×1 et supérieurs calculés pour cet article : 260 000 / 1 000 000 pour Ume et 160 000 / 1 000 000 pour Matsu
LES JEUX DE CET ARTICLE
Fukubukuro — règles et jeu gratuit →Omikuji — règles et jeu gratuit →