October 26, 2007

Going all-in with PokerTH

Author: Joe Barr

According to Wikipedia, Texas Hold'em is "the most popular poker variant played in casinos in the United States." With the GPL-licensed multiplatform (Linux, Windows, Mac OS X) PokerTH, you can play Texas Hold'em against up to six computer opponents on your desktop, or you can join an Internet server and play against other real players.

If PokerTH is not available as a package for your distro, you can download either the source or executable version of game from the project page on SourceForge.net. While still pre-1.0, PokerTH is far enough along in development to be included as a standard offering in openSUSE, Ubuntu 7.10, and other distros. If you want to build from source, be sure to read the INSTALL docs for the prerequisites, as well as the tip on pointing to the correct version of Qt for the build.

If you've played poker, but not this style of poker, learn a few of the basics of Texas Hold'em before sitting down at a real or virtual table. At a minimum, you'll want to understand the concept of blinds and the rounds of betting. If you haven't played poker before at all, you have even more reading to do before proceeding.

Playing against the computer

To get started, click View on the menu bar and change any of the defaults you like. By default, PokerTH starts in windowed (not full-screen) mode, and shows the Hands, Chat, and Log windows. The Hands window is useful if you can't remember the rank of possible card holdings, from a royal flush to high card.

Click Game on the menu bar and select Settings to set game options. As you can see from the figure, you're given the opportunity not only to change the defaults for the game interface, local and network-host play, and logging, but to assign nicknames and avatars to yourself and your computer opponents.


The default game interface is a bit busy, but all the necessary information to play the game is right in front of you. The image to the right shows a table with seven players. Each player's hand is shown along the left, top, and right of the window. The Hands/Chat pane is in the lower left corner, and the game log -- which records all the bets made during the hand -- is in the lower right. Community cards are shown in the center of the window, along with information on the accumulative value of the pot and the number of the current hand and game in the session. The dealer, small blind, and big blind are identified in the lower left of the player panes.

The game begins with the small blind set at $10 and the big blind at $20. Those amounts are put into the pot automatically from the appropriate players. The betting continues, beginning with the player to the right of the big blind, and each player in turn must fold, call, check, or raise the current bet. The amount of the bet begins at the size of the big blind, but of course can increase as players raise the bet. The running total for the pot is shown above the community cards, labeled Sets. The amount contributed to the pot by each player in the hand is shown as the Set amount immediately below their cards, and the total cash available to each player is shown immediately to the left of the cards.

When the initial round of betting is complete, the first three community cards -- called the flop -- are displayed in the center of the window, and another round of betting begins, starting with the player who is the small blind. When it's your turn to play, the center of the three betting action buttons may say Check instead of Call. If it does, you can stay in the hand without putting any more money in the pot. If it says Call, and you click it, it will put an amount equal to the last Set amount shown for the last opponent on your right still in the hand.

If it's your turn to act, the three buttons to the right of your cards will be labeled with your choices. Normally, they will read Raise, Call, or Fold, but each can change depending on game context. If you choose to Bet or Raise the bet -- the top-most button shows Bet or Raise, depending on whether a bet has been made in the round -- clicking on the Bet/Raise button does three things. First, the button is replaced with an entry box that allows you to enter an amount or use the up or down arrows to raise or lower the amount shown. Second, the Fold button changes to All-In. Third, the Call/Check button changes to Set. Click Set to finalize the amount of your bet, unless you've clicked All-In, which acts immediately.

The game continues until all but one player has lost all their cash and been eliminated. There are two more controls in the game interface you may want to experiment with, both in the lower right pane, where the log is displayed. The first is a slider bar to control the speed of the game. By default, it's set to 4, but it goes all the way to 11. I've found the default play to be too slow, so I set it at least to 8.

Playing at a faster speed is fine until the hand is complete, but then it can be a problem. The speed setting also controls how long your opponents cards are shown when the hand is over, and at the higher speeds I often didn't have enough time to see them. That's where the second control comes in. It's the Start/Stop button to the right of the slider. If you click Stop during a hand, the game will not proceed to the next hand automatically the way it normally does. Instead, it will pause at the end of the hand, and the Stop button will change to Start, and blink at you, waiting for your click.

Network play

I've had no luck with network play, other than on my own LAN. It seems to work, but at present it's hard to find a game. If you need partners, there are two suggested ways of finding them. The first is to join the #pokerth channel at irc.freenode.net. The second is to check the game calendar at the PokerTH portal. There you can schedule activity to play a game, or find when others are playing. So far I haven't found any.

I did notice some differences in the game play and the interface when playing on the LAN as opposed to against the computer. The Hands/Chat pane defaults to Chat, a chime is heard when it's your turn to bet, and a slider appears that indicates the time you have left to make a bet before the server does it for you. The default time to place a bet is 25 seconds, and if you fail to do so within that time, the game will Call or Check for you automatically.

While I had no luck with Internet play in the stable version 0.5, the beta version 0.6 makes Internet play incredibly easy. Select Game from the Menu bar, which now offers a third type of play in addition to Local and Network called Internet play. When you click on it, you are connected to a permanent PokerTH server with a game lobby where you can chat with other players, start, or join an Internet game.


Even if you only play against the computer, PokerTH is a super way to learn how to play Texas Hold'em, or simply to while away a little time. In this mode, it's like a very sophisticated game of solitaire that involves multiple opponents. The new Internet game play in the 0.6 will undoubtably solve the problem of finding games to join.

Personally, I would like to see the interface changed so that it's easier to see the cost of calling the current bet. As it is now, you have to look around the board to find that, and it would make for easier and faster game play if the amount were displayed next to the Call button. I would also like to see a game option to pause at the end of each hand until I've had a chance to look at all the cards in the other hands, without having to click the Stop button.

But these are minor complaints, and others might not agree. All in all, I'm all-in with regards to PokerTH. It's a welcome adddition to the Linux gaming world, and one that will be even more enjoyable as more permanent game servers appear.


  • Reviews
  • Games
Click Here!