Discount Gambling

Card Craps Simple Explanation

Posted in +EV, card craps, csm by stephenhow on June 10, 2012

I love the card craps at Viejas, not because I’m ever going to win any money there, but because it’s so obviously countable. However, it’s almost impossible to explain to anyone why the odds are different than dice, or why the game is countable. After all, they use a Constant Shuffle Machine (CSM) with 312 cards, right? So, once again, I’m going to explain how the card buffering in the exit chute of the CSM makes the game easily countable.

A picture is worth a thousand words. Example code and simulations are the proof of the pudding. All the code used in this example is available on github, where you can browse or download it.

You can read up on the details of card craps @ Viejas. Here’s how they play it. They use a normal craps layout, but replace the dice with two cards (1 thru 6), dealt out of a 312-card CSM. They take two cards out of the shuffler, call the roll, then muck the two cards back into the CSM. They allow 10x pass/dont odds on all points.

The reason why the CSM screws up the game (favors the dont’s) is that on the comeout, the two cards that just made the point have no chance of coming out on the next roll. Nor do they have any realistic chance of coming out in the next few rolls. This is because a CSM buffers a dozen or more cards in the chute where the dealer pulls the cards from. This buffer is necessary to deal blackjack. (Imagine the dealer waiting for the machine to drop one shuffled card at a time.)

Dice Baseline

Ok, so download the example code, compile and run it with the -d option for normal dice. The results are just as you’d expect. The pass line returns -1.42%, and the dont pass returns -1.36%, and odds and counting don’t make any difference:

>./cardcraps -d
using normal dice
1665000000 games:
pass flat: -0.0142, pass10x: -0.0144, pass w/count: -0.0142,
dont flat: -0.0136, dont10x: -0.0134, dont w/count: -0.0135

It takes billions of games to settle out the averages (especially when playing 10x odds), so don’t worry about the 1/100th of percents.

A) 36-Card Deck Is Same As Dice

At Pala Casino, they use a 36-card deck (one card per roll), and a simple deck shuffler. No buffer. Each card has a picture of two dice. The shuffler spits out one card from the red deck, one card from the blue deck. The player “roll” chooses between the blue or red card. Exact same odds as craps. At Pala, no one ever says anything like “How many cards are in there?”, or “This machine deals a lot of sevens!”.

B) 2-Card Roll Hurts Pass Odds

Now, let’s try the case B in the above diagram. We use the -c option to select an ideal shuffler, and -m 0 option to indicate no buffered cards in the chute.

>./cardcraps -m 0 -c
using CSM with 52 dice sets, and minBufferDepth of 0 cards
1265000000 games:
pass flat: -0.0137, pass10x: -0.0266, pass w/count: -0.0170,
dont flat: -0.0137, dont10x: -0.0053, dont w/count: -0.0075

This shows that even without a buffer, making a dice roll from two cards out of a perfectly shuffled 312-card shoe favors the don’t pass odds. You can use a simple spreadsheet to show this. The point is that you’ll distort the well-known dice roll distribution by using 2 cards dealt from a shoe. It’s a simple exercise to prove (a simple spreadsheet will give you the exact numbers).

Note the pass line player loses more by taking odds. The don’t pass player improves his return by laying 10x odds. That doesn’t happen in a regular dice game. In a dice game, taking or laying odds is fair (0 EV).

C) CSM Is Countable

At Viejas, they use a ShuffleMaster 126 CSM loaded with 312 cards. If you ever open the top (used to happen a lot when they had jams), you’ll see a buffer of approximately 16 cards in the exit chute. This distorts the game, and in general favors the Don’t Pass odds. Sometimes, a good count makes the pass odds +EV.

We’ll run the simulator for the CSM with a minimum buffer depth of 16 cards:

>./cardcraps -m 16 -s
using model of ShuffleMaster 126 CSM with 52 dice sets, and minBufferDepth of 16 cards
using window size of 6 rolls
2083000000 games:
pass flat: -0.0147, pass10x: -0.0420, pass w/count: -0.0011,
dont flat: -0.0126, dont10x: +0.0042, dont w/count: +0.0130

