IP Library Granted Patent US 9,940,783
Granted Patent B2
US 9,940,783 · App. 14/671,647 · Granted Apr 10, 2018

Automated hand strength estimation for card games

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,940,783
App. No.
14/671,647
Granted
Apr 10, 2018
Kind
B2
Abstract

In various embodiments, a method of estimating odds that a player will win a round of a card game is disclosed. Information is received pertaining to cards that have been dealt from a deck at a particular point during a round of a card game. The information identifies cards that have been revealed to the player and a number of cards that have not been revealed to the player. An estimation of odds that the player will win the round of the card game is generated. The generating includes repeatedly, for each of the number of cards that has not been revealed to the player and for each remaining card to be dealt in the round, randomly selecting a card from remaining cards in the deck. The estimation of the odds is communicated for integration into a presentation of information pertaining to the card game.

Claims (36)

1. A system comprising:

one or more processors of a device;

one or more memories of the device; and

one or more modules incorporated into the one or more memories, the one or more modules configuring the one or more processors of the device to generate an estimation of odds that a player will win a round of a card game executing on the device, the generating of the estimation including performing a number of repeated background simulations of the round of the card game being played to completion, the number selected such that the generating of the estimation has a lower computational load than an exact calculation of the odds, the generating of the estimation including, at least:

receiving information pertaining to cards that have been dealt from a deck at a particular point during the round of the card game executing on the device, the information identifying cards that have been revealed to a player and remaining cards that have not been revealed to the player;

performing the selected number of the repeated background simulations of the round of the card game being played to completion, the performing of the selected number of the repeated background simulations including, for each of the cards that has not been revealed to the player and for each remaining card to be dealt in the round of the card game being played within each of the repeated background simulations, randomly selecting a card from the remaining cards;

determining the estimation of the odds that the player will win the round of the card game based on results of the selected number of the repeated background simulations; and

communicating the estimation of the odds for integration into a user interface of the card game for presentation on the device as a measure of a strength of the hand.

2. The system of claim 1 , wherein the one or more modules are incorporated into a standalone software application that is configured to execute on the device and the card game is executing on the device simultaneously with the standalone software application.

3. The system of claim 1 , wherein the card game is a live card game being broadcast for presentation on the device and the one or more modules executing on the device are configured to integrate the estimation into the broadcast for simultaneous presentation on the device in real time.

4. The system of claim 2 , wherein the one or more modules are further configured to throttle the selected number of the repeated background simulations to ensure that an average frame rate of the user interface of the card game transgresses a frame rate threshold.

5. The system of claim 1 , wherein the particular point is after an additional card has been revealed.

6. The system of claim 1 , wherein the particular point is after an additional player has folded a hand.

7. The system of claim 1 , wherein the integrating of the estimation of the odds into the user interface includes updating a graphical gauge element repeatedly at a configurable interval during the performing of the selected number of the repeated background simulations.

8. A method comprising:

generate an estimation of odds that a player will win a round of a card game executing on the device, the generating of the estimation including performing a number of repeated background simulations of the round of the card game being played to completion, the number selected such that the generating of the estimation has a lower computational load than an exact calculation of the odds, the generating of the estimation including:

receiving information pertaining to cards that have been dealt from a deck at a particular point during the round of the card game executing on a device, the information identifying cards that have been revealed to the player and remaining cards that have not been revealed to the player;

performing the selected number of the repeated background simulations of the round of the card game being played to completion, the performing of the repeated background simulations including, for each of the cards that has not been revealed to the player and for each remaining card to be dealt in the round of the card game being played within each of the repeated background simulations, randomly selecting a card from the remaining cards;

determining the estimation of the odds that the player will win the round of the card game based on results of the selected number of the repeated background simulations; and

communicating the estimation of the odds for integration into a user interface of the card game for presentation on the device as a measure of a strength of the hand, one or more modules incorporated into one or more memories of the device to configure one or more processors of the device to perform the receiving, generating, and communicating.

9. The method of claim 8 , wherein the one or more modules are incorporated into a standalone software application that is configured to execute on the device and the card game is executing on the device simultaneously with the standalone software application.

10. The method of claim 8 , wherein the card game is a live card game being broadcast for presentation on the device and the one or more modules executing on the device are configured to integrate the estimation into the broadcast for simultaneous presentation on the device in real time.

11. The method of claim 9 , wherein the one or more modules are further configured to throttle the selected number of the repeated background simulations to ensure that an average frame rate of the user interface of the card game transgresses a frame rate threshold.

12. The method of claim 8 , wherein the particular point is after an additional card has been revealed.

13. The method of claim 8 , wherein the particular point is after an additional player has folded a hand.

14. The method of claim 8 , wherein the integrating of the estimation of the odds into the user interface includes updating a graphical gauge element repeatedly at a configurable interval during the performing of the selected number of the repeated background simulations.

15. A non-transitory machine-readable storage medium storing a set of instructions as one or more modules that, when incorporated into a device, cause one or more processors of the device to perform operations for generating an estimation of odds that a player will win a round of a card game executing on the device, the generating of the estimation including performing a number of repeated background simulations of the round of the card game being played to completion, the number selected such that the generating of the estimation has a lower computational load than an exact calculation of the odds, the generating of the estimation including, the operations comprising:

receiving information pertaining to cards that have been dealt from a deck at a particular point during the round of the card game executing on a device, the information identifying cards that have been revealed to the player and remaining cards that have not been revealed to the player;

performing the selected number of the repeated background simulations of the round of the card game being played to completion, the performing of the repeated background simulations including, for each of the cards that has not been revealed to the player and for each remaining card to be dealt in the round of the card game being played within each of the repeated background simulations, randomly selecting a card from the remaining cards;

determining the estimation of the odds that the player will win the round of the card game based on results of the selected number of the repeated background simulations; and

communicating the estimation of the odds for integration into a user interface of the card game for presentation on the device as a measure of a strength of the hand.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the card game is a live card game being broadcast for presentation on the device and the one or more modules executing on the device are configured to integrate the estimation into the broadcast for simultaneous presentation on the device in real time.

17. The non-transitory machine-readable storage medium of claim 16 , wherein the one or more modules are further configured to throttle the selected number of the repeated background simulations to ensure that an average frame rate of the user interface of the card game transgresses a frame rate threshold.

18. The non-transitory machine-readable storage medium of claim 15 , wherein the particular point is after an additional card has been revealed.

19. The non-transitory machine-readable storage medium of claim 15 , wherein the particular point is after an additional player has folded a hand.

20. The non-transitory machine-readable storage medium of claim 15 , wherein the integrating of the estimation of the odds into the user interface includes updating a graphical gauge element repeatedly at a configurable interval during the performing of the selected number of the repeated background simulations.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 23, 2022
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ZYNGA INC.
Reel/Frame 060163/0437 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 14, 2020
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054719/0490 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 11, 2020
From: BANK OF AMERICA, N.A., AS LENDER
To: ZYNGA INC.
Reel/Frame 054701/0393 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 21, 2018
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS LENDER
Reel/Frame 049147/0546 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2015
From: SIMMER, JARRED WESLEY
To: ZYNGA INC.
Reel/Frame 035278/0572 →