Online Video Poker (maybe)

4 of a kind

Repeated violations of forum rule 1.16 - troll
Joined
Mar 11, 2009
Location
New York
One of the main reasons I stopped playing online over a year ago after playing Video Poker endlessly for a good 9/10 years, was the direct result of suddenly having such ridicules results endlessly for two years in a row. I was convinced the game was nothing more then a slot machine and my sudden change in outcomes (for over two years) was a result of the RTP being adjusted like a slot machine. I could only assume the previous settings were probably close to the expected 99.5% return since I certainly couldn’t tell the difference, or had any complaints regardless how much I lost during that time.

I tried like hell to find out how online Video Poker was really being dealt using a server, and most here already know what my endless efforts were able to confirm which was absolutely nothing.

I read this article today in Casino Player magazine and think it could shed some light on how Video Poker being dealt from a server actually works. It clearly explains the differences between Class 111 and Class 11 Video Poker machines.

I’d be willing to bet this is exactly how online Video Poker (and all other table games) actually works. Since there is no way to confirm how online poker (or any other table game) actually works one way or the other (except for hear say), I see no reason why not to believe it is a Class 11 program that runs off of a server.

Here is the article:

There are different types of Video poker machines and it’s a rather complex subject, but I’ll try to keep it brief. The video poker machines that you see in, say, Las Vegas or Atlantic City, are Class 111 machines, meaning the cards are randomly selected by a random number generator (RNG) from a 52-card deck. Once the initial five-card hand is dealt, you can hold whatever cards you want, and then the RNG will deal replacement cards from the remaining 47 cards (i.e., from cards that you did not hold).

Because the cards are randomly dealt, you can calculate with great accuracy the odds of getting a royal flush, straight flush, or five–of-a-kind in the case of Joker Poker. In addition, your playing decision (i.e., which cards you hold) does affect the final outcome of the hand. On the Class 111 machines, you can determine the return of the machine by looking at the pay schedule. For example, a 9/6 jacks-or-better game will have a 99.5% return (assuming you play your hands perfectly).

The video poker machines in NY racinos are Class 11 machines, meaning the results are NOT determined by random selection of cards from a 52-deck. The video poker (and slot) machines in NY are actually video lottery terminals (VLT’s). They work on the same basis as an instant lottery scratch-off ticket, meaning the terminal receives the next ticket from the lottery central computer and displays the predetermined outcome on the VLT. Therefore, there is no skill involved in VLT’s. All VLT’s in NY racinos must return a specific percentage (it used to be 92% but I’m not sure what it is now).

Therefore, even though players think they are playing a high return 9/6 Jacks-or-better machine (or in your case a Joker Poker machine), the pay schedules you see on VLT can not be used to determine the return on the machine. We can calculate what the odds are of getting five-of-a-kind on a Class 111 VP machine but we have no idea what it is for a Class 11 VLT machine.
 
Wild Cards suddenly cease playing

One of the main reasons I stopped playing online over a year ago after playing Video Poker endlessly for a good 9/10 years, was the direct result of suddenly having such ridicules results endlessly for two years in a row. I was convinced the game was nothing more then a slot machine and my sudden change in outcomes (for over two years) was a result of the RTP being adjusted like a slot machine. I could only assume the previous settings were probably close to the expected 99.5% return since I certainly couldn’t tell the difference, or had any complaints regardless how much I lost during that time.

I tried like hell to find out how online Video Poker was really being dealt using a server, and most here already know what my endless efforts were able to confirm which was absolutely nothing.

I read this article today in Casino Player magazine and think it could shed some light on how Video Poker being dealt from a server actually works. It clearly explains the differences between Class 111 and Class 11 Video Poker machines.

I’d be willing to bet this is exactly how online Video Poker (and all other table games) actually works. Since there is no way to confirm how online poker (or any other table game) actually works one way or the other (except for hear say), I see no reason why not to believe it is a Class 11 program that runs off of a server.

Here is the article:

There are different types of Video poker machines and it’s a rather complex subject, but I’ll try to keep it brief. The video poker machines that you see in, say, Las Vegas or Atlantic City, are Class 111 machines, meaning the cards are randomly selected by a random number generator (RNG) from a 52-card deck. Once the initial five-card hand is dealt, you can hold whatever cards you want, and then the RNG will deal replacement cards from the remaining 47 cards (i.e., from cards that you did not hold).

Because the cards are randomly dealt, you can calculate with great accuracy the odds of getting a royal flush, straight flush, or five–of-a-kind in the case of Joker Poker. In addition, your playing decision (i.e., which cards you hold) does affect the final outcome of the hand. On the Class 111 machines, you can determine the return of the machine by looking at the pay schedule. For example, a 9/6 jacks-or-better game will have a 99.5% return (assuming you play your hands perfectly).

The video poker machines in NY racinos are Class 11 machines, meaning the results are NOT determined by random selection of cards from a 52-deck. The video poker (and slot) machines in NY are actually video lottery terminals (VLT’s). They work on the same basis as an instant lottery scratch-off ticket, meaning the terminal receives the next ticket from the lottery central computer and displays the predetermined outcome on the VLT. Therefore, there is no skill involved in VLT’s. All VLT’s in NY racinos must return a specific percentage (it used to be 92% but I’m not sure what it is now).

Therefore, even though players think they are playing a high return 9/6 Jacks-or-better machine (or in your case a Joker Poker machine), the pay schedules you see on VLT can not be used to determine the return on the machine. We can calculate what the odds are of getting five-of-a-kind on a Class 111 VP machine but we have no idea what it is for a Class 11 VLT machine.

It also appears that online Video Poker can and is controlled by the casino.
For instance I had recently had a stream of "good luck" and won three or four sets of 4 wild cards which is a pretty neat sum to win. I was able to cash out two times in a few days---BUT THEN I suddenly found that getting a single wild card was like being in the desert with no water.

It was VERY OBVIOUS that the wild cards had been shut down to near to nothing. After that I lost a quite a bit with not even any small wins. It was almost as if the deuces had been removed. Their percentage of play certainly was cut way down.

Just an observation of course, no way to prove it----but it was and still is very noticeable!

With wild cards it is very easy to see the difference, but in the Jacks games it is difficult to impossible to tell if they are manipulated.

IMO
MaryJean
 
I have to admit that it would be really great to find out which class on line casinos use. Other than Slotland, which admits it is run like a slot game (Class 11 machine?), the other casinos all swear they are not run like slots. Why is it so hard to get a straight answer on this? With regulation here in the USA, I do think we WILL get a straight answer, another reason to hope for it. Although overseas they do have regulation and they have no answers either? I guess real card players would definitely NOT play if the case turned out to be the Class 11 machines?

Good find, 4oak! :thumbsup:
 
I contacted several casino reps from here and asked them to respond to article above. If I hear anything I will post it. Here is a copy of what I sent them:



Hello,

I found an article in casino player magazine explaining how Video Poker actually functions when operating off a server. Could you possibly ask your technical department if this is in fact how your Video Poker functions since your game also comes from a server?

Please take a minute and read the article which is posted here: https://www.casinomeister.com/forums/threads/online-video-poker-maybe.46628/

Thank you for your time,

Carl (4 of a kind)
 
Last edited:
Well, 4 of a Kind...this got so long that it wouldn't all fit into a private message, so I figured I might as well post it in-thread...hope you don't mind.

Here's what I know. I've heard of the "class 11" video poker games, that are like the British fruit machines or the slots in Washington State, where the payouts are centrally determined. It's a pretty dumb idea, if you ask me. It takes all the fun out of the game. And I don't see the point of it. We set our odds the old fashioned way: Our machines pay out 8-5, and make no apologies for it :). At least the player knows what they're getting.

I wrote the StrikeSapphire software my own way, and it's not exactly like what most other online casinos do. (I think 3Dice's system may work like ours, based on things Enzo's hinted at on the board, but I don't know). What we do is this: We have a master database called "hands". It's basically just a spreadsheet with five columns, and it's used for all card games in the system, from blackjack to hold'em to video poker. Column #1 has the unique hand ID of the current state of the deck. Column #2 has the ID of the table or the machine that the deck belongs to. #3 just has a one or a zero saying whether this hand was a new shuffle, or if the deck was carried over from the last hand on the same shoe. #4 & 5 are two big text fields full of cards, which are represented by two letters each with no spaces, like AS6HXD[...] where X is 10. The first one of these fields holds the original, fully shuffled deck or shoe, and gets carried over from one hand to the next until the deck is reshuffled. The second field starts with an exact copy of that fully shuffled deck and is reduced by one card every time a card is dealt (always the first card off the top), and whatever's left in that field gets carried onto the next hand if there isn't a new shuffle. Obviously in video poker there's a new shuffle every hand, but the system still applies. The purpose of having the second field is that we don't have to store each deck in the live game program. It's "stateless", which means that if the system crashed or something, it would stay in the database just the way it was left, and the game would pick up from there. It's also helpful because we don't shuffle between every two hands of blackjack -- we shuffle a six-deck shoe initially and just keep reducing cards off that second text field as they're dealt out, until we've used about 2/3rds of the shoe. At the end of every day, the results of the first text field (all the shoes) are automatically put into a new HTML file on our Link Removed ( Old/Invalid) where players can go to any date since we opened and see all the shuffles for that day.

In other words, in our system, the cards are predetermined by the shuffle, just like they would be on a blackjack table with a non-continuous shuffler in a real casino. Most online casinos don't do it quite like what I just described. From what I know, most of them -- in video poker at least -- just create a new unshuffled deck for every hand. Then for each card they want to deal, their RNG spits out a number between 1 and however many cards are left in the deck, and the game program removes the card from that position in the blank deck and gives it to the player. Statistically, and in terms of odds and randomness, it makes zero difference whether they do it that way or preshuffle, but I like the preshuffle because it helps me keep cleaner records, I think it's more fail-safe, it's easier to show a paper trail, and it just feels more formally correct to me, personally. But I grew up around dealers and pit bosses when Vegas was still Vegas, and this is how I think it should be done.

Now -- it may be that some online casinos out there are actually not shuffling at all, but picking cards based on whether a central server wants you to win this hand or not. I don't know. It's true that once you start picking out of a new deck, it's a little harder to prove just how or why you picked that card next. But I do know that if you wanted to create that kind of system without shooting yourself directly in the foot, it would be a lot more difficult to program than a preshuffle or a truly random pick, and I think it's highly unlikely that online casinos are doing it, and here's why:

From a technical standpoint, a parimutuel or fruit machine / class 11 kind of system should work fine on a very-low-latency network, like the closed revenue network on a casino floor, or else over the state lottery's closed-circuit lines. But it probably wouldn't work at all for a casino that was distributed all over the internet, with servers in various countries where they need to be to make the system fast. It's damn hard writing even a single progressive jackpot for a slot under those circumstances. The main problem you get into with something like that is the latency/concurrency trade off, or what in programming is called a "thread race" or a "race condition".

Let's say you have 30 video poker games going on at the same time in ten different countries, and you want some central server to go "lose, lose, lose, win 1, win 2, lose, win 5..." etc. based on some expected RTP and volatility level it's trying to maintain for the casino as a whole. And then the local game server will take that info and choose the card that causes a win or a loss based on that. And for the sake of simplicity, let's say you don't care which player gets what, so you just program that central server in advance with a big list of wins and losses in some order that adds up to the right overall RTP. Now all you have to do is have each game server call up that central server and get the next win or loss off the master list, right? But it's not so simple, because there are ten other servers calling it at the same time. *And getting something off the list is a two-step process. First you have to read it off the top, then you have to remove it from the list. You can't guarantee that some other game won't call up in between and get the same number the server just gave out, before it gets deleted. Meaning it could give out the same royal flush several times in a row unless it's locked for the duration of its transaction with each game server.* So each game requesting the next win or loss from the list puts a "*read/write* lock" on the central server, telling it not to let any other game get a result until this result's sent, confirmed, and taken off the list. The problem with that is then latency. At the best of times, it takes about 200ms to send a packet from the Canada to the UK. About 300-350ms from the UK to Hong Kong. You get ten of those games waiting on each other to finish, and within a few minutes those delays would start to pile up to several seconds. When you get to the point where game 1 is waiting for game 10 to finish, and game 10 is waiting for game 1 to finish, you're in a deadlock situation and the system collapses.

True, they could just let each local game server run its own copy of the list, but again what's the point of doing it that way? Then they'd have to synchronize all those lists! All it would achieve for the casino is massive additional overhead...either way it's a self-destructive idea for the casino, and in the worst case it could bring the whole thing down.

Anyway, sorry to ramble on. Hope that helps a bit, at least give you some insight into how we operate if nothing else. I'm happy to answer any other questions you've got!
 
Last edited:
I contacted several casino reps from here and asked them to respond to article above. If I hear anything I will post it. Here is a copy of what I sent them:



Hello,

I found an article in casino player magazine explaining how Video Poker actually functions when operating off a server. Could you possibly ask your technical department if this is in fact how your Video Poker functions since your game also comes from a server?

Please take a minute and read the article which is posted here: https://www.casinomeister.com/forums/threads/online-video-poker-maybe.46628/

Thank you for your time,

Carl (4 of a kind)

It's probably worth phoning the software providers 4oak (RTG, MG, Playtech etc - Wagerworks already publish their RTPs) as I suspect the casinos who licence the software from them won't know the answer.

That said, I remember iNetBet stating one variant of their Joker Poker had a 100%+ RTP so maybe they are worth contacting for info.
 
Hey Jstrike.....maybe you could send some screenshots of your backend? (I mean your casino BTW....)

Maybe the other providers will follow suit and we can all learn something.

I think it is very interesting that you state that it is more trouble than its worth to rig video poker like that.......its what I've always said, the casinos don't NEED to 'rig' the games.....they're already intrinsically rigged anyway VIA the natural odds I.e. if you offer 36/1 for a 38/1 chance you're going to make money without any other interference.
Someone mentioned "not seeing wilds any more". Unless you count the number each session, it is impossible to make that claim and be taken seriously. When players have lots of nice hits with lots of wilds they don't complain that there's something wrong with the game because they're being dealt too many wilds. It's only when the odds and variance catches up with them and the wild wins dry up that they shout 'rigged'.
 
Screenshots! This is what it looks like typically. What you see are the shoes as they were initially shuffled (you can see which are single-deck and which are 6-deck). Then on the back-end we can see how each hand was played. On a side note, the only decks we don't publish are the ones from regular poker games like Hold'em ...obviously, to maintain players privacy. When we get a request for hand histories, we run them through a program that shows the history of the hand as it was seen from the perspective of the player who made the request, so they can only see their own cards in the history, and other players cards that were actually exposed.

Picture 2.jpgPicture 3.jpgPicture 4.png
 
Thanks for your reply jstrike, and it was very informative. Your points make a great deal of sense. But, since you could only confirm the way you programmed your casino, could it be possible especially with today’s technology that there is a more advanced hardware and software program that could easily overcome the delay issues that you suggest could cause problems?

I know from personal experiences after playing for years at the same 2 casinos that both sites would randomly be playing the hands much slower then usual on different occasions. This usually would occur during peak times like weekends. Could these lag times have been a result of the server waiting for its turn? Some times I would close out and re-enter the casino thinking it was my connection, only to face the same issues. When the delay became unbearable and annoying I would go to the other site and everything was fine, which might indicate the other site was busy.

We know all games are naturally rigged with a built in house edge, but this type of software certainly would give the casinos much more control of net profits.

Maybe some of the other reps I e-mailed could inquire about their software programs and respond also.



(Note) I re-sent the link to reps again where it didn’t post right the first time. Thanks for the heads up jstrike.
 
The only problem with this theory (online being a class 2 type game) is that in all the hands I played online, I don't think I ever got the same cards I had discarded before the draw. Wait.... there was a weird VP at... was it Intercasino? where that would happen. But it was a known factor in the game. If online VP were class2 type machines, the paytables are smoke & mirrors.

There's a screenshot on the forum somewhere from a good win at a NY Racino. Discards had been re dealt on the draw. Typical VLT behavior.

However... I also grew uneasy about online VP the last year or so that I played, for the simple reason that online VP doesn't feel like the games I play in B&M. I also have the same feeling, but to a much greater degree, about online BJ. But my opinions and feelings are a moot point -- except for my personal decision as to what games I played online. Do I think they're 'rigged'? No. But it's my opinion that even though a 97% payback VP game may be 97% at the end of the year for the casino... I'm not sure about the way the RNG gets it there.

(disclaimer: I haven't played online in over two years)
 
Wait.... there was a weird VP at... was it Intercasino? where that would happen. But it was a known factor in the game.

Yes it was Inter and it was a deliberate nd publicised change. The reason I stopped playing there actually.
 
...could it be possible especially with today’s technology that there is a more advanced hardware and software program that could easily overcome the delay issues that you suggest could cause problems?

The latency's a physical limitation of sending data over the open internet. I don't think it can be overcome. Progressive slot payouts have exactly the same problem, even in B&M casinos on closed networks. I've read the tech specs from the NGCB about how progressive pots have to be set up, and basically they say that from the instant the system knows a progressive jackpot is hit (when the player pulls the slot handle -- not when the reels finish spinning), it has to go through a "Progressive Controller" that does at least 8 logic checks on it, which basically means enforcing a delay of several seconds to make sure that no other machine is pulled in the casino that hits that pot at the same time. It's the same basic problem of two servers getting the same result in the lag-time over the internet, except on a busy set of video poker machines where every single hand had to come out of the same controller, the odds of it happening would increase astronomically the farther apart the machines are.

I know from personal experiences after playing for years at the same 2 casinos that both sites would randomly be playing the hands much slower then usual on different occasions. This usually would occur during peak times like weekends. Could these lag times have been a result of the server waiting for its turn? Some times I would close out and re-enter the casino thinking it was my connection, only to face the same issues. When the delay became unbearable and annoying I would go to the other site and everything was fine, which might indicate the other site was busy.
It's hard to say what site slowdowns mean. On my site, with no central controller, just a central RNG, we can still get lag during peak hours on any given game server just because it's getting a lot of hits. We even get deadlocks, and it happens on the "hands" database most often. Reason is, to keep that database slim and fast, we pull off the older hands every few minutes, back them up and remove them from the game server. But meanwhile, new hands are being added by players, and these have to wait for the backup/read lock. Usually it takes a quarter of a second to do the backup, so you wouldn't really notice. But if we have a lot of people playing at the same time, there are unlucky occasions where the system starts writing a shuffle right between when the backup reads the old hands, and when it tries to delete them. When that happens, the backup already has a read lock, but can't get its write lock, and the new deck coming in has a write lock, but can't get its read lock. That's a deadlock. The whole game server then chokes for about 30 seconds until the locks are released and it tries again. (The upshot to stateless hands is, this doesn't lead to disconnections or loss of data -- it's just annoying). It's one of the trickiest problems there is. You can never predict when it'll happen, and I've been trying to solve it for months with a combination of pre-checks and tiny little delays right before the backup, but so far the best I can do is improve it. It used to happen 3 or 4 times a day on busy days and now I've got it down to once or twice a week. But again, that's on one game server, with no controller system at all.

Maybe some of the other reps I e-mailed could inquire about their software programs and respond also.
I hope so, and I hope they get technical about it! It'll make interesting reading for sure.
 
I've read the tech specs from the NGCB about how progressive pots have to be set up, and basically they say that from the instant the system knows a progressive jackpot is hit (when the player pulls the slot handle -- not when the reels finish spinning), it has to go through a "Progressive Controller" that does at least 8 logic checks on it, which basically means enforcing a delay of several seconds to make sure that no other machine is pulled in the casino that hits that pot at the same time. It's the same basic problem of two servers getting the same result in the lag-time over the internet, except on a busy set of video poker machines where every single hand had to come out of the same controller, the odds of it happening would increase astronomically the farther apart the machines are.


The delay when a player hits a progressive jackpot of course being one of many machines linked together makes sense. Yet, why would it matter if two different players playing the same video poker game at the same time at the same casino both nailed the RNG on a royal? Hitting the royal or any other hand regardless how often and by how many different players should be just another statistic in the random facts of the RNG's numbers.
 
The delay when a player hits a progressive jackpot of course being one of many machines linked together makes sense. Yet, why would it matter if two different players playing the same video poker game at the same time at the same casino both nailed the RNG on a royal? Hitting the royal or any other hand regardless how often and by how many different players should be just another statistic in the random facts of the RNG's numbers.

If they're hits off an RNG, there's no concurrency or latency problem like there is with a progressive jackpot or a class 11 slot. In fact, the RNG can open lots of connections at the same time to different servers, because it's just spewing out noise, not operating off a centralized list. Getting a number off an RNG is more like tuning into a radio station...it's a read-only operation. Doesn't matter how many people tune in at the same time (if you have the bandwidth), or if it's simultaneous, because it's going to get whatever random numbers are coming out at the time either way. There's no doubling problem there. Whereas getting a win or loss off a master control list (or a progressive) is like keying on a CB radio and asking a dispatcher for the next fare, it hogs up the channel and the dispatcher can't take any other requests until he's given you the next ride, and if you have a bunch of dispatchers then they all have to check with each other so they don't give the same fare to two drivers.
 
4 of a Kind,

By the time I received your PM your thread had grown quite a bit.

So, your original question:

Could you possibly ask your technical department if this is in fact how your Video Poker functions since your game also comes from a server?

Relative to the article in Casino Player magazine that you reference, our Video Poker games are "... Class 111 machines ..."

I noted that JStrike posted the following:

I hope so, and I hope they get technical about it! It'll make interesting reading for sure.

Here's what I've got.

All of our card games basically operate the same way, but because I'm using specific numbers below I'll qualify this as applicable to all of our 52-card single-deck games (4 no-Joker Video Pokers and 4 no-Joker Table Pokers).

We create what is called an "integer array", with what are called "array indexes", numbers ranging from 0 to 51. We populate the array sequentially with numbers ranging from 1 to 52. (Array index 0 contains the value 1, array index 1 contains the value 2, and so on).

We then make our first call to the RNG, asking it for a number between 0 and 51. We find the number in the array at that index, "pull" this number out of the array and add it to the "hand", then collapse the array. (That is, all of the "cards" above the one we just pulled move down one position in the array.)

We then make our second call to the RNG, asking it for a number between 0 and 50. We pull that card, add it to the hand, collapse the array, ask the RNG for a third number between 0 and 49. And like that.

So, we wind up with 5 unique numbers between 1 and 52: 17, 2, 4, 47, 21.

We translate these numbers into "card names": 1 = "ah" = Ace of Hearts; 14 = "ad" = Ace of Diamonds; etc.

We then return to the Player the resulting 5 cards, in the order in which they were "dealt".


As JStrike mentioned, some software providers shuffle the entire deck (the randomize action) and deal off the top (the static action). We start with a fixed array (the static action) and deal out of the stack (the randomize action). If you think about it, the result is the same.


The Player decides to Hold the cards in positions 1 and 3 (a pair of 4s). Our Flash file sends this "Hold cards 1 and 3" data to the server.

The server retrieves the original 5 cards from storage. It rebuilds a fresh array as above, then removes these original 5 "cards" from the array. It then collapses the array. It "throws away" the cards in positions 2, 4 and 5, leaving the cards in positions 1 and 3 still in the "hand".

It then asks the RNG for a number between 0 and 46, pulls that card from the array, collapses the array, asks the RNG for a number between 0 and 45. And like that.

We now have the final "hand": 17, 16, 4, 32, 33.

We throw this set of numbers into a "scoring engine". This code asks 9 questions, stops at the first Yes, and returns a score factor.

  1. Is this hand a Royal Flush?
  2. Is this hand a Straight Flush?
  3. Is this hand Four of a Kind?
  4. Is this hand a Full House?
  5. Is this hand a Flush?
  6. Is this hand a Straight?
  7. Is this hand Three of a Kind?
  8. Is this hand Two Pair?
  9. Is this hand Jacks or Better?
This score factor (for the Jacks or Better game) is a 1 for a Jacks or Better, a 2 for a Two Pair, a 3 for a Three of a Kind, etc. In other words, the score factor is the pay table.

(If this code exits without a Yes, then it returns a score factor of 0 = not a winning hand.)

We multiply your total bet times the score factor to get your "Paid" amount (taking into consideration the special multiplier for a 5-coin Royal Flush), again translate the card numbers into card names (as above), and return everything back to the Player.

(You may note that all of Galewind's games that have an "X for Y" return - Slots, Keno, Video Pokers - display a "Paid" amount on the game console. All of our games that have an "X to Y" return display a "Win" amount on the game console/table.)

So, that's it. The server doesn't know what your last hand was, and doesn't care what your cards are (to the server they are just numbers). The hand is scored before your bet amount is even included in the calculations. There is no "global return limiter" that is factored into the game processing.

As I believe someone mentioned earlier in this thread, this ain't rocket science. It is nothing more, and nothing less, than the interface between an array of integers and a Random Number Generator.

In addition, nothing I've disclosed here can be exploited by a Player to gain an advantage, to "hack the code". I mean, what's to hack? There's an array, and an RNG. That's all she wrote.

Your conversation with JStrike has raised a variety of other questions. I have no problem addressing these other issues. However, I have kept this response on target with your original request.

Chris
 
JStrike,

Where you said:

I've read the tech specs from the NGCB about how progressive pots have to be set up, and basically they say that from the instant the system knows a progressive jackpot is hit (when the player pulls the slot handle -- not when the reels finish spinning), it has to go through a "Progressive Controller" that does at least 8 logic checks on it ...

First off - what is the NGCB?

And secondly, if the 8-step process is indeed a requirement, then this is another thing (Theoretical RTPs, Game Malfunctions) about accreditation board requirements with which I would have a concern.

In our application, single-client access to global resources (Progressive Jackpots, even the RNG algorithm) is controlled through the use of system mutexes. Mutexes are exceedingly fast (microsecond level, or less). There is a non-zero probability of a race conflict into a mutex, but I'd put that at the same level as the impact of a giraffe's fart on the speed of the earth's rotation.

So, bottom line, if the thread that has the mutex won the Jackpot, then by the time that thread releases the mutex (again, a microsecond), the Jackpot amount has been changed to its seed value.

That is, if 2 threads which each won the Jackpot request the mutex within a millisecond of each other, no race problem occurs; whoever got there first won the Jackpot, whoever got their second won the seed.

I guess I could understand 1 or, at the extreme, 2 layers of redundancy in the event of a processing error, but an 8-stop process? It seems to me that this would cause more problems than it would solve.

Chris
 
@binary128,

Might you be familiar with how other software providers Video Poker software presently used online operates?
 
Nice explanation.

Galewind are good, and they use the model I'm talking about, drawing a random card out of an unshuffled deck, versus drawing the top card off a shuffled deck. It's six of one, half a dozen of the other if you do it that way.

Now a good question is why states like NY and WA think players will vote for politicians who say it's in their best interests to have the games in the state rigged by a central machine, when the game's fairer, and more fun, and the odds are usually better if every machine has its own deck. I ain't got an answer for that, but I suspect it was designed originally to take the edge away from the house and give it back to the player. If the RTP was 100%, then I guess that'd be okay. That's probably how they sold the bill into law...and then predictably, the politicians got greedy and decided to drop the RTP to 92% and screw everybody.
 
JStrike,

Where you said:



First off - what is the NGCB?

And secondly, if the 8-step process is indeed a requirement, then this is another thing (Theoretical RTPs, Game Malfunctions) about accreditation board requirements with which I would have a concern.

In our application, single-client access to global resources (Progressive Jackpots, even the RNG algorithm) is controlled through the use of system mutexes. Mutexes are exceedingly fast (microsecond level, or less). There is a non-zero probability of a race conflict into a mutex, but I'd put that at the same level as the impact of a giraffe's fart on the speed of the earth's rotation.

So, bottom line, if the thread that has the mutex won the Jackpot, then by the time that thread releases the mutex (again, a microsecond), the Jackpot amount has been changed to its seed value.

That is, if 2 threads which each won the Jackpot request the mutex within a millisecond of each other, no race problem occurs; whoever got there first won the Jackpot, whoever got their second won the seed.

I guess I could understand 1 or, at the extreme, 2 layers of redundancy in the event of a processing error, but an 8-stop process? It seems to me that this would cause more problems than it would solve.

Chris

Missed this (must have shown up while I was responding)...
NGCB = Nevada Gaming Control Board. Sapphire's software is built to work on laptops or tablets inside a hotel, where players can change in or out of it at the cage. I tried to sell it that way before I opened the casino. I got some interest from a couple off-strip hotels, and then started having long conversations with the guys at the NGCB about this stuff. They're very interesting, bright, well informed and underpaid techies, basically. And there was no way in hell I was gonna come up with enough money to get it past the approval process... basically it would be at the end of the line behind any new game Bally introduced until I found half a million bucks lying around.

As far as the 8-step process, I don't really know what that's about. That's what it says in the rules. I agree with you, it's insane, because it doesn't take that many steps to check if you've got a conflict. Again, another example of the rules being written by bureaucrats that end up creating more problems than there were in the first place.
 
Might you be familiar with how other software providers Video Poker software presently used online operates?

No, I do not know. Although I have been writing online Casino code since 2000, I have always worked for my own companies, not any of the other software providers in the industry.

However, I read, and re-read, the following:

The video poker machines in NY racinos are Class 11 machines, meaning the results are NOT determined by random selection of cards from a 52-deck. The video poker (and slot) machines in NY are actually video lottery terminals (VLT’s). They work on the same basis as an instant lottery scratch-off ticket, meaning the terminal receives the next ticket from the lottery central computer and displays the predetermined outcome on the VLT. Therefore, there is no skill involved in VLT’s. All VLT’s in NY racinos must return a specific percentage (it used to be 92% but I’m not sure what it is now).

Therefore, even though players think they are playing a high return 9/6 Jacks-or-better machine (or in your case a Joker Poker machine), the pay schedules you see on VLT can not be used to determine the return on the machine. We can calculate what the odds are of getting five-of-a-kind on a Class 111 VP machine but we have no idea what it is for a Class 11 VLT machine.

and I wondered exactly how that would work.

For example, a player in my current deployment wagered $10 X 5 = $50 in a recent game of Jacks or Better, and was dealt the Ace of Diamonds, the Queen of Clubs and crap. Optimal Strategy would be to hold the Ace and Queen. For whatever reason, they held only the Ace. So, they did something unexpected. (They drew to a Royal Flush, BTW, a $40K winner, which is why I've specified their bet and why this example is fresh in my mind. But the point is, they did something unexpected.)

So, how could a fixed system predict the result based on an unpredictable response from the player?

Exactly how would this "... lottery scratch-off ticket ..." system have handled that? I inferred from the text that I quoted that as soon as you (essentially) click "Deal", your draw hand is already defined and waiting for you.

I'm left to wonder; how does this work?
 
No, I do not know. Although I have been writing online Casino code since 2000, I have always worked for my own companies, not any of the other software providers in the industry.

However, I read, and re-read, the following:



and I wondered exactly how that would work.

For example, a player in my current deployment wagered $10 X 5 = $50 in a recent game of Jacks or Better, and was dealt the Ace of Diamonds, the Queen of Clubs and crap. Optimal Strategy would be to hold the Ace and Queen. For whatever reason, they held only the Ace. So, they did something unexpected. (They drew to a Royal Flush, BTW, a $40K winner, which is why I've specified their bet and why this example is fresh in my mind. But the point is, they did something unexpected.)

So, how could a fixed system predict the result based on an unpredictable response from the player?

Exactly how would this "... lottery scratch-off ticket ..." system have handled that? I inferred from the text that I quoted that as soon as you (essentially) click "Deal", your draw hand is already defined and waiting for you.

I'm left to wonder; how does this work?

Video Lottery Terminal
From Wikipedia, the free encyclopedia

A Video Lottery Terminal or VLT is a gaming machine that allows gamblers to bet on the outcome of a video game.

A VLT is similar to a slot machine, in that each terminal is a stand-alone device containing a random-number generator. Each terminal is connected to a centralized computer system that allows the lottery jurisdiction to monitor game play and collect its share of revenue.

The outcome of each wager on a VLT is random. VLT operators are not able to program the total amount wagered, or payouts, through the central computer system. A minimum percentage payout usually is written into that jurisdiction's law. That percentage is realized not by manipulation of the game, but by adjusting the expected overall payout.

Some lottery devices that appear to be VLTs actually are computerized scratch-off lottery tickets, as the terminal does not contain a random number generator (RNG); the results that are displayed are controlled by the central computer. These devices display results from a fixed pool.
 
I know. It sounds like a bitch to program. I like a challenge though, so I'll give it a shot as if someone asked me to figure out how to do it for them.

What I'd do is, I'd send a signal from the server saying win or lose, and how much ideally under the circumstances, and then split the problem in two (win or lose) on the game server's side. If it's a loss, start dealing the lowest cards off the deck that aren't paired with anything or suited to a majority -- that's easy. If it's a win, start dealing the highest cards off the deck that are suited, paired or continuous, and choose from [paired, suited, continuous] based on the level of win specified by the central server, discarding from the possible options along the way, like if they held 3 cards that couldn't be made into a straight you get rid of the continuous option and you're left with [paired, suited]. But either way, it's a middleware problem of trying to figure out the shortest route to the desired payout, because the server already gave the command to win or lose, so you're just dealing with how to find the optimal cards to account for it and "make the hand" that the server requested.

So with AD-QC, if you wanted them to win > 249x the bet, you zero out pairs, trips and full houses, and then you zero out everything but straight flushes, and you deal out the highest, most suited, most continuous hand that's left in the deck. If you want them to lose, you pick the lowest random cards that aren't part of a straight or a flush (3C, 7D...) and deal those. It's a Google-esque logic problem, but not insoluble. The question is, is it solvable in the timeframe required to do it, and would it be worth anything to the house if you could... and I'd argue definitely not... because not only would it totally tweak the shit out of your hand history results, it would feel wrong to the player and it would be indefensible / indistinguishable from rigging the game.

And this comes back to 4 of a Kind's idea about trusting the casino. Yeah, you probably have to. Because even with Fairdice or anything else, they could still lay some software in the middle to screw you over. Even if they're licensed by Alderney, they could still be stashing $200M in bank accounts and go rogue on you. The only number that means anything is the number of complaints they have when you search them up on the CasinoMeister board, as far as I'm concerned. And if I was gonna play on any, I'd play at Galewind group's software or on 3Dice, because right now I think they have a major stake in being fair and aboveboard, and have a history of transparency. But that's what it boils down to -- how much you trust them and whether they have more to lose by lying to you than they do by paying you out. The rest is a numbers racket bullshit, and the ins-and-outs of how they can fake it are too numerous to count. So go with your gut, and if you don't play, don't play. But if you care about it, then demand transparency, and give some props to the guys who are doing it right... not many of us, but we're here =)
 

Users who are viewing this thread

Meister Ratings

Back
Top