Now you see the pass line player is severely penalised for taking odds. I don’t think someone taking 10x odds on every point would think they’ve increased the house edge from a nominal 1.4% to a whopping 4.2% (of the flat bet). And we see that a don’t pass player laying 10x odds on every point now has a small 0.4% advantage over the house. Of course, there’s a lot of variance laying 10x odds to win an average (0.4%)(flat bet). Using a simple (and fun!) count, the don’t player has a 1.3% advantage over the house.

You can use the -v option in the cardcraps program to generate the statistics on the odds bet vs the count for each point. I ran the program, and plotted the results (don’t pass odds advantage; pass odds are inverted):

The correlation between the count and the next roll out of the CSM is clear. The count is simple and important! Quite often, you have a +/- 1-2% advantage in laying odds or taking odds. Where else can you play a craps game where the previous 6 rolls have a significant effect on the next roll?! The graph was generated with a fair simulator (using a Mersenne Twister 64-bit PRNG with a period of 2^19937-1).

Even though the game is +EV, the edge is small relative to the variance. No one will grind out any money from this game. However, it is a lot of fun to watch the rolls, know the count, and guess the outcome. Plus, the game is dealt on a table, so you get to sit and watch the rolls. And it’s probably 10x faster than a craps game with dice. You could get a roll every 5 seconds if you’re heads up with the dealer.

The count provides a fun, small predictor of the next roll out of the CSM. If you like counting, and/or predicting the next roll in craps, then you have to check out the card craps game. Here’s a video that shows how I play the game @ Viejas:

New Card Craps Practice Game

Posted in +EV, card craps, csm by stephenhow on February 21, 2011

The best way to understand counting for card craps is to see it in action. I wrote a new practice game to demonstrate counting against the point, and when it’s correct to lay odds with your Don’t Pass bet. The game is configured with the Viejas parameters (10x odds, 312 cards in a ShuffleMaster 128 CSM) so if you’re planning to check out the game, practice here first! Sometimes I just like watching the rolls, so I also included an “Auto” mode to continuously play by itself. This might give you an idea of session variance, and what to expect if you actually decide to play 10x odds.

Click on the screenshot below to play:

I like watching all the animation and highlighting. It’s a lot more fun to run the game in a browser window, and occasionally see how it’s doing, than it is to sit and grind it out at Viejas all day 🙂

Card Craps Source Code

Posted in +EV, card craps by stephenhow on February 3, 2011

If anyone is interested in verifying the CSM card craps edge (e.g., @ Viejas), I’m making the Java source code for the simulator/analyzer available here. You just need the Java SDK installed to compile and run the program. If your Unix environment is already set up for Java development, just follow these steps to get up and running:

>curl | tar zx
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 24576  100 24576    0     0  67205      0 --:--:-- --:--:-- --:--:--  105k
>cd card_craps
javac -Xlint warning: [unchecked] unchecked conversion
2 warnings
>java Analyzer
don't pass, 10x odds, 14 card min buffer depth, 6-roll window
0 rolls: net +1.0, EV/roll +Infinity%, EV/game +100.00%
1000000 rolls: net +2828.0, EV/roll +0.28%, EV/game +0.95%
2000000 rolls: net +9921.0, EV/roll +0.50%, EV/game +1.67%
3000000 rolls: net +12754.0, EV/roll +0.43%, EV/game +1.43%
4000000 rolls: net +24592.0, EV/roll +0.61%, EV/game +2.07%
5000000 rolls: net +36467.0, EV/roll +0.73%, EV/game +2.46%
6000000 rolls: net +47067.0, EV/roll +0.78%, EV/game +2.65%

There are several options to the program, so you can experiment with the different CSM model parameters:

>java Analyzer -h
usage: Analyzer <options>
where options include:
 -n <number of rolls>             specifies number of rolls to simulate (default 100 million)
 -d                               play Don't Pass line (default)
 -p                               play Pass line
 -o <max odds>                    specifies odds to take/lay for good count
 -b <buffer depth>                specifies minimum reservoir depth (default 14)
 -w <window depth>                specifies count window depth (default 6)
 -a                               print per-point statistics
 -h, --help                       display this usage
