Please follow this link.
Welcome to TheCrapsGuy.com. This site is dedicated to the game of Craps. I will share my goals and understanding of the game as they relate to my priorities:
I achieve these goals using the concept of Distribution Variance, and have developed craps strategies based on this concept that anyone can use at the craps table with very minimal effort.
I have been playing craps for close to 20 years. I have always been interested in games of chance, but since I have also never been wealthy, I was always trying to devise strategies to minimize the risk of losing money playing them. I started writing computer programs in high school in the late 1970s. My most complex assignment was to debug a roulette program written by someone that had already graduated, but never got it working. This was my first exposure to every programmer's nightmare: working on OPC (Other People's Code). Not only did I have to figure out how to design a roulette program, I had to understand how someone else's mind designed a roulette program and then adjust how I might have designed it into how that person designed it.<p>Compared to how programs are written now, I was writing code in the stone age. The computer terminal was a teletype machine. There was no computer monitor. Everything that was typed was printed to a roll of paper. To save your program, you printed it to a thin paper ribbon punched with little patterns of holes representing the program's code. Then you wrapped it around a pencil and taped it to keep it from unraveling.
Eventually, I got the roulette program working and I found it was actually pretty fun writing code and figuring out how to solve problems writing programs. It was similar to one of my other favorite activities, which was figuring out how to play songs on the guitar by listening to them over and over, eventually working out how to play them myself. The process of myopically focusing on a task and using my innate creative abilities to figure things out over the course of my teen years led me to the decision to become a computer science major in college. I thought it was a good fit that would satisfy my desire to be creative along with my desire to be technical.</p>
I got accepted to one of the top computer science universities in the country, but when I got there I realized how lucky I was back in the stone age with my teletype terminal. In college, I had to write code onto punch cards with a card punch machine. Each line of code was punched onto a single card and the line of code printed at the top of the card so it could be more easily read by humans. The punched cards were assembled in order and a rubber band wrapped around them to keep them together properly. If they were dropped on the floor, or got out of order, somehow, they would have to be manually reassembled into the proper order. Each program could be hundreds of cards. Sometimes the ink ran out of the punch card machine, so the human readable code printed at the top of the cards were illegible. Imagine how fun it was to reassemble card decks in that situation.
In the last 40 years, I have worked in IT for several large corporations, as well as for NASA. During this time, I always found time to squeeze in some time to write code to simulate various games of chance. I wrote another roulette program in Excel macro (Visual Basic). I wrote another Excel macro to heuristically pick lottery numbers. After I learned how to play craps, I lost interest in all other games of chance. Craps has held my interest for 20 years. If I had enough money, I could stand at the craps table and play for 4 to 6 hours non-stop. The mental focus and immersion in the game play is mesmerizing. I think it qualifies as a form of meditation, as long as you are reasonably certain you aren't going to lose your shirt.
This is what led me to my most recent coding project for craps.
I'm getting ready to retire. I still want to be able to play craps, but I won't have nearly the same income in retirement as I did during my career. In order to still have fun and immerse myself in the game without being stressed out about losing all my money, I set out to devise a strategy that would allow me to enjoy craps in my income-limited retirement years.
First, I developed a craps simulation program written in Microsoft Object-Oriented PowerShell. My goal was to run craps simulations that played my specific strategy. I did not want to write a complete fully functional craps program because 90 percent of the bets on the craps table are sucker bets, anyway, and I would never bet them. I ran tens of thousands of craps sessions for my strategy. I adjusted the strategy many times and ran each one an additional tens of thousands of times.
The end result confirmed what I already knew: There is no strategy that guarantees winning at craps, or any other game of chance. The only way I know of that someone can routinely win at gambling is by playing blackjack and counting cards, but even that is nearly impossible since they started playing with seven decks. I guess you can win playing poker, but that's not playing against the house. Poker is playing against other people, so there is more than mere chance involved in that game play.
Even though I still enjoyed playing craps, it was a bit of a drag thinking I couldn't code my way into a strategy to satisfy my goals.
Enter Distribution Variance
I was reading some craps blogs recently, and I stumbled across some posts that discussed a topic that sounded very familiar to me. It was based on the idea that in the long run, the statistical distribution of dice rolls in craps will converge on the theoretical statistical averages, but in the short term there will be statistical variance from these theoretical averages. This seemed like common sense to me, so what was the big deal? Well, the big deal was that given a very specific set of playing conditions, all of which are under your control, you can virtually guarantee that you will not lose more than a very specific number of dollars, and also you will not win more than a very specific number of dollars.
These statistics are rock-solid and are based on Standard Distributions of random sampling and Standard Deviation. These concepts are among the most fundamental in statistical analysis, and are fairly easy to wrap your head around.
So I had new hope. Should I try and modify my PowerShell craps simulation model to adopt the new Distribution Variance concept? I looked at my code and decided it was more trouble than it was worth, especially since I already knew that if I adhered to a very specific set of playing conditions, all of which were in my control, that I was virtually guaranteed my dollars won or lost would be in a specific range.
However, this set of playing conditions, totally within my control, was boring to play. The two options were nearly identical in their outcome, but revolved around playing a single bet and waiting around for it to resolve. You could be standing around at the table for many rolls waiting for your single bet to resolve. Your mind is not engaged, and instead of time standing still as you are in the zone, time seems to drag on as you wait for your bet to resolve. Meanwhile, the rest of the table is seeing more action on the table and the players are more engaged and interactive with the game and with each other.
Were there some other strategies that I could play that would be more active and keep my mind engaged and make me feel connected with the rest of the players? Fortunately, in the blog post, someone mentioned a craps simulation program that he said was by far the best available. It was called WinCraps, and it was only $20 for the Pro version.
I bought it that day, and I am still amazed how well conceived this software is. It seems to address every situation a serious craps player could envision. It has a graphical interface and supports multiple simultaneous players, as well. The best surprise, though, was that it included its own scripting language so you could write your own strategy simulations and run them hundreds of thousands of times, or more.
Now, three months later, I have 3500 lines of code that will simulate combinations of 15 different strategy options and log them to a file. These files can be imported into Excel and statistically analyzed to compare their effectiveness at satisfying my strategy goals. I have run many combinations, each of them for 100,000 sessions of 30 games each. One 30 game session equals around two or three hours at the craps table. If the table is packed it might be closer to 4+ hours. This is about as long as I care to play at a single session before I want a break to eat or do something else.
So, you're probably wondering what my results are. Stay tuned. I will be posting more very soon.
TheCrapsGuy...