Many modern networked games are ticket based, and randomly pull from ticket “rolls” with pre-set payouts like a roll of scratch tickets.
Every few years someone manages to sell a set of machines with direct PRNG and it is only a matter of time before someone figures it out.
There are some older, well known PRNG systems in use, but they all have a preset payout ratio and the hit frequency and remain the same forever. Typically on new machines these stats are uploaded to the state in an automated fashion, because of the main concern about tax fraud.
There really aren’t many actual mechanical machines that take money these days and the PRNG “roll” happenes when you pulled the lever and everything else is just part of the entertainment.
If you search for “par sheet” some of these are documented.
I found the video that showed how the payout bars and the the permute wheels work on the pure mechanical versions. They have such a small number of permutes that they don’t pay out enough to brute force, mostly due to their limited number of stops.
This is an interesting look at the mechanism, but the only thing the video *doesn’t *show is how the machine determines when to stop each reel, and how that process simulates randomness.
Is there some regulatory or business reason not to use a truly random number generator, not a low-quality pseudorandom computer algorithm, in an electronic slot machine? I realize the original question is about 19th-century-style fruit machines (presumably at some point using actual spinners provided sufficient randomness?)
I have never used a “true” random number generator, nor do I know what the applicable regulations are for slot machines. I would assume it’s more of a practical or cost/benefit issue. What method of true random number generation would be appropriate for large-scale deployment to standalone slot machines?
Pseudo-random number generator. Not sure about the “direct” part. It’s pseudo because it’s generated by a software algorithm, so it is utterly predictable if you know the algorithm (and seed value). It does simulate random numbers because the distribution over the long run would be indistinguishable from true random numbers, and it would be very difficult to derive the algorithm from just the stream of numbers.
I’m not sure how the spinners provide randomness. If the clamping occurs a fixed time period after the spinning starts you will not get random results. If it’s not a fixed time period, then how does it work?
Computer based random number generators are actually pseudo-random. They are not truly random but the result of a mathematical process to generate a series of numbers which can “pass” for random while being the result of a deterministic computer algorithm.
The “direct” part isn’t part of the math. I believe that refers to using PRNGs all with the same seed value or with a known and possibly poorly developed randomness algorithm.
The vast majority of random number generators used in slot machines are PRNGs. The reason “real” RNGs aren’t used is they are very difficult to achieve. Real randomness is quite difficult to prove as well. Most scientific/statistical testing use PRNGs. As long as the limitation of the particular PRNG is known, there is no reason not to use it. ‘True’ RNGs generally use natural phenomena to produce randomness, like the result of radioactive decay or thermal noise or some kind of quantum effect.
Examples where PRNGs breaks down: using a PRNG that repeats every 2 million results to produce 10 million results. Using a PRNG algorithm with a known algorithmic flaw. Using a PRNG on a CPU with a design flaw that breaks the randomness.
For slot machines, the problem isn’t with using PRNGs. They are widely used around the world, after all. The problem is with using them poorly. Slot machines aren’t built so shoddily that you can get at the coins inside easily (back in the days they still had coins). Likewise, the PRNGs used in them shouldn’t be so shoddy they can be abused.
ETA: classic slot machines had a similar issue with repeats. If a machine was poorly designed, the same results would show up with some frequency. You could abuse that by ‘camping’ by a slot machine until you knew it would pay out. A designer can get around that by making the repeating pattern very large (like 100000 spins) before a pattern repeated, but the easier solution is computerization and PRNGs (and re-seeding them periodically).
If you have a pseudo-random algorithm, and you use some of the digits from the exact time the user pulls the lever, or pushes the button, or whatever, that’s pretty good as generating a number that is indistinguishable from random. Sure, if you could time your button press to exactly 1.23409 seconds you’d always get the same result, but your human hands probably aren’t capable of doing that.
So for things like computer games pseudo-random numbers are fine.
It should be easy to reseed PRNGs in a slot machine using the time between pulls (button presses). And there are multiple PRNG algorithms that could be incorporated, none I’ve ever seen use very much code so it’s not much of a resource issue to have multiples. And then all the slots I’ve ever played seemed to be connected to a server which should be able to shake everything up even more. PRNG fallibility must have been something limited to early electronic designs before anyone realized they could be reverse engineered.
Mechanical would be a little more difficult, I just started looking at some videos starting from the link above. Sounds like there’s too many permutations to pick up the pattern in reasonable time but they could also use a simple mechanical timer based on time between plays to alter the pattern. I suppose some wobbly parts could also be used to add some randomness but they’d probably tend to fall into a regular pattern over time through use.
The clamping could be at a fixed time period, and the randomness would be in how fast the wheels were spinning. If the wheels are spun by the act of pulling the arm, that could be your randomness right there. I doubt anyone pulls the arm with the exact same speed and force every time.
By “direct PRNG” I was referencing results that are directly observable by the player. Typically a wheel will have less physical “stops” than the actual program has.
but I want to point out that none of this has to deal with the speed of the wheels, even in mechanical slot machines the payout is generated by the clock and pay bars and the wheels are stopped *based *on that result. Those wheels have nothing to do with the result themselves.
Good PRNG algorithms are carefully designed, if you reseed a PRNG constantly then you may actually be doing a worse job than the smart mathematician that designed it, thus reducing the randomness.
The largest problem is that true random would effect the potential pay out rate. Game owners and often regulators want fixed pay out rates for these machines. While even PRNGs will have some drift they are far more reliable on producing an average.
It only takes a very tiny increase in jackpot payouts to seriously impact the house and the states take.