Place a space between the option and parameter value.

The program shows the game is +EV, but it’ll also show you the huge variance for any given session. You can use the -n 1000 option to simulate a session (1000 rolls is possible in a few hours, heads up).

+EV Field Bet for Two Shoe Card Craps

Posted in +EV, card craps by stephenhow on January 19, 2011

At some California casinos, craps is dealt using two 6-deck shoes, one for each die in a roll. Of course, the rolls in this type of game are not independent of each other, as a simple spreadsheet will show you. What is surprising is that a simple count of the 6-spot cards will yield +EV opportunities in the Field, provided the casino pays triple (3x) on boxcars, and double (2x) on snake-eyes on this bet. I’ve analyzed the Field bet for this game, assuming the house deals 1/2 the shoe before shuffling. The graph below shows the theoretical distribution of Field Bet expectation values (EVs) for this two shoe craps game.

The above graph shows that with exact knowledge of the cards dealt from the shoes, the Field Bet becomes advantageous (+EV) 6.44% of the time. The average advantage of a +EV Field bet using a perfect count (e.g., a spreadsheet) is 1.2%. If the house deals deeper than 50% of the shoe, these results will improve.

I found that a simple running count of the Six-spot cards is fairly good at extracting the edge out of the Field. The running Six-spot count works as follows:

  • Count the number of 6-spot cards contained in every three rolls.
  • Every third roll, add (1 – three_roll_six_count) to the running count.
  • The Field Bet is +EV when the running count is >= 7.

Intuitively, this count make sense, because you expect to see one 6-spot card in three rolls. The running count reflects the “excess” 6-spots in the decks, i.e., how loaded the decks are with 6-spots. A simple spreadsheet shows that the sensitivity of the 6-spot card is huge on the Field, because it pays 3x for boxcars (6,6). The effect of the Aces is very small compared to the 6-spot card.

The relationship between this simple running 6-count and the Field Bet EV was verified by Monte Carlo analysis, as shown in the following results:

The simple count only yields about 60% of the opportunities found by a perfect count (the count is +EV only 3.8% of the time, compared to the theoretical 6.44% limit). So while this is an interesting find, it’d be a little boring to stand around waiting to bet the Field once every 25 rolls or so. In practice, you’d probably wouldn’t even make a bet for 2 out of 3 shoes, but you’d bet often once the shoe went +EV. Overall, the average advantage per Field bet made is a little higher than 1%, and on average you’d make a net profit of 0.058 Field bets per shoe. So, even if you’re betting $100 on the Field when it goes +EV, you’d only make $5.80 per shoe. That’s a lot of standing around for sub-minimum wage with a lot of risk. But, if you wanted to “take a shot” at making a big win with a small number of big bets, this might just be the ticket for you (especially when the count gets really good).

Bankroll Requirements for Card Craps @ Viejas Casino

Posted in +EV, card craps by stephenhow on January 12, 2011

Often when I play card craps @ my local Viejas Casino, I wonder how profitable it would be to play the Don’t Pass Line, with 10x odds when the count is good. I know I could play lightning fast with a simple 3-roll window for the 5/9 and 6/8 points, and a 6-roll window for the 4/10 points. I know that this strategy would yield an average (+2.2%)(flat bet) per hand, or ($5)(2.2%) = $0.11/hand profit rate. During the week, especially during certain hours, you could be heads up with the dealer, and perhaps average 15 rolls per minute, or 3 hands per minute. So, on average, you could make about $20/hr. More importantly, you’d earn player rewards cash back at a pretty decent rate too. (I’ll take a rough guess that you’d make about $3/hr in cash back reward points.) Additionally, you’d make the MVP player level, which earns an automatic $30/day in cash back. So, if you play this game 8 hours a day, you’d average something on the order of (8hr/day)($20/hr + $3/hr) + $30/day = $214/day.

Ok, sounds great. So why don’t I do it? All I’d have to do is lay $100 against the 4 and 10 points, $75 against the 5/9, and $60 against the 6/8, unless the count is bad. I see people betting this kind of money all the time. It’s not unreasonable.

