What the hell 3dice

Tought about adding my 2cents.


chuchu, I was reflecting on "sessions" one plays at the same casino, not hands. Sorry for the confusion. There is always a run of bad I was saying, when is the run of good going to happen , and I do not mean 1 or 2 winning sessions vs 20-30 losing ones..why is it never the other way around if online casinos are fair? They should happen too IMO!

.

Actually not. An easy example:

I deposit 100 per time and then manage to win 2000 with 20000 in wagers. That gives a payout percentage of 110.

Now for the game to reach an payout percentage of 95 I "need" to lose 45 deposits in a row with an average payout of 85%.

This isnt even an extreme example, I have had way more extreme runs than this. Just change the wins, deposits, payout percentage etc and you can come up with quite surprising results.

And about playlogs:

Its actually not like that to request logs, they have been mentioned in this thread.
I once requested my playlog from an MG casino and it took about 3 months to get it (MGs "fault") and they were in a lump, basically a playcheck file. And it didnt even start from the correct date.
And Rivals doesnt even tell you your payout percentage so give some slack to 3Dice.

Complaining about payouts etc.
Edit: when you questionalize software fairness.
And when complaining about bad results you have to give some more information and stats than that you lost x amount of deposits in a row or that you "feel" the gameplay is not right.
Here is an perfect example on how to do it:

https://www.casinomeister.com/forums/threads/microgaming-blackjack.26003/
 
WOW... I still feel like top Banana!!!

Months into my 3Dice experience starting with $0.00...

I won a few tournies!!! I won money from the tournie wins...I spread it around...

To date I have put $750 in the bank...some of which was won from Rival bonuses funded by wins at 3Dice...

Still have over $250 in my casino playing wallet. And I am just goofing around and having a blast in the process!!!

I thought online gaming was supposed to be fun... you know....players against the machine?

There is an $1,100 Jackpot on Old Glory with a $.20 bet needed to win it....someone is going to win it and I hope it's me!!!

I still feel like Top Banana at 3Dice....thanks to everyone there!!!


:thumbsup:
 
Last edited:
Months into my 3Dice experience starting with $0.00...

I won a few tournies!!! I won money from the tournie wins...I spread it around...

To date I have put $750 in the bank...some of which was won from Rival bonuses funded by wins at 3Dice...

Still have over $250 in my casino playing wallet. And I am just goofing around and having a blast in the process!!!

I thought online gaming was supposed to be fun... you know....players against the machine?

There is an $1,100 Jackpot on Old Glory with a $.20 bet needed to win it....someone is going to win it and I hope it's me!!!

I still feel like Top Banana at 3Dice....thanks to everyone there!!!


:thumbsup:

If you havent made your first deposit at 3 Dice yet I am gonna request Enzo to suspend your account.:D:D

Great wins by the way.:thumbsup:
 
Based on my own experiences at 3Dice and the great player support, not to mention everyone's recommendation. I am going to make my first deposit at 3Dice once that elusive pay cheque comes in :)
 
The last time I checked, the standard tables for auto play, based on the particular payout schedule of each specific video poker game are what is in use at 3Dice Casino. An example is the Video Poker Calculator, a free download from Gamble Craft. Against every game at 3Dice, the calculator's suggestions match those of 3Dice's auto hold for any game there and every vairety of cards dealt. OK. I didn't check them ALL, but I checked for like a half an hour til I was satisfied.

Given that, I never auto play simply because I don't play Video Poker for the purpose of playing the maximum number hands given a finite bet amount and a finite bankroll. I don't care if I could have played 5.3 more hands with a $20 deposit @ 25 cents a bet before busting if only I had used auto play. Which is all auto play is designed to do.

For my goals in video poker, if unsuited faces are held, it's wrong. If two cards of the same suit are held and either one or both are not a 10, J, Q, K or A, it's wrong. If three cards of the same suit are held where all three cards are not enclosed within the parameters required to make a straight flush, its wrong. If a face card of a suit is held while the 10 in same suit is not held, it is wrong. If two or more face cards are dealt, all of different suits, whereby drawing to a pair in any one of them will pay the wager 1:1, (as in Jacks or Better the cards in question are J or higher, in 10s or better the cards in question are 10 or higher, etc) if the card held is NOT the card to the LEFT of all others as in the order which they are displayed on the screen, it is wrong. NO auto play follows these rules, which are finite and poured in concrete to be necessary to achieve what I, and many others, want to get out of video poker. So what's all the conversation about?
 
