texas hold’em poker simulation project

Post on 02-Feb-2016

54 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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. Graphical\User Interface Monarch, Ikhan and James Artificial Intelligence - PowerPoint PPT Presentation

TRANSCRIPT

Texas Hold’em Poker Simulation Project

Monarch^JamesIkhanKwang GrahamDevin

Organized by M^JIK Game Developers

Members Include:

Task Division• There are 4 Major Divisions within this

project.1. Graphical\User Interface

• Monarch, Ikhan and James

2. Artificial Intelligence• Kwang and Devin

3. Networking• Graham

4. Integration• All of us, but the go-to man will be Ikhon

Artificial Intelligence:The Real World Premise

Kwang Kim

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 RankingRoyal 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:1. The strength of his/her own hand.2. What he thinks other players have based upon their actions

(betting/raising etc..).3. 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 NetworkingPremise of Networking

•Necessary for multiplayer

•Simple design (User Friendly)

•Three main capabilities–Create server process–Join server process–Chat functionality

MultiplayerMultiplayer

-More players = More screens

-Multiplayer requires more computers

-Otherwise, cheating is too easy

-Allows for chat functionality between players

DesignDesign• 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 ServerCreate 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 ServerJoin 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:

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 Option1.) 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 skill2.) 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 ThisPlay money & Player’s Name

Cards

Every Table: Ten SitsBy Clicking on “SIT” button you’ll be able to sit down and playEach 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 HandExitGo 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

Questions & Answers

?/

top related