Saturday, April 11, 2009

setting up a card counting website

I'm starting this blog to talk about my website http://www.barracudafix.com
The idea behind this website is to create a web application that will allow a user to become a proficient card counter at casino blackjack.
I started playing blackjack a few years ago when I moved to Arizona and discovered the indian casinos in the area. One night after I lost some money I came home and decided to look online for a program to make me a better card player. I didn't like any of the programs that I found. They either seemed to be 10 to 15 year old shareware that was first released on Windows 3.1 or they were flash based games that were more advertisement than game.
The one thing that all these had in common was that they were trying to recreate the feeling of being in a casino. They would have green backgrounds and animated poker chips. Not only did I not think that these apps would help me improve my game I didn't want to spend any time at all with them.
My next stop was the library where I read about the history of card counting starting with Thorpe. This is more what I was looking for and had some good information . I was really impressed with the push to simplify the card counting systems to try and derive the most advantage with the least amount of mental effort on the part of the card counter.
The main problem I found with these books though was that the math seemed a little less than rigorous. Most of the books I read would talk about some computer simulations that were run on "super computers" back the late 70s or 80s and then present the results which you pretty much had to take on faith. There doesn't seem to be a single set of axioms that everyone agrees on. Part of this is that there are lots of variations in game itself. The bigger issue seems to be that all the authors approach the analysis from whatever background they had. I'll try and expand on this in further blog posts.
My next step was to go to source forge and see what other programs had been started in this space. I found a handful of blackjack programs written in C++ or python. None of these seemed like really polished apps. The ability to split hands up to four times is a pretty good litmus test. The apps I saw on source forge couldn't handle this from what I recall.
At that point I was ready to start coding. I worked on a blackjack engine that I played from a command line interface. Later I used the swing framework to build a simple gui which I later abandoned in favor of a pure webapp. My current technology is java 1.5, tomcat, spring, spring security, mysql, ajax, and dojo - developed on windows and deployed to Red Hat Linux server.
Currently I support playing a game of 21, creating a user account, seeing the correct basic strategy play for the hand you are playing. If you play while logged in the software will record all the mistakes you make. Once you have a few mistakes you can select to play a Training Game. In this game you will only be dealt situations that you have played incorrectly in the past.
I'm also indicating the deck penetration and the count for a particular system ... all in anticipation for rolling out card counting features.




0 comments:

Post a Comment