400 likes | 561 Views
Texas Hold’em Poker Simulation Project. Organized by M^JIK Game Developers. M onarch ^ J ames I khan K wang G raham D evin. Members Include:. Task Division. There are 4 Major Divisions within this project. GraphicalUser Interface Monarch, Ikhan and James Artificial Intelligence
E N D
Texas Hold’em Poker Simulation Project Organized by M^JIK Game Developers Monarch ^ James Ikhan Kwang Graham Devin Members Include:
Task Division • There are 4 Major Divisions within this project. • Graphical\User Interface • Monarch, Ikhan and James • Artificial Intelligence • Kwang and Devin • Networking • Graham • Integration • All of us, but the go-to man will be Ikhon
What is Texas Hold’em Poker? • Texas Hold’em is a form of poker where all players get two hole cards, which only the player knows. • All the players then use up to 5 community cards to make their best five card hand. • The player with the best hand wins the pot. • We will now go over the rules of how this game works.
The Rules of the Game • The two players to the left of the dealer post a predetermined forced bet which are called the blinds. Antes may also be used but is optional. • The dealer shuffles a deck of 52 cards. • Each player is then dealt two cards face down, which are called the hole cards. • A round of betting begins with the player to the left of the person who posted the blind. In limit poker, the amount that a player can bet or raise is fixed. • After this first betting round ends, the dealer discards a card from the top of the deck, and then puts three cards face up on the table. These cards are called the flop. The flop is communal cards that any player can use in combination with their hole cards to form a poker hand. • Once the flop is dealt, there is a round of betting starting with the player to the immediate left of the dealer.
The Rules of the Game (Cont’d) • After the betting is over, another card is burnt by the dealer and then the dealer puts one more card on the table. This card is called the turn. Players use this fourth card to form a five card poker hand. • Another round of betting happens just like after the flop came out. However, this time the size of the fixed bet/raise is doubled. • Once the betting round is finished, the dealer burns another card and places a final card face up on the table. This last card is called the river. Players still in the pot can now use any five of the cards on the table with their hole cards if they wish, to form the best five card poker hand. • There is one final round of betting, with the size of the bet is the same as after the turn card came out. • Once the betting is concluded, remaining players in the game reveal their hands, by flipping up their hole cards. The player to the left of the last player to call is the first one to flip up their hand. This is called the showdown. The player with the best hand wins the pot.
Mechanics of Each Hand • This game consists of simple rules that are followed during each round of the game. • We will use these rules and implement them into the program. • One of the most important aspects in understand this game is understanding the mechanics of each hand and how they rank.
Hand Ranking Royal Flush - An Ace-High straight of one suit. Straight Flush - A straight of entirely one suit. Four-of-a-Kind (Quads) - Four cards of the same rank. Full House (Full Boat, Boat) - Three-of-a-kind and a pair. The example below would be called "Queens over Aces" or "Queens full of Aces". Flush - Five cards of the same suit.
Hand Ranking (Cont’d) Straight (Run) - Five cards of sequential rank. Note that in hold 'em, Aces can be high or low.Three-of-a-Kind (Trips, Set) - Three cards of the same rank. Two Pair - Two cards of the same rank and another two cards of the same rank. The example below would be called "Jacks and Twos". One Pair - Two cards of the same rank. High Card - When you don't have any of the above, your highest card determines your hand. The example below would be "King High" or "High card King".
Implementation and Goals of Artificial Intelligence Devin Gaines
Implementation and Goals of AI • Simply, we’re taking real-world poker constraints and forming a rule-based gaming system • This will include various parts of the program such as: • Users • Possible Hands • Statistical Odds of Winning • Randomization
The Explanation of our Goal • Our goal is to make the computer play the most profitable game possible. • Theoretically, this seems simple. There are at maximum three options at every given point. • A player can fold, check/call, bet/raise. • Hypothetically, we can just make the computer compute the most profitable play in any given situation, then execute it. However, this is wrong. • Poker is a game of incomplete information, which is because each player doesn’t know any of the other players hole cards. Hence, a player can only use information such as: • The strength of his/her own hand. • What he thinks other players have based upon their actions (betting/raising etc..). • The communal cards on the board. • Our AI will only concentrate on instances (1), (3), since it’s theoretically impossible to make the computer do (2).
Implementation of AIUsing C\C++ • Program platform that will be used is Visual Studio C++ • Fail-safe algorithms will be used, meaning if errors occur, we will make an attempt to prompted the user with the least harm to the running of the program. • Also, along with character interaction, we’ll make it possible to adjust statistical likelihood based on the amount of hands played and won by each player. • So for example, you have Jared and Jane playing. They play 10 hands and Jane is down half the money she started with. The chances for her to bet aggressively would be lower than when she would if she had have started.
User Interactivity • The amount of players needed for this game can be 2-10 pending on users choice. • The way users will be able to interact through the menu is the point-click method. • User will have a choice in what type of player they would like to go against. There will be certain pre-made character archetypes that will presented. • Examples include someone who is aggressive, meek, logical, etc.
Player Interactivity • This program will possibly have interaction between characters at the table. • Confidence Meter – Users will be able to input how confidence they are in a hand. This confidence rating mixed with the outcome of winning a game will provide a likelihood of whether the computer will fold or not. • Bluff – A complex concept, but this could also increase the likelihood of the computer simulation folding or decreasing a bet on a given hand.
Networking Graham Gimbert
Premise of Networking Necessary for multiplayer Simple design (User Friendly) Three main capabilities Create server process Join server process Chat functionality
Multiplayer -More players = More screens -Multiplayer requires more computers -Otherwise, cheating is too easy -Allows for chat functionality between players
Design • Simple, clean interface • Two options • Create Server • Join Server • Will also consist of Buddy-list type functionality • In-game chat is a simple chat window, with “/” command functionality • Out of game chat will be performed in individual windows
Create Server • Creates a single player game • Variable number of AI players from the start • If a player joins, and the table is full, remaining AI players will leave until the table is full of human players
Join Server • Allows a user to join a game in progress • Cannot join a game that is full of human players • Otherwise, anyone can join any server process type game at anytime
User Interface/Graphics James Cefaratti/Monarch Shah/ Ikhan McClarty
Plans • Possible title menu at the start with some settings and a way to get the game going. • Will be use software like OpenGl or Allegro (We’re debating on using 3D graphics depending on the difficulty) • Making cards in 3D doesn’t seem very hard since they are just rectangles.
Graphical Mechanics • There would be blinds that would switch back and forth between the computer and user (small and large blind). • This could be indicated with a token. • The circles shouldn’t be too hard to model in OpenGL or Allegro.
Graphical Mechanics (Cont’d) • The flop, turn, and river will appear in the open on the table. • The players cards will be setup almost like on television. • In certain cases the opponents cards will appear on the left (all in, showing a hand at the end if the User/AI doesn’t fold)
Hand Statistics • At the end of each hand, we’ll show a quick summary of the hand that offers some statistics to help the player out.
Main Screen Of Poker Software: Name Of Our Product HELP DEMO GAME PLAY POKER
Main Screen will have three option: 1.) Help – will explain all the rules 2.) Demo: will have sample demonstration of Holdem’ Poker 3.) Play Poker: will take you to next step & so you can go ahead & start playing poker By Clicking on Play Poker Option you will be taken to registration Window: Two Option 1.) Sign – In User Name, Password, etc.. 2.) Not A User Sign – Up Enter Name & Password
After Registering You will Be taken To Window which has Two option of Table Type: 1.) Single Player Table: Play against Computer to improve your skill 2.) Multi player Table: Play against computer or your friends • Three Kind of Different Poker games we’ll be focusing on: • Limit Texas Hold'em (there is a specified betting limit in each game and on each round of betting) • Pot Limit Texas Hold'em (a player can bet what is in the pot) • No Limit Texas Hold'em (a player can bet all of their chips at any time)
Table Will Look Something Like This Play money & Player’s Name Cards
Every Table: Ten Sits By Clicking on “SIT” button you’ll be able to sit down and play Each Sit will have Player’s Name and Amount of Play Money he/she has. Menu On the Table: Different You want to Sit out a Hand Exit Go to the Main Lobby
Action By every Player During the Hand For Example: During a game – Swift55 folds osho33 folds QuixoticX folds SFred Calls $ etc..
Blind Menu 1.) Post Big Blind 2.) Post Small Blind 3.) Sit Out 4.) Buy a Button 5.) Wait For Big Blind
Dealer Button • Player's Card& Stack Of Chips Different Kind Of Card Design Player’s Hand History Notepad if someone wants to take notes
Three Betting Rounds: 1.) Before The Flop
2.) Before The Turn 3.) Before the River After the River there is a Showdown
Tools That Will Be Used • Photoshop CS2 • In House Software • Experience using Photoshop • Use of layers and other advanced editing tools