Joined: Aug 31, 2010
  • Threads: 88
  • Posts: 6526
March 4th, 2011 at 9:27:07 AM permalink
Quote: DJTeddyBear

Return percentage?

Because my Poker For Roulette idea uses a progressive jackpot, the only way I could accurately project the return / house edge, was to run several 500million spin simulations, then take those results and feed them into Excel, tweaking the paytable to get the bottom line I wanted.

Basically, my simulation produced two output files. One contains the total number of hits for each winning combination. Simply multiply by the paytable to find my result.

The other is a log of each partial and full progressive winner. It contains the spin number and the type of winner. The spin number is needed to calculate the meter increment before the progressive payment is made. If the progressive was a full jackpot, I reseed it. If it was a partial, but causes the jackpot bank to fall below the reseed value, I top it off. Thru an Excel worksheet that's some 50,000 lines long, I track each of these events, and add them to the non-progressive totals to come up with my progressive analysis.

You probably need to do something similar.

No, for a progressive jackpot you only need to do this:
1) Calculate the RTP on the base game,
2) Determine the % of coin in you accrue to the meter
3) Add (1) and (2).

You can determine the average time to hit the progressive, and therefore the average jackpot size, based on the probability of that award. But as long as your accrual rate is constant (which, from your description, it may not be?), you don't need any fancy math. Just base game % plus coin-in %.
"In my own case, when it seemed to me after a long illness that death was close at hand, I found no little solace in playing constantly at dice." -- Girolamo Cardano, 1563
Joined: Nov 2, 2009
  • Threads: 185
  • Posts: 10437
March 4th, 2011 at 10:01:04 AM permalink
I assume RTP means Returned To Player.

Accrual rate? I assume you mean the portion of the bet that goes towards the jackpot.

I wanted to estimate the maximum jackpot size. I keep getting the feeling that the casinos don't mind paying winners - as long as the casino is winning too. But what they do mind is paying large sums at one time, regardless of how much they pocketed in the meantime.

For that, I needed the jackpot size.

Additionally, because initial simulations revealed that the partial jackpots can cause the jackpot bank to fall significantly below the re-seed value, I had to add a top-off option. I doubt that can easily be calculated.

So, even if all I wanted was an estimate of the House Edge, I think my long analysis is required.

On the other hand, if the casino uses a smaller increment until the seed money has been replenished, and a higher increment afterwards, then the seed doesn't affect the edge, so simple math will work, I think.

Bottom line: Even if simple math would work, I kinda like doing it the long way. Interesting things became apparent when I did that - like the Top-Off requirement.
I invented a few casino games. Info: 覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧覧 Superstitions are silly, childish, irrational rituals, born out of fear of the unknown. But how much does it cost to knock on wood? 😁
Joined: Feb 27, 2011
  • Threads: 1
  • Posts: 7
March 4th, 2011 at 4:04:09 PM permalink
Actually DJTeddyBear what your saying has given me an idea.

So far I have a basic screen, symbols, nice little reel effect with sounds and I have already started the lengthy and fun conditional branching for payouts of the main game (not started the feature yet).

But based on what you said, I could quite easily run background (non visual) simulations millions of times and come up with some figures that way, quick and dirty :P.
Joined: Mar 27, 2011
  • Threads: 0
  • Posts: 7
April 5th, 2011 at 7:35:50 AM permalink
Hi there,

miplet pointed me to this thread, because i had the same questions about the math behind the Atkin's slot like the thread starter.
I have experience with and programmed 5 nested for-loops.
First i checked if the program calculated correctly the 32^5 combinations (it did).

Next consideration... how do i tell the program what combinations he should count?
If i see how many combinations in the PDF of Atkins slot are listed... my 1st thought was... should i code a select case which has all lets say 55.000 cases from the symbols included?

Has someone a hint or idea for me, how i could teach the program to recognize the combinations?
So that the program knows: Steak-Steak-Wild-Steak = 4 in-a-row with steaks // Steak-Steak-Cake-Steak is not legal // Wild-Wild-Wild-Steak = 4 in-a-row and so on...

Any idea for me? I really have no clue how to do it!

Thanks for any help, best regards
Joined: Aug 23, 2010
  • Threads: 14
  • Posts: 84
