Wie stelle ich eine angemessene Auszahlungsquote für einen Spielautomaten sicher?

11

Ich habe viel über Zufallszahlengeneratoren für Spielautomaten, Rollenstopp-Berechnungen und wie man dem Benutzer physisch eine gute Gewinnchance gibt, recherchiert.

Was ich nicht herausfinden kann, ist, wie ich richtig versichern kann, dass die Maschine eine Auszahlungsrate von (sagen wir) 95% haben wird.

Also habe ich eine Rolle mit 22 Feldern eingerichtet. Gefüllt mit 16 verschiedenen Symbolen.

Wenn ich meine Zufallszahl bekomme, mod durch 64 dividiere und den Rest bekomme, hüpfe ich zu einer Loop-Up-Tabelle, um zu sehen, wie sich der virtuelle Stopp auf die Rollenposition bezieht.

Vergewissere ich mich, dass die Auszahlungsquote korrekt ist, nachdem ich weiß, wie die Rollen anhalten werden? Wie kann ich für jeden eingezahlten Dollar sicherstellen, dass die Maschine 0,95 Cent auszahlt?

Danke für die Ideen.

Ich arbeite in Actionscript, wenn das bei Sprachproblemen hilft, aber im Allgemeinen suche ich nur nach Theorie.

Bearbeiten: Es gibt echtes Geld nur in der Tatsache, dass sie mehr Token kaufen können, um mehr zu spielen. Es wird kein echtes Geld an die Person ausgezahlt, wenn sie tatsächlich eine der Gewinnlinien erreicht.

Kris.Mitchell
quelle
2
Ist dieser geschäftskritische Code? Gewinnen Ihre Benutzer echtes Geld?
Dave O.

Antworten:

9

Was Sie fragen, hängt damit zusammen Wahrscheinlichkeitstheorie zusammen . Es ist am einfachsten, mit einer Rolle zu arbeiten und sie dann auf mehrere Rollen zu erweitern, sobald Sie verstanden haben, wie sie funktioniert.

Wenn Sie eine Rolle hatten, haben Sie einige Symbole, die Sie den Stopps zuweisen möchten. Mehr Symbole auf einer Rolle führen zu einer besseren Kontrolle über die Endergebnisse, fühlen sich jedoch für den Spieler zufälliger an. Das Ziel ist es, die Anzahl der Symbole und Stopps auszugleichen, damit sich die Maschine für den Spieler weniger zufällig anfühlt und eine größere Chance hat.

Wenn Sie 10 Symbole und 10 Stopps hätten, hätte jedes Symbol eine 1: 10-Chance zu erscheinen. Es spielt keine Rolle, in welcher Reihenfolge sich die Symbole befinden (theoretisch ist die Zufälligkeit des Spiels in der Praxis nur so gut wie bei Ihrem Zufallszahlengenerator). Mit anderen Worten, Sie können erwarten, 10 verschiedene Symbole in 10 Drehungen oder ein anderes Symbol bei jeder Drehung zu sehen. Die Chance, ein bestimmtes Symbol zu erhalten, beträgt 1 zu 10. Für jeweils 10 Drehungen können Sie also erwarten, dass jedes einzelne Symbol einmal angezeigt wird. Wenn Sie 1 Symbol als "Gewinnsymbol" ausgewählt hätten, müsste der Spieler 10 Mal spielen, bevor er gewinnt. Mit diesen Informationen ist es ganz einfach, die Auszahlung zu berechnen. Wenn Sie ihnen 1 $ für jede Drehung berechnen, müssen sie 10 $ ausgeben, bevor sie einen Gewinn erzielen. Wenn Ihre erwartete Bewertung 95% beträgt, beträgt die Berechnung 10 x 95% = 9,50 USD. Mit anderen Worten, Der Preis für die Landung auf dem "Gewinn" -Symbol muss 9,50 USD betragen, um eine erwartete Auszahlung von 95% zu erreichen. Denken Sie jetzt daran, dass dies alles auf dem Durchschnitt basiert. Es gibt keine Garantie dafür, dass das Symbol in genau 10 Drehungen angezeigt wird. Es kann 100 oder 1000 Drehungen oder sogar nur 1 Drehung dauern. Über einen ausreichend langen Zeitraum hinweg zahlt die Maschine im Durchschnitt den richtigen Betrag.

