Negen getallen bepalen alles
Een videoslot is een claim over kans, verkleed als machine. Bij de meeste kun je die claim niet controleren: de rolstrips zijn eigendom, de gewichten zijn eigendom, en het rendementscijfer op het helpscherm neem je op vertrouwen aan. Hanabi is andersom gebouwd. De rollen zijn helemaal geen strips — elk van de vijftien cellen is een onafhankelijke gewogen trekking — en de gewichten staan in een tabel bovenaan het engine-bestand.
ENGINE-GEVERIFIEERDhanabi/engine.ts, HANABI_SYMBOLS: 玉 SHELL (wild) gewicht 3; 祭 MATSURI (scatter) gewicht 2; 金魚 KINGYO gewicht 4, betaalt ×3 / ×10 / ×40 de totale inzet voor 3 / 4 / 5 gelijke symbolen (pay100 = [300, 1000, 4000]); 提灯 CHOCHIN gewicht 5, ×2 / ×6 / ×25; 団扇 UCHIWA gewicht 6, ×1.5 / ×4 / ×15; 氷 KAKIGORI gewicht 8, ×1 / ×3 / ×10; 風鈴 FURIN gewicht 9, ×0.8 / ×2.5 / ×8; 麺 YAKISOBA gewicht 12, ×0.6 / ×1.6 / ×5; 鈴 SUZU gewicht 12, ×0.5 / ×1.2 / ×4. WEIGHT_TOTAL is de som van de gewichten, 61; symAt(u) doorloopt de tabel en trekt gewichten af van u × 61.
| SYMBOOL | GEWICHT | KANS PER CEL | 3 / 4 / 5 GELIJK (× TOTALE INZET) |
|---|---|---|---|
| 玉 Shell (wild) | 3 | 4,92% | vervangt elk betalend symbool |
| 祭 Matsuri (scatter) | 2 | 3,28% | ×2 / ×5 / ×20 overal, en 3+ starten free spins |
| 金魚 Kingyo | 4 | 6,56% | ×3 / ×10 / ×40 |
| 提灯 Chōchin | 5 | 8.20% | ×2 / ×6 / ×25 |
| 団扇 Uchiwa | 6 | 9.84% | ×1.5 / ×4 / ×15 |
| 氷 Kakigōri | 8 | 13.11% | ×1 / ×3 / ×10 |
| 風鈴 Fūrin | 9 | 14.75% | ×0.8 / ×2.5 / ×8 |
| 麺 Yakisoba | 12 | 19.67% | ×0.6 / ×1.6 / ×5 |
| 鈴 Suzu | 12 | 19.67% | ×0.5 / ×1.2 / ×4 |
De kans per cel is gewicht ÷ 61. Lijnuitbetalingen worden van links naar rechts gelezen op tien vaste lijnen; de wild telt als elk uitbetalend symbool en de scatter breekt een lijn.
Twee dingen volgen uit de tabel die een helpscherm je nooit zou vertellen. Het zeldzaamste uitbetalende symbool is niet het zeldzaamste symbool op de rollen — dat is de scatter, met twee delen op eenenzestig — en de twee goedkoopste symbolen vullen samen bijna veertig procent van elke cel. Dat is de vorm van elke slot die ooit gebouwd is; het verschil is alleen dat hier de vorm afgedrukt staat.
Eén spin op vierentachtig
Omdat elke cel onafhankelijk is, heeft de free-spin trigger een gesloten vorm. Een cel is een scatter met kans 2/61; een basisspin heeft vijftien cellen; de feature start wanneer drie of meer daarvan scatters zijn. Dat is een binomiaal telling, en het komt neer op 1,193% van de spins, oftewel één op 83,8.
| SCATTERS | KANS | ONGEVEER | WAT ER GEBEURT |
|---|---|---|---|
| 0 | 60,7% | 3 spins op 5 | niets |
| 1 | 30,9% | 1 op 3 | niets |
| 2 | 7,3% | 1 op 14 | niets — twee scatters betalen hier niets uit |
| 3 | 1,075% | 1 op 93 | ×2 de inzet, en 10 free spins |
| 4 | 0,109% | 1 op 915 | ×5 de inzet, en 10 free spins |
| 5 of meer | 0,0086% | 1 op 11.600 | ×20 de inzet, en 10 free spins |
De drie feature-rijen samen komen op 1,193%, één spin op 83,8.
ENGINE-GEVERIFIEERDhanabi/engine.ts header: “Math gecalibreerd via Monte Carlo (3M rondes, scratch-harness weerspiegelt dit bestand): RTP 96,1%, hit rate 33,5%, free spins ≈ 1 op 83, win cap ×2000.” De 1-op-83 die de engine meette en de 1-op-83,8 die hierboven is afgeleid uit diens eigen weights zijn hetzelfde getal; de return- en hit rate-cijfers zijn overgenomen uit de header en zijn niet opnieuw berekend voor dit artikel.
Het is de moeite waard om bij die overeenkomst stil te staan. De auteur van de engine heeft het spel via simulatie afgesteld en het resultaat in een commentaar geschreven. De weights die de simulatie hebben opgeleverd staan in hetzelfde bestand. Iedereen met een rekenmachine kan controleren dat die twee overeenkomen, en dat doen ze — dat is de enige reden waarom dit artikel de 96,1% mag herhalen. The Journal drukt geen return-cijfer af dat de engine niet vermeldt, en drukt er geen af waarvan het de inputs niet kan zien.
De ladder: waarom de feature gevormd is als vuurwerk
Een freespins-feature in de meeste gokkasten is een platte bonus: tien spins, misschien een vaste multiplier. Die van Hanabi is gevormd. De multiplier die op elke free spin wordt toegepast, hangt af van welke spin het is, en hij klimt.
ENGINE-GEVERIFIEERDhanabi/engine.ts: HANABI_FS_START = 10, HANABI_FS_RETRIG = 4, HANABI_FS_CAP = 22; hanabiFsMult(i) = i < 2 ? 1 : i < 4 ? 2 : i < 7 ? 3 : 5, waarbij i de 0-based free-spin index is; de paid100 van elke free spin is zijn win100 × mult. Een spin met drie of meer scatters binnen de feature voegt HANABI_FS_RETRIG spins toe, nooit voorbij HANABI_FS_CAP.
| FREE SPIN | 1–2 | 3–4 | 5–7 | 8 en later |
|---|---|---|---|---|
| Multiplier op die spin | ×1 | ×2 | ×3 | ×5 |
| Som over een gewone 10-spin feature | 2 | 4 | 9 | 15 — totaal 30, een gemiddelde van ×3,0 per spin |
| Som over een volledig heraangetriggerde 22-spin feature | 2 | 4 | 9 | 75 — totaal 90, een gemiddelde van ×4,1 per spin |
Een retrigger voegt vier spins toe aan het einde van de feature, waar elke spin al ×5 uitbetaalt. Retriggers zijn daarom veel meer waard dan hun aantal spins doet vermoeden.
Dit is de ontwerpkeuze waar het spel naar vernoemd is. Een vuurwerk levert zijn lading niet gelijkmatig af; het klimt, blijft hangen en eindigt in de finale. De ladder maakt de laatste spins van een feature de spins die er echt toe doen, dus een feature die lang duurt is niet alleen langer maar ook steiler — en een retrigger, die per constructie in de ×5-zone terechtkomt, is het echte jackpotmechanisme van het spel. Een gewone feature levert gemiddeld drie keer een basisspin per spin op. Een gemaximaliseerde feature levert gemiddeld meer dan vier op, waarbij de laatste vijftien spins allemaal op vijf staan.
Diezelfde ladder is ook wat de feature eerlijk maakt om naar te kijken. Omdat de multiplier een functie is van de spin-index en niets anders, kan hij niet worden gestuurd: de engine besluit niet om gul te zijn, hij past een regel toe die in één regel staat afgedrukt. Dat is hetzelfde argument waar Pagoda's ladder op gebouwd was — een klim die een schema is, geen bui.
Het plafond, en waarom het er is
ENGINE-GEVERIFIEERDhanabi/engine.ts: HANABI_WIN_CAP100 = 200_000 ("×2000 total-bet plafond"); de totalMult100 van de ronde is Math.min(total, HANABI_WIN_CAP100) en de ronde wordt gemarkeerd als capped wanneer het ruwe totaal dit overschreed.
Een ×5-multiplier op een vijf-op-een-rij kingyo-lijn is al ×200 van de inzet van slechts één lijn van één spin, en een volledig geretriggerde feature heeft vijftien van zulke spins op tien lijnen. De theoretische top van de verdeling is daarom enorm en het plafond van ×2.000 bestaat om de aansprakelijkheid van het spel eindig te maken. Een gecapte ronde is zeldzaam door constructie — het vereist de feature, de retriggers en meerdere premium lijnen die samenvallen — maar de vlag staat in de afwikkeling zodat een speler die hem raakt kan zien dat het plafond, en niet de rollen, het getal heeft bepaald.
Het plafond is de enige plek waar de gepubliceerde uitbetalingstabel en het uitbetaalde bedrag legitiem van elkaar kunnen verschillen, en de engine registreert het verschil in plaats van het te verbergen. Het is ook de reden waarom het rendementscijfer wordt opgegeven als een gekalibreerde 96,1% in plaats van een exacte: het plafond en de retrigger-loop maken een gesloten-vorm-rendement onpraktisch, dus de auteur heeft het gemeten.
Wat je kunt controleren, en wat je nog steeds niet kunt
Elke ronde van Hanabi wordt herhaald vanuit drie waarden: de server seed die vóór de inzet is vastgelegd, jouw client seed, en de ronde-nonce. Cel k van de basisspin is cursor k; free spin j leest cursors 15 + 15j tot en met 29 + 15j. Voer die in dezelfde gewogen trekking in en je krijgt hetzelfde raster, dezelfde lijnen en dezelfde feature, wat de verificatie-doorloop doet voor een eenvoudiger spel.
- Je kunt het raster controleren. Elk symbool op elke spin van elke ronde is herberekenbaar, en de gewichtstabel die het produceerde is openbaar.
- Je kunt het triggerpercentage controleren. Eén op de 83,8 is een binomiaal aantal uit de gewichtstabel; het is niet afhankelijk van het vertrouwen in de header.
- Je kunt het rendement niet goedkoop controleren. De 96,1% is een simulatieresultaat. De inputs voor die simulatie staan allemaal in het bestand, dus het cijfer kan door iedereen die bereid is drie miljoen ronden te draaien worden gereproduceerd — maar het is een reproductie, geen bewijs, en de Journal citeert het als het cijfer van de engine.
Die laatste regel is de eerlijke grens van een ontwerpnotitie als deze. Een slot kan zijn gewichten, zijn lijnen, zijn ladder en zijn plafond publiceren en toch een gemeten getal aan de speler verschuldigd zijn. De auteur van Hanabi heeft het gemeten, het opgeschreven naast de gewichten die het produceerden, en beide achtergelaten waar ze gelezen kunnen worden. Tairyō's uitbetalingstabel maakte dezelfde afspraak. Het is een kleinere belofte dan "eerlijk", en het is er een die gehouden kan worden.
Wat is de RTP van Hanabi?
De engine-header vermeldt 96,1%, gekalibreerd door een simulatie van drie miljoen ronden van hetzelfde bestand, met een hit-rate van 33,5%. De Journal citeert dat cijfer uit de bron en berekent niets zelf.
Hoe vaak triggeren Hanabi free spins?
Ongeveer één keer per 84 basisspins. Elk van de vijftien cellen is een 祭 scatter met een kans van 2/61, en drie of meer scatters in een spin starten de feature; dat binomiale aantal is 1,193%, wat overeenkomt met de gemeten "≈ 1 op 83" van de engine.
Hoe werkt de free-spin multiplier?
Het hangt alleen af van welke free spin het is: spins 1–2 betalen ×1, 3–4 betalen ×2, 5–7 betalen ×3, en elke spin vanaf de achtste betaalt ×5. Een gewone feature van tien spins geeft gemiddeld ×3 per spin; een volledig geretriggerde feature van 22 spins geeft gemiddeld ×4,1, waarbij de laatste vijftien spins allemaal ×5 zijn.
Hoeveel free spins kun je krijgen?
Tien om te beginnen; elke retrigger (drie of meer scatters binnen de feature) voegt er vier toe, tot een maximum van 22.
Wat is de maximale winst op Hanabi?
×2.000 de totale inzet. De engine rekent de ronde af op het kleinste van het ruwe totaal en het plafond, en markeert een ronde die begrensd werd.
Kan ik een Hanabi-spin verifiëren?
Ja. Elke cel is één gewogen trekking uit de gecommitteerde server seed, jouw client seed en de nonce — basisspin cursors 0–14, free spin j cursors 15+15j tot 29+15j — met gebruik van de publieke gewichtstabel, zodat de hele ronde herspeeld kan worden vanuit die drie waarden.
BRONNEN & REFERENTIES
- Betkyo engine bron: hanabi/engine.ts — HANABI_SYMBOLS gewichten en uitbetalingen, HANABI_LINES, HANABI_SCATTER_PAY100, HANABI_FS_START / RETRIG / CAP, hanabiFsMult, HANABI_WIN_CAP100, en de Monte Carlo-kalibratie van de header (RTP 96,1%, hit rate 33,5%, free spins ≈ 1 op 83, plafond ×2000)
- Scatter-trigger- en per-cel-kansen in dit artikel zijn exacte binomiale aantallen uit de gewichtstabel (p = 2/61 over 15 cellen); de return- en hit-rate-cijfers zijn die van de engine zelf en werden niet opnieuw berekend
DE GAMES IN DIT ARTIKELHanabi — regels & gratis spelen →Tairyō — regels & gratis spelen →