April 5th, 2011 at 9:02:50 AM permalink
I actually wrote a program that takes in all the aspects of a slot (reels, rows, stops per reel, symbols, wilds, pay combinations, pay lines, x scatters required giving an n times multiplier with y free spins, etc). I had it go through each possible outcome (32^5 in your case), and for each possible outcome I compare it to an array of pay combinations. I have the pays sorted, and when it identifies a match it exits the pay array. This guarantees you always get the highest pay associated with a given combination.
Joined: Feb 27, 2011
  • Threads: 1
  • Posts: 7
April 5th, 2011 at 11:34:32 PM permalink
Use a loop basically.

I use a procedure, which makes a call to a function (for the sake of simplifying the procedure I created a function to handle some of the checking).

The loop will check every pay combination from top to bottom (best paying to worst) , it sends the symbol type of the particular
combination to a function (e.g. R1-C1, R1-C2, R1-C3, R1-C4, R1-C5 which would be the top line) and my function will then elaborate and loop check all symbols including feature wild symbols to find a left to right 3-5 in a row combination.

Then it steps to the next combination etc.....

It executes pretty quickly, the win/loss is calculated long before the reels stop.

Well it's something like this:

// I have 9 symbols 0-8, let's check them all.
For i := 0 to 8 Do
CalcPayLine(R1_C1, R1_C2, R1_C3, R1_C4, R1_C5, i);
//...... done 25 times for all 25 combinations obviously the R-C arrangement changes for each one.

// The CalcPayLine function, The Seed is i from above ^.
// An insert from my own:
case Seed of
begin // Handle the scatter.
if (gold_bonanza.Disp[1] = 0) OR (gold_bonanza.Disp[2] = 0) OR (gold_bonanza.Disp[3] = 0) then Inc(Symbol, 1);
if (gold_bonanza.Disp[4] = 0) OR (gold_bonanza.Disp[5] = 0) OR (gold_bonanza.Disp[6] = 0) then Inc(Symbol, 1);
if (gold_bonanza.Disp[7] = 0) OR (gold_bonanza.Disp[8] = 0) OR (gold_bonanza.Disp[9] = 0) then Inc(Symbol, 1);
if (gold_bonanza.Disp[10] = 0) OR (gold_bonanza.Disp[11] = 0) OR (gold_bonanza.Disp[12] = 0) then
if (Symbol >= 1) then Inc(Symbol, 1);
if (gold_bonanza.Disp[13] = 0) OR (gold_bonanza.Disp[14] = 0) OR (gold_bonanza.Disp[15] = 0) then
if (Symbol >= 2) then Inc(Symbol, 1);
begin // All but scatter, also checking wild/substitutes.
if (S1 = Seed) OR (gold_bonanza.Sym[S1].Sub) then Inc(Symbol, 1);
if (S2 = Seed) AND (Symbol >= 1) OR (gold_bonanza.Sym[S2].Sub) AND (Symbol >= 1) then Inc(Symbol, 1);
if (S3 = Seed) AND (Symbol >= 2) OR (gold_bonanza.Sym[S3].Sub) AND (Symbol >= 2) then Inc(Symbol, 1);
if (S4 = Seed) AND (Symbol >= 3) OR (gold_bonanza.Sym[S4].Sub) AND (Symbol >= 3) then Inc(Symbol, 1);
if (S5 = Seed) AND (Symbol >= 4) OR (gold_bonanza.Sym[S5].Sub) AND (Symbol >= 4) then Inc(Symbol, 1);
Joined: Mar 27, 2011
  • Threads: 0
  • Posts: 7
April 6th, 2011 at 6:20:58 AM permalink
Hey GrimR & nmacgre,

thank you very much for your replies. It helps a little bit.
But to not spam my questions about the programming i sent you @GrimR a PM.
Thanks for posting the piece of code you did, it's a bit hard to understand :) because this kind of programs is really new to me.

Best regards
Joined: Jan 28, 2013
  • Threads: 0
  • Posts: 4
February 20th, 2013 at 12:52:14 AM permalink
Fantastic website....I have done the formulaic solution easily with no vba nested loops for all payline combos including wilds for quickhits platinum slot machine, doing some math research and hope to post results in next few months

  • Jump to: