What would you say are the pros and cons of writing an exact algorithm for calculating RTP's etc. versus just simulating?
I am writing my master thesis in mathematical statistics about casino slots and have written an algorithm for getting exact values for the slot game which I can't name. The process is time consuming and the algorithm takes a couple of days to run on my laptop.
I know that the industry standard is to run simulations since they're faster to code, more adaptive and usually runs faster(well that depends on how many runs etc.), but I'd like to know the value of my algorithm.
All answers are appreciated,
Thank you!
"Gaming regulations require that gaming devices must have random outcomes of game play results. In order to satisfy this requirement, games of all types use a random number generator (RNG) software algorithm to determine game outcome. While the game is in the idle state, i.e. waiting for someone to deposit a coin or push a play credit button, the RNG algorithm is called hundreds of times every second. The RNG has approximately 16,000,000,000,000,000,000 possible outcomes and, depending on the game type, there will be many billions of outcomes that map into any set of cards, or keno balls, or slot machine symbols. This ensures that all IGT games are completely random, just as if the cards were dealt from a perfectly shuffled deck."
To my understanding, the RNG's stack has multiple outcomes of all possible events in proportion to their respective probabilities. A moving pointer stops when you deposit the first coin or when any bet button is depressed - "Bet One", "Bet Max", "Deal", etc. The outcome to which the pointer is pointing is revealed to the player. While this doesn't directly answer your question, I hope that this helps.
Quote: MathproHi,
I know that the industry standard is to run simulations since they're faster to code, more adaptive and usually runs faster(well that depends on how many runs etc.), but I'd like to know the value of my algorithm.
All answers are appreciated,
Thank you!
It is? I would say that on majority of casino slot machines the math has been solved and not simulated. Just get a hold of some PAR sheets and you will be able to understand it better.
Quote: DRichIt is? I would say that on majority of casino slot machines the math has been solved and not simulated. Just get a hold of some PAR sheets and you will be able to understand it better.
I agree with DRich. I calculate almost all of my games without the use of simulations. I prefer to have live calculations in Excel so I can modify games quickly. I do write simulations for many games, but that is to get a better estimate of the volatility and as a sanity check. I also wrote code that counts all hits, which works for most games, and it only takes seconds to run.
I've been more or less where you are 12 years ago (which is what prompted me to make an account here and reply), and the gaming industry doesn't work the way you think it does. It doesn't help that there's almost nothing published on slot design. I've come up with lots of clever algorithms and its very difficult to do anything with them. I have in the end, but its a long hard road.
There's lots of smart people in the industry and there's been a lot of work in this area, and Excel is still very much in use. I've spoken to a lot of people in the industry and there's very very few companies that design games by simulation (for random games like USA class III anyway). I think there may be a few types of games that are done by simulation simply because there's no other way, but even if they are not exact (and sometimes simulation is exact) people still do them, so its not clear the value here either.
Having said all that, I'm interested in algorithms and would be interested in hearing more when you publish it.
What if you cave the ability to easily identify a RNG over a live game by just looking in the short run??Quote: RobertMuirHi Mathpro, I think you'll find the value of your algorithm is mainly if you're trying to get a job in the gaming industry. Some companies employ people who have skills in this area (computer simulations and algorithms), either in game design or technical supporting roles for them.
Quote: RobertMuirHi Mathpro, I think you'll find the value of your algorithm is mainly if you're trying to get a job in the gaming industry. Some companies employ people who have skills in this area (computer simulations and algorithms), either in game design or technical supporting roles for them. You should have an advantage over others starting out. While obviously I don't know what its is, chances are the algorithm itself doesn't have much real value - you probably won't be able to sell it to anyone.
I've been more or less where you are 12 years ago (which is what prompted me to make an account here and reply), and the gaming industry doesn't work the way you think it does. It doesn't help that there's almost nothing published on slot design. I've come up with lots of clever algorithms and its very difficult to do anything with them. I have in the end, but its a long hard road.
There's lots of smart people in the industry and there's been a lot of work in this area, and Excel is still very much in use. I've spoken to a lot of people in the industry and there's very very few companies that design games by simulation (for random games like USA class III anyway). I think there may be a few types of games that are done by simulation simply because there's no other way, but even if they are not exact (and sometimes simulation is exact) people still do them, so its not clear the value here either.
Having said all that, I'm interested in algorithms and would be interested in hearing more when you publish it.
Hi, RobertMuir, and thanks for signing up! Please check your Private Messages.
Quote: AxelWolfWhat if you cave the ability to easily identify a RNG over a live game by just looking in the short run??
In that case you'd be able to make a lot of money, at least until you got arrested. Gaming systems are designed and tested to make that impossible, so unless you find a bug or poorly implemented system I don't think there's a realistic chance of doing that.
Quote: HughJassFrom IGT:
"Gaming regulations require that gaming devices must have random outcomes of game play results. In order to satisfy this requirement, games of all types use a random number generator (RNG) software algorithm to determine game outcome. While the game is in the idle state, i.e. waiting for someone to deposit a coin or push a play credit button, the RNG algorithm is called hundreds of times every second. The RNG has approximately 16,000,000,000,000,000,000 possible outcomes and, depending on the game type, there will be many billions of outcomes that map into any set of cards, or keno balls, or slot machine symbols. This ensures that all IGT games are completely random, just as if the cards were dealt from a perfectly shuffled deck."
To my understanding, the RNG's stack has multiple outcomes of all possible events in proportion to their respective probabilities. A moving pointer stops when you deposit the first coin or when any bet button is depressed - "Bet One", "Bet Max", "Deal", etc. The outcome to which the pointer is pointing is revealed to the player. While this doesn't directly answer your question, I hope that this helps.
I implemented a random shuffling algorithm while at IGT. The state of the shuffled deck begins with a deck that is already shuffled and shuffles it again. I stored shuffled decks and I randomly chose one of the n decks of pre-shuffled decks using another random number generator to start the state of the perfectly shuffled deck. This prevents the condition where you can't have more variations in the results of the shuffle than you have random number seeds when starting with a known state. Just calling a random number generator hundreds of times per second alone doesn't solve the problem for every random number generator. You are still limited by the number of possible seeds, for example, if you do this.
http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
None of these ideas were patented, and the intellectual property for this methodology was invented before working for IGT. But hopefully this gives you some insight as to techniques which can be used to reassure that every possible result is easily attained over a large enough period of time even without depending on super fancy random number generators which can also solve the problem all on their own with enough seeds to cover every possible case.
I personally believe that proper design always trumps depending too heavily on a random number generator alone. There are multiple sources to obtain entropy, and digital storing state inside the machine that is constantly affected by internal and external source of entropy in addition to random number generators always keep things from being exploitable better than a random number generator that is well known with a limited (even 64-bit) number of seeds and starting from well-known or assumed states (like a sorted deck). Just having a 64-bit seed random number generator isn't good enough. You also have to ensure that you're covering the full spectrum of seed values as well to avoid well-known sequences of random numbers and general results from those well known sequences that could lead to exploits.