Last edited:
I want to have a virtual deck that is shuffled so what I need to do is move the values in "deck" around.

To do this I can get Two random numbers from my RNG from 1 to 52 and swap the corresponding values in my deck.
So for example my RNG generates 6 and 23 so we take the value deck(6)=6 and place it into the value deck(23) so that deck(23) now =6 and not 10 but also deck(6) will now hold deck(23) old value of 10.
We have now shuffled 2 cards in our deck.
This process can be repeated many Thousands of times a second so a good shuffle can be easily achieved.

I assume you do high number (1M etc.) of swaping in the following.

While your algorithm seems plausible. I think it is a flawed algorithm and will not generate uniformly random shuffles! Even if your RNG is unflawed!

The deck is rigged in other words. The algorithm is close to a "Knuth shuffle" which indeed is a fair/random shuffle, but even the smallest variations will often go bad.

About shuffling:
You do not have permission to view link Log in or register now.


Try read 'Poorly implemented Knuth shuffles' for an idea what can go wrong.

Instead of doing your swapping algorithm many thousand times, using the correct 'Knuth shuffle' you actually only need 52 swaps to archive a random deck.
 
The same lottery numbers CAN be drawn 2 weeks in a row - its extremely unlikely - but its possible.
Well it is possible, but the odds of the same six correct numbers coming up at random again are 5,400,000,000,000 to one :eek2:
Which lottery are you talking about? :confused:

The chances of the same numbers coming up twice on the UK National Lottery is approx 1 in 14,000,000

The chance of you picking the numbers which come up twice in a row are approx 1 in 196,000,000,000,000.

[/OffTopic]
 
I do recall the story from the California State lottery where there were two winners in two different cities on a quick pick ticket. Turned out the same travelling salesman had bought both of them! That's the same odds as the same number coming up twice in a row, multiplied by the odds of it being the winning ticket.

Infinite possibilities in an infinite universe.
 
I assume you do high number (1M etc.) of swaping in the following.

While your algorithm seems plausible. I think it is a flawed algorithm and will not generate uniformly random shuffles! Even if your RNG is unflawed!

Depending on your application, you may not need to 'shuffle' the deck. It's sufficient to simply take a random number between 1 and 52 and to keep track of the cards dealt, such that if the same number is picked twice you simply select another number. Whether this is efficient depends on whether you are selecting many cards or only a few, but most casino games only use a few cards - 3 card poker is 6, baccarat is 4 to 6, etc. This method has the advantage of being pretty much impossible to implement incorrectly.
 
Depending on your application, you may not need to 'shuffle' the deck. It's sufficient to simply take a random number between 1 and 52 and to keep track of the cards dealt, such that if the same number is picked twice you simply select another number. Whether this is efficient depends on whether you are selecting many cards or only a few, but most casino games only use a few cards - 3 card poker is 6, baccarat is 4 to 6, etc. This method has the advantage of being pretty much impossible to implement incorrectly.

This is basically what I use in my poker applets (JoB simulator, All-in Simulator).Instead of selecting same number twice, I remove the used cards and instead draw a random number between 1 and numbers left in deck.

But this has a very minor flaw if just implemented directly in most
programming languages. Most RNG has like a certain number of outcomes.
Lets say 2^32 etc. So getting a random number [0,1] and multiplying up to 1,2...,52. will only give each number same probability if (52 divides 2^32), which it does not.
 
This is basically what I use in my poker applets (JoB simulator, All-in Simulator).Instead of selecting same number twice, I remove the used cards and instead draw a random number between 1 and numbers left in deck.

But this has a very minor flaw if just implemented directly in most
programming languages. Most RNG has like a certain number of outcomes.
Lets say 2^32 etc. So getting a random number [0,1] and multiplying up to 1,2...,52. will only give each number same probability if (52 divides 2^32), which it does not.

Hmm, C# has a function which returns a random integer between x and y, Java will do it between 0 and y, I'm guessing they have no such flaw.
 
Hmm, C# has a function which returns a random integer between x and y, Java will do it between 0 and y, I'm guessing they have no such flaw.

I was talking about the standard RNG that returns a number in ]0,1[.
This is often used by multiplying and rounding to get a integer number in an interval, and this is the one I talked about. This is the 'old school' way.
I am sure you have used this yourself a few times ? :thumbsup:
I have...

The methods you refer to do not have this flaw I am sure. But they are probably far from trivial in implementation I guess. So yeah - you should use them when you are in C# or Java. I will do that in the future.
 
I was talking about the standard RNG that returns a number in ]0,1[.
This is often used by multiplying and rounding to get a integer number in an interval, and this is the one I talked about. This is the 'old school' way.
I am sure you have used this yourself a few times ? :thumbsup:
I have...

I think the last time was in gwbasic/qbasic :) int(rnd*100), something like that I think it was.

I decompiled the c# method:

long num = maxValue - minValue;
if (num <= 0x7fffffffL)
{
return (((int) (this.Sample() * num)) + minValue);
}
return (((int) ((long) (this.GetSampleForLargeRange() * num))) + minValue

protected virtual double Sample()
{
return (this.InternalSample() * 4.6566128752457969E-10);
}

private double GetSampleForLargeRange()
{
int num = this.InternalSample();
if ((((this.InternalSample() % 2) == 0) ? 1 : 0) != 0)
{
num = -num;
}
double num2 = num;
num2 += 2147483646.0;
return (num2 / 4294967293);
}

private int InternalSample()
{
int inext = this.inext;
int inextp = this.inextp;
if (++inext >= 0x38)
{
inext = 1;
}
if (++inextp >= 0x38)
{
inextp = 1;
}
int num = this.SeedArray[inext] - this.SeedArray[inextp];
if (num < 0)
{
num += 0x7fffffff;
}
this.SeedArray[inext] = num;
this.inext = inext;
this.inextp = inextp;
return num;
}


This is the constructor for the Random class:

public Random(int Seed)
{
this.SeedArray = new int[0x38];
int num2 = 0x9a4ec86 - Math.Abs(Seed);
this.SeedArray[0x37] = num2;
int num3 = 1;
for (int i = 1; i < 0x37; i++)
{
int index = (0x15 * i) % 0x37;
this.SeedArray[index] = num3;
num3 = num2 - num3;
if (num3 < 0)
{
num3 += 0x7fffffff;
}
num2 = this.SeedArray[index];
}
for (int j = 1; j < 5; j++)
{
for (int k = 1; k < 0x38; k++)
{
this.SeedArray[k] -= this.SeedArray[1 + ((k + 30) % 0x37)];
if (this.SeedArray[k] < 0)
{
this.SeedArray[k] += 0x7fffffff;
}
}
}
this.inext = 0;
this.inextp = 0x15;
Seed = 1;
}
 
I did it in basic also, was my first language. On my C64 - bring back memories :)

Well, that code is not easy to understand. The java implementation is a little
easier to read:
You do not have permission to view link Log in or register now.
)

But it is still not simple.
 
Several people complaining about VP autoplay, anyone could post an actual example where the autoplay makes a non-optimal choice? The programming for autoplay on VP isn't that complicated so until someone posts numbers it's a lot easier to believe that the players are wrong.

Well, I am one of the posters that have mentioned the VP autohold. I don't play it a lot in real, but I did today. Pretty sure holding the single 7 was not the correct play. I drew the whole hand, (not sure this was the correct play either, perhaps the unsuited faces were) and this is the outcome:

The last time I checked, the standard tables for auto play, based on the particular payout schedule of each specific video poker game are what is in use at 3Dice Casino. An example is the Video Poker Calculator, a free download from Gamble Craft. Against every game at 3Dice, the calculator's suggestions match those of 3Dice's auto hold for any game there and every vairety of cards dealt. OK. I didn't check them ALL, but I checked for like a half an hour til I was satisfied.

Given that, I never auto play simply because I don't play Video Poker for the purpose of playing the maximum number hands given a finite bet amount and a finite bankroll. I don't care if I could have played 5.3 more hands with a $20 deposit @ 25 cents a bet before busting if only I had used auto play. Which is all auto play is designed to do.

For my goals in video poker, if unsuited faces are held, it's wrong. If two cards of the same suit are held and either one or both are not a 10, J, Q, K or A, it's wrong. If three cards of the same suit are held where all three cards are not enclosed within the parameters required to make a straight flush, its wrong. If a face card of a suit is held while the 10 in same suit is not held, it is wrong. If two or more face cards are dealt, all of different suits, whereby drawing to a pair in any one of them will pay the wager 1:1, (as in Jacks or Better the cards in question are J or higher, in 10s or better the cards in question are 10 or higher, etc) if the card held is NOT the card to the LEFT of all others as in the order which they are displayed on the screen, it is wrong. NO auto play follows these rules, which are finite and poured in concrete to be necessary to achieve what I, and many others, want to get out of video poker. So what's all the conversation about?

Sorry, I was not able to manage the attachments better. Since I did NOT draw a pair of sevens, I don't think the autohold was predetermined to help me achieve the best hand either, I just think perhaps some errors in programming.

Please feel free anyone mathematically inclined to support 3Dice's autohold in this instance. It is not the only example I've seen like this, hence my prior posts. I do feel the RNG for the cards themselves seems fair, and I am used to playing VP land-based with no autohold except for a Royal.
 
I don't have any analyzer, but it doesn't surprise me if holding the 7 is indeed the correct play because of the way the Lucky Nugget paytable is. So much of the payout is in straight and flushes. The 7 is the card that gives the highest chance to get a straight as well as being the only spade which is probably enough to make it worth holding over drawing 5. Most likely the difference isn't big between drawing 5, holding the 7 and holding 3-5-7.
 
Hi guys,

Holding the 7 is indeed the most optimal strategy. I've included some screen shots from a popular poker analyzer that illustrate the difference between not holding anything - holding the 7 - holding the jack and queen - and holding the 3-5-7.

By not holding the 7 jas, you went for an expected return 4.2% lower .. The auto hold is there exactly to help you make those decisions that don't 'feel' natural ..

Let me close with a final thought. The auto hold is programmed to deliver the optimal playing strategy. Now since quite obviously we didn't manually verify every single option in every single game - and since humans are humans, it would be inaccurate to state that we can guarantee that you never encounter a wrongly held hand. However. In our integration tests we use the autohold code to play automatically to verify the payout percentage of the game. We can guarantee that with the 3Dice auto-hold all of the VP games we offer converge to the expected payout percentage with a precision of many digits behind the decimal separator. So even if the auto hold ever holds the wrong hands we can guarantee that it will never cause an offset on the expected payout of more than e.g. 0.00001% .. in essence .. we can guarantee that even if there are mistakes, they influence the result so little that it doesn't influence the total payout in a meaningful way. For example if the auto hold would have not held the 7 - we would've caught that with the described regression test.

ok, that last paragraph is just the mathematical way of what in layman's terms would be : "yes we're absolutely positively sure that the 3Dice VP auto hold is correct."
 
Hi Jas,

Almost .. holding the 5 would give you an expected return of 22.12% .. still slightly less .. the reason for that is that the cards from the first draw are out of the game when you draw the second time. So take a good look and you'll see that if we keep the 5 we throw away a 3 and a 7 .. all of the straights that you can make with a 5 have either a 3 or a 7 or both in them. And we're drawing from a book where we already know that one 3 and one 7 is gone.

If you however keep the seven, then the 3, the 5, and in some cases the jack are gone. but there's still combinations (6-7-8-9-10) where all cards are still in the remainder of the deck hence a slightly larger chance to get a straight, hence a slightly higher return than when holding the 5.

It may seem a bit strange - but holding the 7 as the auto hold suggested definitly was the way to go.

Greets,

Enzo
 

Users who are viewing this thread

Meister Ratings

Back
Top