So I looked into the session outcome distributions for various bankroll, goal, and time-limit scenarios for this +EV game, to see if I could reasonably beat it.

First, I looked at a bankroll of 1000 flat bets (i.e., $5000). I calculated the session outcome distributions, assuming that I quit if I busted out or doubled up (won $5000). I plotted the results as a cumulative distribution function, which is easier to read. The plot below shows the probabilities for both a 1000 hand session (6 to 8 hours), and a 10,000 hand “session” (less than a week).

Cumulative Distribution Function of Card Craps Outcomes @ Viejas (1000 Flat Bet Bankroll).

What I saw immediately from the 10k hand curve (red), is that while I’d have a 33% chance of winning $5000 within a week, I’d actually have an 18% chance of busting out completely. At first, I thought that number was too high, but after I thought about it more, a 1000 flat bet bankroll is only 50 10x lays against the 4/10, or 67 lays against the 5/9, or 83 10x lays against the 6/8. So I can see how everything going wrong (which happens sometimes) could bust you out.

I included a shorter 1000 game session distribution (green) curve for people more likely to try the game for a day. You’ll average a 22 flat bet win ($110 for a $5 flat bet), and 53% of the time your outcome will be +/- 200 flat bets (+/- $1000).

I wondered if doubling the bankroll to 2000 flat bets (i.e., $10,000) would be enough to make busting out nearly impossible. I ran the analysis for a maximum of 25,000 hands, which would take between 3-4 weeks of full time play. The below graph shows that I’d still have a 7.5% chance of busting out and losing my $10,000 bankroll. That’s an improvement from the $5000 bankroll shown (green; 33% chance of busting out), but the risk of busting out is still relatively high. While I’d have a 66% chance of winning overall with the various profits listed, it doesn’t seem worth the risk to me. I don’t think it would appeal to many people. (The $1000 or so in player cash back rewards is not included in this analysis.)

Outcome Probabilities of 1 Month Play 10x Don't Pass w/ Count.

The problem is that while you have a +2.2% EV/game, that percentage is only on the flat bet, and not the odds. You have to lay $100, $75, or $60 to win that $0.11/hand average.

Card Craps @ Viejas Is The Best Ever

Posted in card craps by stephenhow on October 29, 2010

I’ve been playing more and more card craps @ Viejas, because I’ve found a more socially acceptable and enjoyable way to take advantage of the Don’t Pass bias of the game. Counting is very easy now, since I only need to remember a few things about the last 3 rolls. Ideally, playing 10x odds with the strategy below yields about +1% player advantage of the flat bet (+EV). And whenever you’re laying/taking odds, you have a relatively large advantage on your odds.

Here’s what I do. I start out with a $5 bet on both the Pass Line and the Don’t Pass Line for every hand. Then I either take or lay odds depending on the count for the point. Yes, I know this will cost me more house edge, but there’s a few good reasons to make this additional bet. First, people always look at the “Don’t player” with a little bit of animosity, and being “against” the table takes a lot of fun out of the game. Secondly, you can easily account for how much “house edge” you’ve paid to play, by adding up all the times boxcars hit on the come out roll. Also, the occasional time you lose $5 to boxcars is a lot less aggravating than losing 4 or 5 DP bets in a row to 7-11. But most importantly, if the count gets good during the roll (esp. for the 5/9, and 6/8), you can take pass line odds and cheer with the table for the point. And, when you’re right, you get some extra non-monetary satisfaction.

3-Roll Window Strategy

I’ll review the simple counting strategy for a 3-roll window. You get very little improvement for increasing the window to 4, 5, or 6 rolls, so it’s not worth the considerable effort to try to remember anything more than a few features of the last 3 rolls.

Point Key Cards When To Lay Roll Count Values
4 ⚀, ⚁, ⚂ When more “low” rolls than “high” rolls in last 3 rolls.
A low roll has two key cards.
A high roll has no key cards.
A mixed roll is neutral.
+4, 0, -4
5 ⚄, ⚅ Less than 2 key cards in last 3 rolls. +2, -1, -4
6 Less than 2 key cards in last 3 rolls. +1, -2, -5
8 Less than 2 key cards in last 3 rolls. +1, -2, -5
9 ⚀, ⚁ Less than 2 key cards in last 3 rolls. +2, -1, -4
10 ⚃, ⚄, ⚅ When more “high” rolls than “low” rolls in last 3 rolls.
A high roll has two key cards.
A low roll has no key cards.
A mixed roll is neutral.
+4, 0, -4

The counts for pass and don’t pass on a given point are multiplicative inverses of each other (i.e., times -1). So while `Yo is +4 for the pass line odds on the 6-point, it is -4 against the don’t pass odds for the 6-point, etc.

When the conditions aren’t good to lay odds, then they’re automatically good to take pass line odds. This is how you play. Start off with both a minimum pass line and don’t pass flat bet. As soon as the point is established, think back about the previous 3 rolls. Lay odds if the conditions are met for the point as described in the above table. Otherwise, it’s good to take odds on the pass line bet. So you’re constantly monitoring the key cards for your point, and adjusting your odds bet accordingly.

Odds Advantage Depends On Count

You can read more about the fair-weighted count values for each roll on my main page on card craps. While the above table works fine for knowing when to lay and when to take odds on a point, knowing the details of the count will tell you how good your odds are. The following graph shows the advantage you obtain on your odds (pass and dont) for a given 3-roll windowed count. (When the count is positive, lay odds; when the count is negative, take odds. You always have an advantage on your odds.)

Don't Pass EV

Don't Pass Advantage for 3 Roll Window

The tables below lists the possible count values and advantage for the points shown in the above graph.

Advantage for 4/10 Point Odds
Count Don’t Pass Odds Advantage Pass Line Odds Advantage
-12 +2.2%
-8 +1.3%
-4 +0.43%
+0 +0.41%
+4 +1.3%
+8 +2.2%
+12 +3.1%
Advantage for 5/9 Point Odds
Count Don’t Pass Odds Advantage Pass Line Odds Advantage
-12 +2.4%
-9 +1.8%
-6 +1.2%
-3 +0.59%
+0 +0.0%
+3 +0.59%
+6 +1.2%
Advantage for 6/8 Point Odds
Count Don’t Pass Odds Advantage Pass Line Odds Advantage
-10 +1.5%
-8 +1.1%
-7 +1.1%
-6 +0.66%
-5 +0.65%
-3 +0.21%
-2 +0.22%
+0 +0.20%
+3 +0.65%

In the above tables and graphs, “odds advantage” means that on average return of your odds bet for a given count, excluding no result rolls. For example, if the count is +12 against a 10 point (the last three rolls were high), then your advantage of 7-out is 3.1% of your total lay bet, compared to hitting another 10. Of course, your actual return is lower, because no result is likely in the next roll. But, you’re (2)(+3.1%) = 6.2% more likely to hit a seven vs. a 10 for a +12 count than for a neutral count.

So overall, you’ll have about a +1% player edge on your flat bet. This, of course, is very little to get excited about on its own. However, you can see that you’ll have a relatively large “advantage” for your odds bet on most rolls. So, when the count is really good, it’s really fun to lay 10x odds, or take 10x odds. For example, say the count is -8 on a 6. It’s a good time to take 10x odds on your pass line bet for the 6. Your chances of hitting the 6, weighted by the 6:5 payout, is 1.1% better than your chances of 7-out. Of course, most likely, the next roll will not be a 6 or a 7, and the count will change. But when you take or lay your odds, you have the edge.

Watching Rolls

After a little practice, it gets easy to count in a 3-roll window. A little discussion with examples will help you get the idea on how to count at the table.

When watching the come out roll, keep in mind the previous roll. Say the come out is (5,2) = 7 pass line winner. You push. Say the next roll is (5,3) = point 8. If you don’t remember snake eyes two rolls ago, then lay some odds against the 8. Now, watch the rolls, and pay attention to the Aces. One ace in the 3 roll window is okay. However, if you see two Aces in the last three rolls, move to the pass line odds. So you’re just paying attention to the aces, and where they are in the window. Aces in consecutive rolls means you’re going to bet pass line odds. If the next roll doesn’t have an Ace, it’s still good for the pass line for one roll. However, you need an Ace to remain on the pass line, otherwise switch and lay odds against. The 6 point is similar to the 8 point, except the six-spot is the key card.

The 4 and 10 points are the easiest to play. It’s really easy to see “high” and “low” rolls. Low rolls are when both dice have 3 or less spots. High rolls are when both dice have 4 or more spots. Mixed rolls are neutral. When a point comes out as 4 or 10, it’s likely that the count is good to lay against. If a 3 neutral rolls go by, then the windowed count is neutral, and still favor laying against the point by +0.4%. However, as soon as the count goes from neutral to negative (e.g., Ace-Deuce vs. 10 point), then take odds on the pass line.

The 5 and 9 points are fun to play, because they’re “fair” and not biased. Of course, the roll establishing the point is +2 against itself, so it’s likely you’ll start out laying against the point. However, the count swings + and – very quickly, and any time there are 2 or more key cards in the window, take odds on the pass line. For example, say the come out roll is (6,5) `Yo. The next roll is (2,3). You should definitely take odds on the pass line, because the count is at least +2, depending on what the roll before the `Yo was. Now, watch the next roll. No matter what, the count will still be at least +2, because of the +4 `Yo, so you always place odds for at least two rolls after a +4 roll.


The game is really fun for counting. It makes the game a lot more fun than watching completely random dice, and relying on pure luck. Card craps has a reasonable component of skill, because odds change significantly with every roll.

Of course, this kind of thing might not be what the typical craps player is looking for. I’ve found that almost everyone tries to play “regular craps” at the card craps table. This can be a problem, because blind pass line odds in this game gives the house a huge house advantage. (Taking 10x odds in a dice craps game makes your overall odds better, because it reduces the proportion of the house edge by the odds factor. However, in card craps, there’s an inherent don’t pass bias, where blind 10x don’t pass odds yields a +1.8% players advantage, but blind 10x pass line odds gives the house a 4% edge vs. the nominal 1.4% pass line cost.)

Card Craps Source Code

Posted in card craps by stephenhow on September 5, 2010

The card craps players at Viejas definitely lean towards Don’t Pass now, even when I’m not at the table 🙂 The astute players understand that the game is unlike dice craps, and the rolls aren’t quite independent of each other. Yesterday a Don’t player I’ve never seen before started to lecture me on this point before I could tell him I agreed. Then a young couple came and started playing DP and laying odds, like they knew what was going on. When the regulars are playing, at least half the table plays Don’t.

Anyways, I decided to clean up and post my Java source code for card craps, including the CSM model, the roll window, etc. You can download my source code, inspect the models, experiment with the parameters, and verify my results (+1.5% of the flat bet @ 10x Dont’ Pass odds using 3-roll count for the current Viejas shuffler; -3.6% for 10x odds Pass Line player!). I’m posting the source code to show how simple the CSM effect is on the craps game. I.e., given a simple but accurate model of the CSM, the Don’t Pass edge follows:

package net.discountgambling.cardcraps;

import java.util.Vector;
import java.util.Random;

 * @author show

public class CSM {
    // params approximate the ShuffleMaster 126 model Constant Shuffle Machine
    static final int NUM_SLOTS = 40;
    static final int DICE_SETS = 52;
    static final int MIN_BUFFER_DEPTH = 4;  // minimum cards in chute
    protected Vector[] slot = new Vector[NUM_SLOTS];    // card slots in "wheel"
    protected Vector chute = new Vector();  // cards are dealt from chute
    protected Random random = new Random();

    public CSM() {
        for (int i=0; i<NUM_SLOTS; i++) {
            slot[i] = new Vector();
        // load dice
        for (int i=0; i<DICE_SETS; i++) {
            for (int d=1; d<=6; d++) {

    // shuffle roll back into CSM
    public void shuffleRoll(Roll roll) {

    public Roll dealRoll() {
        return new Roll(dealCard(), dealCard());

    // deal card from chute
    protected int dealCard() {
        // drop a slot if chute is running out of cards
        while (chute.size() < MIN_BUFFER_DEPTH) {
            // select a random slot of cards from the "wheel"
            Vector randomSlot = slot[random.nextInt(NUM_SLOTS)];
            // drop slot of cards into the chute
        return (Integer) chute.remove(0);

    // shuffle card into random position of random slot
    protected void shuffleCard(int card) {
        Vector randomSlot = slot[random.nextInt(NUM_SLOTS)];
        if (randomSlot.isEmpty()) {
        } else {
            int randomPosition = random.nextInt(randomSlot.size());
            randomSlot.add(randomPosition, card);

Session Outcome Distributions for 5x Card Craps

Posted in card craps by stephenhow on August 28, 2010

I wanted to know what kind of variance to expect during my card craps sessions playing 5x Don’t Pass odds with a 3 roll window. So I calculated the cumulative distributions for a few strategies, based on a 100 bet bankroll (e.g., $500 @ $5 min Don’t Pass bet), a +100 bet goal (quit if double up), and a 200 game session limit (might take hours). I used simulations to find the probability density function for a single game (hand) of craps, then convolved it the number of session hands (given bankroll and goal) to get the final session distribution. Finally, I plotted the cumulative distribution function, since it’s easier to read for gambling purposes.

card craps CDF

Card Craps Session Outcome Distributions

First, I compared regular dice to card craps, both laying 5x DP odds every roll. As the two curves show, they’re very similar, although the card craps game (magenta, -0.1%) returns better than normal dice (red, -1.36%). In both cases, you have more than a 20% chance of busting out (e.g., -$500 @ $5 pass line bet) or doubling up. (If you closely compare the dice and card curves, you’ll see the cards have almost an equal chance of busting out or doubling up, while the dice show a bias towards busting out.)

Next, I found that card craps performs equally well laying 5x odds with a 3-roll window or a 6-roll window. This is a nice find, since it’s pretty easy to implement the 3-roll windowed count, but practically impossible to count with a 6-roll window. [If you look closely, the 6-roll window (green) performs a little better than the 3-roll window (blue)]. The session distribution function shows about a 12% chance of busting out or doubling up. If you see where the cumulative distributions cross 50%, you’ll see that the card craps games are slightly +EV, and the dice game is of course -EV.

Not surprisingly, playing 5x DP odds with card craps has less variance than actual dice. This results mostly from the lower average bet (4.56 units/roll) for a 3-roll window, compared to dice (6.37 units/roll).

Having calculated this cumulative distribution function, I’ll probably play 5x DP with a 3-roll count, and grind out the player reward points. That’s probably the best reason to play, because you’ll easily make the Elite membership level, with it’s $20/day Free Play award. You’ll also probably make more in reward points (1 point = 1 cent) at the game than in +EV (maybe $0.005/roll). Of course, there’s always the satisfaction of beating the house, whatever that’s worth to you.

Simplified Card Craps Counting

Posted in card craps by stephenhow on August 26, 2010

Lately, I’ve been drawn back to the card craps (PlayCraps™) game at my local Viejas Casino, mostly because I’m willing to lay more odds now with my newfound bankroll. They’ve changed the constant shuffle machine (CSM) to the ShuffleMaster® 126 model, which has a lot more internal slots than the previous shuffler. I thought this might hurt the don’t pass advantage, but I updated my simulator parameters (now 40 slots, and 312 cards) and the results remained as good as before. Most importantly, I added a MIN_RESERVOIR_DEPTH parameter, which is the minimum number of cards in the chute (reservoir) before the CSM drops another slot. I set it to 5 cards, and experimented with various counting window depths, and max odds to find a strategy I was comfortable with.

I found that a window size between 3 and 6 rolls prior rolls didn’t make much of a difference. This was a nice result, because it’s practically impossible to remember more than two prior rolls, and the management won’t let me record rolls with paper and pen anymore 😦 I also found that laying 5x odds is enough to gain about +0.25% over the house. (10x odds yields an 1.8% edge.) Again, this is nice, because 5x is the limit of my comfort zone. So, I’ll bet $5 on the Don’t Pass line, and use a 3-roll window to determine when to lay 5x odds.

Don’t Pass Strategy for 3-Roll Window
Point Roll Values Lay Conditions Notes
4 +4 if both die <= 3 (“low”)
-4 if both die >= 4 (“high”)
0 otherwise (“neutral”)
count >= 0
in last 3 rolls
Lay when #(low rolls) >= #(high rolls) in window.
5 -4 if both die 5 or 6 (“ugly”)
-1 if one die 5 or 6 (“bad”)
+2 otherwise (“good”)
count > 0
in last 3 rolls
Lay if two of last three rolls are “good”.
(Two “good” + one “ugly” = no edge.)
6 -5 if boxcars (“ugly”)
-2 if one die 6 (“bad”)
+1 otherwise (“good”)
count >= 0
in last 3 rolls
Lay if at most one “bad” roll in last 3.
(At most one six-spot in last 3 rolls.)
8 -5 if snake-eyes (“ugly”)
-2 if one Ace (“bad”)
+1 otherwise (“good”)
count >= 0
in last 3 rolls
Lay if at most one “bad” roll in last 3.
(At most one Ace in last 3 rolls.)
9 -4 if both die 1 or 2 (“ugly”)
-1 if one die 1 or 2 (“bad”)
+2 otherwise (“good”)
count > 0
in last 3 rolls
Lay if two of last three rolls are “good”.
(Two “good” + one “ugly” = no edge.)
10 +4 if both die >= 4 (“high”)
-4 if both die <= 3 (“low”)
0 otherwise (“neutral”)
count >= 0
in last 3 rolls
Lay when #(high rolls) >= #(low rolls) in window.

Note that a simple counting scheme emerges from the roll types (“good”, “bad”, “ugly”) and the small window. The 4/10 are very easy to play (i.e., know when to lay DP odds). A neutral count for the 4/10 still yield a +0.15% DP odds edge. If the count gets to +12 (e.g., all three rolls “low”), the DP odds edge averages about +0.5%.

The 5/9 points also work out easily. You need 2 out of the last 3 rolls to be “good”. If there’s one “ugly” roll (-4) and two “good” rolls (+2) in the window, you’re DP odds are neutral. The 5/9 points are “fair” in that a neutral count yields no bias against the point. If all three rolls in the window are “good”, then your +6 count yields about a +0.2% DP odds edge. If you have two “good” rolls (+2), and one “bad” roll (-1) in the window, the +3 count yields about a +0.1% DP odds edge.

Finally, the 6/8 points are very easy to play as well. If two of the last three rolls are “good” (+1) and one is “bad” (-2), the neutral count still yields a DP odds edge of +0.1%. If all three rolls are “good”, the +3 count yields a DP odds edge +0.2%.

You don’t have to worry about being perfectly exact on all your counts. Usually, when I play, I pay attention to how the previous hand ended. That way, I know the roll before the come-out. The important thing is to have an adequate bankroll, and the will to lay against all points when the count is good. You’ll find that things average out well, and a game is enjoyable with enough bankroll and a +0.25% (@ 5x) tailwind.

Practice Viejas Card Craps Game

Posted in +EV, card craps by stephenhow on November 9, 2009

The best way to get the feel of the Viejas craps game is to actually play it. I wrote a Java applet to show the way you record rolls, and to model the 18-slot CSM with 44 sets of dice. You can look at the last 6 rolls or so, and figure out if you want to lay 10x odds on your Don’t Pass bet. I wrote this game because I wanted to try out laying 10x odds with a CSM model before I did it in real life. The best thing about writing down the rolls is that it gives you a better view on the key cards (e.g., Aces when the point is 6) than a mechanical 6 roll window.

Click on the screenshot below to play the game. I couldn’t embed it in this hosted blog, because they don’t allow Java applets here 😦

Card craps practice game.

Try out the game. You can start with a basic 6-roll window strategy, and go from there. I think the human is more capable of determining the risk from the key cards in the roll history, than a simple fixed 6 roll window (+1.8% player edge on the flat bet). If it plays well for you, then come on out to San Diego.