10/19/04

 

Milestone Week 4

 

CSC 480 Project: Texas Hold’em Bot

 

Group: Hold’em High

Chris Leighton

Zach Halperin

Ka Kit Wu

Todd Robbins

 

Project Description

The Texas Hold’em Bot will play the card game “Texas Hold’em” with at least 1 opponent. It will use AI principles to determine betting strategies, probabilities, individual player trends, and make rational decisions about how to act based on these factors. The Bot will maintain records on each player, and will try to recognize both individual and general trends. It will try to improve its strategy based on these trends.

 

System Design

 

10/19/2004

 

Team 2 – Texas Hold’em Bot Design Diagram

 

Prototype and Implementation

Implementation Language - Java 1.4.0

 

Development Tools - JCreator

 

Implementation Strategies - Incremental Development with Alpha and Beta Prototypes

 

Functionality and Rules:

Standard No Limit Texas Hold‘em Rules Implemented with the following clarifications and exceptions:

- Do not need to burn cards (this is an exception to normal Texas Hold'em Rules)

- When a player folds, the pot goes to the player who did not fold. Then all cards are collected, reshuffled, and a new round begins with the opposite player as dealer (dealer swapped). However, if a player has no chips left, the game ends.

- Before first two cards are dealt to each player, the player in front of the dealer must throw in the blind (this is done automatically).

- After the blind is thrown in, the dealer must decide whether to fold, call, or raise

- Minimum bet increments = value of the blind

- Next round of cards is “the flop” (3 community cards dealt face up), followed by betting started by person opposite of dealer

- Next round of cards is “fourth street” (1 community card dealt face up), followed by betting started by person opposite of the dealer

- Final round of cards is “the river” (1 community card dealt face up), followed by final round of betting started by person opposite of the dealer

- If final bet is called (no one has folded), all cards are shown

- If there is a tie for the best hands at the time of the "showdown", the pot is split between the players who tie.

- If the community makes up the best hand at the "showdown", the remaining players (those who have not folded) split the pot.

- The game ends when only one player has chips left.

 

Evaluation Plan
 
Evaluation Instructions
 
- To run Texas Hold’em, go to the command prompt and change the current working directory to the directory containing the game's class files. Type: “java Game”.
- Currently there are no agents or artificially intelligent elements to the game. The only player type is a human player. This was done to facilitate the testing of the environment to verify the correct functionality of the card game. Also, the game only allows one-on-one gameplay. Either player can simply look at the output on the screen and see what cards their opponent has. Keep this in mind when evaluating the alpha prototype of Texas Hold’em.
- Hands that tie will result in splitting the pot. (Currently many will tie because of the lack of detail in our comparison of hand strengths)
- If the community hand is the best hand, the pot is split between the players still in the match. 
- The only two players are “Hank” and “Fred”, both of whom will be controlled by someone at the keyboard. The player who is ahead of the dealer marker is forced to post their blind automatically, so the first move goes to the person who is seated at where the dealer marker is (assumes only two players) and they have the choice to (f) Fold, (a) Call, or (r) Raise.
- The option to “Raise” assumes that the amount to match a bet will be paid, so the number entered by the user at the “Bet >” prompt will be the number of chips that will be added to the amount required to call.
 
Evaluation Criteria
- Can two human players compete and successfully play a game of Texas Hold’em until a winner is declared?
[YES     NO]
- If a player wins a hand, does the environment correctly determine that they are the winner, and does their chip count increase by the correct amount once they have won?
[YES     NO]
- How well does the environment adhere to the betting rules of no-limit Texas Hold’em?   
Comments:
 
 
 
 
 
- For a human player, how successfully does the text based UI inform the user of the critical game information (i.e. community cards, a players two-card hand, the state of the betting, the size of the pot, how much a player has won, why one hand won over another, the choices available to a player during their betting turn, etc.)?
Comments:
 
 
 
 
 
- Try selecting each of the menu options at least once. Do they cause the game to behave as expected? (There are a total of 5 menu options: fold, call, raise, check, or bet. 'Check' or 'Bet' should only be a choice when no one player has put more chips into the pot than another. The other three options show up when a at least one player has put more chips into the pot than another.)
Comments: