ukaserex
ukaserex
  • Threads: 21
  • Posts: 262
Joined: Jul 12, 2015
January 7th, 2016 at 11:46:37 AM permalink
So, I get bored at work.

I post more than probably what is interesting or useful. Sorry.

I'd like some more insight on how a VP machine works, if possible.

I've read through various sites - they all claim the results are determined by the RNG.

But, how can that be? If it's really run by RNG, how can they control the payback percentage? They've got to have some sort of control over that - or there would be no way to assure a given payback percentage...right?

What am I missing?

Thanks.
"Those who have no idea what they are doing, genuinely have no idea that they don't know what they are doing." - John Cleese
DJTeddyBear
DJTeddyBear
  • Threads: 207
  • Posts: 10996
Joined: Nov 2, 2009
January 7th, 2016 at 11:53:49 AM permalink
It's not a guaranteed payback.

It's a mathematical payback.

IE, if you cycled thru every possible shuffle, and played with perfect strategy, that would be the payback.
I invented a few casino games. Info: http://www.DaveMillerGaming.com/ ————————————————————————————————————— Superstitions are silly, childish, irrational rituals, born out of fear of the unknown. But how much does it cost to knock on wood? 😁
Romes
Romes
  • Threads: 29
  • Posts: 5602
Joined: Jul 22, 2014
January 7th, 2016 at 12:06:02 PM permalink
To explain that a bit further... It sounds like what you're thinking is "The machine must pay back 99%... in the last 10 days it's only paid back 50%, so it must be DUE to pay more back to hit that mark, right?!?!" This is wrong. The machine is set up mathematically (the amount of the payouts for the given hands) to only give back 99%, or whatever the payback is according to the pay table. The RNG is simply used to select cards at random and it has nothing to do with the payback percentage.

Fun programming fact: It's near impossible to make a 100% truly random RNG =). Don't go trying to figure out 'patterns' or anything. I say this because while it's "technically" true, the RNG's we have access to are essentially that, random. It's a technicality that I can say that, so again, don't take that somewhere you shouldn't =p.
Playing it correctly means you've already won.
Wingnut
Wingnut
  • Threads: 0
  • Posts: 38
Joined: Jun 21, 2015
January 7th, 2016 at 12:09:06 PM permalink
I'm not a VP player.

Maybe what you are missing is that the RNG draws only from the remaining deck of cards.

When you have 4 to a royal the RNG will never give you a rutabaga as your fifth card since its a vegetable not a playing card. It will only draw from the remaining 48 cards.

The payback percentage is controlled from the payouts that are given for premium hands and those hands always have the same chance of occurring when you are using a normal 52 card deck, sans rutabaga. When the payouts for these premium hands change the payback percentage changes since the cards never change.

At least that's how I see it.
Romes
Romes
  • Threads: 29
  • Posts: 5602
Joined: Jul 22, 2014
January 7th, 2016 at 2:16:04 PM permalink
Quote: Wingnut

I'm not a VP player.

Maybe what you are missing is that the RNG draws only from the remaining deck of cards...

Actually, the deck is set up in what's called an Array, or a Vector. This is like a "list" that keeps track of objects. The cards are just objects with 2 values... Rank and Suit. The RNG will get a random number from 1-X, where X is the number of remaining cards. Then whatever card is in that "slot" will be what's selected. Thus, the RNG simply gets a random number from 1-X... It doesn't pick the cards themselves.

Pseudo-code example:

Make an array called "TheDeck" with 52 spaces and assign the 52 cards to those slots. Then they'll have something mix it up so it's "shuffled."

TheDeck[0] = As
TheDeck[1] = 3c
TheDeck[2] = Jh
...
TheDeck[51] = 9c

So when you click "Deal" the RNG gets a number between 0-51... Then the program calculates "Card 1 = TheDeck[RNG_Number]". There's different ways to program it from here. One could remove the card from "TheDeck" and re-size the array one less, or one could mark "TheDeck[2] = 'X'" so that the program knows that card has been dealt and to choose another.

When I programmed a few sims I built a deck with what's called a vector. I shuffled all the cards, randomly loaded them on to the vector, then when dealing (for blackjack) I "popped" them off the back so they were in essence gone from "the shoe." I think this is the cleanest way to do it so that you just have cards coming at you that are "random" and you don't have to constantly re-mark or flag a spot as dealt or not. You play the game, then re-initialize the deck/shoe and do it all over again, which is what VP should be.

You can do anything with programming =P.
Playing it correctly means you've already won.
Wingnut
Wingnut
  • Threads: 0
  • Posts: 38
Joined: Jun 21, 2015
January 7th, 2016 at 3:07:20 PM permalink
You can do anything with programming =P.



Yes YOU can. Me, not so much.
  • Jump to: