WO2002011083A2 - Computer gaming system - Google Patents

Computer gaming system Download PDF

Info

Publication number
WO2002011083A2
WO2002011083A2 PCT/US2001/023798 US0123798W WO0211083A2 WO 2002011083 A2 WO2002011083 A2 WO 2002011083A2 US 0123798 W US0123798 W US 0123798W WO 0211083 A2 WO0211083 A2 WO 0211083A2
Authority
WO
WIPO (PCT)
Prior art keywords
player
game
computer
action
program code
Prior art date
Application number
PCT/US2001/023798
Other languages
French (fr)
Other versions
WO2002011083A3 (en
Inventor
Darrell Miers
Robert Reitzen
Bill Rommerdahl
Michael Hesse
Hein Hundal
Original Assignee
Gamecraft, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gamecraft, Inc. filed Critical Gamecraft, Inc.
Priority to AU2001279076A priority Critical patent/AU2001279076A1/en
Publication of WO2002011083A2 publication Critical patent/WO2002011083A2/en
Publication of WO2002011083A3 publication Critical patent/WO2002011083A3/en

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/00003Types of board games
    • A63F3/00157Casino or betting games

Definitions

  • This invention relates to an intelligent card playing gaming system.
  • Existing electronic casino games are available in which one player plays against a predetermined criteria that determines whether the player wins.
  • One such game that is prominent in a casino or other gaming environment is referred to as video poker.
  • video poker the player is dealt a hand of cards which is evaluated against a payoff table. Thus, the player is pitted against static, predetermined hand rankings. If the player's hand exceeds a threshold ranking, the player wins the amount indicated for the threshold. The player does not play poker against another player.
  • Poker hands generally consist of five cards from a 52 card deck. There are 2,598,960 different hands. The hands are linearly ordered in strength or "rank.” There are nine general categories of hands, ranked as shown in Table 1.
  • hands are ranked according to the rank of individual cards, with an ace being the highest card and a 2 being the lowest card. There is no difference in rank between the four suits of cards.
  • Table 2 shows the ranking of some example hands within the two pair category. Because the suits of the individual cards do not matter for two pair hands (the suits become relevant only for flushes and straight flushes, since all cards in these hands must be of the same suit), no suits are shown in Table 2.
  • All hands can be ranked in a linear ranking from highest to lowest.
  • Poker is characterized by rounds of card dealing and betting. Numerous variations of poker exist, including “five card draw,” “five card stud,” “seven card stud,” “hold'em,” and “Omaha.” The variations generally differ in the manner in which cards are dealt and in the manner in which bets are placed. Various criteria may also be used to determine the winning hand, including highest ranking hand wins, lowest ranking hand wins (“low-ball”), and high and low hands each win half (“high-low”).
  • a game starts when each player has placed an initial bet, called the "ante,” into the “pot.”
  • the term “pot” refers to the total accumulation of bets made during a game.
  • Each player that has “anted” is dealt an initial set of cards. The number of cards depends on the particular variation of poker being played. In five card draw, each player is initially dealt five cards.
  • Each game may have several "rounds" of betting. If two or more players remain after a round of betting, either more cards are dealt, or there is a
  • a “showdown” occurs when two or more players remain in a game after the last round of betting for a game has been completed.
  • a player wins a game of poker also sometimes called a "hand of poker" either by having the highest ranking hand when a "showdown” occurs, or by being the last remaining player in the game after all other players have dropped out, or "folded.”
  • a showdown each player displays the player's hand to the other players. The player showing the hand with the highest ranking wins the pot.
  • Figure 1 illustrates the sequence of events that occur in a game of five card draw poker. As shown in Figure 1, the game begins with each player paying an ante into the pot at step 100. At step 105, each player is dealt five cards by one of the players who is referred to as the dealer. Players take turns being the dealer.
  • the first round of betting occurs at step 110.
  • each player is successively given the opportunity to either "pass” (i.e. to place no bet, allowed only if no one has previously placed a bet during the round), to "call” (i.e. to pay an amount into the pot equal to the total amount paid by the immediately preceding bettor), to "raise” (i.e. to pay an amount into the pot greater than the amount paid by the immediately preceding bettor), or to "fold” (i.e. to not pay anything into the pot and thereby to drop out of the game).
  • the betting sequence typically starts with the player to the immediate left of the dealer, and then progresses in a clockwise direction.
  • Figure 2 illustrates an example of a first round of betting that may occur at step 110 of Figure 1.
  • player A 200 is the dealer.
  • player B 205 is the dealer.
  • player C is the cards dealt to each player are shown under the player's name.
  • player A's hand is AA762
  • player B's hand is KK225
  • player C's hand is JJ843.
  • player B Since player B is the player to the immediate left of the dealer (player A), player B opens the betting round. Player B may pass (bet nothing), or place a bet. Player B's hand contains two pairs, which player B considers to be a good first round hand. Accordingly, as shown in Figure 2, player B bets one "bet” at step 215.
  • betting "one bet” means that the bettor bets the maximum betting limit allowed by the rules of the particular variation of poker game being played.
  • Two types of betting are "limit” betting and "pot limit” betting. In limit betting, the maximum betting limit is a predetermined amount. For example, a betting limit may be $2.
  • the maximum amount that a player may bet is the total amount in the pot at the time the bet is made, including the amount, if any, that the bettor would need to put into the pot if the bettor were calling.
  • Other types of betting are no limit betting, and spread limit betting, in which bets are allowed within a certain range (e.g. $2- $8).
  • player C After player B has bet, it is player C's turn to act. Since player B has bet one bet, player C's choices are to match player B's bet ("call"), to raise, or to fold. Player C has a pair of jacks, which player C considers to be good enough to call but not good enough to raise. Accordingly, as shown in Figure 2, player C calls at step 220 by placing an amount equal to player B's bet into the pot.
  • Player A After player C has bet, it's player A's turn. Player A has a pair of aces, which player A considers to be good enough for not just calling, but raising. Player A therefore decides to raise player B's bet by one bet at step 225. Player A thus places a total of two bets into the pot - one to meet B's bet, and one to raise by one bet.
  • player B After player A raises one bet, the betting proceeds back to player B. Player B considers his two pair hand to be good enough to call player A's bet, but not good enough to reraise. Accordingly, player B calls at step 230 by putting one bet (the amount of player A's raise) into the pot so that the total amount bet by player B equals the total amount bet by player A. After player B bets, the betting returns to player C. To stay in the game, player C must place one bet into the pot to match player A's raise. However, player C doesn't believe that player C's hand of two jacks is good enough to call player A's raise. Accordingly, player C decides to drop out of the game by folding at step 235.
  • the first round of betting ends at step 240.
  • player A and player B there are two remaining players, player A and player B.
  • the size of the pot in the example of figure 2 after the first round of betting depends on the size of the initial ante and the betting limit of the game.
  • Table 3 illustrates the growth in the size of the pot during the round of betting illustrated in Figure 2 for a betting limit of $1 and for a pot limit. In both cases, it is assumed that the total ante of all three players is $1.
  • the players remaining in the game have the opportunity to discard cards from their hands and replace them with newly dealt cards.
  • a player may discard and replace (or "draw") from 0 to 5 cards.
  • FIG. 3 illustrates an example of a second round of betting that occurs after the first round of betting of Figure 2.
  • player A and player B each drew 1 card during the draw.
  • Player A could have drawn more cards, but player A chose to draw only one card to make it appear that player A had a better hand than player A's pair of aces.
  • Player A discarded the lowest card of player A's hand (a 2), and was dealt a 9.
  • Player A's resulting hand as shown in Figure 3 is AA976.
  • Player B starting off with four good cards (two pairs), also drew one card, discarding a 5 and being dealt a 7.
  • Player B's resulting hand as shown in Figure 3 is KK227.
  • the betting in round 2 commences with player B.
  • player B chooses to "check” (i.e., "pass) at step 300.
  • a check is equivalent to a pass, or to betting zero.
  • the betting then proceeds to player A.
  • player A's hand is not particularly strong, player A decides to bet 1 bet at step 305, hoping that player B will believe that player A has a strong hand and therefore fold. Making a bet with a weak hand that probably will not win in a showdown is referred to as "bluffing.”
  • Player B does not fold, but instead raises player A by one bet at step 310. Player B thus pays two bets into the pot: one to meet player A's bet, and one to raise player A one bet. Player A, believing that player B's raise is a bluff, decides to reraise player B at step 315. Player A thus pays two more bets into the pot, one to match player B's raise and one for the reraise. Player B, not having bluffed, calls player A's reraise at step 320 by paying a bet into the pot to match player A's one bet reraise.
  • Player B's call of player A's reraise ends the second round of betting, leading to a showdown at step 325.
  • the amount of money in the pot at the end of the second round of betting depends on whether the game is a limit game or a pot limit game.
  • Table 4 shows the growth in the pot in the second round of betting for limit and pot limit games given the first round pot shown in table 3.
  • player B's hand of two pairs has a higher ranking than player A's hand of a pair of aces. Accordingly, player A's bluffing strategy proves unsuccessful, and player B wins the pot.
  • the present invention comprises an intelligent gaming system that includes a game engine, simulation engine, and, in certain embodiments, a static evaluator.
  • One embodiment of the invention comprises an intelligent, poker playing slot machine that allows a user to play poker for money against one or more intelligent, simulated opponents.
  • Another embodiment comprises a computer game system that allows a player to play a game simultaneously against an intelligent, simulated opponent and against a set of predetermined criteria.
  • the invention can be used with any of a variety of card games, including, without limitation, poker games including five card draw, five card stud, seven card stud, hold'em, Omaha, and others, in high-ball, low-ball, and high-low configurations, and with specified betting limits, pot limits, no-limits, spread limits, etc.
  • the simulation engine generates actions for the simulated player (s).
  • the simulation engine allows a real person, or user, to play against intelligent, simulated opponents.
  • a static evaluator offers another level of play in which the user can play against a predetermined criteria for winning.
  • the user plays against simulated opponent(s).
  • the user plays against simulated opponent(s) and against the predetermined criteria.
  • the game engine controls the pla ⁇ r according to the rules established for the game. Input is received from either the player or a simulated player and is processed by the game engine.
  • a game can be thought of as comprising a set of action points at which either the user or a simulated player are requested to act.
  • the game engine restricts the players to valid actions at the action points.
  • the gaming system allows either the user or a simulated player to be the first to act.
  • the user can respond to a request for an action when it is the user's turn to act.
  • the simulation engine determines the action taken by a simulated player.
  • the simulation engine uses its knowledge of the current state of the game to determine the action or sequence of actions to be taken by the simulated player.
  • the current state of the game can include, for example, the simulation engine's understanding of the probability of winning.
  • the current state of the game can further include the point of the game at which an action is to be taken.
  • the gaming system is an intelligent poker playing slot machine system.
  • the poker playing system is comprised of two poker players one of which is the simulated player and the other is the user.
  • the poker playing system includes input means for accepting bets from the user and output means for paying winnings to the user.
  • the poker playing system allows a first round of betting, a draw, and a second round of betting.
  • the first round action(s) includes the number of cards that the simulated player draws at the conclusion of the first round.
  • a set of action sequence triggering variables having associated values are used by the simulation engine to identify the simulated player's action(s).
  • Each action sequence triggering variable identifies one or more actions to be taken by the simulated player.
  • An action sequence triggering variable is identified and its value is used to determine the action(s) that are adopted for use by the simulated player.
  • Each action sequence triggering variable used to determine a strategic sequence of actions for the simulated player is associated with a hand rank (e.g., three of a kind or a pair of queens).
  • the hand rank of the hand dealt to the simulated player is compared to appropriate action sequence triggering variables to determine the action sequence strategy to be used.
  • a value is associated with each variable that identifies a portion of time that an action(s) associated with the variable is to be taken.
  • one or more applicable action sequence triggering variable(s) are identified using the simulated player's hand rank.
  • a determination is made whether the action(s) associated with the chosen action sequence triggering variables are to be adopted using the values associated with the variables. For example, in one embodiment, a random number between zero and one is compared to a value associated with a variable that represents a percentage of time an action(s) associated with the variable is to be taken. If the random number is less than the percentage, a first action is taken. If the random number is greater than the percentage, a different action is taken.
  • the fold action can be adopted if it is determined using the variable values that the bet action should not be taken.
  • values for a set of action sequence triggering variables are determined.
  • the values are retrieved from a lookup table.
  • the values are dynamically generated by the intelligent poker playing system.
  • the values can be stored in an initialization table. Each row contains a set of values that are used to initialize the action sequence triggering variables.
  • the selection or generation of the values for the set of action sequence triggering variables is based on a set of game criteria.
  • the game criteria can be the number of cards that PI (the first player to act) and P2 (the second player to act) drew and the size of the pot.
  • the game criteria is used to identify a row in the initialization table.
  • Each column in the row contains a value for one of the action sequence triggering variables.
  • the values for each action sequence triggering variable specifies a hand rank and a percentage.
  • a set of actions is associated with each action sequence triggering variable.
  • the percentage represents the portion of time an action associated with the variable is to be adopted by the simulated player in the case where the player has the exact hand rank specified by the variable.
  • a variable's hand rank is used to position the variable relative to the other variables in the set of action sequence triggering variables along a hand strength axis.
  • a hand strength is determined for the simulated player's hand and compared to the values of the action sequence triggering variables. The value of the simulated player's hand strength relative to the value of the action sequence triggering variables determines the simulated player's action(s).
  • the gaming system of the invention allows the simultaneous play by a user against one or more intelligent, simulated opponents and against a pre-determined payoff schedule.
  • a poker playing slot machine is provided that allows a player to play simultaneously against an intelligent, simulated opponent and against a video- poker style payoff table. For a particular hand, a player may be awarded winnings based on the payoff table even if the player loses against the simulated opponent.
  • an embodiment of the invention provides a computer gaming system implemented in a communication interconnect environment, such as a general computer network and /or client-server computing environment that could include for example, the Internet.
  • a communication interconnect environment such as a general computer network and /or client-server computing environment that could include for example, the Internet.
  • an embodiment allows more than one real player to compete with other real players as ell as more than one simulated player during a single game. For example, a real player can compete against other real players, without simulated players. Alternatively, more than one simulated player games are possible, where no real players compete, but wagers may be placed upon simulated player performance or other aspects of the game competition.
  • An embodiment also provides non-monetary, entertainment, or "for fun" games.
  • system is used to refer to a device and /or a method for performing a function.
  • Figure 1 is a flow chart illustrating a sequence of events in five card draw poker.
  • Figure 2 is a schematic diagram illustrating a first round of betting.
  • Figure 3 is a schematic diagram illustrating a second round of betting.
  • Figure 4 provides an example of a general purpose computer that can be used with the present invention.
  • Figure 5 provides an example of the system components according to one or more embodiments of the invention.
  • Figures 6A-6F provide a process flow for an intelligent "five card draw” poker game between two players according to an embodiment of the invention.
  • FIG. 7A illustrates possible first round actions according to one embodiment of the invention.
  • Figure 7B illustrates possible first round actions where raises are limited according to one embodiment of the invention.
  • Figures 8A-8C provide a process flow for identifying a first round strategy for player PI according to an embodiment of the invention.
  • Figures 9A-9C provide a process flow for identifying a first round strategy for player P2 according to an embodiment of the invention.
  • Figure 10 illustrates possible second round actions according to one embodiment of the invention.
  • Figure 11 illustrates possible second round actions in a game where raises are limited according to one embodiment of the invention.
  • Figure 12 provides an example of a second round strategy lookup table used in one embodiment of the invention.
  • Figure 13 illustrates actual columns for table 1200 of Figure 12 according to an embodiment of the invention.
  • Figure 14 illustrates the action sequence intervals given sample values for the action sequence triggering variables according to one embodiment of the invention.
  • Figure 15 provides a second round process flow that uses the table of Figures 12-14 according to one embodiment of the invention.
  • Figures 16A-16B provide values for action sequence triggering variables for example pot sizes of 3 and 5.
  • Figures 17 and 18 illustrate slot machine embodiments of the intelligent card playing system of the invention.
  • Figure 19 provides an example of a general purpose computer system coupled to a general computing network, the Internet, or in a client-server computing environment, that can be used with the present invention.
  • Figure 20 provides an example of a block diagram of a general network environment that can be used with the present invention.
  • Figures 21a and 21b are flow diagrams of a computer gaming system implemented in an Internet or client-server environment, according to an embodiment of the invention.
  • the present invention can be implemented on a general purpose computer such as illustrated in Figure 4.
  • a keyboard 410 and mouse 411 are coupled to a bi-directional system bus 418.
  • the keyboard and mouse are for introducing user input to the computer system and communicating that user input to CPU 413.
  • the computer system of Figure 4 also includes a video memory 414, main memory 415 and mass storage 412, all coupled to bi-directional system bus 418 along with keyboard 410, mouse 411 and CPU 413.
  • the mass storage 412 may include both fixed and removable media, such as magnetic, optical or magnetic optical storage systems or any other available mass storage technology.
  • Bus 418 may contain, for example, 32 address lines for addressing video memory 414 or main memory 415.
  • the system bus 418 also includes, for example, a 32-bit DATA bus for transferring DATA between and among the components, such as CPU 413, main memory 415, video memory 414 and mass storage 412. Alternatively, multiplex DATA/ address lines may be used instead of separate DATA and address lines.
  • CPU 413 may be any suitable microprocessor such as, for example, the PentiumTM processor manufactured by Intel.
  • Main memory 415 is comprised of dynamic random access memory (DRAM).
  • Video memory 414 is a dual-ported video random access memory. One port of the video memory 414 is coupled to video amplifier 416.
  • the video amplifier 416 is used to drive the cathode ray tube (CRT) raster monitor 417.
  • Video amplifier 416 is well known in the art and may be implemented by any suitable means. This circuitry converts pixel DATA stored in video memory 414 to a raster signal suitable for use by monitor 417.
  • Monitor 417 is a type of monitor suitable for displaying graphic images.
  • embodiments of the invention may include systems where data is transmitted from one point to another point via any type of interconnection fabric that provides a mechanism for transmitting and/or receiving data.
  • system is used to refer to a device and/or a method for performing a function.
  • data is sent across an interconnection fabric that comprises any of multiple suitable communication paths for carrying data between multiple computational devices.
  • the interconnect fabric may be, for example, a local area network, a wide area network, a virtual private network, the Internet, an Intranet, a wireless network, or any other type of interconnect capable of sending data from one device to another.
  • the interconnect fabric may be implemented with a physical medium such as a wire or fiber optic cable, or it may be implemented in a wireless environment using microwave signals, light signals, or any other type of wireless communication mechanism.
  • figure 19 provides an example of a general purpose computer system coupled to a general computer network, the Internet, or in a client-server computing environment, that can be used with the present invention.
  • the Internet will be used to refer to the Internet itself as well as other types of Intranets, networks, distributed servers, or client-server architectures where a computer gaming system is desired and applicable.
  • the computer 1900 includes a communication interface 1920 coupled to bus 418.
  • the communication interface 1920 provides a two- way data communication coupling via a network link 1921 to a network 1922.
  • the communication interface 1920 is a modem
  • the communication interface 1920 provides a data communication connection to a corresponding type of telephone line, which comprises part of a network link 1921.
  • communication interface 1920 is a Network Interface Card (NIC)
  • NIC Network Interface Card
  • Physical network links can include Ethernet, wireless, fiber optic, and cable television type links.
  • communication interface 1920 sends and receives electrical, electromagnetic or optical signals which carry digital data streams representing various types of information.
  • the network link 1921 typically provides data communication through one or more networks to other data devices.
  • network link 1921 may provide a connection through local network 1922 to a host computer 1923 or to data equipment operated by an Internet Service Provider (ISP) 1924.
  • ISP 1924 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "Internet" 1925.
  • Internet 1925 uses electrical, electromagnetic or optical signals, which carry digital data streams to files.
  • the signals through the various networks and the signals on network link 1921 and through communication interface 1920, which carry the digital data to and from computer 1900, are exemplary forms of carrier waves for transporting the digital information.
  • the computer 1900 can send messages and receive data, including program code, through the network(s), network link 1921, and communication interface 1920.
  • server 1926 might transmit a requested code for an application program through Internet 1925, ISP 1924, local network 1922 and communication interface 1920.
  • one such application downloaded is a computer gaming system as described herein.
  • the received code may be executed by CPU 413 as it is received, and/or stored in mass storage 412, or other non-volatile storage for later execution.
  • computer 1900 may obtain application code in the form of a carrier wave.
  • application code may be embodied in any form of a computer program or communications interconnect product.
  • a computer program product comprises a medium configured to store or transport computer readable code, or in which computer readable code may be embedded.
  • Some examples of computer program products are CD-ROM disks, ROM cards, floppy disks, magnetic tapes, computer hard drives, servers on a network, and electronic waves.
  • an embodiment of the invention can be implemented as computer software in the form of computer readable program code executed on a general purpose computer, such as the computer 1900 illustrated, coupled to a general computer network, the Internet, or in a client-server computing environment.
  • a general purpose computer such as the computer 1900 illustrated
  • a general computer network such as the Internet
  • a client-server computing environment such as the Internet
  • an embodiment can be implemented as computer software implemented in a communication interconnect environment.
  • Computers and computer networks are used to exchange information, perform transactions, and provide entertainment in many fields. During these events, the exchange of data between computers typically occurs between a "server application” that provides information or services, and a “client application” or device that receives the provided information and services. Multiple server applications are sometimes available on a “system server” such as a single computer server that provides services for multiple clients.
  • distributed server systems allow a single client to obtain services from applications residing on multiple servers.
  • client applications 2003 are able to communicate with server applications 2002 executing on the same computer system or on another computer system accessible via a network, for instance via the Internet 2000.
  • the Internet is a worldwide network of interconnected computers.
  • An Internet client computer accesses a computer on the network via an Internet provider.
  • An Internet provider is an organization that provides a client (computer) with access to the Internet (via analog telephone line or Integrated Services Digital Network line, for example).
  • a client can, for example, read information from, download a file from, or send an electronic mail message to another computer /client using the Internet.
  • a client To retrieve a file or service on the Internet, a client must typically search for the file or service, make a connection to the computer on which the file or service is stored, and download the file or access the service. Each of these steps may involve a separate application and access to multiple, dissimilar computer systems (e.g. computer systems having operating different systems).
  • the World Wide Web (WWW) was developed to provide a simpler, more uniform means for accessing information on the Internet.
  • the components of the WWW include browser software, network links, servers, and WWW protocols.
  • the browser software, or browser is a tool for displaying a user-friendly interface (i.e., front-end) that simplifies user access to content (information and services) on the WWW.
  • Browsers use standard WWW protocols to access content on remote computers running WWW server processes.
  • a browser allows a user to communicate a request to a WWW server without having to use the more obscure addressing scheme of the underlying Internet.
  • a browser typically provides a graphical user interface (GUI) for displaying information and receiving input. Examples of browsers currently available include Netscape Navigator and Communicator, and Microsoft Internet Explorer.
  • GUI graphical user interface
  • the most common modern protocol is the TCP/IP (Transmission Control Protocol/Internet Protocol) protocol suite.
  • the protocols are based on the OSI (Open Systems Interconnect) seven-layered network communication model.
  • WWW messages are primarily encoded using Hypertext Transport Protocol (HTTP).
  • HTTP instantiates the (top) Application layer of the OSI model.
  • Application layer protocols facilitate remote access and resource sharing and are supported by the reliable communications ensured by the lower layers of the communications model. Therefore HTTP simplifies remote access and resource sharing between clients and servers while providing reliable messaging on the WWW.
  • Information servers maintain the information on the WWW and are capable of processing client requests.
  • HTTP has communication methods that allow clients to request data from a server and send information to the server.
  • the client browser contacts the HTTP server and transmits the request to the HTTP server.
  • the request contains the communication method requested for the transaction (e.g., GET an object from the server or POST data to an object on the server).
  • the HTTP server responds to the client by sending a status of the request and the requested information. The connection is then terminated between the client and the HTTP server.
  • a client request therefore, consists of establishing a connection between the client and the HTTP server, performing the request, and terminating the connection.
  • the HTTP server typically does not retain any information about the request after the connection has been terminated. That is, a client can make several requests of an HTTP server, but each individual request is treated independent of any other request.
  • WWW employs an addressing scheme is that uniquely identifies Internet resources (e.g., HTTP server, file, or program) to clients and servers.
  • This addressing scheme is called the Uniform Resource Locator (URL).
  • a URL represents the Internet address of a resource on the WWW.
  • the URL contains information about the protocol, Internet domain name and addressing port of the site on which the server is running. It also identifies the location of the resource in the file structure of the server.
  • HTTP provides a mechanism of associating a URL address with active text.
  • a browser generally displays active text as underlined and color-coded. When activated (by a mouse click, for example) the active text causes the browser to send a client request for a resource to the server indicated in the text's associated URL address.
  • This mechanism is called a hyperlink.
  • Hyperlinks provides the ability to create links within a document to move directly to other information.
  • a hyperlink can request information stored on the current server or information from a remote server.
  • the HTTP server locates the file and sends it to the client.
  • An HTTP server also has the ability to delegate work to gateway programs.
  • CGI Common Gateway Interface
  • a gateway program is referenced using a URL.
  • the HTTP server activates the program specified in the URL and uses CGI mechanisms to pass program data sent by the client to the gateway program.
  • Data is passed from the server to the gateway program via command-line arguments, standard input, or environment variables.
  • the gateway program processes the data and returns its response to the server using CGI (via standard output, for example).
  • the server forwards the data to the client using the HTTP.
  • HTML Hypertext Markup Language
  • Figure 20 provides an example of a block diagram of a general network environment that can be used with the present invention.
  • an embodiment of the invention can be implemented as computer software in the form of computer readable program code executed on a server computer 2002, connected to the Internet 2000, and accessible to client computers 2003.
  • the invention can be implemented on various other networks or network systems as appropriate.
  • the goal of the system is to encourage increased user play over the Internet 2000, by having a server provide a user friendly gaming environment at various client interfaces. For instance, real players are able to use a client computer 2003 to access the gaming system (housed on a server computer 2002) through the Internet 2000 or another network (which is in turn coupled to the game server locally, through the Internet in turn, or through another appropriate system).
  • such an embodiment allows more than one real player to compete with other real players as well as more than one simulated player during a single game.
  • embodiments provide more than one simulated player games where no real players compete, but wagers may be placed upon simulated players or other aspects of the game competition.
  • a real player may decide not to compete in a card game at all, but instead to wager on various possible aspects of the outcome of a card game.
  • a third real player who is not competing in a 5 card draw poker card game above, may wager that a certain simulated player or real player will win the card game.
  • a real player who is competing in a card game may wager on himself and bet on his own hand.
  • a real player who is competing in a card game may wager money by betting on his own hand during the competition.
  • An embodiment also provides non-monetary, entertainment, or "for fun” games. Examples of such games comprise games where players and those competing in the game do not use points or money. Similarly, an instance of a "for fun” game might have players and competitors wagering and betting points or "fake money.” Additional embodiments may combine for money and "for fun" environment so that, for instance, the competitors are betting real money, but those players who do not compete, but wager on the outcome, earn points or non-monetary prizes.
  • FIGS 21a and 21b are flow diagrams of a computer gaming system implemented in an Internet or client-server environment, according to an embodiment of the invention.
  • one or more real players may access the game server from one or more client computers or "clients”.
  • the game server determines the number of real players who desire to play.
  • the game server determines the number of simulated players that will be involved.
  • the game server now provides a game environment for multiple real players and/or multiple simulated players 2108. For instance, a five card draw poker game may be set up between two real players who have accessed the game server from two different locations on two different clients, and two simulated players whose actions will be determined by the game server as described below.
  • a real player may compete in a card game with one or more other real players only, or with one or more other real players and one or more simulated players.
  • a real player may decide not to compete in a card game at all, but instead to wager on various possible aspects or outcomes of a card game.
  • the game server determines whether the simulated players will "ante” and provides the "ante” for each of such simulated players 2110. Similarly, real players may choose to "ante” and make their "ante” at the client 2112. The game server then provides cards to each real and simulated player 2113 who has made and "ante". In the five card draw poker example, each real and simulated player may be required to "ante” a dollar to receive cards. Hence, after all four players commit a dollar (up for the winner to win), each player will receive a "hand" of five cards to compete in the card game with. If a player does not "ante” up for the hand, that player will not receive cards. There may or may not be an order to determine the succession of anteing and cards are usually dealt in a clockwise order, starting with the player to the dealer's left.
  • Alternate embodiments of the invention provide games where no "ante” is necessary in order to receive cards. Thus, all players are dealt a hand without having to "ante” (e.g. for "free”).
  • the game server determines the 1 st round betting decisions for the simulated players and makes the 1 st round bet for each simulated player 2114. Similarly, real players make 1 st round bets, at the client 2115. Thus, in our five card example, after the real players evaluate their cards and the simulated players cards are evaluated by the game server, betting begins. A betting order is usually established according to some aspect of the cards the players have received.
  • the first player who vouches for a pair of "Jacks" may begin the betting, or alternatively, the betting may begin with the player to the dealer's left and proceed in a clockwise order.
  • the betting order may be determined by various other systems, or there may be no specific order.
  • Betting actions, or "bets” may comprise checking the bet (e.g. passing the bet to the next player, if no money has been wagered yet), betting (e.g. actually wagering money), calling a bet (e.g. wagering the same amount of money as the previous bet), raising a bet (e.g. wagering more money than the previous bet), and folding (e.g. quitting the game).
  • betting e.g. passing the bet to the next player, if no money has been wagered yet
  • betting e.g. actually wagering money
  • calling a bet e.g. wagering the same amount of money as the previous bet
  • raising a bet e.g. wagering more money than the previous bet
  • folding e.g. quitting the game
  • the game server determines if there is more than one player remaining to compete in the game 2116. If there is NOT more than one player remaining to compete in the game, at step 2116, the flow continues to step 2128 and the remaining player wins. In our example, for instance, if only one players remains in the competition at any point during 1 st round betting or afterwards, that player is the remaining player winner. The game server then awards a prize to the remaining player winner 2129. For the five card draw poker example above, the remaining player would be awarded all the antes and bets from the current card game. Flow then proceeds to step 2130 where the game server determines if any player meets other winning criteria.
  • the game server determines the number of cards each simulated player will draw and which cards each will discard 2117. Similarly, each real player decides how many cards to draw and which cards to discard 2118.
  • a "draw" order is usually established according to some aspect of the cards the players have received. For instance, the last player to increase the bet may begin the draw, or alternatively, the draw may begin with the player to the dealer's left and proceed in a clockwise order.
  • the draw order may be determined by various other systems, or there may be no specific order.
  • the game server provides draw cards to real and simulated players.
  • draw cards are provided to each player in exchange for the player's discarded cards, as the draw progression proceeds.
  • the game server determines the 2 nd round betting decisions for the simulated players and makes the 2 nd round bet for each simulated player 2120.
  • real players make 2 nd round bets, at the client 2121.
  • second round betting begins. For 2 nd round betting, a betting order is usually established according to some aspect of the prior betting round or the cards the players have received.
  • the last player to increase the bet in the prior round may begin the 2 nd round betting, or alternatively, the 2 nd round betting may begin with the player to the dealer's left and proceed in a clockwise order.
  • 2 nd round betting order may be determined by various other systems, or there may be no specific order.
  • betting actions, or "bets" may comprise checking the bet (e.g. passing the bet to the next player, if no money has been wagered yet), betting (e.g. actually wagering money), calling a bet (e.g. wagering the same amount of money as the previous bet), raising a bet (e.g. wagering more money than the previous bet), and folding (e.g. quitting the game).
  • the game server determines if there is more than one player remaining to compete in the game 2122. If there is NOT more than one player remaining to compete in the game, at step 2122, the flow continues to step 2128 and the remaining player the wins. In our example, for instance, if only one players remains in the competition at any point during 2 nd round betting or afterwards, that player is the remaining player winner. The game server then awards a prize to the remaining player winner 2129. For the five card draw poker example abbve, the remaining player would be awarded all the antes and bets from the current card game. Flow then proceeds to step 2130 where the game server determines if any player meets other winning criteria.
  • the game proceeds to a showdown and the game server displays all player cards for all remaining players 2123. Then, the game server determines, according to the cards, which remaining player(s) have a winning hand 2124. The game server awards a prize to the winning cards player(s) 2125. For the five card draw poker example above, if one real player and one simulated player remain at step 2122, there is a showdown. If the simulated player has two aces, two kings and a jack, while the real player has three twos a five and a four, the real player is the winning cards player and wins a prize. Typically, the prize for the winning cards player(s) is the all the antes and bets from the current card game (e.g. the "pot").
  • the players having the hands with the same ranking each have a winning hand. For example, in a four player game with a three player showdown, it is possible for the first player to have two queens, two tens and a four; the second player to have two aces, two kings, and a jack; and the third player to have two aces, two kings, and a jack.
  • the second and third players are both winners because they both have equally ranking hands (two aces, two kings, and a jack) and their hands rank above that of the first player (two queens, two tens, and a four).
  • the game server determines that both players (two and three) have winning cards, and at step 2125 both players (two and three) are awarded a prize.
  • the prize for multiple winners is a proportional portion of all the antes and bets from the current card game (e.g. a portion of the "pot").
  • player two is awarded half of the pot
  • player three is awarded half of the pot.
  • the first player has three fours, a queen and a ten, then although the second and third player have equally ranking hands, there is only one winning hand.
  • the first player has the highest ranking hand and the first player is the winner. Therefore, the fact that the second and third player have equally ranking hands does not lead to multiple winning hands.
  • the game server determines if any player meets other winning criteria 2130. For example, a player may get a prize for having the lowest hand of the day. Also, a player may get a "bad beat" prize for having a very high hand such as a straight flush, but loosing to a higher straight flush. If no player meets other winning criteria, the game ends 2134. If one or more players do meet other winning criteria, then each that does is an other winning criteria winner 2132. The game server awards a prize to each meeting other winning criteria winner 2133. The game then ends 2134.
  • the computer and communications systems described above are for purposes of example only.
  • the present invention may be implemented in any type of communications system, computer system or programming or processing environment.
  • the invention may be implemented by means of software programming on these or other computer or communications systems.
  • any and all of the above mentioned systems, methods, products, and/or embodiments may be used separately or integrated with any and /or all of the others.
  • Embodiments of the invention comprise an intelligent gaming system in which a user-player is pitted against one or more intelligent, simulated opponents.
  • the gaming system further allows the user to play against an intelligent, simulated opponent and against a predetermined set of results or aspects of the game.
  • the gaming system is an intelligent poker playing system in which a user-player plays poker against an intelligent, simulated poker player and a predetermined payoff table.
  • Figure 5 provides an example of the system components according to an embodiment of the mvention.
  • System 500 comprises game engine 510, simulation engine 506 and static evaluator 508.
  • Game engine 510, simulation engine 506 and static evaluator 508 can be implemented as software that runs in the system of Figure 4, for example.
  • System 500 interacts with player 502 to obtain input from player 502.
  • Simulation engine 506 generates actions for the simulated player that becomes input to game engine 510.
  • Input from player 502 and simulation engine 506 is received and processed by game engine 510.
  • System 500 generates output 504 that is displayed to player 502.
  • Output 504 includes messages prompting player 502 for input, messages describing the action(s) taken by the simulated player, and status messages that describe an interim or final status of the game (i.e., whether the simulated player or player 502 is winning the game).
  • Simulation engine 506 identifies the action(s) that the simulated player takes during the course of a game. Simulation engine 506 evaluates the current state of the game including the actions that have already been taken by the players and chooses an action or actions for the simulated player from among the set of currently valid actions. The action(s) identified by simulation engine 506 and player 502 are processed by game engine 510.
  • Player 502 can compete agamst some static measurements in some embodiments of the invention.
  • Static evaluator 508 compares some aspect or level of play by player 502 against a predetermined set of criteria. If player 502 achieves an acceptable level of play based on the predetermined set of criteria, player 502 wins the static competition.
  • the invention is described herein with reference to an intelligent poker playing system and in particular to "five card draw.” However, it should be apparent that the invention can be applied to other card games including other poker games (e.g., "five card stud,” “seven card stud,” “hold'em,” and “Omaha”). The invention can be applied to any game in which strategies are used to identify an action during the game.
  • the following provides a process flow for system 500 that implements a poker gaming system.
  • the intelligent poker playing system is described using a single user-player pitted against one intelligent, simulated player.
  • the invention can be practiced with varying numbers of user-players and intelligent, simulated players.
  • one user-player can be pitted against more than one intelligent, simulated player, or vice versa.
  • multiple user-players can be pitted against multiple intelligent, simulated players.
  • each player is dealt five cards after placing an initial bet.
  • a player evaluates his hand and adopts a strategy for playing the hand.
  • a player's strategy determines the action(s) taken by the player. For example, in a two player "five card draw” poker game, player 1, PI, can adopt one strategy, if he believes that his hand is likely to be a "winning" hand. In that case, PI opens the betting and then reraises if player 2, P2, raises Pi's bet. If PI believes that his hand has less potential to beat P2's hand, PI can adopt a strategy to open with a bet, but fold, if P2 raises Pi's opening bet.
  • PI may adopt a strategy to try to bluff P2 into believing that his hand is a "winning" hand. In that case, PI can open with a bet and reraise P2's bet. Pi's strategy may be simply to fold when PI believes that his hand has no value.
  • PI can modify or adopt a new strategy during the game.
  • the size of the pot may cause PI to change strategies, for example.
  • PI may adopt different strategies between rounds (e.g., before and after the draw).
  • P2 can adopt one or more strategies during a game.
  • Simulation engine 506 can simulate the play of either PI or P2.
  • Figures 6A-6F provide a process flow for a video "five card draw” poker game between two players according to an embodiment of the invention.
  • Either PI or P2 is player 502 with the other being simulated using simulation engine 506.
  • the simulated player can be PI in one game and P2 in another game.
  • step 610 If player 502 "anted”, processing continues at step 610 to deal the cards to PI and P2.
  • step 612 ("PI action?"), a determination is made whether Pi's action is to bet or to fold. If PI folds at step 612, processing continues at step 614 to payout the pot to P2 (see Figure 6F for an example of a payout and static evaluation process flow according to an embodiment of the invention). Processing continues at step 602 to await the start of another game or termination of play.
  • step 616 If Pi's action was to bet at step 612, processing continues at step 616 to wait for P2's action. P2 has the option to fold, raise, or call. If P2 folds at step 616, processing continues at step 618 to process the payout to PI and processing continues at step 602.
  • step 624 processing continues at step 624 to wait for Pi's action.
  • PI can call, raise P2's raise, or fold. If PI folds, the pot is paid out to P2 at step 626. If PI raises P2's raise, processing continues at step 628 to wait for P2's response. If P2 raises Pi's raise at step 628, processing continues at step 624 to await Pi's action. The sequence of one player raising another player can continue until a raise limit is reached, or one player calls the other's raise. To implement a raise limitation, a step can be added to the steps of Figure 6B to examine the number of raises against a raise threshold. If the number of raises has reached the threshold, a player's valid actions can be limited to either folding or calling. Further, if either PI or P2 call the other player's bet (at steps 624 or 628, respectively), processing continues at step 632.
  • step 632 at which each player may draw cards.
  • PI selects the cards to be discarded.
  • a set of replacement cards is drawn by PI at step 634.
  • P2 discards and draws zero or more cards.
  • PI can either pass (i.e., check) or bet. If PI passes, processing continues at step 656 ( Figure 6E) to await P2's response. If P2 checks in response to Pi's check, a showdown occurs with a payout being given at step 668 to the player with a highest ranking hand.
  • Pi opens the second round of betting at step 644 with a bet
  • processing continues at step 646 to await P2's action.
  • P2 can raise, call or fold in response to Pi's bet. If P2 raises Pi's bet, processing continues at step 660 to await Pi's action. If P2 folds at step 646 after Pi opens with a bet, processing continues at step 648 to award the pot to PI. If P2 calls Pi's bet, processing continues at step 650 to pay the pot to the player with the higher ranking hand.
  • PI can call, fold or raise. In an embodiment in which check-raising is not allowed, however, PI would only have the option to call or fold at step 660.
  • Step 662 If PI folds, the pot is paid to P2 at step 662. If PI calls, the pot is paid to the player with the higher ranking hand. If PI raises P2's bet, processing continues at step 664 to await P2's response. Steps 660 and 664 can repeated with each player responding to the other's raise until one of the player's calls, or runs out of money.
  • Figures 6A-6E refer to a payout step that awards the pot to the winner of the game. Where one of the players folds, the winner is the player that did not fold. Where neither folded and play ended in a showdown, the winner is the one having a higher ranking hand. The pot is paid to the winner.
  • the system further includes a payout to player 502 when player 502 has a hand ranking that meets or beats a threshold hand ranking.
  • Static evaluator 508 compares player 502's hand and the threshold to determine whether player 502 is a winner.
  • Figure 6F provides an example of a payout and static evaluation process flow according to an embodiment of the invention.
  • step 680 if it is determined that the static evaluation feature of the system is active, processing continues at step 682 to allow player 502 to play against a predetermined payoff table (i.e., bonus play).
  • a predetermined payoff table i.e., bonus play.
  • the process flow of Figure 6F allows player 502 to play the bonus round whether or not player 502 folded.
  • static evaluator 508 can limit bonus play such that player 502 is prohibited from bonus play when player 502 folded.
  • a bonus can be paid based on a graduated payback structure for a hand that meets or exceeds the threshold.
  • the amount paid as a bonus can be a set amount for each card ranking.
  • a bonus is paid to player 502 for a hand ranking of a pair of jacks or better. If, for example, player 502 has three of a kind, he is paid 3 units (e.g., three dollars). If player 502 has a royal flush, he is paid 488 units. If player 502 has a pair of tens, he does not receive a payback.
  • Static evaluator 508 can be used to award a jackpot amount that reflects contributions from multiple players including player 502. When a player meets or exceeds the threshold ranking, the jackpot is paid out to that player. Player 502 can therefore compete against other system users to win the jackpot that includes the contributions made by other players into the jackpot. Each player plays against the predetermined bonus threshold. Each user can interact with the same or different instances of system 500 to contribute an amount to the bonus jackpot.
  • the first round of the intelligent poker playing system includes points at which a player (e.g., player 502 or the simulated player) must take an action.
  • a player selects an action from the set of available actions that is a subset of the set of actions (e.g., pass or check, fold, call, bet and raise).
  • PI and P2 continue the first round until one of the players either calls or folds.
  • Figure 7A illustrates possible first round actions according to one embodiment of the invention.
  • Columns 720-728 identify the five action points in the first round. For example, column 720 corresponds to step 612 of Figure 6A. Columns 722, 724, 726 and 728 correspond to steps 616, 624, 628, and 624, respectively, of Figures 6A-6B. Rows 700A-700B, 702A-702C, 704A-704C, 706A-706C, and 708A-708C indicate the specific actions available to the players. For example, column 720 (P1A1) represents the first action by PI.
  • the possible actions for PI for the PI Al action are either bet or fold (in other embodiments, other actions for PI Al may be allowed, such as, for example, bet or pass). If PI folds, P2 is awarded the pot and play ends. Therefore, no actions are identified for columns 722-728.
  • Rows 702A-702C illustrate the possible first actions for P2 (P2A1), if P1A1 is a bet. Referring to column 722, P2A1 can be a fold, call or raise. If P2 folds in response to Pi's bet (row 702A), the pot is paid to PI and play ends. If P2 calls (row 702B) there is a showdown, and the pot is paid to the player with the highest hand. Rows 704A-704C illustrate the possible second actions for PI (P1A2), if P2A1 is a raise (i.e., fold, call or raise). If PI A2 is a fold (row 704A), the pot is paid to P2 and play ends.
  • P2A1 can be a fold, call or raise. If P2 folds in response to Pi's bet (row 702A), the pot is paid to PI and play ends. If P2 calls (row 702B) there is a showdown, and the pot is paid to the
  • PI A2 is a call (row 704B), there is a showdown and the pot is paid to the player with the highest hand. If PI A2 is a raise, play turns to P2 for an action. P2's response (P2A2) is represented in rows 706A-706B. If P2A2 is a fold or call, play ends. If P2A2 is a raise, PI can respond (PI A3) by folding, calling or raising (rows 708A-708C).
  • play can continue (i.e., PI An and P2An). In fact, play can continue indefinitely until a player calls the other's bet, folds, or runs out of money. Referring to Figure 6B, the process flow can continue at steps 624 and 628 until either PI or P2 folds or calls.
  • system 500 can limit the number of possible raises. That is PI and P2 are limited in the number of times each can raise the other's bet.
  • Figure 7B illustrates possible first round actions in a game where the number of raises is limited according to one embodiment of the invention.
  • PI Al can be a fold or bet.
  • P2A1 in response to a betting action for PI Al, P2A1 can be a fold, call or raise.
  • P1A2 referring to rows 714A-714B (P1A2), PI is limited to either calling P2's raise or folding. Therefore, the first round is guaranteed to end no later than PI A2.
  • a player must choose an action at each action point (e.g., P1A1, P2A1, P1A2, etc.).
  • a player typically develops a strategy for playing and selects an action based on the strategy.
  • a player's strategy determines the action(s) taken by the player.
  • a player's strategy in the first round is typically based on the player's hand.
  • a hand that a player believes to be a "winning” hand may prompt a different strategy than one that the player believes is a "losing" hand. For example, a player may consider that three of a kind or better is a "winning" hand. Another player may consider that two pair or better to be a "winning" hand.
  • one pair or lower may be considered a "losing" hand.
  • a player may fold with a one pair or lower hand.
  • a player may adopt the strategy typically used with a "winning” hand even though he perceives his hand to be a "losing" hand in an effort to bluff the other player into folding.
  • the initial strategy used by either player is based on the rank of the player's hand. In another embodiment of the invention, the initial strategy based on a hand's rank is ignored in favor of another strategy.
  • the strategy identifies the action a player takes at an action point, and the actions taken to reach an action point. In a preferred embodiment, the first round strategy further identifies the number of cards the player is to draw at the conclusion of round one. Since player 502 can be either PI or P2, a technique is provided to identify a first round strategy for either PI or P2.
  • the selection of the simulated player's strategy is independent of the strategy adopted by player 502. Thus, the simulated player's strategy is not simply an imitation of the action(s) taken by player 502.
  • a set of first round action sequence triggering variables are identified that identify a player's strategy.
  • Each variable has an associated numeric value that represents the percentage of times that a player adopts the strategy associated with the variable.
  • the strategy identifies the action to be taken by a player at the player's action points.
  • the strategy identifies the drawing action.
  • the number of cards to draw is straightforward based on the player's hand. For example, both PI and P2 draw no cards with any straight, flush or full house; draw 1 card with two pair; draw three cards with a pair; draw four cards with an ace-high hand. PI will occasionally draw 1 card to four-card flushes or four- card straights, or may bluff and stand pat (draw no cards) with an otherwise non-betting hand.
  • a strategy specifies a particular number of cards for the draw, or specifies that the draw is based on the hand.
  • One set of action sequence triggering variables is associated with PI while another set is associated with P2.
  • Each player's variables are used to determine the action sequences associated with a particular strategy used in round one.
  • the values assigned to each variable are used to determine whether or not to adopt the action(s) associated with the variable.
  • Table 6 provides examples of variables used to determine Pi's first round strategy as well as sample values and descriptions. It should be apparent that other values can be used for these variables and that other variables can be used as a supplement or replacement for these variables.
  • P1A1 P1A2
  • P1A2 Value Description plPatBluffP bet 0.003664 Probability that PI bluffs and stands pat with a no pair hand
  • pl4fb bet fold 1.0 Probability that PI bets with a four flush hand and then folds (if raised) or draws 1 card (if P2 called).
  • pl4sb bet fold 0.24 Probability that PI bets with a four straight hand and then folds (if raised) or draws 1 card (if P2 called).
  • plqlca bet call 0.0 Probability that PI opens and calls (if raised) with a queen high or lower hand.
  • PI has two action points, PI Al and PI A2, in round one.
  • the possible actions for PlAl are fold or bet. If the strategy specifies that PI Al is a bet action, a P1A2 action is specified. The possible P1A2 actions are fold or call. Thus, if P2 raises in response to a PlAl bet action, PI A2 specifies whether PI is to call or fold in response to P2's P2A1 action.
  • the strategy adopted by PI identifies the actions for the PlAl action point and, if necessary, the PI A2 action point.
  • the strategy that is adopted by PI is determined using the variables identified in Table 6.
  • a value is assigned to a variable that represents the percentage of time that a variable's strategy is adopted. This value is examined before a variable's strategy is adopted. For example, a value of 50 percent (i.e., .50) associated with a variable suggests that the variable's strategy should be adopted fifty percent of the time.
  • a random number is used in one embodiment that ranges from 0 to 1.
  • a variable's percentage is compared against the random number to determine whether the variable's action(s) is used.
  • Each variable is associated with a hand rank. That is, one or more variables are selected to determine a player's strategy based on the ranking of the player's hand.
  • Table 7 categorizes the variables of Table 6 into their respective rankings.
  • the pl4fc and pl4fb variables are associated with a four flush.
  • the strategy suggested by the pl4fc variable is adopted, PI bets at action point PlAl and calls at action point P1A2.
  • the pl4fb variable is used, PI bets at action point PlAl and folds at action point P1A2.
  • the values associated with the pl4fc and pl4fb variables are used to determine which strategy (i.e., the bet-call strategy of pl4fc or the bet-fold strategy of pl4fb) is adopted.
  • the values assigned to the pl4fc and pl4fb variables are 0.8435 and 1.0, respectively. That is, the bet-call strategy is adopted eighty-five percent of the time when PI receives a four flush. The remaining portion of the time, the bet-fold strategy is adopted for PI.
  • Figures 8A-8C provide a process flow for identifying a first round strategy for player PI when PI receives a hand with a rank less than one pair according to an embodiment of the invention. If PI receives a hand with a rank of greater than or equal to one pair, PI will adopt the bet-call strategy. Once the ranking of the hand is determined, the variables associated with the ranking are used to select a strategy and identify the action(s) to be taken by PI. Where a draw action is not determined based on the hand, a specific draw is specified for PI. In some cases, a random number is compared against the value of a variable in Table 7 to determine whether to adopt the strategy associated with the variable.
  • step 802 If it is determined (at step 802) that PI does not have a four flush or that the random number is greater than pl4fb (at step 804), processing continues at step 812. A determination is made at step 812 whether PI has a four straight. If so, processing continues at step 814 to determine whether the random number is less than or equal to pl4sb. If not, processing continues at step 818. If the random number is determined to be less than pl4sb at step 814, processing continues at step 816 to specify a bet action for PlAl, a fold action for P1A2, and a one card draw.
  • steps 818 and 820 a determination is made whether to bluff even though a bluff is not indicated in the preceding steps.
  • processing continues at step 830 to determine whether PI has an ace high or better (step 830), king high (step 834), or queen high or lower hand (step 838). If so, processing continues at 860 of Figure 8C to compare the variables associated with Pi's particular hand with the random number.
  • Steps 830, 834, and 838 reference the flow of Figure 8C and specify the variables that are used in the steps of Figure 8C. For example, if it is determined at step 834 that Pi's hand is a king high hand, variables plkhop and plkhca are used with the steps of Figure 8C. That is, plNPop is equivalent to plkhop and plNPca is equivalent to plkhca.
  • plNPop e.g., plNPop is equivalent to plqlop where PI has a queen high or lower hand.
  • a set of variables are also defined for P2 that are used to determine P2's first round strategy.
  • Table 8 provides examples of variables used to determine P2's first round strategy as well as sample values and descriptions. It should be apparent that other values can be used for these variables and that other variables can be used as a supplement or replacement for these variables.
  • P2A1 Value Description ⁇ 2PatBluffP raise 0.002597 Probability that P2 bluffs by standing pat. p24FBluffp raise 0.8435 Probability that P2 bluffs as having two pair and draws one with a four flush. p2NoPairBluffP raise 0.12 Probability that P2 raises and draws three cards with a no pair hand p2qlca call 0.0 Probability that P2 calls with a queen high or lower hand. p2qlra raise 0.12 Probability that P2 raises with a queen high or lower hand. p2khca call 0.0 Probability that P2 calls with a king high hand.
  • p2khra raise 0.12 Probability that P2 raises with a king high hand.
  • the strategies associated with the variables of Table 8 assume a game in which raises are limited as described with reference to Figure 7B. That is, P2 has one action point, P2A1. At P2A1, P2 can fold, call or raise the opening bet by PI.
  • the strategy adopted by P2 identifies the action for the P2A1 action point.
  • the strategy that is adopted by P2 is determined using the variables identified in Table 8 and the rank of P2's hand.
  • a value is assigned a variable that represents the percentage of times that a variable's strategy is adopted. Further, each variable is associated with a hand rank. Table 9 categorizes the variables of Table 8 based on their associated hand.
  • Figures 9A-9C provide a process flow for identifying a first round strategy for player P2 according to an embodiment of the invention.
  • a ranking for P2's hand is identified. Once the ranking is determined, the variables associated with the ranking are used to select a strategy and identify the action(s) to be taken by P2. Where a draw action is not determined based on the hand, a specific draw is specified for P2.
  • step 916 determines whether P2 has a one pair hand. If so, processing continues at step 918 to obtain values for the variables p2raise and p2call given the actual one pair in P2's hand.
  • Table 10 provides an example of values assigned to the p2raise and p2call variables for each pair type in one embodiment.
  • the values of p2raise in Table 10 indicate the percentage of time that P2 raises with the given pair.
  • processing continues at step 920 to determine whether the random number is greater than the sum of p2raise and p2call. If so, processing continues at step 922 to specify a fold action for P2A1. If not, a determination is made at step 924 as to whether the random number is greater than p2raise. If yes, a call action is specified for P2A1 at step 926. If no, processing continues at step 928 to specify a raise action for P2A1.
  • processing continues at step 950 to determine whether P2 has a four flush hand. If so, processing continues at step 952 to determine whether to bluff with a four flush hand. A determination is made whether p24FBluffp is greater than or equal to the random number. If not, processing continues at step 956 to specify a fold action for P2A1. If so, processing continues at step 954 to specify a bet action for P2A1 and a one card draw.
  • processing continues at step 958 to determine whether p2NoPairBluffP is greater than or equal to the random number. If so, processing continues at step 960 to specify a raise for PlAl and a three card draw. If it is determined at step 958 that p2NoPairBluffP is less than the random number, processing continues at step 962. A determination is made at step 962 whether p2PatBluffp is greater than or equal to the random number. If so, processing continues at step 964 to specify a raise for P2A1, and a zero draw.
  • processing continues at steps 968, 972 and 976 to determine whether P2 has an ace high, king high, or queen high or lower hand. In each case, processing continues at step 982 to examine the variables associated with the ace high, king high or queen high or lower hands to determine whether P2 should raise, call or fold in response to an opening bet by PI. Depending on the outcome of steps 968, 972, and 976, the steps of Figure 9C are performed using the variables associated with an ace high, king high or queen high or lower hand.
  • processing executes the steps of Figure 9C are processed using the p2khca and p2khra variables.
  • the variables are referred to generically as p2NPca and p2NPra, respectively.
  • the steps of Figure 9C are performed using the p2qlca and p2qlra variables.
  • step 990 a determination is made whether the p2NPra is greater than the random number. If yes, processing continues at step 992 to specify a raise operation for P2A1. If not, processing continues at step 996 to specify a call operation for P2A1.
  • the second round includes points at which a player (e.g., player 502 or the simulated player) must take an action.
  • a player selects an action from the set of available actions that is a subset of the set of actions (e.g., pass or check, fold, call, bet and raise). If raising is unlimited, the second round continues until one of the players either calls or folds.
  • Figure 10 illustrates possible second round actions according to one embodiment of the invention.
  • Columns 1020-1028 identify five action points in the second round. For example, column 1020 corresponds to step 644 of Figure 6D. Column 1022 corresponds to step 646 if Pi's for action is a bet, or to step 656 when PI checks. Columns 1024, 1026 and 1028 correspond to steps 660, 664, and 660, respectively. Rows lOOOA-lOOOB, 1002A-1002C, 1004A-1004C, 1006A-1006C, 1008A-1008C and 1010A-1010C indicate the specific actions available to the players at given action points. For example, column 1020 (PlAl) represents the first action by PI.
  • Rows lOOOA-lOOOB identify the possible actions for PI at the PlAl action point (e.g., check or bet). At the PlAl action point, no other actions have yet taken place. Therefore, no actions are identified for columns 1022-1028.
  • Rows 1002A-1002C illustrate the first actions for P2 (P2A1), if PlAl is a check. Referring rows 1002A-1002B in column 1022, P2A1 can be a check or bet. If P2 checks in response to Pi's check (row 1002A), there is a showdown. The pot gets paid to the player with the highest hand, and the game ends.
  • Rows 1004A-1004C indicate that the first action for P2 can be a fold, call or raise if PlAl is a bet.
  • Rows 1006A-1006C through 1010A-1010C illustrate the possible actions for P1A2, P2A2 and P1A3, respectively as either fold, call or raise actions.
  • PI and P2 continue to raise, play can continue (i.e., PlAn and P2An). In fact, second round play can continue indefinitely until a player calls the other's bet or folds.
  • system 500 can limit the number of possible raises. That is PI and P2 are limited in the number of times each can raise the other's bet.
  • Figure 11 illustrates possible second round action in a game where there is a raise limit according to one embodiment of the invention.
  • Rows 1100A, 1102A-1102B, and 1104A-1104B illustrate the action where PlAl is a check.
  • Rows 1100B, 1106A-1106C, 1108A-1108C and lllOA-lllOC illustrate the action where PlAl is a bet.
  • PI could raise after checking (see rows 1004A-1004C).
  • PI is limited to either a fold or call action (see rows 1104A-1104B). That is, check raising is not allowed. Further, P2 is not allowed to raise in P2A2.
  • P2 has the option of either folding or calling at action point P2A2. Therefore, the first round is guaranteed to end no later than at P2A2.
  • the available actions for PI and P2 for the second round are illustrated in Figures 10 and 11. Like the first round, a player must choose an action at each action point (e.g., PlAl, P2A1, P1A2, etc.). The actions are specified based on the strategy chosen by the player.
  • each variable has an associated value that can be examined to develop a player's second round strategy.
  • the values of the variables are pre-calculated and stored in a table.
  • the values can be generated dynamically during the game thereby eliminating the need to store the values.
  • a set of criteria is used to either generate the values at runtime or to identify the row in the table that contains the values for the variables.
  • Table 1200 includes columns 1201-1213.
  • Column 1201 is an extra column that contains a default value of 1 that is not used.
  • Columns 1202-1213 of table 1200 correspond to the action sequence triggering variables used in the second round.
  • Rows 1224-1228 represent sets of values that are assignable to the second round variables.
  • Format 1230 comprises hand category 1230, card rank 1232, and percentage 1234.
  • Hand category 1230 and card rank 1232 are translated into hand ranks as follows.
  • the integer before the decimal i.e., hand category 1230
  • the integer before the decimal is a number from 0 to 8 representing one of nine hand categories as indicated in Table 11:
  • the first two digits to the right of the decimal point are numbers from 02 to 14 corresponding to card ranks from deuces (twos) to aces as shown in Table 12:
  • the remaining digits represent the percentage of time the particular hand specified by hand category 1230 and card rank 1232 is played according to the associated action sequence .
  • the "1," according to Table 11 means a pair.
  • the next two digits, "12,” according to Table 12, corresponds to "queen.”
  • the next two digits, "31,” represent .31 or 31% of the time.
  • the variable having the value 1.1231 represents the lowest hand with which PI will bet, then PI will bet with a pair of queens 31% of the time. The remaining time, PI will pass with a pair of queens.
  • the percentage is relevant only if the current hand is of the exact rank specified by the variable. PI will pass with the next lower hand (pair of jacks), and bet with the next higher hand (pair of kings).
  • Figure 13 illustrates actual columns for table 1200 of Figure 12 according to an embodiment of the invention.
  • Table 12 describes the action sequence triggering variables identified in Figure 13.
  • Table 14 identifies the variables used for PI and the actions affected by each variable.
  • Table 15 identifies the variables for P2 and their associated action points. Table 15: Second Round Variables for P2
  • each row of table 1200 corresponds to a particular game situation at the end of the first round/beginning of the second round in terms of the number of cards drawn by each player and the size of the pot. For each player, there are six possible number of cards drawn: 0, 1, 2, 3, 4, 5. Accordingly, there are 36 different draw variations for each pot size.
  • table 1200 contains 72 rows, which correspond to 36 draw variations for each of two pot sizes.
  • the first 36 rows of Figure 13 i.e., rows 1301-1336
  • Rows 1337-1372 correspond to a pot size of 5 (each player having anted 1/2 and bet 2).
  • the first row corresponds to PI drawing 0 cards, P2 drawing 0 cards.
  • the second row corresponds to PI drawing 0 cards, P2 drawing 1 card.
  • the third row corresponds to PI drawing 0 cards, P2 drawing 2 cards, and so on.
  • the general formula that determines, for each set of 36 rows, the row number that corresponds to a draw variation is:
  • Row Number [(no. of cards PI draws)(6)+(no. of cards P2 draws)+37]. For example, if PI draws 3 cards and P2 draws 5 cards, the corresponding row number within a set of 36 rows is:
  • the row that applies is row 24 of the table 1200. If the pot is five, the row that applies is row 60 (24+36).
  • the appropriate row number is identified, and the variable values corresponding to PI or P2 as appropriate are extracted from columns 1382-1393 of that row.
  • the values of the variables can be used to identify action sequence intervals.
  • the current hand is compared to the hands indicated by the variable values, and a determination is made as to the location of the current hand with respect to action sequence intervals defined by the variables. The indicated action sequence is then followed.
  • Figure 14 illustrates the action sequence intervals given sample values for the action sequence triggering variables according to one embodiment of the invention.
  • Row 1358 of table 1200 (see Figure 16B) is illustrated having values in columns 1382-1393 for the action sequence triggering variables.
  • Row 1358 corresponds to the row of table 1200 that is used when both PI and P2 drew three cards in the first round, and the pot is equal to 5.
  • P2 is the simulated player and P2's hand after the draw is two pair with a pair of kings being the highest pair.
  • a player's hand is translated into a value that specifies hand category 1230 and card rank 1232 using Tables 11, 12, and 13.
  • the value is placed along the player's hand strength axis (e.g., axes 1406 or 1408).
  • the position of the value along a hand strength axis is used as a reference to the action choices 1402 for P1A2 and action choices 1404 for PlAl.
  • the position of P2's hand value along axis 1408 is used as a reference to the action choices 1410 and 1414 for P2A1 and action choices 1412 for P2A2.
  • the values for variables C2, R2, r2, C2RR, B2 and b2 are used to position the variables along hand strength axis 1408.
  • P2's hand is used to calculate a hand value of 2.13 as discussed above. Looking at hand strength axis 1408, it is found that P2's hand of 2.13 falls between B2 (1.1039) and R2 (2.1422).
  • the action sequence indicated for P2A1 given P2's current hand, as shown in action choices 1410 and 1414, is to call if PI bets (action choices 1410), and to bet if PI passes (action choices 1414).
  • Figure 15 provides a second round process flow that uses table 1200 of Figures 12-14 according to one embodiment of the invention.
  • the row of table 1200 is calculated using the pot size and draw information.
  • the values for the action sequence triggering variables are retrieved for table 1200.
  • a value is calculated for the simulated player's hand at step 1506.
  • the positioning of the hand's value is determined relative to the variables positioned along the hand strength axis.
  • an action is identified from the action choices.
  • Percentage 1234 associated with a variable is used where the player's hand is the exact rank specified for the variable. Thus, at step 1512, a determination is made at step 1512 whether the current hand is equal to the rank specified in the variable. If not, the action specified by the variable identified in step 1508 is adopted at step 1514. If so, a determination is made at step 1512 to determine whether the variable's percentage 1234 is greater than or equal to the random number. If it is, processing continues at step 1514 to use the action associated with the variable identified in step 1508. If not, processing continues at step 1516 to select the action different from the action associated with the variable specified for the next higher or lower hand than the hand specified in the variable, as appropriate.
  • Figures 16A-16B provide values for action sequence triggering variables for example pot sizes of 3 and 5 discussed above.
  • Figure 16A includes rows 1301-1336 used for a post size of 3.
  • Figure 16B has rows 1337-1372 for a pot size of 5.
  • FIGs 17 and 18 illustrate slot machine embodiments of the intelligent card playing system of the invention. It will be understood that the features shown for the embodiments of Figures 17 and 18 are by way of example, only. Slot machine embodiments of the invention may have any variety of other configurations, as will be apparent to those skilled in the art.
  • FIG. 18 is a schematic diagram illustrating the functional components in one slot machine embodiment of the invention.
  • the functional components in this embodiment include a CPU unit 1800, a cash accumulator/controller 1810, a coin input mechanism 1820, a bill reader 1840, a coin payout mechanism 1830, a control panel 1860, a touch-screen display 1850, and light and sound emitters 1870.
  • CPU unit 1800 contains a microprocessor such as, for example, a PentiumTM processor from Intel, along with associated software, components and peripherals, such as main memory, video graphics adapter, sound card, mass storage, and input/output interfaces, that allow CPU unit 1800 to function as an intelligent controller of the slot machine unit.
  • CPU unit 1800 monitors user input, generates strategies for and controls actions of one or more simulated players, determines outcomes of games, and controls payout of user winnings.
  • Cash accumulator /controller 1810 monitors a user's cash input from coin input mechanism 1820 and bill reader 1840, and controls cash payout to a user provided by coin payout mechanism 1830, all under the control of CPU unit 1800.
  • Display 1850 which may, for example, be a CRT or LCD or other type of display, displays output to the user, such as, for example, images of cards dealt to a user, images of cards dealt to the simulated player(s), information ' concerning the state of the game, the size of the pot, the actions available to the user, etc.
  • display 1850 is a touch screen display that accepts touch input from a user.
  • a user can indicate the user's desired actions by touching corresponding images displayed on the display screen.
  • the user may indicate cards to hold during a drawing phase of a game by touching the cards the user wishes to hold.
  • visual feedback is provided to the user to confirm that the user's touch screen input has been recognized.
  • the receipt of a touch screen input may be indicated by highlighting the image (e.g. a card selected for holding) underlying the position at which the user touches the screen.
  • the embodiment of Figure 18 also contains a control panel 1860 that may be used as an alternate means to provide user input.
  • Control panel 1860 may, for example, consist of a panel containing a number of button switches. Each button corresponds to one or more user actions. A user chooses a desired action by pressing the appropriate button. In one embodiment, a user may indicate desired user actions by touching an appropriate area on touch screen 1850 and/or by pressing an appropriate button on control panel 1860.
  • Light/sound emitter 1870 is used to provide sound and light output.
  • light/sound emitter 1870 in one embodiment includes a flashing light and emits the sound of a bell ringing to indicate that the user has won a game. '
  • the system of Figure 18 may include other features found on slot machines as are known in the art.
  • FIG 17 illustrates the outward appearance of one embodiment of a card playing slot machine system such as the system of Figure 18.
  • this slot machine comprises a housing 1700 which contains functional components of the system, for example components 1800-1870 of Figure 18.
  • the input and output interfaces with a user are situated on the front of housing 1700.
  • These input and output interfaces include a display screen 1710 (which may be a touch-screen display), a control panel 1720, a bill reader 1760, and a coin output tray 1775.
  • the front of housing 1700 also includes a first and second billboard display areas 1705 and 1780, respectively.
  • First billboard display area 1705 comprises a backlit display containing graphics.
  • the graphics are intended to attract players to the game, and may, for example, include the name of the game played by the slot machine system.
  • the slot machine system may, for example, play five card draw poker.
  • the slot machine system allows a user to play a simulated poker game against an intelligent, simulated player.
  • the slot machine system allows a player to play simultaneously against an intelligent, simulated player and against a video-poker style payoff table. If the slot machine system provides combined play against a simulated opponent and a payoff table, display area 1705 may include a depiction of the payoff table 1715. Display area 1705 may also include flashing lights that are activated when a user wins a game.
  • Second display area 1780 provides an area in which additional graphics may be displayed.
  • Second display area 1780 includes bill reader 1760 that is used to accept cash bills from a user.
  • Display 1710 is a CRT or LCD display that provides output to, and, in the case of an embodiment in which display 1710 is a touch screen display, accepts input from, a user as described with respect to display 1850 of Figure 18.
  • Control panel 1720 includes a coin slot 1740 for accepting coins from a user and a number of button switches that the user may activate to indicate desired user actions.
  • the buttons include a "call” button 1725, a "raise/bet” button 1730, an "ante” button 1765, a “fold/check” button 1730, five “hold” buttons 1735, a "draw” button 1745, a "cashout” button 1750, and a "game select” button 1755.
  • Call button 1725 is activated by a user to indicate a desired call action.
  • Raise /bet button 1730 is activated by a user to indicate a desired raise or bet action, depending on the state of the game.
  • Ante button 1765 is activated by a user to debit the amount required for an ante from a balance of money deposited by the user into the slot machine system via coin slot 1740 or bill reader 1760, thereby initiating a new game.
  • Fold/check button 1730 is activated by a user to indicate a desired fold or check action, depending on the state of the game.
  • Hold buttons 1735 are used to indicate cards that the user wishes to hold prior to a draw. There is one hold button for each card in a user's hand.
  • buttons 1735 there are five hold buttons 1735, corresponding to a five-card game such as five card draw.
  • Draw button 1745 is used by a user to initiate a draw, such that the user is dealt a new card for each card discarded (i.e. for the cards the user has indicated the user does not wish to hold).
  • Cashout button 1750 is used by a user to obtain a payout, in cash, of any balance remaining to the user's account. The cashout amount is paid out to the user by depositing coins in payout tray 1775.
  • Game select button 1755 is used by a user to select the desired game to play in embodiments that allow a user to select from different games. For example, in one embodiment, game select button 1755 allows a user to select optional play against a payoff table in addition to play against a simulated, intelligent opponent.
  • the available actions available to a user an any stage of a game are indicated by lighting up only those buttons corresponding to the available actions.

Abstract

The present invention comprises an intelligent gaming system that includes a game engine, simulation engine, and, in certain embodiments, a static evaluator. Embodiments of the invention include an intelligent, poker playing slot machine that allows a user to play poker for money against one or more intelligent, simulated opponents. The simulation engine generates actions for the simulated player(s). The simulation engine allows a real person, or user, to play against intelligent, simulated opponents. In addition, in certain embodiments a static evaluator offers another level of play in which the user can play against a predetermined criteria for winning. In one embodiment of the invention, the user plays against simulated opponent(s). In another embodiment of the invention, the user plays against simulated opponent(s) and against the predetermined criteria. Further, an embodiment of the invention provides a computer gaming system implemented in a communications interconnect environment, such as the Internet, where more than one real player may compete with other real players, and/or more than one simulated player during a single game. An environment is also provided where simulated players compete in a game, and real players do not compete, but wager upon aspects of the game competition. An embodiment also provides a non-monetary or 'entertainment' game environment.

Description

COMPUTER GAMING SYSTEM
This is a continuation-in-part of prior U.S. patent application serial number 09/333,540 filed on June 15, 1999 and prior U.S. patent application serial number 08/851,255 filed on May 5, 1997, all of which are commonly assigned to Gamecraft, Inc.
BACKGROUND OF THE INVENTION
1. FIELD OF THE INVENTION
This invention relates to an intelligent card playing gaming system.
2. BACKGROUND ART
Existing electronic casino games (slot machines) are available in which one player plays against a predetermined criteria that determines whether the player wins. One such game that is prominent in a casino or other gaming environment is referred to as video poker. In video poker, the player is dealt a hand of cards which is evaluated against a payoff table. Thus, the player is pitted against static, predetermined hand rankings. If the player's hand exceeds a threshold ranking, the player wins the amount indicated for the threshold. The player does not play poker against another player.
In Bridgeman et al, U. S. Patent No.5,046,736, a multi-player poker slot machine is described. One player is a person and the other player(s) is simulated by the slot machine system. The real player initiates all of the actions in the game while the simulated player merely responds by imitating each action of the player. There is no ability or intelligence of the simulated player to develop a strategy in which the simulated player decides upon an action other than the one performed by the real player. It is therefore, impossible for the simulated player to be the initiator of the game (i.e., make the first move). Further, the real player can predict with 100% accuracy the moves that the simulated player will take thereby making it easier for the real player to out- maneuver the simulated player.
The following provides a discussion of the game of poker.
Poker Basics
There are a large number of poker variations. However, certain basic concepts apply to most types of poker.
Poker hands generally consist of five cards from a 52 card deck. There are 2,598,960 different hands. The hands are linearly ordered in strength or "rank." There are nine general categories of hands, ranked as shown in Table 1.
Table 1 - Ranking by Categories
Rank Name Example
1 Straight flush J* 10* 9* 8* 7*
2 Four of a kind K* K* Kv K* 9*
3 Full house J Jv J* 3* 3v
4 Flush A* 10* 9* 5* 2*
5 Straight 6 5¥ 4* 3* 2*
6 Three of a kind 10* 10* 10 ♦ 9¥ 7*
7 Two pair Av A* 4* 4 9*
8 One pair 9+ 9v * 8* 6v 9 No pair 3* 5* 6v J* Q*
Within each category, hands are ranked according to the rank of individual cards, with an ace being the highest card and a 2 being the lowest card. There is no difference in rank between the four suits of cards. Table 2 shows the ranking of some example hands within the two pair category. Because the suits of the individual cards do not matter for two pair hands (the suits become relevant only for flushes and straight flushes, since all cards in these hands must be of the same suit), no suits are shown in Table 2.
Table 2 - Relative Ranking of Some Two Pair Hands
Highest AAKKQ , AAKKJ
AAKK10
AAKK9
* » *
AAQQ2 AAJJK
AAJJQ
* * *
JJ223 101099A 101099K
* * *
33226
33225
Lowest 33224
All hands can be ranked in a linear ranking from highest to lowest.
Because suits are all of the same value, however, there are multiple hands that have identical rankings. For example, there are four equivalent hands for each type of straight flush, four of a kind, or flush; there are over a hundred equivalent hands for each two pair variation, and there are over 1000 equivalent hands for each type of no-pair hand. Accordingly, although there are over 2,000,000 possible hands, there are significantly fewer possible rankings.
Poker is characterized by rounds of card dealing and betting. Numerous variations of poker exist, including "five card draw," "five card stud," "seven card stud," "hold'em," and "Omaha." The variations generally differ in the manner in which cards are dealt and in the manner in which bets are placed. Various criteria may also be used to determine the winning hand, including highest ranking hand wins, lowest ranking hand wins ("low-ball"), and high and low hands each win half ("high-low").
Typically, a game starts when each player has placed an initial bet, called the "ante," into the "pot." The term "pot" refers to the total accumulation of bets made during a game. Each player that has "anted" is dealt an initial set of cards. The number of cards depends on the particular variation of poker being played. In five card draw, each player is initially dealt five cards.
After the deal, the players have the opportunity to place bets. If a player places a bet, that bet must be matched ("called") or "raised" by each player that wants to remain in the game. A player who does not match a bet drops out of the game or "folds." A round of betting ends when either every player but one has folded, or when the highest bet or raise has been called by each remaining player such that each remaining player has paid the same amount into the pot during the round.
Each game may have several "rounds" of betting. If two or more players remain after a round of betting, either more cards are dealt, or there is a
"showdown," depending on the game variation being played. A "showdown" occurs when two or more players remain in a game after the last round of betting for a game has been completed. A player wins a game of poker (also sometimes called a "hand of poker") either by having the highest ranking hand when a "showdown" occurs, or by being the last remaining player in the game after all other players have dropped out, or "folded." At a showdown, each player displays the player's hand to the other players. The player showing the hand with the highest ranking wins the pot.
Figure 1 illustrates the sequence of events that occur in a game of five card draw poker. As shown in Figure 1, the game begins with each player paying an ante into the pot at step 100. At step 105, each player is dealt five cards by one of the players who is referred to as the dealer. Players take turns being the dealer.
After each player has been dealt the initial set of five cards, the first round of betting occurs at step 110. In a round of betting, each player is successively given the opportunity to either "pass" (i.e. to place no bet, allowed only if no one has previously placed a bet during the round), to "call" (i.e. to pay an amount into the pot equal to the total amount paid by the immediately preceding bettor), to "raise" (i.e. to pay an amount into the pot greater than the amount paid by the immediately preceding bettor), or to "fold" (i.e. to not pay anything into the pot and thereby to drop out of the game). The betting sequence typically starts with the player to the immediate left of the dealer, and then progresses in a clockwise direction.
Figure 2 illustrates an example of a first round of betting that may occur at step 110 of Figure 1. In the example of Figure 2 there are three players: player A 200, player B 205, and player C 210. Player A is the dealer. In Figure 2, the cards dealt to each player are shown under the player's name. Thus, after the deal, player A's hand is AA762, player B's hand is KK225, and player C's hand is JJ843.
Since player B is the player to the immediate left of the dealer (player A), player B opens the betting round. Player B may pass (bet nothing), or place a bet. Player B's hand contains two pairs, which player B considers to be a good first round hand. Accordingly, as shown in Figure 2, player B bets one "bet" at step 215. In this example, betting "one bet" means that the bettor bets the maximum betting limit allowed by the rules of the particular variation of poker game being played. Two types of betting are "limit" betting and "pot limit" betting. In limit betting, the maximum betting limit is a predetermined amount. For example, a betting limit may be $2. In pot limit betting, the maximum amount that a player may bet is the total amount in the pot at the time the bet is made, including the amount, if any, that the bettor would need to put into the pot if the bettor were calling. Other types of betting are no limit betting, and spread limit betting, in which bets are allowed within a certain range (e.g. $2- $8).
After player B has bet, it is player C's turn to act. Since player B has bet one bet, player C's choices are to match player B's bet ("call"), to raise, or to fold. Player C has a pair of jacks, which player C considers to be good enough to call but not good enough to raise. Accordingly, as shown in Figure 2, player C calls at step 220 by placing an amount equal to player B's bet into the pot.
After player C has bet, it's player A's turn. Player A has a pair of aces, which player A considers to be good enough for not just calling, but raising. Player A therefore decides to raise player B's bet by one bet at step 225. Player A thus places a total of two bets into the pot - one to meet B's bet, and one to raise by one bet.
After player A raises one bet, the betting proceeds back to player B. Player B considers his two pair hand to be good enough to call player A's bet, but not good enough to reraise. Accordingly, player B calls at step 230 by putting one bet (the amount of player A's raise) into the pot so that the total amount bet by player B equals the total amount bet by player A. After player B bets, the betting returns to player C. To stay in the game, player C must place one bet into the pot to match player A's raise. However, player C doesn't believe that player C's hand of two jacks is good enough to call player A's raise. Accordingly, player C decides to drop out of the game by folding at step 235.
After player C folds, there are no remaining uncalled raises or bets. Accordingly, the first round of betting ends at step 240. Thus, after the first round of betting, there are two remaining players, player A and player B.
The size of the pot in the example of figure 2 after the first round of betting depends on the size of the initial ante and the betting limit of the game. Table 3 illustrates the growth in the size of the pot during the round of betting illustrated in Figure 2 for a betting limit of $1 and for a pot limit. In both cases, it is assumed that the total ante of all three players is $1.
Table 3 - Size of Pot for Limit and Pot Limit Poker
For Exampl e of Figure 2
Betting Step Action Resulting Pot Resulting Pot ($1 Limit) (Pot Limit)
0 Ante $1 $1
1 B bets 1 bet $2 $2
2 C calls B's bet $3 $3
3 A raises by 1 bet $5 $8
4 B calls A's raise $6 $12
5 C folds $6 $12 Thus, at the end of the first round of betting illustrated in Figure 2, the resulting pot is $6 for $1 limit poker and $12 for pot limit poker.
Referring again to Figure 1, at the end of the first round of betting at step 110, a determination is made as to whether more than one player is left in the game at step 115. If only one player is left, that player wins the pot at step 120. If more than one player is left, play continues to' step 125.
At step 125, the players remaining in the game have the opportunity to discard cards from their hands and replace them with newly dealt cards. A player may discard and replace (or "draw") from 0 to 5 cards.
After the "draw" at step 125, the second round of betting takes place at step 130. The second round of betting proceeds in the same manner as the first round of betting. Figure 3 illustrates an example of a second round of betting that occurs after the first round of betting of Figure 2. As shown in Figure 3, player A and player B each drew 1 card during the draw. Player A could have drawn more cards, but player A chose to draw only one card to make it appear that player A had a better hand than player A's pair of aces. Player A discarded the lowest card of player A's hand (a 2), and was dealt a 9. Player A's resulting hand as shown in Figure 3 is AA976. Player B, starting off with four good cards (two pairs), also drew one card, discarding a 5 and being dealt a 7. Player B's resulting hand as shown in Figure 3 is KK227.
The betting in round 2, as in round 1, commences with player B. As shown in Figure 3, even though player B has a fairly good two pair hand, player B chooses to "check" (i.e., "pass) at step 300. A check is equivalent to a pass, or to betting zero. The betting then proceeds to player A. Although player A's hand is not particularly strong, player A decides to bet 1 bet at step 305, hoping that player B will believe that player A has a strong hand and therefore fold. Making a bet with a weak hand that probably will not win in a showdown is referred to as "bluffing."
Player B does not fold, but instead raises player A by one bet at step 310. Player B thus pays two bets into the pot: one to meet player A's bet, and one to raise player A one bet. Player A, believing that player B's raise is a bluff, decides to reraise player B at step 315. Player A thus pays two more bets into the pot, one to match player B's raise and one for the reraise. Player B, not having bluffed, calls player A's reraise at step 320 by paying a bet into the pot to match player A's one bet reraise.
Player B's call of player A's reraise ends the second round of betting, leading to a showdown at step 325. The amount of money in the pot at the end of the second round of betting depends on whether the game is a limit game or a pot limit game. Table 4 shows the growth in the pot in the second round of betting for limit and pot limit games given the first round pot shown in table 3.
Table 4 - Size of Pot for Limit and Pot Limit Poker
For Example s of Figure 3
Betting Step Action Resulting Pot Resulting Pot ($1 Limit) (Pot Limit)
0 Beginning pot $6 $12
1 B checks $6 $12
2 A bets 1 bet $7 $24
3 B raises 1 bet $9 $72
4 A reraises 1 bet $11 $216
5 B calls $12 $324
As shown in Table 4, in a pot limit game, the size of the pot increases dramatically with each pot limit bet, while the increase of the pot in a limit game is more moderate.
Referring again to Figure 1, after the second round of betting at step 130, a determination is made as to whether more than one player is left in the game at step 135. If only one player is left, the remaining player wins the pot at step 140. If more than one player remains in the game, there is a showdown at step 145. The remaining players shown their hands, and the highest ranking hand wins the pot at step 150. In the example of Figure 3, player B's hand of two pairs has a higher ranking than player A's hand of a pair of aces. Accordingly, player A's bluffing strategy proves unsuccessful, and player B wins the pot. SUMMARY OF THE INVENTION
The present invention comprises an intelligent gaming system that includes a game engine, simulation engine, and, in certain embodiments, a static evaluator. One embodiment of the invention comprises an intelligent, poker playing slot machine that allows a user to play poker for money against one or more intelligent, simulated opponents. Another embodiment comprises a computer game system that allows a player to play a game simultaneously against an intelligent, simulated opponent and against a set of predetermined criteria. The invention can be used with any of a variety of card games, including, without limitation, poker games including five card draw, five card stud, seven card stud, hold'em, Omaha, and others, in high-ball, low-ball, and high-low configurations, and with specified betting limits, pot limits, no-limits, spread limits, etc. The simulation engine generates actions for the simulated player (s). The simulation engine allows a real person, or user, to play against intelligent, simulated opponents. In addition, in certain embodiments a static evaluator offers another level of play in which the user can play against a predetermined criteria for winning. In one embodiment of the invention, the user plays against simulated opponent(s). In another embodiment of the invention, the user plays against simulated opponent(s) and against the predetermined criteria.
The game engine controls the pla}r according to the rules established for the game. Input is received from either the player or a simulated player and is processed by the game engine. A game can be thought of as comprising a set of action points at which either the user or a simulated player are requested to act. The game engine restricts the players to valid actions at the action points.
The gaming system allows either the user or a simulated player to be the first to act. The user can respond to a request for an action when it is the user's turn to act. The simulation engine determines the action taken by a simulated player. The simulation engine uses its knowledge of the current state of the game to determine the action or sequence of actions to be taken by the simulated player. The current state of the game can include, for example, the simulation engine's understanding of the probability of winning. The current state of the game can further include the point of the game at which an action is to be taken.
In one embodiment of the invention, the gaming system is an intelligent poker playing slot machine system. The poker playing system is comprised of two poker players one of which is the simulated player and the other is the user. The poker playing system includes input means for accepting bets from the user and output means for paying winnings to the user. The poker playing system allows a first round of betting, a draw, and a second round of betting. The first round action(s) includes the number of cards that the simulated player draws at the conclusion of the first round.
A set of action sequence triggering variables having associated values are used by the simulation engine to identify the simulated player's action(s). Each action sequence triggering variable identifies one or more actions to be taken by the simulated player. An action sequence triggering variable is identified and its value is used to determine the action(s) that are adopted for use by the simulated player.
Each action sequence triggering variable used to determine a strategic sequence of actions for the simulated player is associated with a hand rank (e.g., three of a kind or a pair of queens). The hand rank of the hand dealt to the simulated player is compared to appropriate action sequence triggering variables to determine the action sequence strategy to be used. In one embodiment, a value is associated with each variable that identifies a portion of time that an action(s) associated with the variable is to be taken.
In the first round, one or more applicable action sequence triggering variable(s) are identified using the simulated player's hand rank. A determination is made whether the action(s) associated with the chosen action sequence triggering variables are to be adopted using the values associated with the variables. For example, in one embodiment, a random number between zero and one is compared to a value associated with a variable that represents a percentage of time an action(s) associated with the variable is to be taken. If the random number is less than the percentage, a first action is taken. If the random number is greater than the percentage, a different action is taken. For example, if the action sequence triggering variable(s) specifies that the simulated player is to bet at an action point where the simulated player can only bet or fold, the fold action can be adopted if it is determined using the variable values that the bet action should not be taken. In the second round, values for a set of action sequence triggering variables are determined. In one embodiment, the values are retrieved from a lookup table. In another embodiment, the values are dynamically generated by the intelligent poker playing system. The values can be stored in an initialization table. Each row contains a set of values that are used to initialize the action sequence triggering variables. The selection or generation of the values for the set of action sequence triggering variables is based on a set of game criteria. For example, the game criteria can be the number of cards that PI (the first player to act) and P2 (the second player to act) drew and the size of the pot.
If the values for the action sequence triggering variables are pre- calculated, the game criteria is used to identify a row in the initialization table. Each column in the row contains a value for one of the action sequence triggering variables. The values for each action sequence triggering variable specifies a hand rank and a percentage. Further, a set of actions is associated with each action sequence triggering variable. In one embodiment, the percentage represents the portion of time an action associated with the variable is to be adopted by the simulated player in the case where the player has the exact hand rank specified by the variable.
A variable's hand rank is used to position the variable relative to the other variables in the set of action sequence triggering variables along a hand strength axis. A hand strength is determined for the simulated player's hand and compared to the values of the action sequence triggering variables. The value of the simulated player's hand strength relative to the value of the action sequence triggering variables determines the simulated player's action(s).
In one embodiment, the gaming system of the invention allows the simultaneous play by a user against one or more intelligent, simulated opponents and against a pre-determined payoff schedule. In one example, a poker playing slot machine is provided that allows a player to play simultaneously against an intelligent, simulated opponent and against a video- poker style payoff table. For a particular hand, a player may be awarded winnings based on the payoff table even if the player loses against the simulated opponent.
Further, an embodiment of the invention provides a computer gaming system implemented in a communication interconnect environment, such as a general computer network and /or client-server computing environment that could include for example, the Internet. Also, an embodiment allows more than one real player to compete with other real players as ell as more than one simulated player during a single game. For example, a real player can compete against other real players, without simulated players. Alternatively, more than one simulated player games are possible, where no real players compete, but wagers may be placed upon simulated player performance or other aspects of the game competition. An embodiment also provides non-monetary, entertainment, or "for fun" games. Note, hereinafter, the term "system" is used to refer to a device and /or a method for performing a function. BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a flow chart illustrating a sequence of events in five card draw poker.
Figure 2 is a schematic diagram illustrating a first round of betting.
Figure 3 is a schematic diagram illustrating a second round of betting.
Figure 4 provides an example of a general purpose computer that can be used with the present invention.
Figure 5 provides an example of the system components according to one or more embodiments of the invention.
Figures 6A-6F provide a process flow for an intelligent "five card draw" poker game between two players according to an embodiment of the invention.
Figure 7A illustrates possible first round actions according to one embodiment of the invention.
Figure 7B illustrates possible first round actions where raises are limited according to one embodiment of the invention.
Figures 8A-8C provide a process flow for identifying a first round strategy for player PI according to an embodiment of the invention.
Figures 9A-9C provide a process flow for identifying a first round strategy for player P2 according to an embodiment of the invention. Figure 10 illustrates possible second round actions according to one embodiment of the invention.
Figure 11 illustrates possible second round actions in a game where raises are limited according to one embodiment of the invention.
Figure 12 provides an example of a second round strategy lookup table used in one embodiment of the invention.
Figure 13 illustrates actual columns for table 1200 of Figure 12 according to an embodiment of the invention.
Figure 14 illustrates the action sequence intervals given sample values for the action sequence triggering variables according to one embodiment of the invention.
Figure 15 provides a second round process flow that uses the table of Figures 12-14 according to one embodiment of the invention.
Figures 16A-16B provide values for action sequence triggering variables for example pot sizes of 3 and 5.
Figures 17 and 18 illustrate slot machine embodiments of the intelligent card playing system of the invention. Figure 19 provides an example of a general purpose computer system coupled to a general computing network, the Internet, or in a client-server computing environment, that can be used with the present invention.
Figure 20 provides an example of a block diagram of a general network environment that can be used with the present invention.
Figures 21a and 21b are flow diagrams of a computer gaming system implemented in an Internet or client-server environment, according to an embodiment of the invention.
DETAILED DESCRIPTION OF THE INVENTION
A computer gaming system is described. In the following description, numerous specific details are set forth in order to provide a more thorough description of the present invention. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without these specific details. In other instances, well-known features have not been described in detail so as not to obscure the invention.
The present invention can be implemented on a general purpose computer such as illustrated in Figure 4. A keyboard 410 and mouse 411 are coupled to a bi-directional system bus 418. The keyboard and mouse are for introducing user input to the computer system and communicating that user input to CPU 413. The computer system of Figure 4 also includes a video memory 414, main memory 415 and mass storage 412, all coupled to bi-directional system bus 418 along with keyboard 410, mouse 411 and CPU 413. The mass storage 412 may include both fixed and removable media, such as magnetic, optical or magnetic optical storage systems or any other available mass storage technology. Bus 418 may contain, for example, 32 address lines for addressing video memory 414 or main memory 415. The system bus 418 also includes, for example, a 32-bit DATA bus for transferring DATA between and among the components, such as CPU 413, main memory 415, video memory 414 and mass storage 412. Alternatively, multiplex DATA/ address lines may be used instead of separate DATA and address lines. CPU 413 may be any suitable microprocessor such as, for example, the Pentium™ processor manufactured by Intel. Main memory 415 is comprised of dynamic random access memory (DRAM). Video memory 414 is a dual-ported video random access memory. One port of the video memory 414 is coupled to video amplifier 416. The video amplifier 416 is used to drive the cathode ray tube (CRT) raster monitor 417. Video amplifier 416 is well known in the art and may be implemented by any suitable means. This circuitry converts pixel DATA stored in video memory 414 to a raster signal suitable for use by monitor 417. Monitor 417 is a type of monitor suitable for displaying graphic images.
Also, the present invention contemplates the use of various types of communication interconnects and systems. For example, embodiments of the invention may include systems where data is transmitted from one point to another point via any type of interconnection fabric that provides a mechanism for transmitting and/or receiving data. Herein, the term "system" is used to refer to a device and/or a method for performing a function. In one or more embodiments of the invention, data is sent across an interconnection fabric that comprises any of multiple suitable communication paths for carrying data between multiple computational devices. The interconnect fabric may be, for example, a local area network, a wide area network, a virtual private network, the Internet, an Intranet, a wireless network, or any other type of interconnect capable of sending data from one device to another. The interconnect fabric may be implemented with a physical medium such as a wire or fiber optic cable, or it may be implemented in a wireless environment using microwave signals, light signals, or any other type of wireless communication mechanism.
For instance, figure 19 provides an example of a general purpose computer system coupled to a general computer network, the Internet, or in a client-server computing environment, that can be used with the present invention. Hereinafter, "the Internet" will be used to refer to the Internet itself as well as other types of Intranets, networks, distributed servers, or client-server architectures where a computer gaming system is desired and applicable. Referring to figure 19, the computer 1900 includes a communication interface 1920 coupled to bus 418. The communication interface 1920 provides a two- way data communication coupling via a network link 1921 to a network 1922. For example, if the communication interface 1920 is a modem, the communication interface 1920 provides a data communication connection to a corresponding type of telephone line, which comprises part of a network link 1921. If the communication interface 1920 is a Network Interface Card (NIC), communication interface 1920 provides a data communication connection via a network link 1921 to a compatible network. Physical network links can include Ethernet, wireless, fiber optic, and cable television type links. In any such implementation, communication interface 1920 sends and receives electrical, electromagnetic or optical signals which carry digital data streams representing various types of information.
The network link 1921 typically provides data communication through one or more networks to other data devices. For example, network link 1921 may provide a connection through local network 1922 to a host computer 1923 or to data equipment operated by an Internet Service Provider (ISP) 1924. ISP 1924 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "Internet" 1925. Local network 1922 and Internet 1925 both use electrical, electromagnetic or optical signals, which carry digital data streams to files. The signals through the various networks and the signals on network link 1921 and through communication interface 1920, which carry the digital data to and from computer 1900, are exemplary forms of carrier waves for transporting the digital information.
The computer 1900 can send messages and receive data, including program code, through the network(s), network link 1921, and communication interface 1920. In the Internet example, server 1926 might transmit a requested code for an application program through Internet 1925, ISP 1924, local network 1922 and communication interface 1920. In accordance with the invention, one such application downloaded is a computer gaming system as described herein.
The received code may be executed by CPU 413 as it is received, and/or stored in mass storage 412, or other non-volatile storage for later execution. In this manner, computer 1900 may obtain application code in the form of a carrier wave.
Also, application code may be embodied in any form of a computer program or communications interconnect product. A computer program product comprises a medium configured to store or transport computer readable code, or in which computer readable code may be embedded. Some examples of computer program products are CD-ROM disks, ROM cards, floppy disks, magnetic tapes, computer hard drives, servers on a network, and electronic waves.
For example, an embodiment of the invention can be implemented as computer software in the form of computer readable program code executed on a general purpose computer, such as the computer 1900 illustrated, coupled to a general computer network, the Internet, or in a client-server computing environment. Further, an embodiment can be implemented as computer software implemented in a communication interconnect environment.
Internet/Client-Server Environment
Computers and computer networks are used to exchange information, perform transactions, and provide entertainment in many fields. During these events, the exchange of data between computers typically occurs between a "server application" that provides information or services, and a "client application" or device that receives the provided information and services. Multiple server applications are sometimes available on a "system server" such as a single computer server that provides services for multiple clients.
Alternatively, distributed server systems allow a single client to obtain services from applications residing on multiple servers. For example, in current distributed server systems, client applications 2003 are able to communicate with server applications 2002 executing on the same computer system or on another computer system accessible via a network, for instance via the Internet 2000.
The Internet is a worldwide network of interconnected computers. An Internet client computer accesses a computer on the network via an Internet provider. An Internet provider is an organization that provides a client (computer) with access to the Internet (via analog telephone line or Integrated Services Digital Network line, for example). A client can, for example, read information from, download a file from, or send an electronic mail message to another computer /client using the Internet.
To retrieve a file or service on the Internet, a client must typically search for the file or service, make a connection to the computer on which the file or service is stored, and download the file or access the service. Each of these steps may involve a separate application and access to multiple, dissimilar computer systems (e.g. computer systems having operating different systems). The World Wide Web (WWW) was developed to provide a simpler, more uniform means for accessing information on the Internet.
The components of the WWW include browser software, network links, servers, and WWW protocols. The browser software, or browser, is a tool for displaying a user-friendly interface (i.e., front-end) that simplifies user access to content (information and services) on the WWW. Browsers use standard WWW protocols to access content on remote computers running WWW server processes. A browser allows a user to communicate a request to a WWW server without having to use the more obscure addressing scheme of the underlying Internet. A browser typically provides a graphical user interface (GUI) for displaying information and receiving input. Examples of browsers currently available include Netscape Navigator and Communicator, and Microsoft Internet Explorer.
WWW browsers and servers communicate over network links using standardized messages formats called protocols. The most common modern protocol is the TCP/IP (Transmission Control Protocol/Internet Protocol) protocol suite. The protocols are based on the OSI (Open Systems Interconnect) seven-layered network communication model. WWW messages are primarily encoded using Hypertext Transport Protocol (HTTP). HTTP instantiates the (top) Application layer of the OSI model. Application layer protocols facilitate remote access and resource sharing and are supported by the reliable communications ensured by the lower layers of the communications model. Therefore HTTP simplifies remote access and resource sharing between clients and servers while providing reliable messaging on the WWW.
Information servers maintain the information on the WWW and are capable of processing client requests. HTTP has communication methods that allow clients to request data from a server and send information to the server.
To submit a request, the client browser contacts the HTTP server and transmits the request to the HTTP server. The request contains the communication method requested for the transaction (e.g., GET an object from the server or POST data to an object on the server). The HTTP server responds to the client by sending a status of the request and the requested information. The connection is then terminated between the client and the HTTP server.
A client request, therefore, consists of establishing a connection between the client and the HTTP server, performing the request, and terminating the connection. The HTTP server typically does not retain any information about the request after the connection has been terminated. That is, a client can make several requests of an HTTP server, but each individual request is treated independent of any other request.
WWW employs an addressing scheme is that uniquely identifies Internet resources (e.g., HTTP server, file, or program) to clients and servers. This addressing scheme is called the Uniform Resource Locator (URL). A URL represents the Internet address of a resource on the WWW. The URL contains information about the protocol, Internet domain name and addressing port of the site on which the server is running. It also identifies the location of the resource in the file structure of the server.
HTTP provides a mechanism of associating a URL address with active text. A browser generally displays active text as underlined and color-coded. When activated (by a mouse click, for example) the active text causes the browser to send a client request for a resource to the server indicated in the text's associated URL address. This mechanism is called a hyperlink. Hyperlinks provides the ability to create links within a document to move directly to other information. A hyperlink can request information stored on the current server or information from a remote server.
If the client requests a file, the HTTP server locates the file and sends it to the client. An HTTP server also has the ability to delegate work to gateway programs. The Common Gateway Interface (CGI) specification defines a mechanism by which HTTP servers communicate with gateway programs. A gateway program is referenced using a URL. The HTTP server activates the program specified in the URL and uses CGI mechanisms to pass program data sent by the client to the gateway program. Data is passed from the server to the gateway program via command-line arguments, standard input, or environment variables. The gateway program processes the data and returns its response to the server using CGI (via standard output, for example). The server forwards the data to the client using the HTTP.
When a browser displays information to a user it is typically as pages or documents (referred to as "web pages"). The document encoding language used to define the format for display of a Web page is called Hypertext Markup Language (HTML). A sever sends a Web page to a client in HTML format. The browser program interprets the HTML and displays the Web page in a format based on the control tag information in the HTML.
Figure 20 provides an example of a block diagram of a general network environment that can be used with the present invention. For example, an embodiment of the invention can be implemented as computer software in the form of computer readable program code executed on a server computer 2002, connected to the Internet 2000, and accessible to client computers 2003. In further embodiments, the invention can be implemented on various other networks or network systems as appropriate.
The goal of the system is to encourage increased user play over the Internet 2000, by having a server provide a user friendly gaming environment at various client interfaces. For instance, real players are able to use a client computer 2003 to access the gaming system (housed on a server computer 2002) through the Internet 2000 or another network (which is in turn coupled to the game server locally, through the Internet in turn, or through another appropriate system).
Due to the versatility of the client server environment, such an embodiment allows more than one real player to compete with other real players as well as more than one simulated player during a single game.
Alternative embodiments allow more than one real player to compete against each other, without simulated players, in a single game.
Also, embodiments provide more than one simulated player games where no real players compete, but wagers may be placed upon simulated players or other aspects of the game competition. In this instance, a real player may decide not to compete in a card game at all, but instead to wager on various possible aspects of the outcome of a card game. For example, a third real player, who is not competing in a 5 card draw poker card game above, may wager that a certain simulated player or real player will win the card game. Also, a real player who is competing in a card game may wager on himself and bet on his own hand. Of course, a real player who is competing in a card game may wager money by betting on his own hand during the competition.
An embodiment also provides non-monetary, entertainment, or "for fun" games. Examples of such games comprise games where players and those competing in the game do not use points or money. Similarly, an instance of a "for fun" game might have players and competitors wagering and betting points or "fake money." Additional embodiments may combine for money and "for fun" environment so that, for instance, the competitors are betting real money, but those players who do not compete, but wager on the outcome, earn points or non-monetary prizes.
Figures 21a and 21b are flow diagrams of a computer gaming system implemented in an Internet or client-server environment, according to an embodiment of the invention. At step 2102, one or more real players may access the game server from one or more client computers or "clients". Next, at step 2104, the game server determines the number of real players who desire to play. At step 2106, the game server determines the number of simulated players that will be involved. The game server now provides a game environment for multiple real players and/or multiple simulated players 2108. For instance, a five card draw poker game may be set up between two real players who have accessed the game server from two different locations on two different clients, and two simulated players whose actions will be determined by the game server as described below.
As described above, a real player may compete in a card game with one or more other real players only, or with one or more other real players and one or more simulated players. Alternatively, a real player may decide not to compete in a card game at all, but instead to wager on various possible aspects or outcomes of a card game.
The game server determines whether the simulated players will "ante" and provides the "ante" for each of such simulated players 2110. Similarly, real players may choose to "ante" and make their "ante" at the client 2112. The game server then provides cards to each real and simulated player 2113 who has made and "ante". In the five card draw poker example, each real and simulated player may be required to "ante" a dollar to receive cards. Hence, after all four players commit a dollar (up for the winner to win), each player will receive a "hand" of five cards to compete in the card game with. If a player does not "ante" up for the hand, that player will not receive cards. There may or may not be an order to determine the succession of anteing and cards are usually dealt in a clockwise order, starting with the player to the dealer's left.
Alternate embodiments of the invention provide games where no "ante" is necessary in order to receive cards. Thus, all players are dealt a hand without having to "ante" (e.g. for "free"). The game server determines the 1st round betting decisions for the simulated players and makes the 1st round bet for each simulated player 2114. Similarly, real players make 1st round bets, at the client 2115. Thus, in our five card example, after the real players evaluate their cards and the simulated players cards are evaluated by the game server, betting begins. A betting order is usually established according to some aspect of the cards the players have received. For instance, the first player who vouches for a pair of "Jacks" may begin the betting, or alternatively, the betting may begin with the player to the dealer's left and proceed in a clockwise order. However, the betting order may be determined by various other systems, or there may be no specific order.
Betting actions, or "bets" may comprise checking the bet (e.g. passing the bet to the next player, if no money has been wagered yet), betting (e.g. actually wagering money), calling a bet (e.g. wagering the same amount of money as the previous bet), raising a bet (e.g. wagering more money than the previous bet), and folding (e.g. quitting the game). Thus, for instance, during betting, if each player checks the bet, then all players are still in the game (however, the "pot" stays the same). Otherwise, if a subsequent player is unwilling to bet at least the amount of money bet by the prior player, that subsequent player must fold, and is no longer in the game.
After l$t round betting, the game server then determines if there is more than one player remaining to compete in the game 2116. If there is NOT more than one player remaining to compete in the game, at step 2116, the flow continues to step 2128 and the remaining player wins. In our example, for instance, if only one players remains in the competition at any point during 1st round betting or afterwards, that player is the remaining player winner. The game server then awards a prize to the remaining player winner 2129. For the five card draw poker example above, the remaining player would be awarded all the antes and bets from the current card game. Flow then proceeds to step 2130 where the game server determines if any player meets other winning criteria.
If at step 2116, there is more than one player remaining to compete in the game, the game server determines the number of cards each simulated player will draw and which cards each will discard 2117. Similarly, each real player decides how many cards to draw and which cards to discard 2118. Thus, in our five card example, after all players have bet, players trade in some of their cards for draw cards from the deck. A "draw" order is usually established according to some aspect of the cards the players have received. For instance, the last player to increase the bet may begin the draw, or alternatively, the draw may begin with the player to the dealer's left and proceed in a clockwise order. However, the draw order may be determined by various other systems, or there may be no specific order.
At step 2119, the game server provides draw cards to real and simulated players. In the five card example, typically, draw cards are provided to each player in exchange for the player's discarded cards, as the draw progression proceeds. Next, the game server determines the 2nd round betting decisions for the simulated players and makes the 2nd round bet for each simulated player 2120. Similarly, real players make 2nd round bets, at the client 2121. Thus, in our five card example, after the real players evaluate their cards and the simulated players cards are evaluated by the game server, second round betting begins. For 2nd round betting, a betting order is usually established according to some aspect of the prior betting round or the cards the players have received. For instance, the last player to increase the bet in the prior round may begin the 2nd round betting, or alternatively, the 2nd round betting may begin with the player to the dealer's left and proceed in a clockwise order. However, 2nd round betting order may be determined by various other systems, or there may be no specific order. Again, betting actions, or "bets" may comprise checking the bet (e.g. passing the bet to the next player, if no money has been wagered yet), betting (e.g. actually wagering money), calling a bet (e.g. wagering the same amount of money as the previous bet), raising a bet (e.g. wagering more money than the previous bet), and folding (e.g. quitting the game). Thus, once more, during 2nd round betting, if each player checks the bet, then all players remaining when the 2nd round of betting began are still in the game (however, the "pot" stays the same). Otherwise, if a subsequent player does not bet at least the amount bet by the prior player, that subsequent player must fold, and is no longer in the game.
After 2nd round betting, the game server then determines if there is more than one player remaining to compete in the game 2122. If there is NOT more than one player remaining to compete in the game, at step 2122, the flow continues to step 2128 and the remaining player the wins. In our example, for instance, if only one players remains in the competition at any point during 2nd round betting or afterwards, that player is the remaining player winner. The game server then awards a prize to the remaining player winner 2129. For the five card draw poker example abbve, the remaining player would be awarded all the antes and bets from the current card game. Flow then proceeds to step 2130 where the game server determines if any player meets other winning criteria.
If at step 2122, there is more than one player remaining to compete in the game, the game proceeds to a showdown and the game server displays all player cards for all remaining players 2123. Then, the game server determines, according to the cards, which remaining player(s) have a winning hand 2124. The game server awards a prize to the winning cards player(s) 2125. For the five card draw poker example above, if one real player and one simulated player remain at step 2122, there is a showdown. If the simulated player has two aces, two kings and a jack, while the real player has three twos a five and a four, the real player is the winning cards player and wins a prize. Typically, the prize for the winning cards player(s) is the all the antes and bets from the current card game (e.g. the "pot").
According to an embodiment of the invention, if more that one remaining player has a hand with the same ranking as that of another remaining player, and those hands rank higher than all other remaining player hands, then there is more than one winning hand. Since the hands with the same ranking outrank all other remaining hands, the players having the hands with the same ranking each have a winning hand. For example, in a four player game with a three player showdown, it is possible for the first player to have two queens, two tens and a four; the second player to have two aces, two kings, and a jack; and the third player to have two aces, two kings, and a jack. In this instance, the second and third players are both winners because they both have equally ranking hands (two aces, two kings, and a jack) and their hands rank above that of the first player (two queens, two tens, and a four). Thus, at step 2124 the game server determines that both players (two and three) have winning cards, and at step 2125 both players (two and three) are awarded a prize. Typically, the prize for multiple winners is a proportional portion of all the antes and bets from the current card game (e.g. a portion of the "pot"). Thus, in the example, player two is awarded half of the pot, and player three is awarded half of the pot.
Alternatively, if in the above three player showdown, the first player has three fours, a queen and a ten, then although the second and third player have equally ranking hands, there is only one winning hand. Here, the first player has the highest ranking hand and the first player is the winner. Therefore, the fact that the second and third player have equally ranking hands does not lead to multiple winning hands.
After the game server awards the prize(s), the game server determines if any player meets other winning criteria 2130. For example, a player may get a prize for having the lowest hand of the day. Also, a player may get a "bad beat" prize for having a very high hand such as a straight flush, but loosing to a higher straight flush. If no player meets other winning criteria, the game ends 2134. If one or more players do meet other winning criteria, then each that does is an other winning criteria winner 2132. The game server awards a prize to each meeting other winning criteria winner 2133. The game then ends 2134.
The computer and communications systems described above are for purposes of example only. The present invention may be implemented in any type of communications system, computer system or programming or processing environment. The invention may be implemented by means of software programming on these or other computer or communications systems. Further, note that any and all of the above mentioned systems, methods, products, and/or embodiments may be used separately or integrated with any and /or all of the others.
Overview
Embodiments of the invention comprise an intelligent gaming system in which a user-player is pitted against one or more intelligent, simulated opponents. In another embodiment, the gaming system further allows the user to play against an intelligent, simulated opponent and against a predetermined set of results or aspects of the game. In one embodiment, the gaming system is an intelligent poker playing system in which a user-player plays poker against an intelligent, simulated poker player and a predetermined payoff table. Figure 5 provides an example of the system components according to an embodiment of the mvention.
System 500 comprises game engine 510, simulation engine 506 and static evaluator 508. Game engine 510, simulation engine 506 and static evaluator 508 can be implemented as software that runs in the system of Figure 4, for example. System 500 interacts with player 502 to obtain input from player 502. Simulation engine 506 generates actions for the simulated player that becomes input to game engine 510. Input from player 502 and simulation engine 506 is received and processed by game engine 510. System 500 generates output 504 that is displayed to player 502. Output 504 includes messages prompting player 502 for input, messages describing the action(s) taken by the simulated player, and status messages that describe an interim or final status of the game (i.e., whether the simulated player or player 502 is winning the game).
Simulation engine 506 identifies the action(s) that the simulated player takes during the course of a game. Simulation engine 506 evaluates the current state of the game including the actions that have already been taken by the players and chooses an action or actions for the simulated player from among the set of currently valid actions. The action(s) identified by simulation engine 506 and player 502 are processed by game engine 510.
Player 502 can compete agamst some static measurements in some embodiments of the invention. Static evaluator 508 compares some aspect or level of play by player 502 against a predetermined set of criteria. If player 502 achieves an acceptable level of play based on the predetermined set of criteria, player 502 wins the static competition.
Intelligent Poker Playing System
The invention is described herein with reference to an intelligent poker playing system and in particular to "five card draw." However, it should be apparent that the invention can be applied to other card games including other poker games (e.g., "five card stud," "seven card stud," "hold'em," and "Omaha"). The invention can be applied to any game in which strategies are used to identify an action during the game. The following provides a process flow for system 500 that implements a poker gaming system.
Further, the intelligent poker playing system is described using a single user-player pitted against one intelligent, simulated player. However, it should be apparent that the invention can be practiced with varying numbers of user-players and intelligent, simulated players. Thus, for example, one user-player can be pitted against more than one intelligent, simulated player, or vice versa. Further, multiple user-players can be pitted against multiple intelligent, simulated players.
In "five card draw," each player is dealt five cards after placing an initial bet. A player evaluates his hand and adopts a strategy for playing the hand. A player's strategy determines the action(s) taken by the player. For example, in a two player "five card draw" poker game, player 1, PI, can adopt one strategy, if he believes that his hand is likely to be a "winning" hand. In that case, PI opens the betting and then reraises if player 2, P2, raises Pi's bet. If PI believes that his hand has less potential to beat P2's hand, PI can adopt a strategy to open with a bet, but fold, if P2 raises Pi's opening bet. Even if PI believes his hand is not that strong, PI may adopt a strategy to try to bluff P2 into believing that his hand is a "winning" hand. In that case, PI can open with a bet and reraise P2's bet. Pi's strategy may be simply to fold when PI believes that his hand has no value.
PI can modify or adopt a new strategy during the game. The size of the pot may cause PI to change strategies, for example. Further, PI may adopt different strategies between rounds (e.g., before and after the draw). Similarly, P2 can adopt one or more strategies during a game. Simulation engine 506 can simulate the play of either PI or P2.
Figures 6A-6F provide a process flow for a video "five card draw" poker game between two players according to an embodiment of the invention. Either PI or P2 is player 502 with the other being simulated using simulation engine 506. The simulated player can be PI in one game and P2 in another game. After player 502 enters money (or credits or tokens), the cards are dealt to each player and a first round of betting commences.
At step 602, a determination is made whether player 502 has entered some amount of credit (or token). After player 502 enters credits, the game begins with each player contributing an initial amount to the pot (i.e., "an ante"). Alternatively, player 502 can cashout to retrieve the credits. Thus, at step 604, a determination is made whether player 502 "anted" or made a "cashout" request. If it is determined that player 502 entered a "cashout" request, processing continues at step 606 to return the player's credits and play ends at step 608.
If player 502 "anted", processing continues at step 610 to deal the cards to PI and P2. At step 612 ("PI action?"), a determination is made whether Pi's action is to bet or to fold. If PI folds at step 612, processing continues at step 614 to payout the pot to P2 (see Figure 6F for an example of a payout and static evaluation process flow according to an embodiment of the invention). Processing continues at step 602 to await the start of another game or termination of play.
If Pi's action was to bet at step 612, processing continues at step 616 to wait for P2's action. P2 has the option to fold, raise, or call. If P2 folds at step 616, processing continues at step 618 to process the payout to PI and processing continues at step 602.
If P2 raises Pi's bet, processing continues at step 624 to wait for Pi's action. PI can call, raise P2's raise, or fold. If PI folds, the pot is paid out to P2 at step 626. If PI raises P2's raise, processing continues at step 628 to wait for P2's response. If P2 raises Pi's raise at step 628, processing continues at step 624 to await Pi's action. The sequence of one player raising another player can continue until a raise limit is reached, or one player calls the other's raise. To implement a raise limitation, a step can be added to the steps of Figure 6B to examine the number of raises against a raise threshold. If the number of raises has reached the threshold, a player's valid actions can be limited to either folding or calling. Further, if either PI or P2 call the other player's bet (at steps 624 or 628, respectively), processing continues at step 632.
If either player calls the other player's bet, the first round of betting ends and processing continues at step 632 at which each player may draw cards. At step 632, PI selects the cards to be discarded. A set of replacement cards is drawn by PI at step 634. Similarly, at steps 636 and 638, P2 discards and draws zero or more cards.
Processing continues at step 644 (Figure 6D) where the second round opens with Pi's action. PI can either pass (i.e., check) or bet. If PI passes, processing continues at step 656 (Figure 6E) to await P2's response. If P2 checks in response to Pi's check, a showdown occurs with a payout being given at step 668 to the player with a highest ranking hand.
If Pi opens the second round of betting at step 644 with a bet, processing continues at step 646 to await P2's action. P2 can raise, call or fold in response to Pi's bet. If P2 raises Pi's bet, processing continues at step 660 to await Pi's action. If P2 folds at step 646 after Pi opens with a bet, processing continues at step 648 to award the pot to PI. If P2 calls Pi's bet, processing continues at step 650 to pay the pot to the player with the higher ranking hand.
If P2 raises Pi's opening bet or bets after PI passes, processing continues at step 660 to await Pi's responsive action. PI can call, fold or raise. In an embodiment in which check-raising is not allowed, however, PI would only have the option to call or fold at step 660.
If PI folds, the pot is paid to P2 at step 662. If PI calls, the pot is paid to the player with the higher ranking hand. If PI raises P2's bet, processing continues at step 664 to await P2's response. Steps 660 and 664 can repeated with each player responding to the other's raise until one of the player's calls, or runs out of money.
Payout and Static Evaluator
Figures 6A-6E refer to a payout step that awards the pot to the winner of the game. Where one of the players folds, the winner is the player that did not fold. Where neither folded and play ended in a showdown, the winner is the one having a higher ranking hand. The pot is paid to the winner. In an embodiment of the invention, the system further includes a payout to player 502 when player 502 has a hand ranking that meets or beats a threshold hand ranking. Static evaluator 508 compares player 502's hand and the threshold to determine whether player 502 is a winner. Figure 6F provides an example of a payout and static evaluation process flow according to an embodiment of the invention.
At step 672, a determination is made whether the game ended in a showdown or because one of the players folded. If one of the players folded, processing continues by awarding the pot to the other player. Thus, if it is determined at step 672 that PI folded, the pot is awarded to P2 at step 676. If P2 folded, the pot is awarded to PI at step 678.
At step 680, if it is determined that the static evaluation feature of the system is active, processing continues at step 682 to allow player 502 to play against a predetermined payoff table (i.e., bonus play). The process flow of Figure 6F allows player 502 to play the bonus round whether or not player 502 folded. Alternatively, static evaluator 508 can limit bonus play such that player 502 is prohibited from bonus play when player 502 folded.
At step 682, a determination is made whether the fold action occurred prior to the draw. If the game against the simulated player ended in the first round, static evaluator 508 allows player 502 to draw zero to five cards at step 684. After player 502 is allowed a draw (either in simulated or bonus play), static evaluator 508 determines whether a bonus is paid to player 502. The determination is based on a predetermined set of criteria such as the ranking assigned to a player's hand. Referring to Table 1, for example, a threshold can be set at three of a kind. Thus, a bonus is paid for a hand rank in category six of Table 1 (i.e., three of a kind). The threshold for payment of a bonus can be raised or lowered. For example, the threshold can be raised to pay a bonus for hands in category 4.
A bonus can be paid based on a graduated payback structure for a hand that meets or exceeds the threshold. The amount paid as a bonus can be a set amount for each card ranking. Alternatively, a graduated bonus can be paid depending on the rank of the hand. Table 5 provides an example of a graduated bonus structure.
Table 5 - Graduated Payback
Rank Bonus
Pair of Jacks or Better 1
Two Pair 2
Three of a Kind 3
Straight 4
Flush 5
Full House 8
Four of a Kind 80
Straight Flush 100
Royal Flush 488
In the graduated jackpot example provided in Table 5, a bonus is paid to player 502 for a hand ranking of a pair of jacks or better. If, for example, player 502 has three of a kind, he is paid 3 units (e.g., three dollars). If player 502 has a royal flush, he is paid 488 units. If player 502 has a pair of tens, he does not receive a payback.
Static evaluator 508 can be used to award a jackpot amount that reflects contributions from multiple players including player 502. When a player meets or exceeds the threshold ranking, the jackpot is paid out to that player. Player 502 can therefore compete against other system users to win the jackpot that includes the contributions made by other players into the jackpot. Each player plays against the predetermined bonus threshold. Each user can interact with the same or different instances of system 500 to contribute an amount to the bonus jackpot. First Round
As illustrated in Figures 6A-6F, the first round of the intelligent poker playing system includes points at which a player (e.g., player 502 or the simulated player) must take an action. A player selects an action from the set of available actions that is a subset of the set of actions (e.g., pass or check, fold, call, bet and raise). PI and P2 continue the first round until one of the players either calls or folds. Figure 7A illustrates possible first round actions according to one embodiment of the invention.
Columns 720-728 identify the five action points in the first round. For example, column 720 corresponds to step 612 of Figure 6A. Columns 722, 724, 726 and 728 correspond to steps 616, 624, 628, and 624, respectively, of Figures 6A-6B. Rows 700A-700B, 702A-702C, 704A-704C, 706A-706C, and 708A-708C indicate the specific actions available to the players. For example, column 720 (P1A1) represents the first action by PI. In this embodiment, according to rows 700A-700B, the possible actions for PI for the PI Al action are either bet or fold (in other embodiments, other actions for PI Al may be allowed, such as, for example, bet or pass). If PI folds, P2 is awarded the pot and play ends. Therefore, no actions are identified for columns 722-728.
Rows 702A-702C illustrate the possible first actions for P2 (P2A1), if P1A1 is a bet. Referring to column 722, P2A1 can be a fold, call or raise. If P2 folds in response to Pi's bet (row 702A), the pot is paid to PI and play ends. If P2 calls (row 702B) there is a showdown, and the pot is paid to the player with the highest hand. Rows 704A-704C illustrate the possible second actions for PI (P1A2), if P2A1 is a raise (i.e., fold, call or raise). If PI A2 is a fold (row 704A), the pot is paid to P2 and play ends. If PI A2 is a call (row 704B), there is a showdown and the pot is paid to the player with the highest hand. If PI A2 is a raise, play turns to P2 for an action. P2's response (P2A2) is represented in rows 706A-706B. If P2A2 is a fold or call, play ends. If P2A2 is a raise, PI can respond (PI A3) by folding, calling or raising (rows 708A-708C).
If PI and P2 continue to raise as illustrated, play can continue (i.e., PI An and P2An). In fact, play can continue indefinitely until a player calls the other's bet, folds, or runs out of money. Referring to Figure 6B, the process flow can continue at steps 624 and 628 until either PI or P2 folds or calls. Alternatively, system 500 can limit the number of possible raises. That is PI and P2 are limited in the number of times each can raise the other's bet.
Figure 7B illustrates possible first round actions in a game where the number of raises is limited according to one embodiment of the invention.
Referring to rows 700A-700B, PI Al can be a fold or bet. As illustrated in rows 702A-702C, in response to a betting action for PI Al, P2A1 can be a fold, call or raise. However, referring to rows 714A-714B (P1A2), PI is limited to either calling P2's raise or folding. Therefore, the first round is guaranteed to end no later than PI A2.
The available actions for PI and P2 are illustrated in Figures 7A-7B. A player must choose an action at each action point (e.g., P1A1, P2A1, P1A2, etc.). A player typically develops a strategy for playing and selects an action based on the strategy. A player's strategy determines the action(s) taken by the player. A player's strategy in the first round is typically based on the player's hand. A hand that a player believes to be a "winning" hand may prompt a different strategy than one that the player believes is a "losing" hand. For example, a player may consider that three of a kind or better is a "winning" hand. Another player may consider that two pair or better to be a "winning" hand. Conversely, one pair or lower may be considered a "losing" hand. Thus, for example, a player may fold with a one pair or lower hand. However, a player may adopt the strategy typically used with a "winning" hand even though he perceives his hand to be a "losing" hand in an effort to bluff the other player into folding.
Example Embodiment of First Round Strategy
In the first round, it is assumed that PI and P2 have an equal chance of winning. That is, each player has an equal chance of being dealt a "winning" hand. In one embodiment, the initial strategy used by either player is based on the rank of the player's hand. In another embodiment of the invention, the initial strategy based on a hand's rank is ignored in favor of another strategy. The strategy identifies the action a player takes at an action point, and the actions taken to reach an action point. In a preferred embodiment, the first round strategy further identifies the number of cards the player is to draw at the conclusion of round one. Since player 502 can be either PI or P2, a technique is provided to identify a first round strategy for either PI or P2. While a particular strategy identifies the action to take given the other player's action, the selection of the simulated player's strategy is independent of the strategy adopted by player 502. Thus, the simulated player's strategy is not simply an imitation of the action(s) taken by player 502.
In one embodiment of the invention, a set of first round action sequence triggering variables are identified that identify a player's strategy. Each variable has an associated numeric value that represents the percentage of times that a player adopts the strategy associated with the variable. The strategy identifies the action to be taken by a player at the player's action points.
In addition, the strategy identifies the drawing action. For certain hands, the number of cards to draw is straightforward based on the player's hand. For example, both PI and P2 draw no cards with any straight, flush or full house; draw 1 card with two pair; draw three cards with a pair; draw four cards with an ace-high hand. PI will occasionally draw 1 card to four-card flushes or four- card straights, or may bluff and stand pat (draw no cards) with an otherwise non-betting hand. A strategy specifies a particular number of cards for the draw, or specifies that the draw is based on the hand.
One set of action sequence triggering variables is associated with PI while another set is associated with P2. Each player's variables are used to determine the action sequences associated with a particular strategy used in round one. The values assigned to each variable are used to determine whether or not to adopt the action(s) associated with the variable. Table 6 provides examples of variables used to determine Pi's first round strategy as well as sample values and descriptions. It should be apparent that other values can be used for these variables and that other variables can be used as a supplement or replacement for these variables.
Table 6 - Player 1 Variables
Variable Action 1 Action 2
Name (P1A1) (P1A2) Value Description plPatBluffP bet 0.003664 Probability that PI bluffs and stands pat with a no pair hand
P14fc bet call 0.8435 Probability that PI bets and calls, if raised by P2, with a four flush hand and draws 1 card. pl4fb bet fold 1.0 Probability that PI bets with a four flush hand and then folds (if raised) or draws 1 card (if P2 called). pl4sb bet fold 0.24 Probability that PI bets with a four straight hand and then folds (if raised) or draws 1 card (if P2 called). plqlop bet fold 0.0 Probability that PI opens (bets) with a queen high or lower hand. plqlca bet call 0.0 Probability that PI opens and calls (if raised) with a queen high or lower hand. plkhop bet fold 0.28 Probability that PI opens with a king high hand. plkhca call 0.0 Probability that PI calls with a king high hand. plahop bet 1.0 Probability that PI opens with an ace high hand or better. plahca bet call 1.0 Probability that PI calls with an ace high hand or better. Note: PI bets and calls if raised with all hands better than ace high.
The strategies associated with the variables of Table 6 assume a game in which raises are limited as described with reference to Figure 7B. Referring to Figure 7B, PI has two action points, PI Al and PI A2, in round one. The possible actions for PlAl are fold or bet. If the strategy specifies that PI Al is a bet action, a P1A2 action is specified. The possible P1A2 actions are fold or call. Thus, if P2 raises in response to a PlAl bet action, PI A2 specifies whether PI is to call or fold in response to P2's P2A1 action. The strategy adopted by PI identifies the actions for the PlAl action point and, if necessary, the PI A2 action point.
The strategy that is adopted by PI is determined using the variables identified in Table 6. A value is assigned to a variable that represents the percentage of time that a variable's strategy is adopted. This value is examined before a variable's strategy is adopted. For example, a value of 50 percent (i.e., .50) associated with a variable suggests that the variable's strategy should be adopted fifty percent of the time. A random number is used in one embodiment that ranges from 0 to 1. A variable's percentage is compared against the random number to determine whether the variable's action(s) is used.
Each variable is associated with a hand rank. That is, one or more variables are selected to determine a player's strategy based on the ranking of the player's hand. Table 7 categorizes the variables of Table 6 into their respective rankings.
Table 7 - Player 1 Variables
Variables Hand Player 1
Straight Flush *
Four of a Kind *
Full House *
Flush *
Straight *
Three of a Kind *
Two Pair *
One Pair *
No Pair plPatBluffp
Ace High , plahop, plahca
King High plkhop, plkhca
Queen High plqlop, plqlca
Four Flush pl4fc, pl4fb
Four Straight pl4sb * PI always bets and calls if raised with all hands better than ace-high.
To illustrate, assume that PI has a four flush hand. Referring to Table 7, the pl4fc and pl4fb variables are associated with a four flush. Referring to Table 6, if the strategy suggested by the pl4fc variable is adopted, PI bets at action point PlAl and calls at action point P1A2. If the pl4fb variable is used, PI bets at action point PlAl and folds at action point P1A2. The values associated with the pl4fc and pl4fb variables are used to determine which strategy (i.e., the bet-call strategy of pl4fc or the bet-fold strategy of pl4fb) is adopted. The values assigned to the pl4fc and pl4fb variables are 0.8435 and 1.0, respectively. That is, the bet-call strategy is adopted eighty-five percent of the time when PI receives a four flush. The remaining portion of the time, the bet-fold strategy is adopted for PI.
Figures 8A-8C provide a process flow for identifying a first round strategy for player PI when PI receives a hand with a rank less than one pair according to an embodiment of the invention. If PI receives a hand with a rank of greater than or equal to one pair, PI will adopt the bet-call strategy. Once the ranking of the hand is determined, the variables associated with the ranking are used to select a strategy and identify the action(s) to be taken by PI. Where a draw action is not determined based on the hand, a specific draw is specified for PI. In some cases, a random number is compared against the value of a variable in Table 7 to determine whether to adopt the strategy associated with the variable.
At step 802, a determination is made whether PI has a four flush. If so, processing continues at step 804 to determine whether the random number is less than or equal to pl4fb. If not, processing continues at step 812. If it is determined, at step 804, that the random number is less than or equal to pl4fb, processing continues at step 806. A determination is made at step 806 whether the random number is less than or equal to pl4fc. If not, processing continues at step 808 to specify a bet action for PlAl, a fold action for P1A2, and a one card draw. If the random number is less than or equal to pl4fc, processing continues at step 810 to specify a bet action for PlAl, a call action for PI A2, and a one card draw. If it is determined (at step 802) that PI does not have a four flush or that the random number is greater than pl4fb (at step 804), processing continues at step 812. A determination is made at step 812 whether PI has a four straight. If so, processing continues at step 814 to determine whether the random number is less than or equal to pl4sb. If not, processing continues at step 818. If the random number is determined to be less than pl4sb at step 814, processing continues at step 816 to specify a bet action for PlAl, a fold action for P1A2, and a one card draw.
In the preceding steps, a determination is made whether PI should bluff with a four flush or four straight hand. In steps 818 and 820, a determination is made whether to bluff even though a bluff is not indicated in the preceding steps. Thus, at step 818, a determination is made whether the random number is less than or equal to plPatBluffp. If so, processing continues at step 820 to determine whether the random number is less than or equal to two-thirds. If not, processing continues at step 824 to specify a bet action for PlAl, a fold for PI A2 and no draw. If so, processing continues at step 822 to specify a bet action for PlAl, a call action at P1A2 and no draw.
Whether or not a bluff is indicated in steps 818 and 820, processing continues at step 830 to determine whether PI has an ace high or better (step 830), king high (step 834), or queen high or lower hand (step 838). If so, processing continues at 860 of Figure 8C to compare the variables associated with Pi's particular hand with the random number. Steps 830, 834, and 838 reference the flow of Figure 8C and specify the variables that are used in the steps of Figure 8C. For example, if it is determined at step 834 that Pi's hand is a king high hand, variables plkhop and plkhca are used with the steps of Figure 8C. That is, plNPop is equivalent to plkhop and plNPca is equivalent to plkhca.
Referring to Figure 8C, a determination is made whether the random number is less than or equal to plNPop (e.g., plNPop is equivalent to plqlop where PI has a queen high or lower hand). If not, processing continues at step 862 to specify a fold action for PlAl. If so, processing continues at step 864 to determine whether the random number is less than or equal to plNPca (e.g., plNPca is equivalent to plqlca where PI is a queen high or lower hand). If not, processing continue at step 868 to specify a bet action for PlAl, a call action for PI A2, and a three card draw. If the random number is greater than p2NPca, processing continues at step 870 to specify a bet action for PlAl, a fold action for PI A2, and a three card draw.
A set of variables are also defined for P2 that are used to determine P2's first round strategy. Table 8 provides examples of variables used to determine P2's first round strategy as well as sample values and descriptions. It should be apparent that other values can be used for these variables and that other variables can be used as a supplement or replacement for these variables.
Table 8 - Player 2 Variables
Variable Action 1
Name (P2A1) Value Description ρ2PatBluffP raise 0.002597 Probability that P2 bluffs by standing pat. p24FBluffp raise 0.8435 Probability that P2 bluffs as having two pair and draws one with a four flush. p2NoPairBluffP raise 0.12 Probability that P2 raises and draws three cards with a no pair hand p2qlca call 0.0 Probability that P2 calls with a queen high or lower hand. p2qlra raise 0.12 Probability that P2 raises with a queen high or lower hand. p2khca call 0.0 Probability that P2 calls with a king high hand. p2khra raise 0.12 Probability that P2 raises with a king high hand. p2ahca call 0.3 Probability that P2 calls with an ace high hand. p2ahra raise 0.12 Probability that P2 raises with an ace high hand. p2raise raise 0.0-1.0 Probability that P2 raises with a particular pair. ρ2call call 0.0-1.0 Probability that P2 calls with.a particular' pair. P2fold fold 1.0- Probability that P2 folds with a particular p2raise- one pair hand. ρ2call Note: P2 raises with all hands better than a pair.
The strategies associated with the variables of Table 8 assume a game in which raises are limited as described with reference to Figure 7B. That is, P2 has one action point, P2A1. At P2A1, P2 can fold, call or raise the opening bet by PI. The strategy adopted by P2 identifies the action for the P2A1 action point. The strategy that is adopted by P2 is determined using the variables identified in Table 8 and the rank of P2's hand.
As with Pi's variables, a value is assigned a variable that represents the percentage of times that a variable's strategy is adopted. Further, each variable is associated with a hand rank. Table 9 categorizes the variables of Table 8 based on their associated hand.
Table 9 - Hands and Associated P2 Variables
Variables
Hand Plaver 2
Straight Flush *
Four of a Kind *
Full House *
Flush *
Straight *
Three of a Kind *
Two Pair *
One Pair p2raise, p2call
No Pair p2NoPairBluffp,
, p2PatBluffp
Ace High p2ahca, p2ahra
King High p2khca, p2khra
Queen High p2qlca, p2qlra
Four Flush p24FBluffp
Four Straight p2PatBluffp
* P2 raises with all hands better than a pair.
Figures 9A-9C provide a process flow for identifying a first round strategy for player P2 according to an embodiment of the invention. A ranking for P2's hand is identified. Once the ranking is determined, the variables associated with the ranking are used to select a strategy and identify the action(s) to be taken by P2. Where a draw action is not determined based on the hand, a specific draw is specified for P2.
At step 902 a determination is made whether P2's hand is a two pair or better hand. If P2 as a two pair or better hand (e.g., a straight), processing continues at step 912 to specify a raise action for P2A1 and a draw based on P2's hand.
If it is determined at step 902 that P2 has less than a two pair hand, processing continues at step 916 to determine whether P2 has a one pair hand. If so, processing continues at step 918 to obtain values for the variables p2raise and p2call given the actual one pair in P2's hand. Table 10 provides an example of values assigned to the p2raise and p2call variables for each pair type in one embodiment.
Table 10 - Hands and Associated P2 Variables
Pair ρ2raise ρ2call
Twos 0.0 0.0
Threes 0.0 1.0
Fours 0.0 1.0
Fives 0.0 1.0
Sixes 0.75 0.25
Sevens 1.0 0.0
Eights 0.9 0.1
Nines 0.5 0.5
Tens 0.2 0.8
Jacks 1.0 0.0
Queens 1.0 0.0
Kings 1.0 0.0
Aces 1.0 0.0
The values of p2raise in Table 10 indicate the percentage of time that P2 raises with the given pair. The values of p2call indicate the percentage of time that P2 calls, but does not raise. Thus, for example, with a pair of sixes, P2 raises 75% of the time, and calls the remaining 25% of the time. P2 folds the remaining portion of the time, if any. Thus, p2fold = l-p2raise-p2call.
Other values for p2raise or p2call can be associated with each pair. Once values are obtained for p2raise and p2call at step 918, processing continues at step 920 to determine whether the random number is greater than the sum of p2raise and p2call. If so, processing continues at step 922 to specify a fold action for P2A1. If not, a determination is made at step 924 as to whether the random number is greater than p2raise. If yes, a call action is specified for P2A1 at step 926. If no, processing continues at step 928 to specify a raise action for P2A1.
If it is determined at step 916 that P2's hand is lower than one pair, processing continues at step 950 to determine whether P2 has a four flush hand. If so, processing continues at step 952 to determine whether to bluff with a four flush hand. A determination is made whether p24FBluffp is greater than or equal to the random number. If not, processing continues at step 956 to specify a fold action for P2A1. If so, processing continues at step 954 to specify a bet action for P2A1 and a one card draw.
If it is determined at step 950 that P2 does not have a four flush hand, processing continues at step 958 to determine whether p2NoPairBluffP is greater than or equal to the random number. If so, processing continues at step 960 to specify a raise for PlAl and a three card draw. If it is determined at step 958 that p2NoPairBluffP is less than the random number, processing continues at step 962. A determination is made at step 962 whether p2PatBluffp is greater than or equal to the random number. If so, processing continues at step 964 to specify a raise for P2A1, and a zero draw.
If a bluff strategy is not adopted for P2, processing continues at steps 968, 972 and 976 to determine whether P2 has an ace high, king high, or queen high or lower hand. In each case, processing continues at step 982 to examine the variables associated with the ace high, king high or queen high or lower hands to determine whether P2 should raise, call or fold in response to an opening bet by PI. Depending on the outcome of steps 968, 972, and 976, the steps of Figure 9C are performed using the variables associated with an ace high, king high or queen high or lower hand. For example, if it is determined at step 972 that P2 has a king high hand, processing executes the steps of Figure 9C are processed using the p2khca and p2khra variables. The variables are referred to generically as p2NPca and p2NPra, respectively. Similarly, if it is determined at step 976 that P2 hand is a queen high or lower hand, the steps of Figure 9C are performed using the p2qlca and p2qlra variables.
Referring to Figure 9C, a determination is made at step 982 as to whether the random number is greater than the sum of p2NPra and p2NPca. If so, processing continues at step 984 to specify a fold operation for P2A1. If not, processing continues at step 990.
At step 990, a determination is made whether the p2NPra is greater than the random number. If yes, processing continues at step 992 to specify a raise operation for P2A1. If not, processing continues at step 996 to specify a call operation for P2A1.
Second Round
Like the first round of the intelligent poker playing system, the second round includes points at which a player (e.g., player 502 or the simulated player) must take an action. A player selects an action from the set of available actions that is a subset of the set of actions (e.g., pass or check, fold, call, bet and raise). If raising is unlimited, the second round continues until one of the players either calls or folds. Figure 10 illustrates possible second round actions according to one embodiment of the invention.
Columns 1020-1028 identify five action points in the second round. For example, column 1020 corresponds to step 644 of Figure 6D. Column 1022 corresponds to step 646 if Pi's for action is a bet, or to step 656 when PI checks. Columns 1024, 1026 and 1028 correspond to steps 660, 664, and 660, respectively. Rows lOOOA-lOOOB, 1002A-1002C, 1004A-1004C, 1006A-1006C, 1008A-1008C and 1010A-1010C indicate the specific actions available to the players at given action points. For example, column 1020 (PlAl) represents the first action by PI. Rows lOOOA-lOOOB identify the possible actions for PI at the PlAl action point (e.g., check or bet). At the PlAl action point, no other actions have yet taken place. Therefore, no actions are identified for columns 1022-1028. Rows 1002A-1002C illustrate the first actions for P2 (P2A1), if PlAl is a check. Referring rows 1002A-1002B in column 1022, P2A1 can be a check or bet. If P2 checks in response to Pi's check (row 1002A), there is a showdown. The pot gets paid to the player with the highest hand, and the game ends. Rows 1004A-1004C indicate that the first action for P2 can be a fold, call or raise if PlAl is a bet. Rows 1006A-1006C through 1010A-1010C illustrate the possible actions for P1A2, P2A2 and P1A3, respectively as either fold, call or raise actions.
If PI and P2 continue to raise, play can continue (i.e., PlAn and P2An). In fact, second round play can continue indefinitely until a player calls the other's bet or folds. Alternatively, system 500 can limit the number of possible raises. That is PI and P2 are limited in the number of times each can raise the other's bet.
Figure 11 illustrates possible second round action in a game where there is a raise limit according to one embodiment of the invention. Rows 1100A, 1102A-1102B, and 1104A-1104B illustrate the action where PlAl is a check. Rows 1100B, 1106A-1106C, 1108A-1108C and lllOA-lllOC illustrate the action where PlAl is a bet. In Figure 10, PI could raise after checking (see rows 1004A-1004C). However, in Figure 11, PI is limited to either a fold or call action (see rows 1104A-1104B). That is, check raising is not allowed. Further, P2 is not allowed to raise in P2A2. Referring to rows lllOA-lllOB, P2 has the option of either folding or calling at action point P2A2. Therefore, the first round is guaranteed to end no later than at P2A2. The available actions for PI and P2 for the second round are illustrated in Figures 10 and 11. Like the first round, a player must choose an action at each action point (e.g., PlAl, P2A1, P1A2, etc.). The actions are specified based on the strategy chosen by the player.
Second Round Strategy Look-up Table Operation
As in the first round, there are a set of action sequence triggering variables that are used to determine a player's strategy for the round. Each variable has an associated value that can be examined to develop a player's second round strategy. In one embodiment, the values of the variables are pre-calculated and stored in a table. In an alternate embodiment, instead of using variable values previously generated, the values can be generated dynamically during the game thereby eliminating the need to store the values. A set of criteria is used to either generate the values at runtime or to identify the row in the table that contains the values for the variables.
An example of a second round strategy lookup table used in one embodiment of the invention is shown in Figure 12. Table 1200 includes columns 1201-1213. Column 1201 is an extra column that contains a default value of 1 that is not used. Columns 1202-1213 of table 1200 correspond to the action sequence triggering variables used in the second round. Rows 1224-1228 represent sets of values that are assignable to the second round variables.
Each value in rows 1224-1228 uses format 1230. Format 1230 comprises hand category 1230, card rank 1232, and percentage 1234. Hand category 1230 and card rank 1232 are translated into hand ranks as follows. The integer before the decimal (i.e., hand category 1230) is a number from 0 to 8 representing one of nine hand categories as indicated in Table 11:
Table 11-Hand Category Codes
Figure imgf000066_0001
2 two pairs
3 three of a kind
4 straight
5 flush
6 full house
7 four of a kind
8 straight flush
The first two digits to the right of the decimal point (i.e., card rank 1232) are numbers from 02 to 14 corresponding to card ranks from deuces (twos) to aces as shown in Table 12:
Table 12-Card Rank Codes
Number Category
02 deuce
03 three
04 four
05 five
06 six
07 seven
08 eight
09 nine
10 ten
11 jack
12 queen 13 king
14 ace
The remaining digits (i.e., percentage 1234) represent the percentage of time the particular hand specified by hand category 1230 and card rank 1232 is played according to the associated action sequence .
For example, given a value of "1.1231", the "1," according to Table 11, means a pair. The next two digits, "12," according to Table 12, corresponds to "queen." The next two digits, "31," represent .31 or 31% of the time. According to Table 11, if the variable having the value 1.1231 represents the lowest hand with which PI will bet, then PI will bet with a pair of queens 31% of the time. The remaining time, PI will pass with a pair of queens. The percentage is relevant only if the current hand is of the exact rank specified by the variable. PI will pass with the next lower hand (pair of jacks), and bet with the next higher hand (pair of kings).
Figure 13 illustrates actual columns for table 1200 of Figure 12 according to an embodiment of the invention. Table 12 describes the action sequence triggering variables identified in Figure 13.
Table 13: Explanations of Columns of Figure 13
Column Variable Name Definition
1382 Bl Lowest hand with which PI will bet legitimately.
1383 bl Highest hand with which PI will bluff-bet and fold if raised.
1384 C2 Lowest hand with which P2 calls if PI bets.
1385 C1R Lowest hand with which PI will call if P2 raises.
1386 R2 Lowest hand with which P2 raises if PI bets. 1387 r2 Highest hand with which P2 bluff-raises if PI bets.
1388 C2RR Lowest hand with which P2 calls if PI reraises.
1389 RR1 Lowest hand with which PI reraises if P2 raises.
1390 rrl Highest hand with which PI bluff reraises.
1391 Cl Lowest hand with which PI calls if P2 bets after PI passes.
1392 B2 Lowest hand with which P2 bets if PI passes.
1393 b2 Highest hand with which P2 bluff-bets if PI passes.
Some of the variables are used to determine Pi's strategy while others are used for P2. Table 14 identifies the variables used for PI and the actions affected by each variable.
Table 14: Second Round Variables for PI
Variable Action 1 Action 2 Column Name (PlAl) (P1A2) Description
1382 Bl bet fold Lowest hand with which PI will bet legitimately.
1383 bl bet fold Highest hand with which PI will bluff-bet and fold if raised.
1385 C1R bet call Lowest hand with which PI will call if P2 raises.
1389 RR1 bet reraise Lowest hand with which PI reraises if P2 raises,
1390 rrl bluff-bet rreerraaiissee Highest hand with which PI bluff-bets and reraises, if raised. 1391 Cl pass call Lowest hand with which PI calls if P2 bets after
PI passes.
Table 15 identifies the variables for P2 and their associated action points. Table 15: Second Round Variables for P2
Variable Action 1 Action 2 Column Name (P2A1) (P2A2) . Description
1384 C2 call Lowest hand with which P2 calls if PI bets.
1386 R2 raise fold Lowest hand with which P2 raises if PI bets. 1387 r2 bluff- fold Highest hand with which P2 bluff-raises if PI raise bets,
1388 C2RR raise call Lowest hand with which P2 calls if PI reraises,
1392 B2 bet fold Lowest hand with which P2 bets if PI passes,
1393 b2 bluff-bet fold Highest hand with which P2 bluff-bets if PI passes.
Referring to Figure 13, each row of table 1200 corresponds to a particular game situation at the end of the first round/beginning of the second round in terms of the number of cards drawn by each player and the size of the pot. For each player, there are six possible number of cards drawn: 0, 1, 2, 3, 4, 5. Accordingly, there are 36 different draw variations for each pot size. In Figure 13, table 1200 contains 72 rows, which correspond to 36 draw variations for each of two pot sizes. The first 36 rows of Figure 13 (i.e., rows 1301-1336) correspond to a pot size of 3 (each player having anted 1/2 and bet 1). Rows 1337-1372 correspond to a pot size of 5 (each player having anted 1/2 and bet 2). For each set of 36 rows, the first row corresponds to PI drawing 0 cards, P2 drawing 0 cards. The second row corresponds to PI drawing 0 cards, P2 drawing 1 card. The third row corresponds to PI drawing 0 cards, P2 drawing 2 cards, and so on. The general formula that determines, for each set of 36 rows, the row number that corresponds to a draw variation is:
1. Pot Size 3:
Row Number = [(no. of cards PI draws)(6)+(no. of cards P2 draws)+l]; and
2. Pot Size 5:
Row Number = [(no. of cards PI draws)(6)+(no. of cards P2 draws)+37]. For example, if PI draws 3 cards and P2 draws 5 cards, the corresponding row number within a set of 36 rows is:
[(3)(6)+(5)+l] = Row 24
Accordingly, if the pot is three after the first round, for a game in which PI draws 3 cards and P2 draws 5 cards, the row that applies is row 24 of the table 1200. If the pot is five, the row that applies is row 60 (24+36).
To use table 1200, a determination is made as to which game situation (number of cards drawn by each player and size of pot) applies. The appropriate row number is identified, and the variable values corresponding to PI or P2 as appropriate are extracted from columns 1382-1393 of that row. The values of the variables can be used to identify action sequence intervals. The current hand is compared to the hands indicated by the variable values, and a determination is made as to the location of the current hand with respect to action sequence intervals defined by the variables. The indicated action sequence is then followed.
Figure 14 illustrates the action sequence intervals given sample values for the action sequence triggering variables according to one embodiment of the invention. Row 1358 of table 1200 (see Figure 16B) is illustrated having values in columns 1382-1393 for the action sequence triggering variables. Row 1358 corresponds to the row of table 1200 that is used when both PI and P2 drew three cards in the first round, and the pot is equal to 5. In this example, P2 is the simulated player and P2's hand after the draw is two pair with a pair of kings being the highest pair. P2's hand thus has a value, using the format 1230 of Tables 11, 12 and 13, of "2.13" (2=two pairs, 13=kings). The applicable row of the table of 1200 is [(3)(6)+3+l+36]=58 (i.e., row 1358).
In Figure 14, the values in columns 1382-1393 and their associated variables are aligned along hand strength axes 1406 (PI variables) and 1408 (P2 variables). The corresponding action choices are indicated by bars 1402, 1404, 1410, 1412, and 1414.
A player's hand is translated into a value that specifies hand category 1230 and card rank 1232 using Tables 11, 12, and 13. The value is placed along the player's hand strength axis (e.g., axes 1406 or 1408). For PI, the position of the value along a hand strength axis is used as a reference to the action choices 1402 for P1A2 and action choices 1404 for PlAl. Similarly, the position of P2's hand value along axis 1408 is used as a reference to the action choices 1410 and 1414 for P2A1 and action choices 1412 for P2A2.
For example, the values for variables C2, R2, r2, C2RR, B2 and b2 are used to position the variables along hand strength axis 1408. P2's hand is used to calculate a hand value of 2.13 as discussed above. Looking at hand strength axis 1408, it is found that P2's hand of 2.13 falls between B2 (1.1039) and R2 (2.1422). The action sequence indicated for P2A1 given P2's current hand, as shown in action choices 1410 and 1414, is to call if PI bets (action choices 1410), and to bet if PI passes (action choices 1414). Figure 15 provides a second round process flow that uses table 1200 of Figures 12-14 according to one embodiment of the invention.
At step 1502, the row of table 1200 is calculated using the pot size and draw information. At step 1504, the values for the action sequence triggering variables are retrieved for table 1200. A value is calculated for the simulated player's hand at step 1506. At step 1508, the positioning of the hand's value is determined relative to the variables positioned along the hand strength axis. At step 1510, an action is identified from the action choices.
Percentage 1234 associated with a variable is used where the player's hand is the exact rank specified for the variable. Thus, at step 1512, a determination is made at step 1512 whether the current hand is equal to the rank specified in the variable. If not, the action specified by the variable identified in step 1508 is adopted at step 1514. If so, a determination is made at step 1512 to determine whether the variable's percentage 1234 is greater than or equal to the random number. If it is, processing continues at step 1514 to use the action associated with the variable identified in step 1508. If not, processing continues at step 1516 to select the action different from the action associated with the variable specified for the next higher or lower hand than the hand specified in the variable, as appropriate. For example, in the previous example, if P2 has a pair of aces (2.14), P2 will raise if the random number is less than or equal to 0.22 (since r2=2.1422). Otherwise, P2 will call (the action indicated for the next lower hand) with its pair of aces. Figures 16A-16B provide values for action sequence triggering variables for example pot sizes of 3 and 5 discussed above. Figure 16A includes rows 1301-1336 used for a post size of 3. Figure 16B has rows 1337-1372 for a pot size of 5.
Slot Machine Embodiments of the Invention
Figures 17 and 18 illustrate slot machine embodiments of the intelligent card playing system of the invention. It will be understood that the features shown for the embodiments of Figures 17 and 18 are by way of example, only. Slot machine embodiments of the invention may have any variety of other configurations, as will be apparent to those skilled in the art.
Figure 18 is a schematic diagram illustrating the functional components in one slot machine embodiment of the invention. As shown in Figure 18, the functional components in this embodiment include a CPU unit 1800, a cash accumulator/controller 1810, a coin input mechanism 1820, a bill reader 1840, a coin payout mechanism 1830, a control panel 1860, a touch-screen display 1850, and light and sound emitters 1870.
CPU unit 1800 contains a microprocessor such as, for example, a Pentium™ processor from Intel, along with associated software, components and peripherals, such as main memory, video graphics adapter, sound card, mass storage, and input/output interfaces, that allow CPU unit 1800 to function as an intelligent controller of the slot machine unit. CPU unit 1800 monitors user input, generates strategies for and controls actions of one or more simulated players, determines outcomes of games, and controls payout of user winnings.
Cash accumulator /controller 1810 monitors a user's cash input from coin input mechanism 1820 and bill reader 1840, and controls cash payout to a user provided by coin payout mechanism 1830, all under the control of CPU unit 1800.
Display 1850, which may, for example, be a CRT or LCD or other type of display, displays output to the user, such as, for example, images of cards dealt to a user, images of cards dealt to the simulated player(s), information ' concerning the state of the game, the size of the pot, the actions available to the user, etc. In the embodiment of Figure 18, display 1850 is a touch screen display that accepts touch input from a user. In this embodiment, a user can indicate the user's desired actions by touching corresponding images displayed on the display screen. For example, the user may indicate cards to hold during a drawing phase of a game by touching the cards the user wishes to hold. Preferably, visual feedback is provided to the user to confirm that the user's touch screen input has been recognized. For example, the receipt of a touch screen input may be indicated by highlighting the image (e.g. a card selected for holding) underlying the position at which the user touches the screen. In addition to a touch-screen, the embodiment of Figure 18 also contains a control panel 1860 that may be used as an alternate means to provide user input. Control panel 1860 may, for example, consist of a panel containing a number of button switches. Each button corresponds to one or more user actions. A user chooses a desired action by pressing the appropriate button. In one embodiment, a user may indicate desired user actions by touching an appropriate area on touch screen 1850 and/or by pressing an appropriate button on control panel 1860.
Light/sound emitter 1870 is used to provide sound and light output. For example, light/sound emitter 1870 in one embodiment includes a flashing light and emits the sound of a bell ringing to indicate that the user has won a game. '
The system of Figure 18 may include other features found on slot machines as are known in the art.
Figure 17 illustrates the outward appearance of one embodiment of a card playing slot machine system such as the system of Figure 18. As shown in Figure 1 , this slot machine comprises a housing 1700 which contains functional components of the system, for example components 1800-1870 of Figure 18. The input and output interfaces with a user are situated on the front of housing 1700. These input and output interfaces include a display screen 1710 (which may be a touch-screen display), a control panel 1720, a bill reader 1760, and a coin output tray 1775. The front of housing 1700 also includes a first and second billboard display areas 1705 and 1780, respectively.
First billboard display area 1705 comprises a backlit display containing graphics. The graphics are intended to attract players to the game, and may, for example, include the name of the game played by the slot machine system. The slot machine system may, for example, play five card draw poker. In one embodiment, the slot machine system allows a user to play a simulated poker game against an intelligent, simulated player. In another embodiment, the slot machine system allows a player to play simultaneously against an intelligent, simulated player and against a video-poker style payoff table. If the slot machine system provides combined play against a simulated opponent and a payoff table, display area 1705 may include a depiction of the payoff table 1715. Display area 1705 may also include flashing lights that are activated when a user wins a game.
Second display area 1780 provides an area in which additional graphics may be displayed. Second display area 1780 includes bill reader 1760 that is used to accept cash bills from a user.
Display 1710 is a CRT or LCD display that provides output to, and, in the case of an embodiment in which display 1710 is a touch screen display, accepts input from, a user as described with respect to display 1850 of Figure 18. Control panel 1720 includes a coin slot 1740 for accepting coins from a user and a number of button switches that the user may activate to indicate desired user actions. In the embodiment of Figure 17, the buttons include a "call" button 1725, a "raise/bet" button 1730, an "ante" button 1765, a "fold/check" button 1730, five "hold" buttons 1735, a "draw" button 1745, a "cashout" button 1750, and a "game select" button 1755. Call button 1725 is activated by a user to indicate a desired call action. Raise /bet button 1730 is activated by a user to indicate a desired raise or bet action, depending on the state of the game. Ante button 1765 is activated by a user to debit the amount required for an ante from a balance of money deposited by the user into the slot machine system via coin slot 1740 or bill reader 1760, thereby initiating a new game. Fold/check button 1730 is activated by a user to indicate a desired fold or check action, depending on the state of the game. Hold buttons 1735 are used to indicate cards that the user wishes to hold prior to a draw. There is one hold button for each card in a user's hand. In the embodiment of Figure 17, there are five hold buttons 1735, corresponding to a five-card game such as five card draw. Draw button 1745 is used by a user to initiate a draw, such that the user is dealt a new card for each card discarded (i.e. for the cards the user has indicated the user does not wish to hold). Cashout button 1750 is used by a user to obtain a payout, in cash, of any balance remaining to the user's account. The cashout amount is paid out to the user by depositing coins in payout tray 1775. Game select button 1755 is used by a user to select the desired game to play in embodiments that allow a user to select from different games. For example, in one embodiment, game select button 1755 allows a user to select optional play against a payoff table in addition to play against a simulated, intelligent opponent.
In one embodiment, the available actions available to a user an any stage of a game are indicated by lighting up only those buttons corresponding to the available actions.
Thus, a computer gaming system has been presented. Also, a method, apparatus, and system for providing a computer gaming system in and Internet or client-server environment has been described. Particular embodiments described herein are illustrative only and should not limit the present invention thereby. The invention is defined by the claims and their full scope of equivalents.

