Hinter jedem Slot-Spin steckt ein kurzes Stück Code, das eine Zahl erzeugt, und die Zahl bestimmt, wo jede Walze anhält. Dieser Beitrag erklärt, wie diese Art von Generator im Allgemeinen funktioniert, anhand eines Spielzeuggenerators, der klein genug ist, um ihn von Hand zu berechnen. Der Generator unten ist für die Rechnung erfunden. Der Play-Store-Eintrag für Brasslight Slots sagt nicht, wie das Spiel seine Ergebnisse auswählt, daher beschreibt nichts hier den Code dieser App. Es beschreibt die Standardmethode.
Pseudozufällig, nicht zufällig
Ein Computer folgt Anweisungen, also kann er keine Münze werfen. Was er kann, ist einen Pseudozufallszahlengenerator (PRNG) laufen lassen: eine feste Regel, die eine Zahl in die nächste verwandelt, sodass der Strom für jeden üblichen Test ohne Muster aussieht. Drei Teile sind wichtig.
- Zustand. Die verborgene Zahl oder die verborgenen Zahlen, die der Generator zwischen den Ziehungen trägt.
- Aktualisierungsregel. Eine feste Berechnung, die den Zustand weiterbewegt und eine Ausgabe erzeugt.
- Seed. Der Startzustand. Gleicher Seed, gleicher Strom, jedes Mal.
Der Seed wird meist aus etwas Unvorhersehbarem genommen, etwa der Systemuhr oder dem Entropiepool des Betriebssystems, damit jede Sitzung woanders beginnt. Danach erledigt die Regel die Arbeit.
Ein Generator, den du auf Papier laufen lassen kannst
Eines der ältesten Designs ist der lineare Kongruenzgenerator: Multipliziere den Zustand mit einer Konstante, addiere eine weitere Konstante und behalte den Rest nach Division durch einen Modul. Unserer nutzt den Modul 16:
nächster = (5 × aktuell + 3) mod 16
Beginne mit dem Seed 7. Dann ist 5 × 7 + 3 = 38, und 38 mod 16 = 6. Als Nächstes 5 × 6 + 3 = 33, und 33 mod 16 = 1. Dann 5 × 1 + 3 = 8. Weiter ergibt 6, 1, 8, 11, 10, 5, 12, 15, 14, 9 als die ersten zehn Ausgaben. In diesem Spielzeug ist die Ausgabe einfach der Zustand.
Lass es 16 Schritte laufen, und jede ganze Zahl von 0 bis 15 erscheint genau einmal: 6, 1, 8, 11, 10, 5, 12, 15, 14, 9, 0, 3, 2, 13, 4, 7. Die siebzehnte Ausgabe ist wieder 6, und die ganze Folge wiederholt sich. Die Länge dieses Zyklus ist die Periode, und hier beträgt sie 16.
Eine Zahl einem Walzenstopp zuordnen
Der Generator liefert Zahlen. Das Spiel braucht Stopps. Wie in Walzenstreifen und Stoppsbeschrieben, ist eine Walze eine Liste von Positionen, daher ist die Abbildung ein einziger Schritt: nimm die Zahl und verwende sie als Position.
Angenommen, jede Walze hat 16 Stopps, nummeriert von 0 bis 15. Dann bedeutet eine Ausgabe von 6 Stopp 6, und eine Ausgabe von 11 bedeutet Stopp 11. Ein Fünf-Walzen-Spin nimmt fünf Ausgaben hintereinander, eine pro Walze. Ab dem Seed 7 verwendet der erste Spin 6, 1, 8, 11 und 10 für die Walzen 1 bis 5, und der zweite Spin die nächsten fünf, 5, 12, 15, 14 und 9.
Wenn sich die Zahlen nicht gleichmäßig teilen
Echte Generatoren erzeugen weit größere Bereiche, oft 32 Bit, also 232 = 4,294,967,296 mögliche Werte. Hat eine Walze 20 Stopps, ist die übliche Abkürzung, den Rest nach Division durch 20 zu nehmen. Aber 4,294,967,296 ist kein Vielfaches von 20: Es ist 20 × 214,748,364 + 16. Daher bekommen 16 der Stopps je 214,748,365 Rohwerte und 4 Stopps 214,748,364. Der Unterschied beträgt einen Wert von etwa 214 Millionen, zu klein, um eine Rolle zu spielen, aber sorgfältiger Code entfernt ihn, indem er die überschüssigen Werte verwirft und neu zieht.
Warum ein Spin den nächsten nicht vorhersagt
Unser Spielzeuggenerator ist ein schlechtes Modell für Unabhängigkeit. Sobald du eine Ausgabe siehst, kennst du die nächste mit Sicherheit: nach der 6 kommt immer die 1. Wer die Regel kannte und eine Zahl sah, könnte jeden Spin vorhersagen. Er hat außerdem nur 16 Zustände, kann also nur 16 verschiedene Spins erzeugen, einen je Startzustand, während unabhängige Walzen mit 16 Stopps 165 = 1,048,576.
Ernsthafte Generatoren lösen beide Probleme durch Größe und Design. Der Mersenne Twister, ein weit verbreiteter Allzweckgenerator, hat eine Periode von 219937 − 1, eine Zahl mit über 6,000 Stellen, sodass kein Spieler je das Ende des Zyklus erreicht. In der Praxis enthält das Ergebnis eines Spins keine nutzbare Information über den nächsten. Das ist die Eigenschaft, die in warum ein Slot nie fällig istbeschrieben wird: Die Maschine hat kein Gedächtnis für die jüngsten Ergebnisse, auf das sie reagiert, und keinen Zeitplan, dem sie hinterherläuft.
Ein Generator ist eine deterministische Regel mit einem verborgenen Zustand. Seine Ausgabe wird in eine Stoppnummer umgewandelt, eine pro Walze, und für die Fairness der Odds zählt, dass jeder Stopp gleich wahrscheinlich ist und der Strom schwer vorherzusagen bleibt.
Was die Abbildung mit den Odds macht
Der Generator kennt keine Symbole. Er erzeugt nur Stoppnummern. Die Odds eines Symbols ergeben sich daraus, wie viele Stopps es zeigen, nach der Regel Anzahl durch Länge aus dem Beitrag zum Walzenstreifen. Mit 16 Stopps und einem Symbol auf 2 davon landet eine Walze mit der Wahrscheinlichkeit 2 ÷ 16 = 12.5% darauf.
Eine Kontrolle, die du machen kannst
Wähle einen beliebigen Seed von 0 bis 15 und lass die Spielzeugregel 16 Schritte laufen: jede Zahl von 0 bis 15 sollte genau einmal erscheinen. Startest du wieder mit demselben Seed, erhältst du denselben Spin, und genau das bedeutet ein Seed.
Brasslight Slots: Casino Games ist ein Slot mit Katzenthema, 5 Walzen und 243 Gewinnwegen, mit Yarn-Pick-Bonus, täglichem Preisrad sowie Turbo- und Auto-Spin. Es verwendet nur virtuelle Münzen, es gibt kein echtes Geld, und Münzen und Edelsteine haben keinen Geldwert.