Damit dies auf mehreren Walzen funktioniert, müssen Sie die Gewinnwahrscheinlichkeit jeder Walze multiplizieren. Betrachten Sie ein Beispiel für 3 Rollen mit 10 Symbolen auf jeder Rolle und 1 Gewinnsymbol auf jeder Rolle wie im vorherigen Beispiel. Nehmen wir an, Sie wollten, dass der Spieler nur gewinnt, wenn alle drei Walzen gleichzeitig das Gewinnsymbol zeigen. Dazu müssen Sie die Wahrscheinlichkeit für jede Rolle berechnen und dann die Wahrscheinlichkeiten miteinander multiplizieren. Wir wissen aus dem vorherigen Beispiel, dass die Wahrscheinlichkeit 1 zu 10 ist. Dies kann auch als 1/10 oder 0,1 geschrieben werden. Die Wahrscheinlichkeit, dass alle drei Walzen gleichzeitig auf dem Gewinnsymbol landen, beträgt 1/10 x 1/10 x 1/10 oder 0,1 x 0,1 x 0,1 oder 0,001 oder 1 zu 1000. Wir sehen, dass es viel gibt geringere Wahrscheinlichkeit, dass das Gewinnsymbol gleichzeitig auf allen drei Walzen erscheint. Der Spieler müsste durchschnittlich 1000 Mal drehen, bevor er gewinnt. Wenn jeder Spin 1 $ wäre, müssten sie 1000 $ ausgeben, um zu gewinnen. Die Berechnung für den Gewinnprozentsatz lautet dann: $ 1000 x 95% ** = $ 950,00.

Das ist die Theorie auf den Punkt gebracht. Der Rest ist das Ausbalancieren der verschiedenen Wahrscheinlichkeiten, um das Spiel interessanter erscheinen zu lassen.

In Ihrem Fall, wenn Sie 22 Stopps und 16 Symbole haben. Dies bedeutet, dass Sie 6 Symbole haben, die mit mindestens einem anderen Symbol identisch sind. Die genaue Wahrscheinlichkeit, mit der ein bestimmtes Symbol erscheint, hängt von der Gesamtzahl der Vorkommen dieses Symbols auf der Rolle ab. Wie viele Symbole sich auf jeder Rolle befinden, liegt ganz bei Ihnen.

Nehmen wir als Beispiel an, Sie haben 15 eindeutige Symbole und 7, die alle Duplikate sind. Die Wahrscheinlichkeit, dass eines der Duplikate erscheint, beträgt 7 zu 22 oder 7/22 oder 32%. Wenn Sie 1 Rolle bei 1 $ pro Drehung hätten, würde der Spieler 32 Mal in 100 Drehungen auf einem der Duplikate landen. Die Auszahlung wird berechnet als (1 / (32/100)) x 95% x $ Kosten. Wenn es also 1 $ pro Runde kostet, zahlen Sie dem Spieler jedes Mal 2,97 $, wenn eines der Duplikate erscheint.

Wenn Sie als weiteres Beispiel 3 Walzen hätten und diese 2 USD pro Runde kosten würden, würden Sie die Auszahlung wie folgt berechnen: (1 / (32/100 x 32/100 x 32/100)) x 0,95 x $ Kosten = 30,5 x 95% x $ 2 = $ 57,95 Auszahlung. Sie können die Wahrscheinlichkeiten der anderen Nicht-Duplikate wie folgt berechnen: (1 / (1/22 x 1/22 x 1/22)) x 0,95 x $ cost = 10648 x 0,95 x $ 2 = $ 20231,20. Das ist eine ziemlich große Zahl, aber dann ist die Wahrscheinlichkeit, dass eine der Gewinnsequenzen erscheint, ziemlich gering (sie beträgt ungefähr 9x10 ^ -5).

In den letzten Beispielen sind die Unterschiede ziemlich extrem. Der Spieler gewinnt entweder sehr oft $ 58 oder $ 20231 fast nie, ohne dazwischen zu variieren. Die Kunst, das Spiel spannend zu gestalten, besteht darin, mehr Gewinnmöglichkeiten mit unterschiedlichen Beträgen zu schaffen. Dies wird häufig durch Mischen von Rollen mit unterschiedlichen Wahrscheinlichkeiten erreicht. Also anstatt jede Rolle zu haben
Bei der gleichen Anzahl jedes Symbols kann eine Rolle mehr Symbole oder mehr von einem Symboltyp usw. enthalten. Die Formel zur Berechnung der Wahrscheinlichkeit ist dieselbe wie zuvor. Denken Sie jedoch daran, für jede Rolle die richtigen Verhältnisse zu verwenden. Wenn Sie beispielsweise Rolle A mit 22 Stopps und 3 Vorkommen eines Symbols, Rolle B mit 26 Stopps und 2 Vorkommen des Symbols und Rolle C mit 20 Stopps und 5 Vorkommen des Symbols haben, sieht die Formel folgendermaßen aus: (1 / (3/22 x 2/26 x 5/20)) x 95% x $ Kosten.

Und das ist alles. Hoffentlich habe ich in den Beispielen nicht zu viele Fehler gemacht, damit Sie es trotzdem nützlich finden: P.

** Ein Hinweis zur Notation, 95% ist identisch mit 0,95. 32/100 ist identisch mit 0,32, 7/22 ist identisch mit 0,31818 .. usw.

Lukevanin
quelle
Tolle. Du hast mir gerade viel Arbeit gespart. Ich habe viele Dokumente darüber gelesen, wie Slots funktionieren sollten, aber diese Antwort hat es mir wirklich als Laie verkauft. Vielen Dank!
Stephen
7

Sie möchten, dass der erwartete Wert 0,95 beträgt . In einfachen Worten ist dies die Summe probability * payoutfür jeden Zustand.

Eine Brute-Force-Methode wäre, alle 22 ^ 3 Zustände zu durchlaufen (vorausgesetzt, Sie haben 3 Walzen), die Auszahlung zu addieren und die Summe durch 22 ^ 3 zu teilen. Da die meisten Staaten jedoch wahrscheinlich nichts auszahlen, ist es möglicherweise einfacher, alle Staaten zu ermitteln, die stattdessen auszahlen.

Wenn Sie zum Beispiel 1 Bell-Sybol pro Rolle hatten, dann ist die Wahrscheinlichkeit von

[Bell] [Bell] [Bell]

wäre 1/22 ^ 3. Und wenn Sie 2 Kirschen pro Rolle hatten, dann die Wahrscheinlichkeit von

[Cherry] [Cherry] [any]

wäre 1/11 ^ 2.


BEARBEITEN: Oben erfahren Sie nur, wie Sie überprüfen können, ob die Auszahlungen die gewünschte Rücklaufquote ergeben. Betrachten wir als einfaches Beispiel ein Spiel, bei dem Sie 1 $ bezahlen, um 2 Münzen zu werfen. Hier sind drei Auszahlungsschemata, die alle eine Rücklaufquote von 0,95 ergeben:

  1. Zwei Köpfe zahlen 3,80 Dollar, alles andere zahlt nichts
  2. Zwei Köpfe oder zwei Schwänze zahlen 1,90 Dollar, alles andere zahlt nichts
  3. Zwei Köpfe zahlen nichts, alles andere zahlt 1,26 Dollar

Welches ist mehr "Spaß"? Du sagst es mir...

