Online games from chess and backgammon to 1st person shooters are rife with those who use computer assisted play or computer robots – even if there isn’t any money at stake. With the right program any player situs judi poker can play in a world championship level ruining the game for honest players. What makes online poker different, since there are a large amount of money at stake?
Within this short article I will explain how I developed a poker bot and what I learnt from the adventure. My decision is that though it will be likely to create a poker playing bot the threat from poker bots to the internet poker player is incredibly limited to non profit.
For games such as Connect 4, Othello, chess and backgammon where all players have the exact available information regarding the game state, the idea about the best way best to construct expert bots is well-known. Deep search methods, looking many moves ahead, are used for games like Othello and chess. Recently (10 years ago) it was discovered neural networks could be taught to play backgammon better than just about any human player. Games such as poker and bridge contain hidden information where the players can watch their own hand but not all those players. The published theory behind writing expert computer bots for these incomplete information games is decades behind the complete information games and there are doubts techniques will be developed to ensure that computers can play at expert or world championship level. At the moment the best techniques for these incomplete information games appear to involve some kind of simulation and opponent modelling.
2) Data Processing – using the data from the data gathered to determine whether to fold, raise or call.
3) Output – Pressing the proper button on the poker room client.
My app has been written in early 2004 using Microsoft .Net C++ and has been developed to play at one online room only.
My bot gathered information about game state and history from internet poker tables by taking repeated screenshots and analysing the image. To start with I just observed games, taking screenshots automatically so I could gather data on the positioning of the cards, chips and button. By specifying the color of a certain few pixels I could assemble all of this information regarding their condition of the match.
Finally I managed to assemble data from multiple poker tables (4 at a time) by repeatedly bringing each window to the foreground and taking a screenshot. In this screenshot I could determine my cards, board cards, button position, who was simply abandoned at the hand, pot size and player bet sizes.
2) Data processing
This will be the component that eventually bought my poker bot project to an end, not able to develop a strong enough strategy to win consistently. I tried various rules based, neural net and simulation methods. At best my bot was able to generate a tiny profit at $1/2 and $2/$4 limit holdCeltics, however no where near the thousands of dollars a week I envisioned earning when I started this job. In the long run it simply was not worth my time for you to proceed to put resources into developing my poker bot further.
3) Output
This is actually the easiest component to write. This involved programmatically moving the mouse pointer into the proper screen coordinates and then sending a mouse down/mouse up control signalling a left-click. I’d consider adding the ability for the bot to use chat but never progressed that way.
Conclusion
Even though you might encounter a poker playing bot whilst playing online the chances are it plays very badly. At any given level of play you’re far more inclined to come across an expert human player than an expert computer player.