Online Poker Bots - Threat or Not?

Introduction3) Output - Pressing the appropriate button on the
Online games from chess and backgammon to 1stpoker room client.
person shooters are rife with people who useMy Poker Bot
computer assisted play or computer robots - evenMy program was written in early 2004 with Microsoft
when there is no money at stake. With the appropriate.Net C++ and was developed to play at one online
program any player is able to play at a worldroom only. For the technically minded the program
championship level ruining the game for honest players.relied heavily on MFC and the Win32 API.
What makes online poker different, given that there1) Data Gathering
are huge amounts of money at stake?My bot gathered information about game state and
In this article I will explain how I developed a poker bothistory from online poker tables by taking repeated
and what I learnt from this experience. My conclusion isscreenshots and analysing the image. To begin with I
that although it is possible to construct a poker playingjust observed games, taking screenshots automatically
bot the threat from poker bots to the online pokerso I could gather data on the position of the cards,
player is extremely small to non-existent.chips and button. By determining the color of a certain
"Games" Theoryfew pixels I was able to gather all this information
For interest and college courses I had previouslyabout the state of the game.
written computer playing programs or bots for gamesEventually I was able to gather data from multiple
including chess, Connect 4, Othello, backgammon,poker tables (4 at a time) by repeatedly bringing each
bridge and various others. For games such aswindow to the foreground and taking a screenshot.
Connect 4, Othello, chess and backgammon where allFrom this screenshot I was able to determine my
players have the same available information about thecards, board cards, button position, who was left in the
game state, the theory on how to construct experthand, pot size and player bet sizes.
bots is well known. Deep search techniques, looking2) Data processing
many moves ahead, are used for games such asThis is the component that eventually bought my poker
Othello and chess. Recently (10 years ago) it wasbot project to an end, unable to develop a strong
discovered neural networks could be taught to playenough strategy to win consistently. I tried various rules
backgammon better than almost any human player.based, neural net and simulation techniques. At best
Games such as poker and bridge contain hiddenmy bot was able to make a very small profit at $1/2
information where the players can see their own handand $2/$4 limit hold'em, but nowhere near the
but not that of the other players. The published theorythousands of dollars a week I envisioned earning when
behind writing expert computer bots for theseI started the project. In the end it just wasn't worth my
incomplete information games is decades behind thetime to continue to put resources into developing my
complete information games and there are doubtspoker bot further.
techniques will be developed so that computers can3) Output
play at expert or world championship level. At presentThis was the easiest component to write. This
the best techniques for these incomplete informationinvolved programmatically moving the mouse pointer to
games seem to involve some form of simulation andthe appropriate screen co-ordinates and then sending
opponent modelling.a mouse down/mouse up command signalling a
Anatomy of An Online Poker Botleft-click. I did give consideration to adding the ability for
There are 3 basics parts to a poker bot:the bot to use chat but never progressed that far.
1) Data Gathering - observing the game state andConclusion
historyAlthough you might run into a poker playing bot whilst
2) Data Processing - using the information from theplaying online the odds are it plays very poorly. At any
data gathered to determine whether to fold, call orlevel of play you are much more likely to run into an
raise.expert human player than an expert computer player.