Celion
quelle
Davon abgesehen dreht kein Spielautomat, der in den letzten Jahrzehnten hergestellt wurde, solche Rollen. Wenn drei Glocken Jackpots auszahlen, werden sie unverhältnismäßig weniger hochkommen, egal wie viele sich auf der physischen Rolle befinden.
3
Ich
kümmere
@joe - Ich stimme zu, die Glocken werden eine Tonne weniger auf der Rolle sein als der Rest der Symbole. @celion Ich verstehe noch nicht ganz. Angenommen, ich habe die Walzen (ich habe 5) und der Benutzer drückt den Knopf, um das Spiel zu spielen. Ich greife nach den nächsten 5 Zufallszahlen, berechne die Stopps und lasse die Symbole anzeigen. Wie wirkt sich die Auszahlungsrate auf die Zufallszahlen und die Stopps aus? Stelle ich die Auszahlung anhand der Symbole auf der Rolle und des Betrags der hoch-> niedrig bezahlten Symbole auf der Rolle ein?
Kris.Mitchell
@ Kris-Mitchell - Vielleicht verstehe ich falsch, wie Spielautomaten funktionieren. Ich ging davon aus, dass für jedes mögliche Ergebnis die Auszahlung festgelegt ist. Wenn sich die Symbole auf der Rolle in jeder Runde ändern, wird die Mathematik etwas schwieriger, aber Sie sollten trotzdem in der Lage sein, die Wahrscheinlichkeit eines bestimmten Zustands (offline, mit Bleistift und Papier) zu ermitteln. Auf diese Weise können Sie nur sicherstellen, dass eine Reihe von Auszahlungen die gewünschte (durchschnittliche) Rücklaufquote ergibt. Es gibt unendlich viele Möglichkeiten, die Auszahlungen angesichts dieser Einschränkung zuzuweisen. Es liegt also an Ihnen, eine "lustige" auszuwählen.
Celion
@celion - Ich wollte dich nicht verpassen, und wenn jemand anderes dies liest, korrigiere mich, wenn ich falsch liege, aber die Auszahlung ist fest. Ich glaube nicht, dass sich die Rollen in jeder Runde ändern. Ich denke, dass die Rollen für Video-Slots viel größer sind als bei einem echten mechanischen Spielautomaten. Ich glaube übrigens, ich würde Option 2 oder 3 am meisten genießen. Zwei sind riskant genug, um eine Herausforderung zu sein, bei der Sie Geld verdienen können, während Sie immer noch wissen, dass Sie verlieren werden. Drei dagegen scheinen besser zu sein, weil Sie das Gefühl haben, mehr Gewinnchancen zu haben.
Kris.Mitchell
1

Der einfachere und zuverlässigere Weg, dies zu tun, besteht nicht darin, Walzen zu simulieren, sondern einen internen Würfel zu haben, der auswählt, was der Spieler gewinnt, und dann die Walze nur prozedural zu füllen (oder einen großen Satz davon irgendwo zu speichern, aber das wird wahrscheinlich länger dauern machen).

Cpt. rot
quelle
0

Die anderen haben dieses Stück nicht berührt:

..wie Sie richtig versichern können, dass die Maschine eine Auszahlungsrate hat ..

Wenn Sie vollständig zufällige Zahlen verwenden, können Sie nicht sicher sein. Sie können jedoch Statistiken über die Auszahlungen führen und die Wahrscheinlichkeit einer Auszahlung zur Laufzeit mithilfe einer Rückkopplungsschleife anpassen .

Wenn es seit einiger Zeit keine Auszahlung mehr gibt, erhöhen Sie die Wahrscheinlichkeit, dass Sie gewinnen, und umgekehrt.

Sie können Simulationen der Läufe ausführen (ein paar Milliarden Iterationen sollten ausreichen), um sicherzustellen, dass Ihre Rückkopplungsschleife wie beabsichtigt funktioniert.

Jari Komppa
quelle
1
Ihre Lösung ist nicht erforderlich. Ein perfekter Zufallszahlengenerator (RNG) nähert sich im Laufe der Zeit der genauen Auszahlungsrate. Zwar ist die Verwendung Ihrer standardmäßig integrierten RNG-Funktion nicht wirklich akzeptabel (hauptsächlich aufgrund der Vorhersagbarkeit), aber die richtige Lösung besteht darin, ein besseres RNG zu verwenden, z . B.: En.wikipedia.org/wiki/Random_number_generation#Physical_methods . Das Einbeziehen einer nicht zufälligen Spielelogik oder das "Optimieren" der Auszahlungsbewertung, wie Sie vorschlagen, ist an den meisten Orten illegal. Es ist in Ordnung für eine knifflige Website, aber für eine reale Anwendung ein absoluter Nichtstarter.
Luke Van Am
1
@lukevanin, es ist an anderen Orten gesetzlich vorgeschrieben, also geht es wirklich darum, den Kontext zu verstehen.
Peter Taylor
0

Beachten Sie, dass alle Antworten bisher davon ausgehen, dass Sie ein perfektes RNG haben, mit dem Sie arbeiten können. Ein reines Software-RNG ist eigentlich ein Pseudo-RNG, kurz PRNG, da der gleiche Eingabewert (Startwert) immer die gleiche Folge von Zufallszahlen erzeugt, sodass ein PRNG von Natur aus vorhersehbar ist.

Natürlich ist es ein schwieriges Problem, auf Kundenseite "echte" von "Pseudo" -RNGs zu unterscheiden, insbesondere bei einer kleinen Stichprobengröße, aber es gibt einen Unterschied - bei einer Anwendung, bei der es um Geld und rechtliche Haftung geht, würde ich dies nicht tun Chancen ergreifen. Wenn Sie ein RNG benötigen, ist das einzige, was schlimmer ist als kein RNG, ein defektes RNG zu haben, ohne es zu wissen. Dies ist also ein Bereich, in dem Ihr Unternehmen niemals Abstriche machen oder spontan lernen sollte.

Es gibt gute PRNG-Algorithmen, aber sie werden niemals mit einer physikalischen Entropiequelle übereinstimmen. Damit die Mathematik sowohl in der Praxis als auch in der Theorie funktioniert, stellen Sie sicher, dass Sie das bestmögliche RNG verwenden - dies ist sowohl rechtlich als auch finanziell im besten Interesse Ihres Unternehmens.

Hackworth
quelle
0

Ein sehr einfacher Ansatz könnte darin bestehen, alle möglichen Spin-Ergebnisse zu durchlaufen und die kombinierten Gewinne im Vergleich zu den insgesamt gesammelten Geldern zu addieren.

Beginnen Sie mit der Erstellung der Radlayouts und lassen Sie bei Bedarf doppelte Symbole zu. Bestimmen Sie die gewünschten Gewinnmuster und Auszahlungen. Führen Sie das Radmuster durch einen Algorithmus, um die Gesamtauszahlung zu bestimmen, dividiert durch das gesammelte Geld. Dies ist Ihre Auszahlungsquote.

Wenn es zu hoch ist, fügen Sie mehr Leerzeichen oder weniger bezahlte Symbole hinzu ODER senken Sie die Musterauszahlung (dh drei einzelne Balken können 10 USD oder 5 USD betragen). Führen Sie den Algorithmus erneut aus, bis die gewünschte Auszahlungsquote ermittelt ist.

Auf diese Weise können Sie gleichmäßige Auszahlungen beibehalten (nicht 4,58 USD für ein Gewinnmuster, sondern 5 USD). Möglicherweise können Sie keine genaue Auszahlung von beispielsweise 95% erzielen, aber mit Optimierungen können Sie sich dem nähern.

Hier ist ein Beispielalgorithmus zum Bestimmen des Lohnverhältnisses eines Radlayouts:

payout = 0.0
collected = 0.0
ratio = 0.0
bet = 1.0
FOREACH symbol1 IN wheel1
  FOREACH symbol2 IN wheel2
    FOREACH symbol3 IN wheel3
      payout = payout + DetermineWinnings(symbol1, symbol2, symbol3, bet)
      collected = collected + bet
    NEXT
  NEXT
NEXT
ratio = payout / collected
Doug.McFarlane
quelle