Claims

CLAIMS 1. A computer gaming system comprising: a server coupled to at least one network node, said server further comprising: a gaming engine configured to interface with at least one user, said gaming engine advancing a first game between at least two players using at least one action taken by at least one of said players, and said gaming engine determining a first winner of said first game as between said at least two players; and a static evaluator coupled to said gaming engine, said static evaluator determining a second winner independently of determining said first winner as between said at least two players and a predetermined criteria.
2. The system of claim 1, wherein at least one of said players comprises a simulated player; and wherein said server further comprises a simulation engine coupled to said gaming engine, said simulation engine configured to identify a plurality of actions for said at least one simulated player according to a current state of said first game.
3. The system of claim 2, wherein at least one of said players comprises a real player.
4. The system of claim 1, wherein at least one of said players comprises a real player.
5. The system of claim 3, wherein said real player comprises said user.
6. The system of claim 4, wherein said real player comprises said user.
7. The system of claim 1, wherein said user wagers on an aspect of said first game.
8. The system of claim 1, wherein said user wagers on an aspect of determining said second winner.
9. The system of claim 1, wherein said first winner of said first game comprises more than one winning player, said more than one winning player comprising players having an equal ranking to at least one other player.
10. The system of claim 2 wherein said plurality of actions are associated with at least one action sequence triggering variable selected from a set of action sequence triggering variables based on selection criteria including a probability of winning said game given said current state of said game.
11. The system of claim 2 wherein said gaming engine advances said game by executing said plurality of actions at corresponding action points in said game, and wherein said gaming engine determines said first winner as between said at least two players at a termination point of said game.
12. The system of claim 1, further comprising at least one control panel coupled to said node, said at least one control panel having buttons for accepting said at least one action from said at least one user, wherein data associated with said at least one action is transferred between said control panel and said gaming engine.
13. The system of claim 1, wherein said game further comprises each of said players betting money that that player will be the first winner of said first game as between said at least two players.
14. The system of claim 1, wherein said node further comprises an accumulator for monitoring cash input and controlling cash payments.
15. The system of claim 1, wherein said action comprises at least one betting action selected from an action set that includes bet, fold, check, and raise actions, and at least one drawing action that identifies a number of cards to draw.
16. The system of claim 2, wherein a current state of said game includes an identity of a first player to act.
17. The system of claim 3, further comprising at least one action taken by a first one of at least one real player, and at least one action taken by a second one of at least one real player, wherein said at least one action taken by a first one of at least one real player and said at least one action taken by a second one of at least one real player are considered in said determining said first winner.
18. The system of claim 4, further comprising at least one action taken by a first one of at least one real player, and at least one action taken by a second one of at least one real player, wherein said at least one action taken by a first one of at least one real player and said at least one action taken by a second one of at least one real player are considered in said determining said first winner.
19. A computer gaming system comprising: a simulation engine configured to identify a plurality of actions for at least one simulated player according to a current state of a first game; a gaming engine coupled to said simulation engine, said gaming engine configured to interface with at least one real player, said gaming engine advancing a game using said plurality of actions and at least one action taken by said at least one real player and determining a first winner of said first game as between said at least one simulated player and said at least one real player; wherein said first winner of said first game comprises more than one winning player, said more than one winning player comprising players having an equal ranking to at least one other player; and a static evaluator coupled to said gaming engine, said static evaluator determining a second winner independently of determining said first winner as between said at least one real player and a predetermined criteria.
20. A poker playing system comprising: a simulation engine configured to determine an action sequence for at least one simulated player of a game, said action sequence associated with at least one action sequence triggering variable selected from a set of action sequence triggering variables; and a gaming engine coupled to said simulation engine configured to advance play using at least one action taken by at least one real player and to determine a first winner as between said at least one simulated player and at least one real player; wherein said first winner comprises more than one winning player, said more than one winning player comprising players having an equal ranking to at least one other player.
21. A method of playing a game using a network, comprising the steps of: coupling at least one network node to a server; accepting a set of user actions from said at least one network node; administering a first game between at least two players to determine a first winner as between said at least two player; administering a second game independently of said first game between said players and a predetermined set of criteria to determine a second winner as between said at least two real players and said predetermined set of criteria.
22. The method of claim 21, further comprising: determining a set of actions according to a current state of said first game, for at least one simulated player, wherein at least one of said players comprises said at least one simulated player.
23. The method of claim 22, further comprising accepting a set of actions for at least one real player, wherein at least one of said players comprises said at least one real player.
24. The method of claim 21, further comprising accepting a set of actions for at least one real player, wherein said at least one real player comprises at least one of said players.
25. The method of claim 23, wherein said real player comprises said user.
26. The method of claim 24, wherein said real player comprises said user.
27. The method of claim 21, further comprising said user wagering on an aspect of said first game.
28. The method of claim 21, further comprising said user wagering on an aspect of said second game.
29. The method of claim 21, wherein said determining a first winner of said first game comprises identifying more than one winning player, said identifying more than one winning player comprising identifying players having an equal ranking to at least one other player.
30. The method of claim 23, further comprising the steps of: accepting at least one action taken by a first one of at least one real player, accepting at least one action taken by a second one of at least one real player, considering said at least one action taken by a first one of at least one real player and said at least one action taken by a second ones of at least one real player in said determining said first winner.
31. The method of claim 24, further comprising the steps of: accepting at least one action taken by a first one of at least one real player, accepting at least one action taken by a second one of at least one real player, considering said at least one action taken by a first one of at least one real player and said at least one action taken by a second ones of at least one real player in said determining said first winner.
32. The method of claim 21, wherein said step of determining a set of actions for said at least one simulated player further comprises the steps of: associating a threshold value with an action; generating a random number; including said action in said set of actions when said random number satisfies said threshold value; and selecting for inclusion in said set of actions another action from a set of valid remaining actions if said random number does not satisfy said threshold value.
33. The method of claim 32, wherein said threshold value represents a percentage of occurrences that a player should take said action given a current state of said game.
34. The method of claim 32, wherein said game comprises a simulated card game and said threshold value is associated with a hand strength and represents a percentage of occurrences that a player should take said action given a current state of said game including said hand strength.
35. A method of playing a game using a computer network, comprising the steps of: coupling at least one network node to a server; accepting a set of user actions from said at least one network node; initializing a set of action sequence triggering variables, each of said action sequence triggering variables having at least one game playing action sequence associated therewith and at leas L one first value associated therewith, said first value for use in selecting an action sequence triggering variable; accepting a set of player actions for at least two players; and playing at least one round of said game between said at least two players wherein said at least two players' actions are determined using one or more of said action sequence triggering variables selected by comparing said at least one first value to at least one game state criteria value.
36. The method of claim 35, further comprising determining a set of player actions for at least one simulated player, wherein at least one of said players comprises said at least one simulated player.
37. The method of claim 36, further comprising accepting a set of player actions for at least one real player, wherein at least one of said players comprises said at least one real player.
38. The method of claim 35, further comprising accepting a set of player actions for at least one real player, wherein at least one of said players comprises said at least one real player.
39. The method of claim 37, wherein said real player comprises said user.
40. The method of claim 38, wherein said real player comprises said user.
41. The method of claim 35, further comprising said user wagering on an aspect of said game. ,
42. The method of claim 35, wherein determining a winner of said game comprises identifying more than one winning player, said identifying more than one winning player comprising identifying players having an equal ranking to at least one other player.
43. The method of claim 37, further comprising the steps of: accepting at least one action taken by a first one of at least one real player, accepting at least one action taken by a second one of at least one real player, considering said at least one action taken by a first one of at least one real player and said at least one action taken by a second ones of at least one real player, in said determining said game.
44. The method of claim 38, further comprising the steps of: accepting at least one action taken by a first one of at least one real player, accepting at least one action taken by a second one of at least one real player, considering said at least one action taken by a first one of at least one real player and said at least one action taken by a second ones of at least one real player, in said determining said game.
45. The method of claim 36, wherein said game is a card game, said step of playing further comprising the steps of: selecting an action sequence triggering variable based on a hand strength value corresponding to a hand of cards of said at least one simulated player; comparing a random number to said first value of said action sequence triggering variable; choosing a first game playing action sequence associated with said action sequence triggering variable when said random number satisfies said value; and
' choosing a second game playing action sequence associated with said action triggering variable when said random number does not satisfy said value.
46. The method of claim 45, wherein said game is a poker game and said first game playing action sequence and said second game playing action sequence are comprised of at least one draw action and at least one betting action, said at least one betting action is selected from the set of actions including bet, raise, fold, call, and check, said at least one draw action identifying a number of cards to draw.
47. The method of claim 36, wherein said game is a card game, said step of playing further comprising the steps of: generating a hand strength axis comprised of at least one action sequence interval to which a set of actions are associated, said action sequence interval having boundaries comprised of a lower boundary and an upper boundary whose values are defined by values associated with said action sequence triggering variables; generating a hand strength value using said at least one simulated player's hand; positioning said hand strength value along said hand strength axis; choosing as a game playing action sequence said set of actions associated with said action sequence interval when said hand strength value falls within said boundaries of said action sequence interval; performing the following steps when said hand strength value falls on one of said boundaries of said action sequence interval: comparing a random number to a percentage value associated with said one of said boundaries; choosing as said game playing action sequence said set of actions associated with said action sequence interval when said percentage value is greater than said random number; and choosing as said game playing action sequence another set of actions when said percentage value is less than said random number.
48. The method of claim 35, further comprising the steps of: generating a table that contains at least one row, said at least one row containing at least one field that contains a value associated with one of said action sequence triggering variables; selecting one of said at least one row based on a current state of said game.
49. A method of playing a game using a computer system, comprising the steps of: determining a set of actions for at least one simulated player playing against at least one real player; accepting a set of user actions for said at least one real player; and administering a first game between said at least one real player and said at least one simulated player to determine a first winner as between said at least one real player and said at least one simulated player, wherein said determining a first winner of said first game comprises identifying more than one winning player, said identifying more than one winning player comprising identifying players having an equal ranking to at least one other player; and administering a second game independently of said first game between said at least one real player and a predetermined set of criteria to determine a second winner as between said at least one real player and said predetermined set of criteria.
50. A method of playing a game using a computer network, comprising the steps of: initializing a set of action sequence triggering variables, each of said action sequence triggering variables having at least one game playing action sequence associated therewith and at least one first value associated therewith, said first value for use in selecting an action sequence triggering variable; playing at least one round of said game between at least one real player and at least on simulated player wherein said at least on simulated player's actions are determined using one or more of said action sequence triggering variables selected by comparing said at least one first value to at least one game state criteria value; wherein determining winner of said game comprises identifying more than one winning player, said identifying more than one winning player comprising identifying players having an equal ranking to at least one other player.
51. An article of manufacture comprising: a computer usable medium having computer readable program code embodied therein for playing a game using a network comprising: computer readable program code configured to cause a computer to couple at least one network node to a server; computer readable program code configured to cause a computer to accept a set of user actions from said at least one network node; computer readable program code configured to cause a computer to administer a first game between at least two players to determine a first winner as between said at two players; and computer readable program code configured to cause a computer to administer a second game independently of said first game between said players and a predetermined set of criteria to determine a second winner as between said at least two real players and said predetermined set of criteria.
52. The article of manufacture of claim 51, wherein said computer readable program code further comprises: computer readable program code configured to cause a computer to determine a set of actions according to a current state of said first game, for at least one simulated player, wherein at least one of said players comprises said at least one simulated player.
53. The article of manufacture of claim 52, wherein said computer readable program code further comprises: computer readable program code configured to cause a computer to accept a set of actions for at least one real player, wherein at least one of said players comprises said at least one real player.
54. The article of manufacture of claim 51, wherein said computer readable program code further comprises: computer readable program code configured to cause a computer to accept a set of actions for at least one real player, wherein at least one of said players comprises said at least one real player.
55. The article of manufacture of claim 53, wherein said real player comprises said user.
56. The article of manufacture of claim 54, wherein said real player comprises said user.
57. The article of manufacture of claim 51, wherein said computer readable program code further comprises: computer readable program code configured to cause a computer to accept a wager made by said user on an aspect of said first game.
58. The article of manufacture of claim 51, wherein said computer readable program code further comprises: computer readable program code configured to cause a computer to accept a wager made by said user on an aspect of said second game.
59. The system of claim 51, wherein said computer readable program code configured to cause a computer to determine a first winner further comprises computer readable program code configured to cause a computer to identify more than one winning player, said computer readable program code configured to cause a computer to identify more than one winning player comprising computer readable program code configured to cause a computer to identify players having equal ranking to at least one other player.
60. The article of manufacture of claim 53, wherein said computer readable program code configured to cause a computer to accept a set of actions further comprises: computer readable program code configured to cause a computer to accept at least one action taken by a first one of at least one real player, computer readable program code configured to cause a computer to accept at least one action taken by a second one of at least one real player. computer readable program code configured to cause a computer to consider said at least one action taken by a first one of at least one real player and said at least one action taken by a second ones of at least one real player in said determining said first winner.
61. The article of manufacture of claim 54, wherein said computer readable program code configured to cause a computer to accept a set of actions further comprises: computer readable prograrη code configured to cause a computer to accept at least one action taken by a first one of at least one real player, computer readable program code configured to cause a computer to accept at least one action taken by a second one of at least one real player. computer readable program code configured to cause a computer to consider said at least one action taken by a first one of at least one real player and said at least one action taken by a second ones of at least one real player in said determining said first winner.
62. The article of manufacture of claim 52, wherein said computer readable program code configured to cause a computer to determine a set of actions for said at least one simulated player further comprises: computer readable program code configured to cause a computer to associate a threshold value with an action; computer readable program code configured to cause a computer to generate a random number; computer readable program code configured to cause a computer to include said action in said set of actions when said random number satisfies said threshold value; and computer readable program code configured to cause a computer to select for inclusion in said set of actions another action from a set of valid remaining actions if said random number does not satisfy said threshold value.
63. The article of manufacture of claim 62, wherein said threshold value represents a percentage of occurrences that a player should take said action given a current state of said game.
64. The article of manufacture of claim 62, wherein said playing a game comprises a simulated card game and said threshold value is associated with a hand strength and represents a percentage of occurrences that a player should take said action given a current state of said game including said hand strength.
65. An article of manufacture comprising: a computer usable medium having computer readable program code embodied therein for playing a game using a computer system comprising: computer readable program code configured to cause a computer to determine a set of actions for at least one simulated player playing against at least one real player; computer readable program code configured to cause a computer to accept a set of user actions for said at least one real player; and computer readable program code configured to cause a computer to administer a first game between said at least one real player and said at least one simulated player to determine a first winner as between said at least one real player and said at least one simulated player; wherein said computer readable program code configured to cause a computer to determine a first winner further comprises computer readable program code configured to cause a computer to identify more than one winning player, said computer readable program code configured to cause a computer to identify more than one winning player comprising computer readable program code configured to cause a computer to identify players having equal ranking to at least one other player; and computer readable program code configured to cause a computer to administer a second game independently of said first game between said at least one real player and a predetermined set of criteria to determine a second winner as between said at least one real player and said predetermined set of criteria.
66. An article of manufacture comprising: a computer usable medium having computer readable program code embodied therein for playing a game using a network comprising: computer readable program code configured to cause a computer to couple at least one network node to a server; computer readable program code configured to cause a computer to accept a set of user actions from said at least one network node; computer readable program code configured to cause a computer to initialize a set of action sequence triggering variables, each of said action sequence triggering variables having at least one game playing action sequence associated with it and at least one first value associated therewith, said first value for use in selecting an action sequence triggering variable; and computer readable program code configured to cause a computer to accept a set of player actions for at least two players; and computer readable program code configured to cause a computer to play at least one round of said game between said at least two players wherein said at least two players' actions are determined using one or more of said action sequence triggering variables selected by comparing said at least one first value to at least one game state criteria value.
67. The article of manufacture of claim 66, wherein said computer readable program code configured to cause a computer to accept a set of player actions further comprises: computer readable program code configured to cause a computer to determine a set of actions for at least one simulated player, wherein at least one of said players comprises said at least one simulated player.
68. The article of manufacture of claim 67, wherein said computer readable program code configured to cause a computer to accept a set of player actions further comprises: computer readable program code configured to cause a computer to accept a set of player actions for at least one real player, wherein at least one of said players comprises said at least one real player.
69. The article of manufacture of claim 66, wherein said computer readable program code configured to cause a computer to accept a set of player actions further comprises: computer readable program code configured to cause a computer to , accepting a set of player actions for at least one real player, wherein at least one of said players comprises said at least one real player.
70. The article of manufacture of claim 68, wherein said real player comprises said user.
71. The article of manufacture of claim 69, wherein said real player comprises said user.
72. The article of manufacture of claim 66, wherein said computer readable program code embodied therein for playing a game using a network further comprises computer readable program code configured to cause a' computer to identify more than one winning player, said computer readable program code configured to cause a computer to identify more than one winning player comprising computer readable program code configured to cause a computer to identify players having equal ranking to at least one other player.
73. The article of manufacture of claim 68, wherein said computer readable program code configured to cause a computer to accept a set of player actions further comprises: computer readable program code configured to cause a computer to accept at least one action taken by a first one of at least one real player, computer readable program code configured to cause a computer to accept at least one action taken by ,a second one of at least one real player; and computer readable program code configured to cause a computer to consider said at least one action taken by a first one of at least one real player and said at least one action taken by a second ones of at least one real player in said playing a game.
74. The article of manufacture of claim 69, wherein said computer readable program code configured to cause a computer to accept a set of player actions further comprises: computer readable program code configured to cause a computer to accept at least one action taken by a first one of at least one real player, computer readable program code configured to cause a computer to accept at least one action taken by a second one of at least one real player; and computer readable program code configured to cause a computer to consider said at least one action taken by a first one of at least one real player and said at least one action taken by a second ones of at least one real player in said playing a game.
75. The article of manufacture of claim 67, wherein said game is a card game, computer readable program code configured to cause a computer to play at least one round of said game further comprises: computer readable program code configured to cause a computer to select an action sequence triggering variable based on a hand strength value corresponding to a hand of cards of said at least one simulated player; computer readable program code configured to cause a computer to compare a random number to said first value of said action sequence triggering variable; computer readable program code configured to cause a computer to choose a first game playing action sequence associated with said action sequence triggering variable when said random number satisfies said value; and computer readable program code configured to cause a computer to choose a second game playing action sequence associated with said action triggering variable when said random number does not satisfy said value.
76. The article of manufacture of claim 75, wherein said game is a poker game and said first game playing action sequence and said second game .playing action sequence are comprised of at least one draw action and at least one betting action, said at least one betting action is selected from the set of actions including bet, raise, fold, call, and check, said at least one draw action identifying a number of cards to draw.
77. The article of manufacture of claim 67, wherein said game is a card game, said computer readable program code configured to cause a computer to play at least one round of said game further comprises: computer readable program code configured to cause a computer to generate a hand strength axis comprised of at least one action sequence interval to which a set of actions are associated, said action sequence interval having boundaries comprised of a lower boundary and an upper boundary whose values are defined by values associated with said action sequence triggering variables; computer readable program code configured to cause a computer to generate a hand strength value using said at least one simulated player's hand; computer readable program code configured to cause a computer to position said hand strength value along said hand strength axis; computer readable program code configured to cause a computer to choose as a game playing action sequence said set of actions associated with said action sequence interval when said hand strength value falls within said boundaries of said action sequence interval; computer readable program code configured to cause a computer to choose between said set of actions associated with said action sequence interval and another set of actions when said hand strength value falls on one of said boundaries of said action sequence interval.
78. The article of manufacture of claim 77, wherein said computer readable program code configured to cause a computer to choose between said set of actions associated with said action sequence interval and another set of actions further comprises: computer readable program code configured to cause a computer to compare a random number to a percentage value associated with said one of said boundaries; computer readable program code configured to cause a computer to choose as said game playing action sequence said set of actions associated with said action sequence interval when said percentage value is greater than said random number; and computer readable program code configured to cause a computer to choose as said game playing action sequence another set of actions when said percentage value is less than said random number.
79. An article of manufacture comprising: a computer usable medium having computer readable program code embodied therein for playing a game using a computer system comprising: computer readable program code configured to cause a computer to initialize a set of action sequence triggering variables, each of said action sequence triggering variables having at least one game playing action sequence associated with it and at least one first value associated therewith, said first value for use in selecting an action sequence triggering variable; and computer readable program code configured to cause a computer to accept a set of user actions for said at least one real player; and computer readable program code configured to cause a computer to play at least one round of said game between at least one real player and at least one simulated player wherein said at least one simulated player's actions are determined using one or more of said action sequence triggering variables selected by comparing said at least one first value to at least one game state criteria value; wherein said computer readable program code embodied therein for playing a game using a computer system comprises computer readable program code configured to cause a computer to identify more than one winning player, said computer readable program code configured to cause a computer to identify more than one winning player comprising computer readable program code configured to cause a computer to identify players having equal ranking to at least one other player.
PCT/US2001/023798 2000-07-28 2001-07-27 Computer gaming system WO2002011083A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001279076A AU2001279076A1 (en) 2000-07-28 2001-07-27 Computer gaming system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62794800A 2000-07-28 2000-07-28
US09/627,948 2000-07-28

