Archive for June, 2008


I recently saw a really decent gambling movie called “21”. My expectations weren’t too high, but they were far exceeded.

The plot is that an intelligent student joins a school club that trains in cheating Blackjack casino systems. Our “hero” only has small experience in poker playing, but since he has a sharp mind he slowly catches up. The math that the members of the club pull off is really something, and with those skills they are able to win absurd amounts of cash. Naturally, though, this has a dark side to it. Their lifestyle is far from safe and they start to get different sorts of enemies, even among them. Actually they are leading a kind of double life, where school is their scene on the weekdays, while Las Vegas is their destination come the weekend. There they can afford to live in a way far beyond imagination, with enormous hotel suites, expensive clothes, expensive food, huge parties, room service and so on.

Their leader, and teacher, is played by Kevin Spacey who does his part brilliantly, as he always does. That actor really has a wide register, in which he knows how to play warm, ice cold, funny, scary and so on. It took me some time to realize it, but fact of the matter is that he has already played a University magister earlier, in the movie “Life of David Gale”. That is also a really nice film, I reckon.

He has also played against Kate Bosworth earlier, in the movie “Beyond the sea”, which he does again in this piece. She plays one of the students.

Another of the actors are Laurence Fishburne, most famous for his role in the Matrix movies. However, the actor that impressed me the most in this film was Jim Sturgess, who plays the leading role. Previously he has mainly done TV productions, but now he is considered one of the rising stars in Hollywood. I loved how his character completely changed during the course of the movie. He went from a geek with no style to a cocky, modern man with nothing to lose.

I haven’t played a lot of card games myself, though I like poker a lot. Even still, I really liked the scenes in which they play Blackjack. The rules aren’t that hard, yet it is amazing to see what they do when they are cheating. Actually, this is based on a true story, where a group of A-students trained themselves in tricking the system.

All in all, I really recommend it!

Comments (1)

Poker, Blackjack and Roulette

Casino games are fun, often money based forms of entertainment that has many people playing daily worldwide. In times past the casino was the only place you could play casino games. However, this has changed due to new technologies such as casino game software’s. Playing online is bigger than ever with pay for play sites that offer real money to winning gamers. There are even television programs that deal with casino games, how they are played and various rule aspects to each game. I will go over the three most played casino games and give you a little bit of relevant information on each.

Poker Play

Out of the many types of Casino games to choose from, poker is by far the most popular. Understanding the rules of poker while developing winning techniques is what separates the casual poker player from the professional high roller. In this game, huge amounts of money can change hands with a single deal of the cards. Many seasoned gamblers earn a living by participating in poker tournaments and online poker playing. Just to give you an example of the amounts of monies that can be made, just consider Jamie Gold from Malibu, California. He made over twelve million dollars in the recent WSOP championship tournament by beating out the competition. Video poker is an electronic version of poker where you play against the machine instead of other participants. Video poker isn’t legal in all places due to strict gambling laws. The places that have video poker machines do pay out cash to its winners. This allows for traditional gambling at diverse places such as truck stops in addition to casino locations.

Blackjack Basics

Another frequently played casino game is the card based Blackjack, commonly called twenty one. Like most casino games there are several ways to play and win. The most basic principle to understand is that the value of a hand full of cards can’t exceed twenty one. Understanding the terms and ways to play in blackjack and how they affect the game is very important to learn and utilize. Words such as double down, flat bet, hit and paint are commonly used in blackjack. Any player who wants to advance in this game should be familiar with all of the blackjack terminology used around the world. Since blackjack is a game of strategy, there are many resources available for the gaming student to utilize in order to get better. Books, seminars, tutorials and instruction manuals all aide in bring average players up to an advanced level of play.


The casino game of roulette is a little different from blackjack and poker in several ways. In roulette you will need more than just a deck of cards in order to play. You need a roulette wheel, markers, chips and other accessories in order to get a game of roulette going. Prices for roulette wheels can be as little as a few dollars for a basic model all the way up to thousands of dollars for more professional wheels. This fast paced game involves primarily luck where other games are determined by a mixture of luck and skill. Bets are placed on numbers and the people who are the closest to that number wins.

Whether it be blackjack, roulette or poker, casino games are quite enjoyable and may be lucrative if you know how to play.

Comments (1)

Poker bot strategy

The sixth article about our Poker bot.

When we had decided we wanted to expand the bot to be able to play cash games as well it felt like we had to build a complete poker tracker as well. After a while we decided that this was not necessary, most players don’t use a tracker and if the bot can play just a little better than average it’s enough for now. We realized that this kind of functionality wasn’t only a whole software in it self, it was also already out there, there is nothing that says that the bot can’t use existing poker tracker software just as a real player.

The poker bot strategy – step one

We had already set it up to rank starting hands properly, what we did now was slow it down a bit. It’s not realistic to go about a cash game as aggressively as a short handed SNG. We set it up to play a lot more tight and we built a new position calculation function allowing it for a bit more aggressive play in position. With this setup it would play only the top 11 hands and limp in on all small pairs.

Post flop strategy

We tuned the bot down a bit after the flop too, it had been way to willing to spend money in the first version. A much more modestly playing bot is needed for cash games and our bot was pulling some insane stunts with his stack of chips.

The problem now was that if there was player at the table bulldozing the bot would have a hard time (now that the bot was not the bulldozer). A normal player can always make a stand with a good hand and double up against opponents like that but the bot had a hard time. The first thing we had to do was make the bot realize when he’s being bulldozed. This is not the easiest as it meant we actually had to keep track of the opponents after all, not in a complete poker tracker way but a little. Eric managed to come up with a neat little script that just checked for amount of big blinds lost to the same person. Easy but functional.

Now that our little poker bot knows that he is being bulldozed, how should he handle it. We came up with a few options to start with:

  • He can leave the table
  • If he gets AA he can slowplay the bulldozer and trick a lot of money of him (this could be extended to other high pairs as well but as the bot is not very good at reading people, I mean that he can’t, it was a bit dangerous)
  • Leave it to the limp-trip strategy to deal with the bulldozer, the bot had already an implemented strategy of limping with small pairs for hitting trips. This might be enough to handle the situation.

In the end we chose to use the two last methods as having a loose player like that on the table can give you a lot of money.

The next article:

More Rooms for the Bot

One of the big things when you want to avoid detection is not playing to long. Even if the bot can play 65 hours with interupts it’s not a good idea. This is a rookie mistake when it comes to botting and the poker rooms Do keep track of this.

Continue Reading…

Leave a Comment

Rakeback – poker bonus that the rooms hate

The poker rooms try to move players from the other rooms to their own, this is basic marketing. If you manage to target people that already play a lot you can increase your market share fairly easy. This is all sound and good, it’s the market. There is one small problem for the poker rooms and the networks though; spending marketing money to get players from the other rooms in the network is in the perspective of the network something that just costs money. All the players in the network rake and a part of that goes to the network. spending money to move one player from one room in the network to another decreases the total profit in the network.

Rakeback is the worst way of doing this. Rakeback takes large chunk from the revenue and has a tendency to just move players from the room in the network that attracts the new players to the rooms in the network that gives rakeback. All the high raking players end up on the rakeback rooms decreasing the total profit with a large chunk.

Most of the networks doesn’t allow rakeback for this reason. The problem for them is that as long as some do, they will lose customers to those who do.

For the players though, rakeback is the good shit. Playing with a 50% rakeback deal can make all the difference, your profits will soar. Imagine playing as you usually do, even if you’re just a break even player, you might rake $1000 a month. $1000 is not in any way a big rake for a player playing every night and rakeback might move you from a guy that plays for fun in to a guy that get a check of $500 every month.

Online poker suffer a lot from Rakeback but online poker players benefit a lot.
And, if we are being honest here, who cares about the poker rooms, $500 is $500.

Leave a Comment

Angry Fish is not Shark

Long before I started playing online poker I played several other online games, unlike most players I play more for the game itself than for the money. It doesn’t have to be poker for me, any competitive game with lots of experienced players give me the same rush as poker. I have a different view on how you play to win.

I learned from one of the most competitive games there is how to trick a player so that you can beat him over and over again. There are a few ways to trick your opponent to come back even though he is beaten. My favorite is to play weak (you can do the same by by being cocky in a special way). If it seems like he was very close to beat you he will come back, if he thinks you were only lucky than he knows he will outsmart you the next time. Win on the lucky hands and you’ll make more money. Limp in on small pairs and hit the trip, if you limp in enough you will do it a couple of times, fold everything where you don’t hit and beat him badly when you do. Ok, it’s not always the best strategy statisticly but it is a good strategy to make them drop you those extra dollars.

If they feel you are lucky, they might be cocky or they might get mad, if they get mad and don’t leave you can beat them for everything they have. Angry fish are not sharks.

Comments (1)

Why we wanted a SNG poker bot

The fifth article about Poker bots.

I think it’s time to give you the reasons for wanting to build a poker bot that playes sit and go tournaments. The thing is that we weren’t sure we could make a good enough player out of our bot. We are had a feeling that we didn’t know enough of the theory in poker strategy. Being a good poker player doesn’t automaticly mean that you are good at the theory (this goes both ways of course). When it comes to small tournaments though there is a stupid as strategy that we could easily reproduce in a bot. Go all in almost all the time, it’s not at all as stupid as it sounds, there is a pretty decent chance of winning if it is a shorthanded sng. We thought that we could start with a bot like that and if it was even to poor at that we could always let it play freerolls. Think about it a bot that plays exetremely agressive in all the freerolls on the net… His chances are a bit better than a bad player and he what he does is that he forces the play towards the lottery side. It’s extremely hard to play good against a player like that.

At this point however it changed, we got support of a really talented poker player/programmer that had previously built a well known poker software. A poker odds calculator if you wish. Here we decided to change the bot in to being a Cash game poker pot.

The next article is a bout how we started setting up the strategy of the bots play.

Poker bot strategy

We had already set it up to rank starting hands properly, what we did now was slow it down a bit. It’s not realistic to go about a cash game as aggressively as a short handed SNG.

Continue Reading…

Comments (1)

Cheating the poker room (Bot vs Party Poker)

The fourth article about Poker bots.

Setting up the bot so that it would be invisible to poker rooms (Party Poker in particular) was a task we knew we were well prepared for. Cheating in games is something universal, it works the same everywhere no matter if it’s online poker, counterstrike or World of Warcraft.
As most poker rooms consider bots cheating, you need to outsmart them. Well, it’s not really true, poker rooms don’t care at all about bots but they know their players do. So the poker rooms try to show their players that they care about botting and consider it cheating. They search enough for bots so that their players will believe you can’t bot. They don’t find bots genereally because finding one will make it obvious to the players that you can bot. This works the same in all kinds of online games…

Technical highlights

One of the properties of the bot that’s really important is the response time. By just setting a more or less random responsetime the detection is made a lot harder. It’s true a lot of bot builders don’t think about it.

Another one is play time. Don’t let the bot play for 65 hours in a row. Set it so that it logs off after a few hours, logging back in on another account, from another IP a bit later. Up time is important for the bot, the better up time the more money it makes but you need to make sure they can’t see that it’s playing constantly.

Betting amounts is important, don’t let the bot bet the same amount all the time, both players and the poker room will find this strange. Just add a little randomness to it. Not to much though, don’t want the bot to keep betting .00345 cents and crap like that.

Don’t always play the same amount of tables at the same stakes. If you have several bots running at the same time you need them to be a bit different. Can look pretty moronic when 10 bots play at the same tables.

Let the bot take breaks, people need to eat and so should bots.

And finally the toughest (and most important) property that a bot needs to have. We are still not certain this is necessary for Party Poker but we did it anyway to stay safe. It needs to be mutating. There are lots of files in the bot and some poker rooms have a very intrusive cheat detection. Don’t let it be obvious to someone searching your computer that you are a cheater. It’s not very hard to make filenames change and stuff like that.

Continue Reading…

Comments (2)

Play like a pro, sting like a bee

There are only a few rare pros that manage to play loose. Loose players rarely make it to the tougher games as they tend to spend their bankroll on the small tables. I spend a lot of time at the tables on a local casino just 1 mile from my home. I know that I’m really a pretty loose player. I tend to limp in with small pairs and even small suited connectors (it is actually a valid strategy but it is loose) and I tend to give the flush draws to much credit. I know it.

I have a mantra that helps me through the cash games with the tourists: Play like a pro, Sting like a bee.

Every time I go to the casino there is always some tourist bulldozing the others and I have to constantly remind myself not to make a statement out of him, it’s better to play good than to aggressivly attack. I have to keep reminding myself, Play tight and when you play, make sure it stings.

Leave a Comment

Post Flop – hell for poker bots

The third article about Poker bots.

Deciding what to do post flop is dangerous grounds for a bot, this is where most of the better players beat the worse. If you win the game after the flop only luck can save the worse player on turn and river. The thing with the bot is that we don’t build it to be a good player, we are building a surviving player and that is something totally different.

Once the flop is on the table the poker gets much harder. The pre-flop is pretty much kindergarten when it comes to programming compared to this. We decided we wanted to take some shortcuts though. As we didn’t need the bot to play well, just to survive we thought we’d manage to cut some corners. These are the shortcuts.

If the bot is first to bet after the flop:

  • There is a possible straight or flush on the table; bet half the pot 70% of the times, bet the pot 10%.
  • Bot hit pair or better; bet the pot 70% of the times.

If the bot is not first:

  • There is a possible straight or flush on the table; All in 50% of the times, double the original bet 20%
  • Bot hit top pair, All in 100%
  • Bot hit pair (not top) All in 50%, double original bet 20%

Can you see where this is leading? We repeat this on the turn and the river and what happens is that if the bot actually do play a hand there is a massive chance that it will sometime go all in. This moves the play to just luck. As long as you play with the bot the only thing that matters is luck, you can’t outplay it because it doesn’t try anything, it just goes all in (but only after a while, it forces you to bet a little first so you get committed).

With this for core this is by far the most stupid poker bot in the book but it works. This is not at all a bead strategy on short-handed Sit and Go’s especially with a fast blind-structure. Give it a try yourself on a turbo SNG and you’ll see that it’s actually pretty smart. We decided we wanted the bot to play like this at least in the beginning, making it smarter could be left to step 2.

Read more in the next article: Cheating the poker room (Bot vs Party Poker)

As most poker rooms consider bots cheating, you need to outsmart them. Well, it’s not really true, poker rooms don’t care at all about bots but they know their players do. So the poker rooms try to show their players that they care about botting and consider it cheating. They search enough for bots so that their players will believe you can’t bot. They don’t find bots genereally because finding one will make it obvious to the players that you can bot. This works the same in all kinds of online games…

Continue Reading…

Leave a Comment

The data gathering and the poker player

This is the second article about the Poker Bot

Gathering the poker data

Eric and I started working with the two most interesting parts at this moment. Gathering the data and setting up a poker playing algoritm. After a lot of research on the poker networks we decided to go with Partypoker for primarily two reasons. We thought we could build a functioning data gathering unit for Party without to much trouble and there are lots and lots of players on Partypoker which would make it easier for the bot to stay under the radar.

The problem with gathering the data is that the client doesn’t really hand it out in any comprehensible way (for a computer that is, it is fairly easy for a person to read the output). What we needed to do was getting the information from the screen and into our bot. This is not really hard if you know how to do but it can be a bit slow if you do it badly. In online poker though it is not a problem because the need for speed is very limited compared to a first person shooter for example.

We have previously built a bot for a first person shooter and the first step there was of a similar type. We wanted the gun to automaticly fire at the exact time it was aiming at an enemy. It was a shotgun so it had a very big punch but a long reload time this is why you couldn’t afford to miss. What we did then was check the pixel where the gun was always aiming 50 times a second. Every time it changed color enough the gun would fire. Simple and effective it worked like a clock. In the poker bot though we needed something else, speed wasn’t really the thing but it needed to gather the images and understand them.

Getting the images was relatively easy, we chose to get them from the graphic memory. This is a very common method and I’m not going to discuss it much more then this. What you do is you make your bot read the graphics memory on your graphics card and look for the “screen” before it is published on your screen. Getting a snapshot out of there is rather simple and we decided to do 4 of those every second (you really don’t need that many but we wanted to be completely safe in case something was missed, it can happen sometimes that parts of the screen don’t get drawn).

What we needed out of the pictures was the numbers. We needed to know how much was in the pot, how much everyone bet, what our position was and most important what cards there were. For the digits and cards it was pretty easy. We got screenshots of all possible cards and digits and just let the bot compare them. Well, it was easy in theory but it took us a long while. One thing that made it a lot easier was when we turned on 4 colors for the cards. Can’t imagine we didn’t do it directly. The problem with this approach is that it is easy for the poker room to change their locations and look of the digits but we agreed that it was eqaully simple for us to update the pattern recognition then.

Playing the cards, the first steps

Getting started with the poker player part of the bot was harder, this is after all te unique part of the poker bot. The data gathering was all stuff that we had done in previous ventures. What we decided to do first was setting when to play a starting hand. We decided that it should always play KQ suited and better and then randomly play hands down to QJ off. We set a decreasing possibility for the bot to play the hands the lower they got with only 10% chance that the bot would play QJ off. This might seem like a stupid way of doing it and that we should consider position instead but it is a decent method and it looks more like an ordinary amateur if someone decides to snoop and it’s extremely easy to code and we felt that doing progress until we had a functioning beta was the most important.

When I say that we decided what hands the bot would play I’m a bit generous with the word play because even if the bot decided to play he didn’t know how to make bets yet. One of the ideas we had in the beginning was that it should play sit’n’go-tournaments. This might seem a bit weird but I’ll explain it later. For this reason we wanted the bot to be aggressive. We did it the easy way just as with deciding if it was going to bet. Here is an example, Preflop, with a hand the bot chose to play it will bet like this:

No previous raise:

  • 50% call
  • 20% raise with 3 times big blind
  • 20% raise with 2 times big blind
  • 10% raise with one big blind

With a previous raise:

  • 30% Fold ( we decided to do this choice here rather than in the do i bet algo)
  • 30% call
  • 30% all in (does it seem weird? It will get clear later on when you see the bot more clearly)
  • 10% Raise with as much as the previous player had raised.

Next article in the series: Post Flop – hell for bots

Deciding what to do post flop is dangerous grounds for a bot, this is where most of the better players beat the worse. IF you win the game after the flop only luck can save the worse player on turn and river. The thing with the bot is that we don’t build it to be a good player, we are building a surviving player and that is something totally different.

Continue reading…

Comments (1)

Older Posts »