Publications (2)

Publication Number Publication Date
WO2002011083A2 true WO2002011083A2 (en) 2002-02-07
WO2002011083A3 WO2002011083A3 (en) 2003-03-27

Family

ID=24516771

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/023798 WO2002011083A2 (en) 2000-07-28 2001-07-27 Computer gaming system

Country Status (2)

Country Link
AU (1) AU2001279076A1 (en)
WO (1) WO2002011083A2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2444767A (en) * 2006-11-22 2008-06-18 Bawden & Associates Internet trivia quiz game including virtual players
US8192267B2 (en) 2008-07-03 2012-06-05 Patent Investment & Licensing Company Shared game play on gaming device
US8444492B2 (en) 2008-12-15 2013-05-21 Tetris Online, Inc. Inter-game interactive hybrid asynchronous computer game infrastructure with social networking
US8475254B2 (en) 2009-12-28 2013-07-02 Patent Investment & Licensing Company Linked game play on gaming devices
US8696469B2 (en) 2008-12-15 2014-04-15 Tetris Online, Inc. Interactive asynchrounous computer game infrastructure
US9530283B2 (en) 2008-07-03 2016-12-27 Patent Investment & Licensing Company Method for sharing game play on an electronic gaming device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5046736A (en) 1988-10-11 1991-09-10 Bridgeman James L Imitative-opponent gambling games

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2180891C (en) * 1995-07-12 2010-01-12 Junichi Rekimoto Notification of updates in a three-dimensional virtual reality space sharing system
US5853324A (en) * 1995-09-07 1998-12-29 Namco Ltd. Shooting game machine and method of computing the same
US20020019253A1 (en) * 1997-05-05 2002-02-14 Robert Reitzen Computer gaming system
US5851011A (en) * 1997-10-31 1998-12-22 Lott; A. W. Multi-deck poker progressive wagering system with multiple winners and including jackpot, bust, and insurance options

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5046736A (en) 1988-10-11 1991-09-10 Bridgeman James L Imitative-opponent gambling games

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2444767A (en) * 2006-11-22 2008-06-18 Bawden & Associates Internet trivia quiz game including virtual players
US8192267B2 (en) 2008-07-03 2012-06-05 Patent Investment & Licensing Company Shared game play on gaming device
US9530283B2 (en) 2008-07-03 2016-12-27 Patent Investment & Licensing Company Method for sharing game play on an electronic gaming device
US10410467B2 (en) 2008-07-03 2019-09-10 Patent Investment & Licensing Company Method for sharing game play on an electronic gaming device
US10891827B2 (en) 2008-07-03 2021-01-12 Acres Technology Method for sharing game play on an electronic gaming device
US11430300B2 (en) 2008-07-03 2022-08-30 Acres Technology Method for sharing game play on an electronic gaming device
US8444492B2 (en) 2008-12-15 2013-05-21 Tetris Online, Inc. Inter-game interactive hybrid asynchronous computer game infrastructure with social networking
US8696469B2 (en) 2008-12-15 2014-04-15 Tetris Online, Inc. Interactive asynchrounous computer game infrastructure
US8475254B2 (en) 2009-12-28 2013-07-02 Patent Investment & Licensing Company Linked game play on gaming devices
US10217327B2 (en) 2009-12-28 2019-02-26 Patent Investment & Licensing Company Linked game play on gaming devices
US10672233B2 (en) 2009-12-28 2020-06-02 Acres Technology Linked game play on gaming machines
US11574528B2 (en) 2009-12-28 2023-02-07 Acres Technology Linked game play on gaming machines

Also Published As

Publication number Publication date
WO2002011083A3 (en) 2003-03-27
AU2001279076A1 (en) 2002-02-13

Similar Documents

Publication Publication Date Title
US6196918B1 (en) Computer gaming system
US7867091B2 (en) Multiplayer gaming system and method of operation thereof
US10249145B2 (en) System and method for simulating the outcome of an electronic bingo game as a keno game
US20020103018A1 (en) Method and apparatus for playing multiple contests
US20020019253A1 (en) Computer gaming system
US20030027629A1 (en) Method and apparatus for wagering on a random chance event
CA2503901C (en) System and method for jackpot wagering
US20080214259A1 (en) Methods and apparatus for playing poker games
US20170084123A1 (en) Online, Real-Time Game Playing with Distributed Bad Beat Progressive Jackpot
WO2001014029A1 (en) Computer system and method for virtual reveal-and-win game ticket
WO2002011083A2 (en) Computer gaming system
AU2020329736A1 (en) A system for an alternative version of poker
US20220207968A1 (en) System for an Alternative Version of Gaming
US20230334956A1 (en) System and method for electronic all-in game
WO1999040980A1 (en) Video poker gold card game and computer system for implementing same

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP