US20180232992A1 - Nested Online Games for Real Money Gambling - Google Patents

Nested Online Games for Real Money Gambling Download PDF

Info

Publication number
US20180232992A1
US20180232992A1 US15/950,107 US201815950107A US2018232992A1 US 20180232992 A1 US20180232992 A1 US 20180232992A1 US 201815950107 A US201815950107 A US 201815950107A US 2018232992 A1 US2018232992 A1 US 2018232992A1
Authority
US
United States
Prior art keywords
game
user
online
payout
minigame
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US15/950,107
Inventor
Jesse Janosov
Nir Leibovich
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zynga Inc
Original Assignee
Zynga 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 Zynga Inc filed Critical Zynga Inc
Priority to US15/950,107 priority Critical patent/US20180232992A1/en
Publication of US20180232992A1 publication Critical patent/US20180232992A1/en
Assigned to BANK OF AMERICA, N.A., AS LENDER reassignment BANK OF AMERICA, N.A., AS LENDER NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Assignors: ZYNGA INC.
Assigned to ZYNGA INC. reassignment ZYNGA INC. TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Assignors: BANK OF AMERICA, N.A., AS LENDER
Abandoned legal-status Critical Current

Links

Images

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
    • G07F17/3241Security aspects of a gaming system, e.g. detecting cheating, device integrity, surveillance
    • 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
    • G07F17/3244Payment aspects of a gaming system, e.g. payment schemes, setting payout ratio, bonus or consolation prizes

Definitions

  • an operation includes providing by a server, a graphical user interface (GUI) for a first online game to be displayed on a device of a user.
  • GUI graphical user interface
  • the method includes receiving, at the server, a first game input from the user that represents a play according to game mechanics of the first online game.
  • the method further includes an operation for providing, by the server, a GUI view for the a second game to be displayed on the device of the user and an operation for receiving, at the server, a second game input from the user representing a play according to game mechanics for the second game, the second game input is operable for producing a result related to the second game.
  • the method includes an operation for, responsive to the result related to the second game, providing, by the server, the GUI view for the first online game to return to be displayed on the device of the user and providing to the user a payout for the first online game and a promotional payout that depends at least in part on the result related to the second game.
  • an operation provides, by a server, a graphical user interface (GUI) view for an online game to be displayed to a device of a user.
  • GUI graphical user interface
  • the method provides an operation for receiving, by the server, a first game input from the user that represents a wager or a play according to game mechanics of the online game.
  • the method includes an operation for providing, by the server, a GUI view for a minigame to be displayed to the device of the user, wherein the minigame is not a game of pure chance.
  • the method also includes an operation for receiving, at the server, a second game input from the user that represents a play according to game mechanics for the minigame.
  • the second game input is operable for producing a result related to the minigame.
  • the method includes an operation for providing the GUI view for the first online game to return to be displayed on the device of the user and for providing a payout for the first online game to the user and providing a promotional payout that depends at least in part on the result related to the minigame to the user.
  • an apparatus namely, non-transitory computer-readable storage media that persistently store a program.
  • the program might be part of software that runs on a server and/or client device.
  • the non-transitory computer-readable storage medium includes program instructions for providing, by a server, a graphical user interface (GUI) view for a first online game to be displayed on a device of a user.
  • GUI graphical user interface
  • the non-transitory computer-readable storage medium includes program instructions for receiving, at the server, a first game input from the user that represents a play according to game mechanics of the first online game.
  • the non-transitory computer-readable storage medium further includes program instructions for providing a GUI view for a second game to be displayed on the device of the user as well as program instructions for receiving, at the server, a second game input from the user representing a play according to game mechanics for the second game.
  • the second game input is operable for producing a result related to the second game.
  • the non-transitory computer-readable storage medium includes program instructions for providing, by the server in response to said producing the result related to the second game, the GUI view for the first online game to return to be displayed on the device of the user and providing to the user a payout for the first online game and a promotional payout that depends at least in part on the result related to the second game.
  • FIG. 1 is a network diagram that illustrates a network for an online game involving real-money gambling (RMG), in accordance with an example embodiment.
  • RMG real-money gambling
  • FIG. 2A is a software modularization for a cloud platform, in accordance with an example embodiment.
  • FIG. 2B is an alternative software modularization for a cloud platform, in accordance with an example embodiment.
  • FIG. 3 is a flowchart diagram that illustrates a process for receiving a play and broadcasting a payout in an online RMG game that includes a minigame, in accordance with an example embodiment.
  • FIGS. 4A and 4B are views in a graphical user interface (GUI) for a video slot machine, in accordance with an example embodiment.
  • GUI graphical user interface
  • FIGS. 5A and 5B are GUI views for minigames, in an example embodiment.
  • FIG. 6 is a flowchart diagram that illustrates another process for receiving a play and broadcasting a payout in an online RMG game that includes a minigame, in accordance with an example embodiment.
  • FIGS. 7A, 7B, and 7C are GUI views for a video poker game, in accordance with an example embodiment.
  • FIG. 8 is a template message broadcast to the content/activity stream, in accordance with an example embodiment.
  • FIG. 9 is a flowchart diagram that illustrates a process for receiving a play and broadcasting points in an arcade game that includes a minigame which is an online RMG game, in accordance with an example embodiment.
  • FIG. 10A is a sequence diagram that illustrates a sequence of transmissions associated with a broadcast of a payout in an online RMG game accessed from a social networking or social media website, in accordance with an example embodiment.
  • FIG. 10B is a sequence diagram that illustrates a sequence of transmissions associated with a broadcast of a payout in an online RMG game accessed from an online RMG website, in accordance with an example embodiment.
  • FIG. 1 is a network diagram that illustrates a network for an online game involving real-money gambling (RMG), in accordance with an example embodiment.
  • a personal computing device 102 is connected by a network 101 (e.g., a wide area network (WAN) including the Internet, which might be wireless in part or in whole) with a website 103 hosting a real-money gambling game (e.g., a website such as Zynga hosting a video slot machine or other casino game) and a website 106 hosting a social network (e.g., a website such as Facebook) and/or social media (e.g., a website such as Pinterest).
  • a network 101 e.g., a wide area network (WAN) including the Internet, which might be wireless in part or in whole
  • a website 103 hosting a real-money gambling game e.g., a website such as Zynga hosting a video slot machine or other casino game
  • a website 106 hosting a social network (e.g.,
  • social networking/social media website is to be broadly interpreted to include, for example, any website that allows its users to, among other things, (a) selectively access (e.g., according to a contact list, buddy list, social graph, or other control list) content in each other's profiles; (b) selectively (e.g., according to a contact list, buddy list, social graph, distribution list, or other control list) broadcast content to each other's content/activity streams; and/or (3) selectively communicate (e.g., according to a contact list, buddy list, social graph, distribution list, or other control list) with each other (e.g., using a messaging protocol such as email, instant messaging, short message service (SMS), etc.).
  • SMS short message service
  • website 103 might also be connected by network 101 (e.g., through a secure application programming interface (API)) to a website 108 controlled and maintained by a governmental agency or a third-party certifying agency.
  • website 108 might be associated with (a) a governmental agency (e.g., the Nevada Gaming Control Board, the New Jersey Casino Control Commission, or the Isle of Man Gambling Supervision Commission (IMGSC)) or (b) a third-party certifying agency (e.g., an accounting firm such as one of the “Big Four” auditing firms or a consulting firm such as Cigital, Ltd.).
  • a governmental agency e.g., the Nevada Gaming Control Board, the New Jersey Casino Control Commission, or the Isle of Man Gambling Supervision Commission (IMGSC)
  • IMGSC Isle of Man Gambling Supervision Commission
  • a third-party certifying agency e.g., an accounting firm such as one of the “Big Four” auditing firms or a consulting firm such as Cigital, Ltd.
  • Such a governmental agency or third-party certifying agency might use network 101 to conduct or facilitate an audit of website 103 (e.g., test and certify the website's random number generator (RNG) against standards such as the “Online Gambling (Systems Verification) (No. 2) Regulations 2007” promulgated by the IMGSC).
  • website 103 might be connected by a dedicated network connection to website 108 .
  • the described auditing parties are merely examples, and other auditing commissions, agencies, or entities or combinations thereof might conduct and/or facilitate auditing of website 103 .
  • website 103 might execute software (e.g., client software) that facilitates real-time (or near real-time) reporting to or auditing by website 108 .
  • website 108 might be associated with a non-regulatory governmental agency, such as the federal state department or a state department of motor vehicles, which keeps and maintains age-related records such as birth certificates, passports, driver's licenses, identification (ID) cards, social-security numbers, etc.
  • website 103 might use network 101 or a dedicated network connection to connect to website 108 to verify that a user of an online RMG game is old enough (e.g., age twenty-one or over) to legally play the online RMG game.
  • FIG. 2A is a software modularization for a cloud platform, in accordance with an example embodiment.
  • a player is using a web browser or app 201 on a mobile device (e.g., a smartphone or a tablet computer) to interact with (e.g., transmit or receive game data) server software 203 running on a website hosting an online RMG game (e.g., running on the servers at website 103 in FIG. 1 ).
  • server software 203 running on a website hosting an online RMG game (e.g., running on the servers at website 103 in FIG. 1 ).
  • an application program for a mobile device is often referred to as an “app”.
  • server software 203 might be implemented using a public, private, or hybrid cloud platform, e.g., a hybrid cloud platform whose public cloud is Amazon Electric Compute Cloud (EC2) and whose private cloud is built using Cloud.com's CloudStack software.
  • server software 203 might be implemented using other public clouds and/or other private clouds that provide similar functionality.
  • server software 203 might be implemented without resort to third-party cloud platforms, e.g., using (a) OpenStack or (b) load balancing and virtualization software (e.g., Citrix XenServer, VMware, Microsoft, or Xen), distributed computing software (such as Hadoop (which implements Map-Reduce), Dremel/Apache Drill, etc.), distributed memory-caching software (such as memcached), distributed key-value database software (such as Couchbase Server nee Membase Server), NoSQL database-management software, structured database-management software (such as MySQL and NewSQL), etc.
  • SQL is an acronym which stands for Structured Query Language.
  • server software 203 includes load balancers 204 (e.g., the load balancing and virtualization software provided by Citrix, VMware, Microsoft, or Xen) that balance the load between the servers (e.g., Apache HTTP servers) in an elastic (or dynamic) array 205 .
  • the array is elastic because its size can be increased to accommodate additional servers and decreased to accommodate fewer servers.
  • the servers in the elastic array 205 transmit (e.g., using HTTP) data to and receive data from (a) the web browser or app 201 and/or (b) the servers on a social networking website 202 such as Facebook.
  • the servers might read data from and write data to memory cache 206 (e.g., a memory cache created with memcached and managed with Couchbase Server), which, in turn, is backed by database 208 , which might be MySQL.
  • database 208 might be NoSQL. It will be appreciated that performance latencies can be significantly reduced by such a caching arrangement, which exploits locality of reference.
  • memory cache 104 a in FIG. 1 corresponds to the memory cache 206 in FIG. 2 and the persistent storage 105 in FIG. 1 corresponds to the database 208 in FIG. 2A .
  • synch queue 207 might receive the data from memory cache 206 to be written asynchronously to the database 208 .
  • the software modularization depicted in the figure might be implemented as a LAMMP (Linux, Apache, Memcache, MySQL, PHP) architecture, in an example embodiment.
  • FIG. 2B is an alternative software modularization for a cloud platform, in accordance with an example embodiment.
  • a player is using a web browser or app 201 on a mobile device (e.g., a smartphone or a tablet computer) to interact with server software 203 running on a website hosting an online RMG game.
  • server software 203 might be implemented using a public, private, or hybrid cloud platform.
  • server software 203 might be implemented without resort to third-party cloud platforms, e.g., using load balancing and virtualization software, distributed computing software, distributed memory-caching software, distributed key-value database software, NoSQL database-management software, structured database-management software, etc.
  • server software 203 includes load balancers 204 that balance the load between the servers in an elastic array 205 .
  • the servers in the elastic array 205 transmit data to and receive data from (a) the web browser or app 201 and/or (b) the servers on a social networking website 202 such as Facebook.
  • the servers might read data from and write data to a hybrid in-memory database (e.g., a hybrid in-memory database such as Membase/Couchbase Server) which comprises volatile storage 206 a and persistent storage 206 b.
  • a hybrid in-memory database e.g., a hybrid in-memory database such as Membase/Couchbase Server
  • FIG. 3 is a flowchart diagram that illustrates a process for receiving a play and broadcasting a payout in an online RMG game that includes a minigame, in accordance with an example embodiment.
  • one or more of the operations in this process might be performed by software (including software 203 ) running on servers at a website 103 , e.g., a website, such as Zynga, hosting an online RMG game.
  • one or more of the operations in these processes might be performed by software running on personal computing device 102 , e.g., (a) instructions in a webpage read by a browser supporting Adobe Shockwave/ActionScript or HTML5/CSS3/JavaScript, or (b) instructions in an app (or in a hybrid app with embedded HTML5) executing on a smartphone.
  • software running on personal computing device 102 e.g., (a) instructions in a webpage read by a browser supporting Adobe Shockwave/ActionScript or HTML5/CSS3/JavaScript, or (b) instructions in an app (or in a hybrid app with embedded HTML5) executing on a smartphone.
  • ActionScript and JavaScript might be used to implement animation and/or interactivity through a browser, in example embodiments.
  • the process described in FIG. 3 makes use of the social relations (e.g., friends, followers, contacts, etc.) of a user, according to a contact list, buddy list, social graph, or other control list. It will be appreciated that access to these social relations is controlled by the user. That is to say, the software performing the operations in FIG. 3 (and the other figures) will only have access to these social relations if the user authorizes such access, e.g., through a command entered on a GUI dialog displayed or caused to be displayed by the software. Similarly, in an example embodiment, the software performing the operations in FIG.
  • the social relations e.g., friends, followers, contacts, etc.
  • software e.g., running on a server and/or client device verifies that a user of a client device (e.g., smartphone, tablet, or laptop) is eligible to play an online RMG game in which the wager and the payout are made with real money, in operation 301 .
  • client device e.g., smartphone, tablet, or laptop
  • this operation which might be performed in conjunction with authentication, includes verifying that the user is old enough to legally play (e.g., age twenty-one or older) using stored data relating to age (e.g., from a birth certificate, passport, driver's licenses, identification (ID) cards, social-security number, etc.) or data relating to age that might be obtained in real time or near real time (e.g., through a web or other API exposed by a governmental agency such as a federal state department or a state department of motor vehicles).
  • stored data relating to age e.g., from a birth certificate, passport, driver's licenses, identification (ID) cards, social-security number, etc.
  • ID identification
  • this operation includes verifying that the user is old enough to legally play (e.g., age twenty-one or older) using stored data relating to age (e.g., from a birth certificate, passport, driver's licenses, identification (ID) cards, social-security number, etc.) or data relating to age that might be
  • this operation might include verifying that a user's client device is located within the geographical boundaries of a governmental jurisdiction (e.g., within the state of Nevada or within the city of Atlantic City) using: (a) a global-positioning system (GPS); (b) a WiFi positioning system, which might include an indoor positioning system; (c) multilateration, e.g., using radio towers; (d) data such as “check-ins” retrieved from location-based social media; or (e) a combination (e.g., a hybrid system) of the foregoing.
  • GPS global-positioning system
  • WiFi positioning system which might include an indoor positioning system
  • multilateration e.g., using radio towers
  • data such as “check-ins” retrieved from location-based social media
  • a combination e.g., a hybrid system
  • this operation might also include verification that the user meets non-governmental conditions relating to eligibility, e.g., that the user is not a problem gambler as determined by data in a user profile stored and maintained by website 103 .
  • non-governmental conditions relating to eligibility e.g., that the user is not a problem gambler as determined by data in a user profile stored and maintained by website 103 .
  • a user might be identified as a problem gambler if a recent credit report for the user is relatively bad and the user has lost a relatively large amount of money in a relatively short period of time.
  • the software causes the display of a GUI view for an online RMG game (e.g., casino game) on the client device.
  • the online RMG game is a video version of a so-called “game of pure chance” such as slots, roulette, keno (e.g., lottery), etc., that does not depend on strategy or skill (e.g., including skill in estimating the odds of winning given an event or a number of events).
  • the software receives input from the user (e.g., a push of GUI button) representing a wager (e.g., a specification of monetary amount) and/or a play (e.g., a spin of slot machine reels or a spin of a roulette wheel), according to the game mechanics for the online RMG game.
  • a wager e.g., a specification of monetary amount
  • a play e.g., a spin of slot machine reels or a spin of a roulette wheel
  • the software causes a GUI view for a minigame (which might be online, offline, or a combination of the two) to be displayed to the user, in operation 304 .
  • the GUI view for the minigame might be displayed following a wager but before receipt of a play in the online RMG game.
  • the GUI view for the minigame might be displayed following receipt of play in the online RMG game, but before the determination (e.g., using an RNG) of whether the play results in a payout, according to a paytable for the online RMG game.
  • the GUI view of the minigame might be displayed periodically after a specified number of wagers or plays in the online RMG game.
  • the GUI view of the minigame might be displayed after every other wager or play in the online RMG game or after every five wagers or after every five plays in the online RMG game.
  • the GUI view of the minigame might be displayed after every wager or after every play in the online RMG game.
  • the minigame is not game of pure chance.
  • the minigame might be a video version of an arcade game with social-networking features that involves matching (e.g., a tile-matching or match-3 game) such as Zynga's Ruby Blast or Zynga's Bubble Safari.
  • the social-networking features might include allowing a user to invite social relations (e.g., friends, followers, or contacts) to assist with playing the game (e.g., completing a game task) or to join the game.
  • the social-networking features might also include broadcasting a user's points or other achievements (e.g., power levels) from the game to the content/activity streams of social relations who have authorized such broadcasts (e.g., through a GUI dialog).
  • the software receives input from the user (e.g., a mouse click or a mouse-cursor movement) representing a play (e.g., matching a number of gems or a number of colored bubbles), according to the game mechanics for the minigame.
  • the software provides a payout for the online RMG game, in operation 306 . Such a payout might occur following a new wager and/or a new play by the user in the online RMG game, in an example embodiment.
  • a payout for an online RMG game might be determined by a paytable that is a schedule of payouts for the outcomes that might occur from wagers and plays in the online RMG game.
  • the online RMG game might be a video slot machine.
  • a paytable for a video slot machine is a table that shows the schedule of payouts for each winning payline, depending on the amount wagered.
  • a winning payline might consist of multiple matching reel symbols in a horizontal, oblique, triangular, trapezoidal, zigzag, etc., line, e.g., three matching pieces of fruit (three bananas) in a horizontal line.
  • a video slot machine that is a multi-line game might have multiple winning paylines.
  • the payout in operation 306 might include a promotional payout that depends on a play in minigame (e.g., matching three gems or matching three colored bubbles).
  • the play might be a play received in operation 303 .
  • the play might be a new play by the user in the online RMG game.
  • a promotional payout is a supplemental payout that is not reflected in the paytable for an online RMG game, e.g., a relatively small percentage such as approximately 1-20 percent of the paytable payout.
  • the software broadcasts the payout to persons who are social relations (e.g., friends, followers, or contacts) of the user who have authorized the broadcast (e.g., through a GUI dialog).
  • such broadcasting might be accomplished through the use of an application programming interface (API), which might be a web API, exposed by software running on a social networking/social media website (e.g., website 106 in FIG. 1 ).
  • APIs include Facebook (REST) API, Facebook Graph API, Twitter API, Bebo's Social Networking API (SNAPI), OpenSocial API, etc.
  • REST Facebook
  • Facebook Graph API Facebook Graph API
  • Twitter API Twitter API
  • Bebo's Social Networking API SNAPI
  • OpenSocial API etc.
  • the Facebook APIs allow authorized third parties (e.g., third parties with an access token and/or permissions) to access a user's Facebook profile and the content/activity stream (e.g., Facebook News Feed) associated with that profile.
  • the software might broadcast the payout to persons who are social relations using a messaging protocol such as email, instant messaging, SMS, etc.
  • the software might not perform the broadcasting operation 307 .
  • FIGS. 4A and 4B are views in a graphical user interface (GUI) for a video slot machine, in accordance with an example embodiment.
  • GUI graphical user interface
  • view 401 includes four virtual reels; virtual reel 402 is the leftmost reel.
  • the theme of the video slot machine is “Alice's Adventures in Wonderland”. Consequently, the reel symbols include the March Hare, the Mad Hatter, the Caterpillar, the Queen of Hearts, the Cheshire Cat (WILD), a painted-red rose, and the Clubs Suit symbol. It will be appreciated that a wild symbol, like the Cheshire Cat, can substitute for any other symbol to achieve a winning combination.
  • the view 401 also includes a “BET” button 403 which allows the user to set the monetary amount of the wager (e.g., 1) and a “SPIN” button 404 which allows a user to initiate a play.
  • FIG. 4B shows view 401 with a winning payline 405 , e.g., a winning payline resulting from two Club Suits symbols and a Cheshire Cat (WILD) symbol next to each other in a horizontal line.
  • a winning payline 405 e.g., a winning payline resulting from two Club Suits symbols and a Cheshire Cat (WILD) symbol next to each other in a horizontal line.
  • WILD Cheshire Cat
  • FIGS. 5A and 5B are GUI views for minigames, in an example embodiment.
  • FIG. 5A depicts a GUI view 501 for a minigame called “Ruby Blast”, by Zynga Inc., which runs on a mobile-device platform as described below.
  • a user matches three or more gems in a mine (e.g., using mouse clicks) during a time period in order to (a) dig deeper in the mine to recover artifacts for points and (b) achieve higher power levels.
  • this minigame is a tile-matching game, specifically, a match-3 game.
  • GUI view 501 includes a text box 502 which states: “Play Ruby Blast for a Chance to Unlock Additional Winning Paylines or Boost Your Paytable!”.
  • a winning payline is a payline that results in a payout by a video slot machine.
  • the text in the text box might serve as an inducement for the user to continue playing the online RMG game, using text similar to the following: ““Play Ruby Blast for a Chance to Unlock Additional Winning Paylines or Boost Your Paytable on Your Next Spin!”.
  • FIG. 5B depicts a GUI view 503 for a minigame called “Bubble Safari”, by Zynga Inc., which runs on a personal-computer platform and a mobile-device platform as described below.
  • a user aims and fires a gun (e.g., using mouse movements and mouse clicks) loaded with a colored bubble to match three or more colored bubbles in the air in order to (a) score points and (b) release food that allows the user to achieve higher power levels.
  • this minigame is also a tile-matching game, specifically, a match-3 game.
  • GUI view 503 includes a text box 504 which states: “Play Bubble Safari for a Chance to Unlock Additional Winning Paylines or Boost Your Paytable!”.
  • the text in the text box might serve as an inducement for the user to continue playing the online RMG game, using text similar to the following: ““Play Bubble Safari for a Chance to Unlock Additional Winning Paylines or Boost Your Paytable on Your Next Spin!”.
  • FIG. 6 is a flowchart diagram that illustrates another process for receiving a play and broadcasting a payout in an online RMG game that includes a minigame, in accordance with an example embodiment.
  • one or more of the operations in this process might be performed by software (including software 203 ) running on servers at a website 103 , e.g., a website, such as Zynga Inc., hosting an online RMG game.
  • one or more of the operations in these processes might be performed by software running on personal computing device 102 , e.g., (a) instructions in a webpage read by a browser supporting Adobe Shockwave/ActionScript or HTML5/CSS3/JavaScript, or (b) instructions in an app (or in a hybrid app with embedded HTML5) executing on a smartphone.
  • software running on personal computing device 102 e.g., (a) instructions in a webpage read by a browser supporting Adobe Shockwave/ActionScript or HTML5/CSS3/JavaScript, or (b) instructions in an app (or in a hybrid app with embedded HTML5) executing on a smartphone.
  • ActionScript and JavaScript might be used to implement animation and/or interactivity through a browser, in example embodiments.
  • the process described in FIG. 6 makes use of the social relations (e.g., friends, followers, contacts, etc.) of a user, according to a contact list, buddy list, social graph, or other control list.
  • access to these social relations is controlled by the user. That is to say, the software performing the operations in FIG. 6 (and the other figures) will only have access to these social relations if the user authorizes such access, e.g., through a command entered on a GUI dialog displayed or caused to be displayed by the software.
  • software e.g., running on a server and/or client device verifies that a user of a client device (e.g., smartphone, tablet, or laptop) is eligible to play an online RMG game in which the wager and the payout are made with real money, in operation 601 .
  • client device e.g., smartphone, tablet, or laptop
  • this operation which might be performed in conjunction with authentication, includes verifying that the user is old enough to legally play (e.g., age twenty-one or older) using stored data relating to age (e.g., from a birth certificate, passport, driver's licenses, identification (ID) cards, social-security number, etc.) or data relating to age that might be obtained in real time or near real time (e.g., through a web or other API exposed by a governmental agency such as a federal state department or a state department of motor vehicles).
  • stored data relating to age e.g., from a birth certificate, passport, driver's licenses, identification (ID) cards, social-security number, etc.
  • ID identification
  • this operation includes verifying that the user is old enough to legally play (e.g., age twenty-one or older) using stored data relating to age (e.g., from a birth certificate, passport, driver's licenses, identification (ID) cards, social-security number, etc.) or data relating to age that might be
  • this operation might include verifying that a user's client device is located within the geographical boundaries of a governmental jurisdiction (e.g., within the state of Nevada or within the city of Atlantic City) using: (a) a global-positioning system (GPS); (b) a WiFi positioning system, which might include an indoor positioning system; (c) multilateration, e.g., using radio towers; (d) data such as “check-ins” retrieved from location-based social media; or (e) a combination (e.g., a hybrid system) of the foregoing.
  • GPS global-positioning system
  • WiFi positioning system which might include an indoor positioning system
  • multilateration e.g., using radio towers
  • data such as “check-ins” retrieved from location-based social media
  • a combination e.g., a hybrid system
  • this operation might also include verification that the user meets non-governmental conditions relating to eligibility, e.g., that the user is not a problem gambler as determined by data in a user profile stored and maintained by website 103 .
  • non-governmental conditions relating to eligibility e.g., that the user is not a problem gambler as determined by data in a user profile stored and maintained by website 103 .
  • a user might be identified as a problem gambler if a recent credit report for the user is relatively bad and the user has lost a relatively large amount of money in a relatively short period of time.
  • the software causes the display of a GUI view for an online RMG game (e.g., casino game) on the client device.
  • the online RMG game is not a game of pure chance. Examples of online casino games that are not games of pure chance include video versions of poker, craps, baccarat, pai gow, etc.
  • the software receives input from the user (e.g., a push of GUI button) representing a wager (e.g., a specification of monetary amount) and/or a play (e.g., a spin of slot machine reels or a roulette wheel), according to the game mechanics for the online RMG game.
  • a wager e.g., a specification of monetary amount
  • a play e.g., a spin of slot machine reels or a roulette wheel
  • the software causes a GUI view for a minigame (which might be online, offline, or a combination of the two) to be displayed to the user, in operation 604 .
  • a GUI view for a minigame (which might be online, offline, or a combination of the two) to be displayed to the user, in operation 604 .
  • the GUI view for the minigame might be displayed following a wager but before receipt of a play in the online RMG game.
  • the GUI view for the minigame might be displayed following receipt of play in the online RMG game, but before the determination (e.g., using an RNG) of whether the play results in a payout, according to a paytable for the online RMG game.
  • the GUI view of the minigame might be displayed periodically after a specified number of wagers or plays in the online RMG game.
  • the GUI view of the minigame might be displayed after every other wager or play in the online RMG game or after every five wagers or after every five plays in the online RMG game.
  • the GUI view of the minigame might be displayed after every wager or after every play in the online RMG game.
  • the minigame is also not game of pure chance.
  • the minigame might be a video version of an arcade game with social-networking features that involves matching (e.g., a tile-matching or match-3 game) such as Zynga's Ruby Blast or Zynga's Bubble Safari.
  • the social-networking features might include allowing a user to invite social relations (e.g., friends, followers, or contacts) to assist with playing the game (e.g., completing a game task) or to join the game. They might also include broadcasting a user's points or other achievements (e.g., power levels) from the game to the content/activity streams of social relations who have authorized such broadcasts (e.g., through a GUI dialog).
  • the software receives input from the user (e.g., a mouse click or a mouse-cursor movement) representing a play (e.g., matching a number of gems or a number of colored bubbles), according to the game mechanics for the minigame.
  • the software provides a payout for the online RMG game, in operation 606 .
  • Such a payout might occur following a new wager and/or a new play by the user in the online RMG game, in an example embodiment.
  • a payout for an online RMG game might be determined by a paytable that is a schedule of payouts for the outcomes that might occur from wagers and plays in the online RMG game.
  • the online RMG game might be video poker.
  • a paytable for video poker might show the schedule of payouts for each winning hand, depending on the amount wagered.
  • the payout in operation 606 might include a promotional payout that depends on the play in minigame (e.g., matching three gems or matching three colored bubbles).
  • the play might be a play received in operation 603 .
  • the play might be a new play by the user in the online RMG game.
  • a promotional payout is a supplemental payout that is not reflected in the paytable for an online RMG game, e.g., a relatively small percentage such as approximately 1-20 percent of the paytable payout.
  • the software broadcasts the payout to persons who are social relations (e.g., friends, followers, or contacts) of the user who have authorized the broadcast (e.g., through a GUI dialog).
  • such broadcasting might be accomplished through the use of an application programming interface (API), which might be a web API, exposed by software running on a social networking/media website (e.g., website 106 in FIG. 1 ).
  • APIs include Facebook (REST) API, Facebook Graph API, Twitter API, Bebo's Social Networking API (SNAPI), OpenSocial API, etc.
  • REST Facebook
  • Facebook Graph API Facebook Graph API
  • Twitter API Twitter API
  • Bebo's Social Networking API SNAPI
  • OpenSocial API etc.
  • the Facebook APIs allow authorized third parties (e.g., third parties with an access token and/or permissions) to access a user's Facebook profile and the content/activity stream (e.g., Facebook News Feed) associated with that profile.
  • the software might broadcast the payout to persons who are social relations using a messaging protocol such as email, instant messaging, SMS, etc.
  • the software might not perform the broadcasting operation 607 .
  • the online RMG game is a casino game of pure chance.
  • the online RMG game is a casino game that is not a game of pure chance.
  • the minigame is not a game of pure chance. These examples are meant as illustrative rather than limiting.
  • both the online RMG game and the minigame might be games of pure chance (e.g., both the online RMG game and the minigame might be casino games).
  • the online RMG game might not be a game of pure chance and the minigame might be a game of pure chance (again, both the online RMG game and the minigame might be casino games).
  • FIGS. 7A, 7B, and 7C are views in a graphical user interface (GUI) for a video poker game, in accordance with an example embodiment.
  • GUI graphical user interface
  • view 701 includes a hand of five face-down cards that have been dealt to a player, e.g., following a wager and play. As shown by the figure, the wager was $100, which the player specified by clicking on GUI button 703 . Play was initiated by clicking on button 704 , labeled “DEAL”. View 701 also includes the paytable 702 for the video poker game, which shows the payout schedule for winning hands based on the monetary amount wagered.
  • FIG. 7A graphical user interface
  • FIG. 7B shows the player has turned over the five cards in view 701 and now has an opportunity to draw a substitute card for each one of them. If the player wants to keep one of the existing cards, the player will click the GUI button labeled “Hold” below the card, such as GUI button 705 . When the player clicks the GUI button 706 labeled “DRAW”, the player will receive substitute cards for any cards not held. It will be appreciated that a video slot machine is a game of pure chance or nearly pure chance. It will be appreciated that video poker might be considered a game of strategy and/or skill, if a player is permitted to discard and draw cards.
  • FIG. 7C shows the results of the player's decision to draw substitute cards for all five cards.
  • the player has won a payout of $100 since the player's substitute cards included a pair of kings, which is better than a pair of jacks.
  • the corresponding entry 708 in the paytable shows that the payout amount is the same monetary amount of the player's wager.
  • the player will click again on the button 704 .
  • FIG. 8 is a template message broadcast to a content/activity stream, in accordance with an example embodiment.
  • the content/activity stream 801 might be associated with a profile of a social relation (e.g., friend, follower, or contacts) of a player of an online RMG game, e.g., the video poker game described in FIGS. 7A, 7B, and 7C .
  • the content/activity stream and the profile might be maintained by a social networking/social media website accessed through an API by the online RMG website. Or the content/activity stream and the profile might be maintained by the online RMG website itself.
  • the social relation might have previously authorized the broadcast, e.g., through a GUI dialog caused to be displayed by the online RMG website.
  • the template message 802 broadcasts the payout of $105 awarded to “Bad Bob” as a result of playing the video poker game. It will be appreciated that such messages might stimulate interest in the video poker game, both among persons who are already playing the video poker game and persons who are not.
  • the content of template message 802 might vary depending on the age or other attributes of the social relation. For example, if the social relation is also a player of the online RMG game (e.g., a person who has been verified as eligible to play the online RMG game), the content of the message might be as shown in template message 802 . But if the social relation is not a player of the online RMG game or is a person whose age has not been verified, the template message might say something like the following: “Bad Bob has played Jacks or Better (age-requirement 21)”.
  • FIG. 9 is a flowchart diagram that illustrates a process for receiving a play and broadcasting points in an arcade game that includes a minigame which is an online RMG game, in accordance with an example embodiment.
  • one or more of the operations in this process might be performed by software (including software 203 ) running on servers at a website 103 , e.g., a website, such as Zynga Inc., hosting an online RMG game.
  • one or more of the operations in these processes might be performed by software running on personal computing device 102 , e.g., (a) instructions in a webpage read by a browser supporting Adobe Shockwave/ActionScript or HTML5/CSS3/JavaScript, or (b) instructions in an app (or in a hybrid app with embedded HTML5) executing on a smartphone.
  • software running on personal computing device 102 e.g., (a) instructions in a webpage read by a browser supporting Adobe Shockwave/ActionScript or HTML5/CSS3/JavaScript, or (b) instructions in an app (or in a hybrid app with embedded HTML5) executing on a smartphone.
  • ActionScript and JavaScript might be used to implement animation and/or interactivity through a browser, in example embodiments.
  • the process described in FIG. 9 makes use of the social relations (e.g., friends, followers, contacts, etc.) of a user, according to a contact list, buddy list, social graph, or other control list. It will be appreciated that access to these social relations is controlled by the user. That is to say, the software performing the operations in FIG. 9 (and the other figures) will only have access to these social relations if the user authorizes such access, e.g., through a command entered on a GUI dialog displayed or caused to be displayed by the software. Similarly, in an example embodiment, the software performing the operations in FIG.
  • the social relations e.g., friends, followers, contacts, etc.
  • software e.g., running on a server and/or client device verifies that a user of a client device (e.g., smartphone, tablet, or laptop) is eligible to play an online RMG game in which wager and payout are made with real money, in operation 901 .
  • client device e.g., smartphone, tablet, or laptop
  • this operation which might be performed in conjunction with authentication, includes verifying that the user is old enough to legally play (e.g., age twenty-one or older) using stored data relating to age (e.g., from a birth certificate, passport, driver's licenses, identification (ID) cards, social-security number, etc.) or data relating to age that might be obtained in real time or near real time (e.g., through a web or other API exposed by a governmental agency such as a state department or a department of motor vehicles).
  • stored data relating to age e.g., from a birth certificate, passport, driver's licenses, identification (ID) cards, social-security number, etc.
  • ID identification
  • this operation includes verifying that the user is old enough to legally play (e.g., age twenty-one or older) using stored data relating to age (e.g., from a birth certificate, passport, driver's licenses, identification (ID) cards, social-security number, etc.) or data relating to age that might be obtained in
  • this operation might include verifying that a user's client's is located within the geographical boundaries of a governmental jurisdiction (e.g., within the state of Nevada or within the city of Atlantic City) using a global-positioning system (GPS), a WiFi positioning system, which includes an indoor positioning system, multilateration, e.g., using radio towers, data such as “check-ins” retrieved from location-based social media; a combination (e.g., a hybrid system) of the foregoing, etc.
  • this operation might also include verification that the user meets non-governmental conditions relating to eligibility, e.g., that the user is not a problem gambler, as determined by data in a user profile stored and maintained by website 103 . For example, a user might be identified as a problem gambler if a recent credit report for the user is relatively bad and the user has lost a relatively large amount of money in a relatively short period of time.
  • the software causes a GUI view for an arcade game to be displayed on the client device.
  • the arcade game is not a game of pure chance.
  • the arcade game might be a video version of an arcade game with social-networking features that involves matching (e.g., a tile-matching or match-3 game) such as Zynga's Ruby Blast or Zynga's Bubble Safari.
  • the social-networking features might include allowing a user to invite social relations (e.g., friends, followers, or contacts) to assist with playing the game (e.g., completing a game task) or to join the game. They might also include broadcasting a user's points or other achievements (e.g., power levels) from the game to the content/activity streams of social relations who have authorized such broadcasts (e.g., through a GUI dialog).
  • the software receives input from the user (e.g., a mouse click or a mouse-cursor movement) representing a play (e.g., matching a number of gems or a number of colored bubbles), according to game mechanics for the arcade game. Then, in operation 904 , the software causes a GUI view for an online minigame to be displayed on the client device, where the online minigame is an online RMG game (e.g., casino game).
  • the online minigame is an online RMG game (e.g., casino game).
  • the software receives input from the user (e.g., a push of GUI button) representing a wager (e.g., a specification of monetary amount) and/or a play (e.g., a spin of slot machine reels or a poker deal/draw), according to the game mechanics for the online RMG game. Then the software provides a payout for the online RMG game (e.g., using another GUI view for the minigame) and uses the payout to determine bonus points for the arcade game, in operation 906 .
  • a wager e.g., a specification of monetary amount
  • a play e.g., a spin of slot machine reels or a poker deal/draw
  • the software broadcasts the points for the arcade game (including any bonus points) to persons who are social relations (e.g., friends, followers, or contacts) of the user who have authorized the broadcast (e.g., through a GUI dialog).
  • broadcasting might be accomplished through the use of an application programming interface (API), which might be a web API, exposed by software running on a social networking/media website (e.g., website 106 in FIG. 1 ).
  • APIs include Facebook (REST) API, Facebook Graph API, Twitter API, Bebo's Social Networking API (SNAPI), OpenSocial API, etc.
  • the Facebook APIs allow authorized third parties (e.g., third parties with an access token and/or permissions) to access a user's Facebook profile and the content/activity stream (e.g., Facebook News Feed) associated with that profile.
  • the software might broadcast the points for the arcade game (including any bonus points) to persons who are social relations using a messaging protocol such as email, instant messaging, SMS, etc.
  • the software might not perform the broadcasting operation 907 .
  • FIG. 10A is a sequence diagram that illustrates a sequence of transmissions associated with a broadcast of a payout in an online RMG game accessed from a social networking/media website, in accordance with an example embodiment.
  • a player has used a browser 1001 on a personal computing device to log onto a social networking website, e.g., server software 1002 (e.g., Facebook).
  • server software 1002 e.g., Facebook
  • many of the transmissions described in this figure and FIG. 10B might also occur if a player using a smartphone were to run a hybrid app written in Objective C or Java that includes embedded HTML5.
  • server software 1002 e.g., Facebook
  • server software 1002 e.g., Facebook
  • server software 1002 e.g., Facebook
  • JS JavaScript
  • the browser uses the HTML tag to transmit a request to server software 1003 (e.g., Zynga) for the game's initial web page to display inside the iFrame.
  • the game's initial web page might be an application server page (e.g., PHP 5) or an HTML5 page.
  • the application server page executes on server software 1003 (e.g., Zynga), resulting in requests to databases and other servers as needed to complete generation of the web page, including possibly an HTTP request (not shown) transmitted to an API exposed by server software 1002 (e.g., Facebook).
  • server software 1003 e.g. Zynga
  • the server software 1003 returns the game's initial web page (e.g., HTML5, CSS3, and JS) for the browser to display in the iFrame.
  • the player clicks on a graphic (e.g., representing a graphical user interface or GUI widget) on a game web page (e.g., HTML5, CSS3, and JS), causing browser 1001 to transmit an HTTP request to server software 1003 (e.g., Zynga).
  • the click might be a play in a minigame resulting in a payout (e.g., with a promotional payout determined by the play in a minigame) that is broadcast to the content/activity streams of social relations (e.g., friends, followers, or contacts) of the user who have authorized such broadcasts.
  • the server software 1003 e.g.
  • the server software 1003 (e.g., Zynga) returns a web page (e.g., HTML5, CSS3, and JS) to the browser indicating that the request was received.
  • the server software 1003 (e.g., Zynga) transmits an HTTP request to an API exposed by server software 1002 (e.g., Facebook), broadcasting the payout to the content/activity streams of the player's social relations on the social network managed by server software 1002 (e.g., Facebook).
  • server software 1003 e.g., Zynga
  • the server software 1003 might have earlier obtained permission from the social relations, e.g., when they became players of the online RMG game or other online games at the online RMG website.
  • server software 1002 e.g., Facebook
  • server software 1003 e.g., Zynga
  • the game's initial web page (or some subsequent web page served up by the game) might have an Adobe Flash application (e.g., a Small Web Format (SWF) file) embedded in it.
  • the user of browser 1001 might thereafter interact with the Adobe Flash application (e.g., its GUI), causing it to interact with the server software 1002 (e.g., Facebook) and the server software 1003 (e.g., Zynga).
  • the server software 1002 e.g., Facebook
  • server software 1003 e.g., Zynga
  • FIG. 10B is a sequence diagram that illustrates a sequence of transmissions associated with a broadcast of a payout in an online RMG game accessed from an online RMG website, in accordance with an example embodiment.
  • the player clicks on a graphic for the game, causing browser 1001 to transmit an HTTP request to server software 1003 (e.g., Zynga) for the game's initial web page.
  • server software 1003 e.g., Zynga
  • the game's initial web page might be an application server page (e.g., PHP 5) or an HTML5 page.
  • the application server page executes on server software 1003 (e.g., Zynga), resulting in requests to databases and other servers as needed to complete generation of the web page, including possibly an HTTP request (not shown) transmitted to an API exposed by server software 1002 (e.g., Facebook).
  • server software 1003 e.g. Zynga
  • the server software 1003 returns the game's initial web page (e.g., HTML5, CSS3, and JS) for the browser to display.
  • the player clicks on a graphic (e.g., representing a GUI widget) on a game web page (e.g., HTML5, CSS3, and JS), causing browser 1001 to transmit an HTTP request to server software 1003 (e.g., Zynga).
  • the click might be a play in a minigame resulting in a payout (e.g., with a promotional payout determined by the play in a minigame) that is broadcast to the content/activity streams of social relations (e.g., friends, followers, or contacts) of the user who have authorized such broadcasts.
  • the server software 1003 e.g.
  • the server software 1003 (e.g., Zynga) returns a web page (e.g., HTML5, CSS3, and JS) to the browser indicating that the request was received.
  • the server software 1003 (e.g., Zynga) transmits an HTTP request to an API exposed by server software 1002 (e.g., Facebook), broadcasting the payout to the content/activity streams of the player's social relations on the social network managed by server software 1002 (e.g., Facebook).
  • server software 1003 e.g., Zynga
  • the server software 1003 might have earlier obtained permission from the social relations, e.g., when they joined other Zynga games.
  • server software 1002 e.g., Facebook
  • server software 1003 e.g., Zynga
  • the game's initial web page (or some subsequent web page served by the game) might have an Adobe Flash application (e.g., a Small Web Format (SWF) file) embedded in it.
  • the user of browser 1001 might thereafter interact with the Adobe Flash application (e.g., its GUI), which, in turn, might interact with the server software 1002 (e.g., Facebook) and the server software 1003 (e.g., Zynga).
  • the server software 1002 e.g., Facebook
  • server software 1003 e.g., Zynga
  • the personal computing device 102 might be (a) a laptop or other personal computer or (b) a mobile device such as a smartphone, (e.g., an iPhone, Android, Blackberry, etc.) or a tablet computer (e.g., an iPad, Kindle, Nook, etc.).
  • each of the websites 103 , 106 , and 108 might be composed of a number of servers connected by a network (e.g., a local area network (LAN) or a WAN) to each other in a cluster or other distributed system which might execute cloud-platform software, e.g., as described above.
  • a network e.g., a local area network (LAN) or a WAN
  • the servers in websites 103 , 106 , and 108 might also be connected to persistent storages 105 , 107 , and 109 , respectively.
  • persistent storages 105 , 107 , and 109 might comprise a storage area network (SAN) and/or might include a redundant array of independent disks (RAID).
  • SAN storage area network
  • RAID redundant array of independent disks
  • Persistent storage 105 might be used to store algorithms and/or logic, including game mechanics, and data related to an RMG game and its players, including accounting data and data about the players received by website 103 from website 106 (e.g., through an application programming interface (API) exposed by website 106 ) or website 108 (e.g., through an application programming interface (API) exposed by website 108 ).
  • some of the data from persistent storage 105 might be cached in memory cache 104 a in volatile memory on servers on website 103 (e.g., using (a) an in-memory database or main memory database system (MMDB) or (b) a hybrid in-memory database that also uses persistent storage, in order to improve performance.
  • MMDB main memory database system
  • Persistent storage 107 might be used to store data (including content) associated with a profile and/or content/activity stream for users of a social networking/social media website, e.g., users who are associated with each other through control lists as described above.
  • persistent storage 105 might store similar data or content.
  • Some of the data stored in persistent storage 107 might be cached in memory cache 104 b in volatile memory on servers at website 106 , in an example embodiment.
  • Persistent storage 109 might be used to store governmental data (e.g., related to age) and/or auditing data (e.g., reports from and/or results from audits of websites such as website 103 ) and logic (e.g., logic that implements minimum internal control standards and/or technical or other standards).
  • governmental data e.g., related to age
  • auditing data e.g., reports from and/or results from audits of websites such as website 103
  • logic e.g., logic that implements minimum internal control standards and/or technical or other standards.
  • personal computing device 102 might be a laptop or other personal computer.
  • personal computing device 102 and the servers in website 103 and 106 might include (1) hardware consisting of one or more microprocessors and/or graphics processors (e.g., from the x86 family or the Power family), volatile storage (e.g., RAM), and persistent storage (e.g., a hard disk or flash memory), and (2) an operating system (e.g., Windows, Mac OS, Linux, Windows Server, Mac OS Server, etc.) that runs directly or indirectly (e.g., through virtualization software) on the hardware. Or the operating system might be replaced in whole or in part by a hypervisor or other virtualization software.
  • an operating system e.g., Windows, Mac OS, Linux, Windows Server, Mac OS Server, etc.
  • the operating system might be replaced in whole or in part by a hypervisor or other virtualization software.
  • personal computing device 102 might be a smartphone, tablet computer, or other mobile device that includes (1) hardware consisting of one or more low-power microprocessors and/or graphics processors (e.g., from the ARM family), volatile storage (e.g., RAM), and persistent storage (e.g., flash memory) and (2) an operating system (e.g., iOS, Android, Windows Phone, webOS, Linux, etc.) that runs on the hardware.
  • hardware consisting of one or more low-power microprocessors and/or graphics processors (e.g., from the ARM family), volatile storage (e.g., RAM), and persistent storage (e.g., flash memory) and (2) an operating system (e.g., iOS, Android, Windows Phone, webOS, Linux, etc.) that runs on the hardware.
  • an operating system e.g., iOS, Android, Windows Phone, webOS, Linux, etc.
  • personal computing device 102 might include a web browser as an application program or part of an operating system. Examples of web browsers that might execute on personal computing device 102 if it is a laptop or other personal computer include, Internet Explorer, Mozilla Firefox, and Safari. Examples of browsers that might execute on personal computing device 102 if it is a smartphone, tablet computer, or other mobile device include Android Browser, Safari, Mozilla Firefox, and webOS Browser. It will be appreciated that users of personal computing device 102 might use browsers to communicate with software running on the servers at website 103 and at website 106 . Alternatively, users of personal computing device 102 might use other application programs to communicate with software running on the servers at website 103 and at website 106 .
  • the personal computing device 102 is a smartphone, tablet computer, or other mobile device
  • users might use an app (e.g., an app written in Objective C or Java) or a hybrid app (e.g., an app written in Objective C or Java that includes embedded HTML5) to communicate with software running on the servers at website 103 and at website 106 .
  • an app e.g., an app written in Objective C or Java
  • a hybrid app e.g., an app written in Objective C or Java that includes embedded HTML5
  • the inventions also relate to a device or an apparatus for performing these operations.
  • the apparatus may be specially constructed for the required purposes, such as the carrier network discussed above, or it may be a general purpose computer selectively activated or configured by a computer program stored in the computer.
  • various general purpose machines may be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations.
  • the inventions can also be embodied as computer readable code on a computer readable medium.
  • the computer readable medium is any data storage device that can store data, which can thereafter be read by a computer system. Examples of the computer readable medium include hard drives, network attached storage (NAS), read-only memory, random-access memory, CD-ROMs, CD-Rs, CD-RWs, DVDs, Flash, magnetic tapes, and other optical and non-optical data storage devices.
  • the computer readable medium can also be distributed over a network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Systems and methods are provided for executing nested online games. In a processor-executable method embodiment, operations include providing a graphical user interface (GUI) for a first online game and receiving a first game input from the user that represents a play according to game mechanics of the first online game. The embodiment also provides for displaying a GUI view for a second game and for receiving a second game input from the user representing a play according to game mechanics for the second game. The method provides to the user a payout for the first online game and a promotional payout that depends at least in part on a result related to the second game.

Description

    CLAIM OF PRIORITY
  • This application is a continuation of U.S. patent application Ser. No. 14/449,134 filed on Jul. 31, 2014, entitled “Nested Online Games for Real Money Gambling,” which claims the benefit of and/or priority to U.S. Provisional Patent Application No. 61/861,962, also entitled “Nested Online Games for Real Money Gambling,” filed on Aug. 2, 2013. The disclosure of that provisional application is incorporated herein by reference for all purposes.
  • BACKGROUND
  • Though online gambling for real money allows a user to gamble conveniently from almost any location in a governmental jurisdiction, it lacks the excitement that results from being in the company of other gamblers at the slots or poker tables of a busy casino.
  • Consequently, websites that provide online gambling for real money are engaged in ongoing research and study into ways to make online gambling more exciting and interesting.
  • SUMMARY
  • In an example embodiment, a processor-executed method is described. According to the method, an operation includes providing by a server, a graphical user interface (GUI) for a first online game to be displayed on a device of a user. The method includes receiving, at the server, a first game input from the user that represents a play according to game mechanics of the first online game. The method further includes an operation for providing, by the server, a GUI view for the a second game to be displayed on the device of the user and an operation for receiving, at the server, a second game input from the user representing a play according to game mechanics for the second game, the second game input is operable for producing a result related to the second game. Further, the method includes an operation for, responsive to the result related to the second game, providing, by the server, the GUI view for the first online game to return to be displayed on the device of the user and providing to the user a payout for the first online game and a promotional payout that depends at least in part on the result related to the second game.
  • Another example embodiment also involves a processor-executed method. According to the method, an operation provides, by a server, a graphical user interface (GUI) view for an online game to be displayed to a device of a user. The method provides an operation for receiving, by the server, a first game input from the user that represents a wager or a play according to game mechanics of the online game. The method includes an operation for providing, by the server, a GUI view for a minigame to be displayed to the device of the user, wherein the minigame is not a game of pure chance. The method also includes an operation for receiving, at the server, a second game input from the user that represents a play according to game mechanics for the minigame. The second game input is operable for producing a result related to the minigame. Moreover, responsive to producing the result related to the minigame, the method includes an operation for providing the GUI view for the first online game to return to be displayed on the device of the user and for providing a payout for the first online game to the user and providing a promotional payout that depends at least in part on the result related to the minigame to the user.
  • In another example embodiment, an apparatus is described, namely, non-transitory computer-readable storage media that persistently store a program. The program might be part of software that runs on a server and/or client device. The non-transitory computer-readable storage medium includes program instructions for providing, by a server, a graphical user interface (GUI) view for a first online game to be displayed on a device of a user. The non-transitory computer-readable storage medium includes program instructions for receiving, at the server, a first game input from the user that represents a play according to game mechanics of the first online game. The non-transitory computer-readable storage medium further includes program instructions for providing a GUI view for a second game to be displayed on the device of the user as well as program instructions for receiving, at the server, a second game input from the user representing a play according to game mechanics for the second game. The second game input is operable for producing a result related to the second game. Further, the non-transitory computer-readable storage medium includes program instructions for providing, by the server in response to said producing the result related to the second game, the GUI view for the first online game to return to be displayed on the device of the user and providing to the user a payout for the first online game and a promotional payout that depends at least in part on the result related to the second game.
  • Other aspects and advantages of the inventions will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate by way of example the principles of the inventions.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a network diagram that illustrates a network for an online game involving real-money gambling (RMG), in accordance with an example embodiment.
  • FIG. 2A is a software modularization for a cloud platform, in accordance with an example embodiment.
  • FIG. 2B is an alternative software modularization for a cloud platform, in accordance with an example embodiment.
  • FIG. 3 is a flowchart diagram that illustrates a process for receiving a play and broadcasting a payout in an online RMG game that includes a minigame, in accordance with an example embodiment.
  • FIGS. 4A and 4B are views in a graphical user interface (GUI) for a video slot machine, in accordance with an example embodiment.
  • FIGS. 5A and 5B are GUI views for minigames, in an example embodiment.
  • FIG. 6 is a flowchart diagram that illustrates another process for receiving a play and broadcasting a payout in an online RMG game that includes a minigame, in accordance with an example embodiment.
  • FIGS. 7A, 7B, and 7C are GUI views for a video poker game, in accordance with an example embodiment.
  • FIG. 8 is a template message broadcast to the content/activity stream, in accordance with an example embodiment.
  • FIG. 9 is a flowchart diagram that illustrates a process for receiving a play and broadcasting points in an arcade game that includes a minigame which is an online RMG game, in accordance with an example embodiment.
  • FIG. 10A is a sequence diagram that illustrates a sequence of transmissions associated with a broadcast of a payout in an online RMG game accessed from a social networking or social media website, in accordance with an example embodiment.
  • FIG. 10B is a sequence diagram that illustrates a sequence of transmissions associated with a broadcast of a payout in an online RMG game accessed from an online RMG website, in accordance with an example embodiment.
  • DETAILED DESCRIPTION
  • In the following description, numerous specific details are set forth in order to provide a thorough understanding of the exemplary embodiments. However, it will be apparent to one skilled in the art that the example embodiments may be practiced without some of these specific details. In other instances, process operations and implementation details have not been described in detail, if already well known.
  • FIG. 1 is a network diagram that illustrates a network for an online game involving real-money gambling (RMG), in accordance with an example embodiment. As depicted in this figure, a personal computing device 102 is connected by a network 101 (e.g., a wide area network (WAN) including the Internet, which might be wireless in part or in whole) with a website 103 hosting a real-money gambling game (e.g., a website such as Zynga hosting a video slot machine or other casino game) and a website 106 hosting a social network (e.g., a website such as Facebook) and/or social media (e.g., a website such as Pinterest). As used here and elsewhere in this disclosure, the term “social networking/social media website” is to be broadly interpreted to include, for example, any website that allows its users to, among other things, (a) selectively access (e.g., according to a contact list, buddy list, social graph, or other control list) content in each other's profiles; (b) selectively (e.g., according to a contact list, buddy list, social graph, distribution list, or other control list) broadcast content to each other's content/activity streams; and/or (3) selectively communicate (e.g., according to a contact list, buddy list, social graph, distribution list, or other control list) with each other (e.g., using a messaging protocol such as email, instant messaging, short message service (SMS), etc.). As also depicted in FIG. 1, website 103 might also be connected by network 101 (e.g., through a secure application programming interface (API)) to a website 108 controlled and maintained by a governmental agency or a third-party certifying agency. In example embodiments, website 108 might be associated with (a) a governmental agency (e.g., the Nevada Gaming Control Board, the New Jersey Casino Control Commission, or the Isle of Man Gambling Supervision Commission (IMGSC)) or (b) a third-party certifying agency (e.g., an accounting firm such as one of the “Big Four” auditing firms or a consulting firm such as Cigital, Ltd.). Such a governmental agency or third-party certifying agency might use network 101 to conduct or facilitate an audit of website 103 (e.g., test and certify the website's random number generator (RNG) against standards such as the “Online Gambling (Systems Verification) (No. 2) Regulations 2007” promulgated by the IMGSC). In an alternative embodiment, website 103 might be connected by a dedicated network connection to website 108. The described auditing parties are merely examples, and other auditing commissions, agencies, or entities or combinations thereof might conduct and/or facilitate auditing of website 103. In example embodiments, website 103 might execute software (e.g., client software) that facilitates real-time (or near real-time) reporting to or auditing by website 108.
  • Also, in an example embodiment, website 108 might be associated with a non-regulatory governmental agency, such as the federal state department or a state department of motor vehicles, which keeps and maintains age-related records such as birth certificates, passports, driver's licenses, identification (ID) cards, social-security numbers, etc. In this example embodiment, website 103 might use network 101 or a dedicated network connection to connect to website 108 to verify that a user of an online RMG game is old enough (e.g., age twenty-one or over) to legally play the online RMG game.
  • FIG. 2A is a software modularization for a cloud platform, in accordance with an example embodiment. As depicted in this figure, a player is using a web browser or app 201 on a mobile device (e.g., a smartphone or a tablet computer) to interact with (e.g., transmit or receive game data) server software 203 running on a website hosting an online RMG game (e.g., running on the servers at website 103 in FIG. 1). It will be appreciated that an application program for a mobile device is often referred to as an “app”. In an example embodiment, server software 203 might be implemented using a public, private, or hybrid cloud platform, e.g., a hybrid cloud platform whose public cloud is Amazon Electric Compute Cloud (EC2) and whose private cloud is built using Cloud.com's CloudStack software. In an alternative example embodiment, server software 203 might be implemented using other public clouds and/or other private clouds that provide similar functionality. Or, server software 203 might be implemented without resort to third-party cloud platforms, e.g., using (a) OpenStack or (b) load balancing and virtualization software (e.g., Citrix XenServer, VMware, Microsoft, or Xen), distributed computing software (such as Hadoop (which implements Map-Reduce), Dremel/Apache Drill, etc.), distributed memory-caching software (such as memcached), distributed key-value database software (such as Couchbase Server nee Membase Server), NoSQL database-management software, structured database-management software (such as MySQL and NewSQL), etc. It will also be appreciated that SQL is an acronym which stands for Structured Query Language.
  • Returning to FIG. 2A, server software 203 includes load balancers 204 (e.g., the load balancing and virtualization software provided by Citrix, VMware, Microsoft, or Xen) that balance the load between the servers (e.g., Apache HTTP servers) in an elastic (or dynamic) array 205. It will be appreciated that the array is elastic because its size can be increased to accommodate additional servers and decreased to accommodate fewer servers. As further depicted in FIG. 2A, the servers in the elastic array 205 transmit (e.g., using HTTP) data to and receive data from (a) the web browser or app 201 and/or (b) the servers on a social networking website 202 such as Facebook. In an example embodiment, the servers might read data from and write data to memory cache 206 (e.g., a memory cache created with memcached and managed with Couchbase Server), which, in turn, is backed by database 208, which might be MySQL. In an alternative example embodiment, the database 208 might be NoSQL. It will be appreciated that performance latencies can be significantly reduced by such a caching arrangement, which exploits locality of reference. It will also be appreciated that memory cache 104 a in FIG. 1 corresponds to the memory cache 206 in FIG. 2 and the persistent storage 105 in FIG. 1 corresponds to the database 208 in FIG. 2A. In an example embodiment, synch queue 207 might receive the data from memory cache 206 to be written asynchronously to the database 208. As indicated on FIG. 2A, the software modularization depicted in the figure might be implemented as a LAMMP (Linux, Apache, Memcache, MySQL, PHP) architecture, in an example embodiment.
  • FIG. 2B is an alternative software modularization for a cloud platform, in accordance with an example embodiment. As depicted in this figure, a player is using a web browser or app 201 on a mobile device (e.g., a smartphone or a tablet computer) to interact with server software 203 running on a website hosting an online RMG game. In an example embodiment, server software 203 might be implemented using a public, private, or hybrid cloud platform. Alternatively, server software 203 might be implemented without resort to third-party cloud platforms, e.g., using load balancing and virtualization software, distributed computing software, distributed memory-caching software, distributed key-value database software, NoSQL database-management software, structured database-management software, etc.
  • In FIG. 2B, server software 203 includes load balancers 204 that balance the load between the servers in an elastic array 205. As further depicted in this figure, the servers in the elastic array 205 transmit data to and receive data from (a) the web browser or app 201 and/or (b) the servers on a social networking website 202 such as Facebook. In an example embodiment, the servers might read data from and write data to a hybrid in-memory database (e.g., a hybrid in-memory database such as Membase/Couchbase Server) which comprises volatile storage 206 a and persistent storage 206 b.
  • FIG. 3 is a flowchart diagram that illustrates a process for receiving a play and broadcasting a payout in an online RMG game that includes a minigame, in accordance with an example embodiment. In an example embodiment, one or more of the operations in this process might be performed by software (including software 203) running on servers at a website 103, e.g., a website, such as Zynga, hosting an online RMG game. In the same or an alternative embodiment, one or more of the operations in these processes might be performed by software running on personal computing device 102, e.g., (a) instructions in a webpage read by a browser supporting Adobe Shockwave/ActionScript or HTML5/CSS3/JavaScript, or (b) instructions in an app (or in a hybrid app with embedded HTML5) executing on a smartphone. It will be appreciated that ActionScript and JavaScript might be used to implement animation and/or interactivity through a browser, in example embodiments.
  • The process described in FIG. 3 makes use of the social relations (e.g., friends, followers, contacts, etc.) of a user, according to a contact list, buddy list, social graph, or other control list. It will be appreciated that access to these social relations is controlled by the user. That is to say, the software performing the operations in FIG. 3 (and the other figures) will only have access to these social relations if the user authorizes such access, e.g., through a command entered on a GUI dialog displayed or caused to be displayed by the software. Similarly, in an example embodiment, the software performing the operations in FIG. 3 (and the other figures) might only have access to the profiles and/or content/activity streams of a social relation if authorized by the social relation, e.g., through a command entered on a GUI dialog displayed or caused to be displayed by software at website 103.
  • As depicted in FIG. 3, software (e.g., running on a server and/or client device) verifies that a user of a client device (e.g., smartphone, tablet, or laptop) is eligible to play an online RMG game in which the wager and the payout are made with real money, in operation 301. In an example embodiment, this operation, which might be performed in conjunction with authentication, includes verifying that the user is old enough to legally play (e.g., age twenty-one or older) using stored data relating to age (e.g., from a birth certificate, passport, driver's licenses, identification (ID) cards, social-security number, etc.) or data relating to age that might be obtained in real time or near real time (e.g., through a web or other API exposed by a governmental agency such as a federal state department or a state department of motor vehicles). Also, in an example embodiment, this operation might include verifying that a user's client device is located within the geographical boundaries of a governmental jurisdiction (e.g., within the state of Nevada or within the city of Atlantic City) using: (a) a global-positioning system (GPS); (b) a WiFi positioning system, which might include an indoor positioning system; (c) multilateration, e.g., using radio towers; (d) data such as “check-ins” retrieved from location-based social media; or (e) a combination (e.g., a hybrid system) of the foregoing. In an example embodiment, this operation might also include verification that the user meets non-governmental conditions relating to eligibility, e.g., that the user is not a problem gambler as determined by data in a user profile stored and maintained by website 103. For example, a user might be identified as a problem gambler if a recent credit report for the user is relatively bad and the user has lost a relatively large amount of money in a relatively short period of time.
  • In operation 302, the software causes the display of a GUI view for an online RMG game (e.g., casino game) on the client device. In an example embodiment, the online RMG game is a video version of a so-called “game of pure chance” such as slots, roulette, keno (e.g., lottery), etc., that does not depend on strategy or skill (e.g., including skill in estimating the odds of winning given an event or a number of events). In operation 303, the software receives input from the user (e.g., a push of GUI button) representing a wager (e.g., a specification of monetary amount) and/or a play (e.g., a spin of slot machine reels or a spin of a roulette wheel), according to the game mechanics for the online RMG game. In an example embodiment, one wager might be associated with several plays of the online RMG game. Or several wagers might be associated with one play of the online RMG game. Then the software causes a GUI view for a minigame (which might be online, offline, or a combination of the two) to be displayed to the user, in operation 304. For example, the GUI view for the minigame might be displayed following a wager but before receipt of a play in the online RMG game. Or the GUI view for the minigame might be displayed following receipt of play in the online RMG game, but before the determination (e.g., using an RNG) of whether the play results in a payout, according to a paytable for the online RMG game. The GUI view of the minigame might be displayed periodically after a specified number of wagers or plays in the online RMG game. For example, the GUI view of the minigame might be displayed after every other wager or play in the online RMG game or after every five wagers or after every five plays in the online RMG game. Alternatively, the GUI view of the minigame might be displayed after every wager or after every play in the online RMG game.
  • In an example embodiment, the minigame is not game of pure chance. For example, the minigame might be a video version of an arcade game with social-networking features that involves matching (e.g., a tile-matching or match-3 game) such as Zynga's Ruby Blast or Zynga's Bubble Safari. In an example embodiment, the social-networking features might include allowing a user to invite social relations (e.g., friends, followers, or contacts) to assist with playing the game (e.g., completing a game task) or to join the game. The social-networking features might also include broadcasting a user's points or other achievements (e.g., power levels) from the game to the content/activity streams of social relations who have authorized such broadcasts (e.g., through a GUI dialog). In operation 305, the software receives input from the user (e.g., a mouse click or a mouse-cursor movement) representing a play (e.g., matching a number of gems or a number of colored bubbles), according to the game mechanics for the minigame. The software provides a payout for the online RMG game, in operation 306. Such a payout might occur following a new wager and/or a new play by the user in the online RMG game, in an example embodiment. It will be appreciated that a payout for an online RMG game might be determined by a paytable that is a schedule of payouts for the outcomes that might occur from wagers and plays in the online RMG game. In an example embodiment, the online RMG game might be a video slot machine. It will be appreciated that a paytable for a video slot machine is a table that shows the schedule of payouts for each winning payline, depending on the amount wagered. It will further be appreciated that for a video slot machine, a winning payline might consist of multiple matching reel symbols in a horizontal, oblique, triangular, trapezoidal, zigzag, etc., line, e.g., three matching pieces of fruit (three bananas) in a horizontal line. A video slot machine that is a multi-line game might have multiple winning paylines.
  • In an example embodiment, the payout in operation 306 might include a promotional payout that depends on a play in minigame (e.g., matching three gems or matching three colored bubbles). The play might be a play received in operation 303. Or the play might be a new play by the user in the online RMG game. In an example embodiment, a promotional payout is a supplemental payout that is not reflected in the paytable for an online RMG game, e.g., a relatively small percentage such as approximately 1-20 percent of the paytable payout. Then in operation 307, the software broadcasts the payout to persons who are social relations (e.g., friends, followers, or contacts) of the user who have authorized the broadcast (e.g., through a GUI dialog). In an example embodiment, such broadcasting might be accomplished through the use of an application programming interface (API), which might be a web API, exposed by software running on a social networking/social media website (e.g., website 106 in FIG. 1). Examples of such APIs include Facebook (REST) API, Facebook Graph API, Twitter API, Bebo's Social Networking API (SNAPI), OpenSocial API, etc. It will be appreciated that the Facebook APIs allow authorized third parties (e.g., third parties with an access token and/or permissions) to access a user's Facebook profile and the content/activity stream (e.g., Facebook News Feed) associated with that profile. Alternatively, the software might broadcast the payout to persons who are social relations using a messaging protocol such as email, instant messaging, SMS, etc. In some example embodiments, the software might not perform the broadcasting operation 307.
  • FIGS. 4A and 4B are views in a graphical user interface (GUI) for a video slot machine, in accordance with an example embodiment. As depicted in FIG. 4A, view 401 includes four virtual reels; virtual reel 402 is the leftmost reel. The theme of the video slot machine is “Alice's Adventures in Wonderland”. Consequently, the reel symbols include the March Hare, the Mad Hatter, the Caterpillar, the Queen of Hearts, the Cheshire Cat (WILD), a painted-red rose, and the Clubs Suit symbol. It will be appreciated that a wild symbol, like the Cheshire Cat, can substitute for any other symbol to achieve a winning combination. The view 401 also includes a “BET” button 403 which allows the user to set the monetary amount of the wager (e.g., 1) and a “SPIN” button 404 which allows a user to initiate a play. FIG. 4B shows view 401 with a winning payline 405, e.g., a winning payline resulting from two Club Suits symbols and a Cheshire Cat (WILD) symbol next to each other in a horizontal line.
  • FIGS. 5A and 5B are GUI views for minigames, in an example embodiment. FIG. 5A depicts a GUI view 501 for a minigame called “Ruby Blast”, by Zynga Inc., which runs on a mobile-device platform as described below. In an example embodiment of the game, a user matches three or more gems in a mine (e.g., using mouse clicks) during a time period in order to (a) dig deeper in the mine to recover artifacts for points and (b) achieve higher power levels. It will be appreciated that this minigame is a tile-matching game, specifically, a match-3 game. And it will further be appreciated that it is not a game of pure chance, since a user with a better strategy and better skill and/or speed at matching might achieve a higher point score and a higher power level. In an example embodiment, this minigame might include one or more of the social features discussed above. As depicted in this figure, GUI view 501 includes a text box 502 which states: “Play Ruby Blast for a Chance to Unlock Additional Winning Paylines or Boost Your Paytable!”. As described above, a winning payline is a payline that results in a payout by a video slot machine. In another example embodiment, the text in the text box might serve as an inducement for the user to continue playing the online RMG game, using text similar to the following: ““Play Ruby Blast for a Chance to Unlock Additional Winning Paylines or Boost Your Paytable on Your Next Spin!”.
  • FIG. 5B depicts a GUI view 503 for a minigame called “Bubble Safari”, by Zynga Inc., which runs on a personal-computer platform and a mobile-device platform as described below. In an example embodiment of the game, a user aims and fires a gun (e.g., using mouse movements and mouse clicks) loaded with a colored bubble to match three or more colored bubbles in the air in order to (a) score points and (b) release food that allows the user to achieve higher power levels. It will be appreciated that this minigame is also a tile-matching game, specifically, a match-3 game. And it will further be appreciated that it is not a game of pure chance, since a user with a better strategy and better skill and/or speed at aiming and matching might achieve a higher point score and a higher power level. In an example embodiment, this minigame might also include one or more of the social features discussed above. As depicted in this figure, GUI view 503 includes a text box 504 which states: “Play Bubble Safari for a Chance to Unlock Additional Winning Paylines or Boost Your Paytable!”. In another example embodiment, the text in the text box might serve as an inducement for the user to continue playing the online RMG game, using text similar to the following: ““Play Bubble Safari for a Chance to Unlock Additional Winning Paylines or Boost Your Paytable on Your Next Spin!”.
  • FIG. 6 is a flowchart diagram that illustrates another process for receiving a play and broadcasting a payout in an online RMG game that includes a minigame, in accordance with an example embodiment. In an example embodiment, one or more of the operations in this process might be performed by software (including software 203) running on servers at a website 103, e.g., a website, such as Zynga Inc., hosting an online RMG game. In the same or an alternative embodiment, one or more of the operations in these processes might be performed by software running on personal computing device 102, e.g., (a) instructions in a webpage read by a browser supporting Adobe Shockwave/ActionScript or HTML5/CSS3/JavaScript, or (b) instructions in an app (or in a hybrid app with embedded HTML5) executing on a smartphone. It will be appreciated that ActionScript and JavaScript might be used to implement animation and/or interactivity through a browser, in example embodiments.
  • Here again, the process described in FIG. 6 makes use of the social relations (e.g., friends, followers, contacts, etc.) of a user, according to a contact list, buddy list, social graph, or other control list. It will be appreciated that access to these social relations is controlled by the user. That is to say, the software performing the operations in FIG. 6 (and the other figures) will only have access to these social relations if the user authorizes such access, e.g., through a command entered on a GUI dialog displayed or caused to be displayed by the software. Similarly, in an example embodiment, the software performing the operations in FIG. 6 (and the other figures) might only have access to the profiles and/or content/activity streams of a social relation if authorized by the social relation, e.g., through a command entered on a GUI dialog displayed or caused to be displayed by software at website 103.
  • As depicted in FIG. 6, software (e.g., running on a server and/or client device) verifies that a user of a client device (e.g., smartphone, tablet, or laptop) is eligible to play an online RMG game in which the wager and the payout are made with real money, in operation 601. In an example embodiment, this operation, which might be performed in conjunction with authentication, includes verifying that the user is old enough to legally play (e.g., age twenty-one or older) using stored data relating to age (e.g., from a birth certificate, passport, driver's licenses, identification (ID) cards, social-security number, etc.) or data relating to age that might be obtained in real time or near real time (e.g., through a web or other API exposed by a governmental agency such as a federal state department or a state department of motor vehicles). Also, in an example embodiment, this operation might include verifying that a user's client device is located within the geographical boundaries of a governmental jurisdiction (e.g., within the state of Nevada or within the city of Atlantic City) using: (a) a global-positioning system (GPS); (b) a WiFi positioning system, which might include an indoor positioning system; (c) multilateration, e.g., using radio towers; (d) data such as “check-ins” retrieved from location-based social media; or (e) a combination (e.g., a hybrid system) of the foregoing. In an example embodiment, this operation might also include verification that the user meets non-governmental conditions relating to eligibility, e.g., that the user is not a problem gambler as determined by data in a user profile stored and maintained by website 103. For example, a user might be identified as a problem gambler if a recent credit report for the user is relatively bad and the user has lost a relatively large amount of money in a relatively short period of time.
  • In operation 602, the software causes the display of a GUI view for an online RMG game (e.g., casino game) on the client device. In an example embodiment, the online RMG game is not a game of pure chance. Examples of online casino games that are not games of pure chance include video versions of poker, craps, baccarat, pai gow, etc. In operation 603, the software receives input from the user (e.g., a push of GUI button) representing a wager (e.g., a specification of monetary amount) and/or a play (e.g., a spin of slot machine reels or a roulette wheel), according to the game mechanics for the online RMG game. In an example embodiment, one wager might be associated with several plays of the online RMG game. Or several wagers might be associated with one play of the online RMG game. Then the software causes a GUI view for a minigame (which might be online, offline, or a combination of the two) to be displayed to the user, in operation 604. For example, the GUI view for the minigame might be displayed following a wager but before receipt of a play in the online RMG game. Or the GUI view for the minigame might be displayed following receipt of play in the online RMG game, but before the determination (e.g., using an RNG) of whether the play results in a payout, according to a paytable for the online RMG game. The GUI view of the minigame might be displayed periodically after a specified number of wagers or plays in the online RMG game. For example, the GUI view of the minigame might be displayed after every other wager or play in the online RMG game or after every five wagers or after every five plays in the online RMG game. Alternatively, the GUI view of the minigame might be displayed after every wager or after every play in the online RMG game.
  • In an example embodiment, the minigame is also not game of pure chance. For example, the minigame might be a video version of an arcade game with social-networking features that involves matching (e.g., a tile-matching or match-3 game) such as Zynga's Ruby Blast or Zynga's Bubble Safari. In an example embodiment, the social-networking features might include allowing a user to invite social relations (e.g., friends, followers, or contacts) to assist with playing the game (e.g., completing a game task) or to join the game. They might also include broadcasting a user's points or other achievements (e.g., power levels) from the game to the content/activity streams of social relations who have authorized such broadcasts (e.g., through a GUI dialog).
  • In operation 605, the software receives input from the user (e.g., a mouse click or a mouse-cursor movement) representing a play (e.g., matching a number of gems or a number of colored bubbles), according to the game mechanics for the minigame. The software provides a payout for the online RMG game, in operation 606. Such a payout might occur following a new wager and/or a new play by the user in the online RMG game, in an example embodiment. As described above, a payout for an online RMG game might be determined by a paytable that is a schedule of payouts for the outcomes that might occur from wagers and plays in the online RMG game. In an example embodiment, the online RMG game might be video poker. A paytable for video poker might show the schedule of payouts for each winning hand, depending on the amount wagered.
  • In an example embodiment, the payout in operation 606 might include a promotional payout that depends on the play in minigame (e.g., matching three gems or matching three colored bubbles). The play might be a play received in operation 603. Or the play might be a new play by the user in the online RMG game. In an example embodiment, a promotional payout is a supplemental payout that is not reflected in the paytable for an online RMG game, e.g., a relatively small percentage such as approximately 1-20 percent of the paytable payout. Then in operation 607, the software broadcasts the payout to persons who are social relations (e.g., friends, followers, or contacts) of the user who have authorized the broadcast (e.g., through a GUI dialog). In an example embodiment, such broadcasting might be accomplished through the use of an application programming interface (API), which might be a web API, exposed by software running on a social networking/media website (e.g., website 106 in FIG. 1). Examples of such APIs include Facebook (REST) API, Facebook Graph API, Twitter API, Bebo's Social Networking API (SNAPI), OpenSocial API, etc. It will be appreciated that the Facebook APIs allow authorized third parties (e.g., third parties with an access token and/or permissions) to access a user's Facebook profile and the content/activity stream (e.g., Facebook News Feed) associated with that profile. Alternatively, the software might broadcast the payout to persons who are social relations using a messaging protocol such as email, instant messaging, SMS, etc. Here again, in some example embodiments, the software might not perform the broadcasting operation 607.
  • In the flowchart diagram shown in FIG. 3, the online RMG game is a casino game of pure chance. In flowchart diagram shown in FIG. 6, the online RMG game is a casino game that is not a game of pure chance. In both of the flowchart diagrams in FIGS. 3 and 6, the minigame is not a game of pure chance. These examples are meant as illustrative rather than limiting. In another example embodiment, both the online RMG game and the minigame might be games of pure chance (e.g., both the online RMG game and the minigame might be casino games). Or, the online RMG game might not be a game of pure chance and the minigame might be a game of pure chance (again, both the online RMG game and the minigame might be casino games).
  • FIGS. 7A, 7B, and 7C are views in a graphical user interface (GUI) for a video poker game, in accordance with an example embodiment. As depicted in FIG. 7A, view 701 includes a hand of five face-down cards that have been dealt to a player, e.g., following a wager and play. As shown by the figure, the wager was $100, which the player specified by clicking on GUI button 703. Play was initiated by clicking on button 704, labeled “DEAL”. View 701 also includes the paytable 702 for the video poker game, which shows the payout schedule for winning hands based on the monetary amount wagered. In FIG. 7B, the player has turned over the five cards in view 701 and now has an opportunity to draw a substitute card for each one of them. If the player wants to keep one of the existing cards, the player will click the GUI button labeled “Hold” below the card, such as GUI button 705. When the player clicks the GUI button 706 labeled “DRAW”, the player will receive substitute cards for any cards not held. It will be appreciated that a video slot machine is a game of pure chance or nearly pure chance. It will be appreciated that video poker might be considered a game of strategy and/or skill, if a player is permitted to discard and draw cards. FIG. 7C shows the results of the player's decision to draw substitute cards for all five cards. As indicated by text box 707, the player has won a payout of $100 since the player's substitute cards included a pair of kings, which is better than a pair of jacks. The corresponding entry 708 in the paytable shows that the payout amount is the same monetary amount of the player's wager. To initiate another play with the same wager, the player will click again on the button 704.
  • FIG. 8 is a template message broadcast to a content/activity stream, in accordance with an example embodiment. In an example embodiment, the content/activity stream 801 might be associated with a profile of a social relation (e.g., friend, follower, or contacts) of a player of an online RMG game, e.g., the video poker game described in FIGS. 7A, 7B, and 7C. The content/activity stream and the profile might be maintained by a social networking/social media website accessed through an API by the online RMG website. Or the content/activity stream and the profile might be maintained by the online RMG website itself. In an example embodiment, the social relation might have previously authorized the broadcast, e.g., through a GUI dialog caused to be displayed by the online RMG website. As depicted in FIG. 8, the template message 802 broadcasts the payout of $105 awarded to “Bad Bob” as a result of playing the video poker game. It will be appreciated that such messages might stimulate interest in the video poker game, both among persons who are already playing the video poker game and persons who are not.
  • In an example embodiment, the content of template message 802 might vary depending on the age or other attributes of the social relation. For example, if the social relation is also a player of the online RMG game (e.g., a person who has been verified as eligible to play the online RMG game), the content of the message might be as shown in template message 802. But if the social relation is not a player of the online RMG game or is a person whose age has not been verified, the template message might say something like the following: “Bad Bob has played Jacks or Better (age-requirement 21)”.
  • FIG. 9 is a flowchart diagram that illustrates a process for receiving a play and broadcasting points in an arcade game that includes a minigame which is an online RMG game, in accordance with an example embodiment. In an example embodiment, one or more of the operations in this process might be performed by software (including software 203) running on servers at a website 103, e.g., a website, such as Zynga Inc., hosting an online RMG game. In the same or an alternative embodiment, one or more of the operations in these processes might be performed by software running on personal computing device 102, e.g., (a) instructions in a webpage read by a browser supporting Adobe Shockwave/ActionScript or HTML5/CSS3/JavaScript, or (b) instructions in an app (or in a hybrid app with embedded HTML5) executing on a smartphone. It will be appreciated that ActionScript and JavaScript might be used to implement animation and/or interactivity through a browser, in example embodiments.
  • Here again, the process described in FIG. 9 makes use of the social relations (e.g., friends, followers, contacts, etc.) of a user, according to a contact list, buddy list, social graph, or other control list. It will be appreciated that access to these social relations is controlled by the user. That is to say, the software performing the operations in FIG. 9 (and the other figures) will only have access to these social relations if the user authorizes such access, e.g., through a command entered on a GUI dialog displayed or caused to be displayed by the software. Similarly, in an example embodiment, the software performing the operations in FIG. 9 (and the other figures) might only have access to the profiles and/or content/activity streams of a social relation if authorized by the social relation, e.g., through a command entered on a GUI dialog displayed or caused to be displayed by software at website 103.
  • As depicted in FIG. 9, software (e.g., running on a server and/or client device) verifies that a user of a client device (e.g., smartphone, tablet, or laptop) is eligible to play an online RMG game in which wager and payout are made with real money, in operation 901. In an example embodiment, this operation, which might be performed in conjunction with authentication, includes verifying that the user is old enough to legally play (e.g., age twenty-one or older) using stored data relating to age (e.g., from a birth certificate, passport, driver's licenses, identification (ID) cards, social-security number, etc.) or data relating to age that might be obtained in real time or near real time (e.g., through a web or other API exposed by a governmental agency such as a state department or a department of motor vehicles). Also, in an example embodiment, this operation might include verifying that a user's client's is located within the geographical boundaries of a governmental jurisdiction (e.g., within the state of Nevada or within the city of Atlantic City) using a global-positioning system (GPS), a WiFi positioning system, which includes an indoor positioning system, multilateration, e.g., using radio towers, data such as “check-ins” retrieved from location-based social media; a combination (e.g., a hybrid system) of the foregoing, etc. In an example embodiment, this operation might also include verification that the user meets non-governmental conditions relating to eligibility, e.g., that the user is not a problem gambler, as determined by data in a user profile stored and maintained by website 103. For example, a user might be identified as a problem gambler if a recent credit report for the user is relatively bad and the user has lost a relatively large amount of money in a relatively short period of time.
  • In operation 902, the software causes a GUI view for an arcade game to be displayed on the client device. In an example embodiment, the arcade game is not a game of pure chance. For example, the arcade game might be a video version of an arcade game with social-networking features that involves matching (e.g., a tile-matching or match-3 game) such as Zynga's Ruby Blast or Zynga's Bubble Safari. In an example embodiment, the social-networking features might include allowing a user to invite social relations (e.g., friends, followers, or contacts) to assist with playing the game (e.g., completing a game task) or to join the game. They might also include broadcasting a user's points or other achievements (e.g., power levels) from the game to the content/activity streams of social relations who have authorized such broadcasts (e.g., through a GUI dialog).
  • In operation 903, the software receives input from the user (e.g., a mouse click or a mouse-cursor movement) representing a play (e.g., matching a number of gems or a number of colored bubbles), according to game mechanics for the arcade game. Then, in operation 904, the software causes a GUI view for an online minigame to be displayed on the client device, where the online minigame is an online RMG game (e.g., casino game). In operation 905, the software receives input from the user (e.g., a push of GUI button) representing a wager (e.g., a specification of monetary amount) and/or a play (e.g., a spin of slot machine reels or a poker deal/draw), according to the game mechanics for the online RMG game. Then the software provides a payout for the online RMG game (e.g., using another GUI view for the minigame) and uses the payout to determine bonus points for the arcade game, in operation 906. And in operation 907, the software broadcasts the points for the arcade game (including any bonus points) to persons who are social relations (e.g., friends, followers, or contacts) of the user who have authorized the broadcast (e.g., through a GUI dialog). In an example embodiment, such broadcasting might be accomplished through the use of an application programming interface (API), which might be a web API, exposed by software running on a social networking/media website (e.g., website 106 in FIG. 1). Examples of such APIs include Facebook (REST) API, Facebook Graph API, Twitter API, Bebo's Social Networking API (SNAPI), OpenSocial API, etc. It will be appreciated that the Facebook APIs allow authorized third parties (e.g., third parties with an access token and/or permissions) to access a user's Facebook profile and the content/activity stream (e.g., Facebook News Feed) associated with that profile. Alternatively, the software might broadcast the points for the arcade game (including any bonus points) to persons who are social relations using a messaging protocol such as email, instant messaging, SMS, etc. Here again, in some example embodiments, the software might not perform the broadcasting operation 907.
  • FIG. 10A is a sequence diagram that illustrates a sequence of transmissions associated with a broadcast of a payout in an online RMG game accessed from a social networking/media website, in accordance with an example embodiment. As depicted in this diagram, a player has used a browser 1001 on a personal computing device to log onto a social networking website, e.g., server software 1002 (e.g., Facebook). However, many of the transmissions described in this figure and FIG. 10B might also occur if a player using a smartphone were to run a hybrid app written in Objective C or Java that includes embedded HTML5.
  • In operation 1, the player clicks on a graphic for the game, causing browser 1001 to transmit an HTTP request to server software 1002 (e.g., Facebook) for the game's initial web page. In operation 2, server software 1002 (e.g., Facebook) returns an HTML5, CSS3, and JavaScript (JS) web page consisting of an iFrame (e.g., Facebook “chrome”) and an iFrame HTML tag for the game's initial web page. In operation 3, the browser uses the HTML tag to transmit a request to server software 1003 (e.g., Zynga) for the game's initial web page to display inside the iFrame. The game's initial web page might be an application server page (e.g., PHP 5) or an HTML5 page. In operation 4, the application server page executes on server software 1003 (e.g., Zynga), resulting in requests to databases and other servers as needed to complete generation of the web page, including possibly an HTTP request (not shown) transmitted to an API exposed by server software 1002 (e.g., Facebook). In operation 5, the server software 1003 (e.g. Zynga) returns the game's initial web page (e.g., HTML5, CSS3, and JS) for the browser to display in the iFrame.
  • At some point thereafter, in operation 6, the player clicks on a graphic (e.g., representing a graphical user interface or GUI widget) on a game web page (e.g., HTML5, CSS3, and JS), causing browser 1001 to transmit an HTTP request to server software 1003 (e.g., Zynga). The click might be a play in a minigame resulting in a payout (e.g., with a promotional payout determined by the play in a minigame) that is broadcast to the content/activity streams of social relations (e.g., friends, followers, or contacts) of the user who have authorized such broadcasts. In operation 7, the server software 1003 (e.g. Zynga) returns a web page (e.g., HTML5, CSS3, and JS) to the browser indicating that the request was received. In operation 8, the server software 1003 (e.g., Zynga) transmits an HTTP request to an API exposed by server software 1002 (e.g., Facebook), broadcasting the payout to the content/activity streams of the player's social relations on the social network managed by server software 1002 (e.g., Facebook). It will be appreciated that in order to access the social relations' content/activity streams (e.g., using an access token), the server software 1003 (e.g., Zynga) might have earlier obtained permission from the social relations, e.g., when they became players of the online RMG game or other online games at the online RMG website. Then in operation 9, server software 1002 (e.g., Facebook) sends a response, e.g., in Java Script Object Notation (JSON), to server software 1003 (e.g., Zynga) describing the success or failure of the broadcasting to each content/activity stream.
  • In an alternative example embodiment, the game's initial web page (or some subsequent web page served up by the game) might have an Adobe Flash application (e.g., a Small Web Format (SWF) file) embedded in it. In this alternative example embodiment, the user of browser 1001 might thereafter interact with the Adobe Flash application (e.g., its GUI), causing it to interact with the server software 1002 (e.g., Facebook) and the server software 1003 (e.g., Zynga).
  • FIG. 10B is a sequence diagram that illustrates a sequence of transmissions associated with a broadcast of a payout in an online RMG game accessed from an online RMG website, in accordance with an example embodiment. In operation 1, the player clicks on a graphic for the game, causing browser 1001 to transmit an HTTP request to server software 1003 (e.g., Zynga) for the game's initial web page. The game's initial web page might be an application server page (e.g., PHP 5) or an HTML5 page. In operation 2, the application server page executes on server software 1003 (e.g., Zynga), resulting in requests to databases and other servers as needed to complete generation of the web page, including possibly an HTTP request (not shown) transmitted to an API exposed by server software 1002 (e.g., Facebook). In operation 3, the server software 1003 (e.g. Zynga) returns the game's initial web page (e.g., HTML5, CSS3, and JS) for the browser to display.
  • At some point thereafter, in operation 4, the player clicks on a graphic (e.g., representing a GUI widget) on a game web page (e.g., HTML5, CSS3, and JS), causing browser 1001 to transmit an HTTP request to server software 1003 (e.g., Zynga). The click might be a play in a minigame resulting in a payout (e.g., with a promotional payout determined by the play in a minigame) that is broadcast to the content/activity streams of social relations (e.g., friends, followers, or contacts) of the user who have authorized such broadcasts. In operation 5, the server software 1003 (e.g. Zynga) returns a web page (e.g., HTML5, CSS3, and JS) to the browser indicating that the request was received. In operation 6, the server software 1003 (e.g., Zynga) transmits an HTTP request to an API exposed by server software 1002 (e.g., Facebook), broadcasting the payout to the content/activity streams of the player's social relations on the social network managed by server software 1002 (e.g., Facebook). It will be appreciated that in order to access the social relations' content/ activity streams (e.g., using an access token), the server software 1003 (e.g., Zynga) might have earlier obtained permission from the social relations, e.g., when they joined other Zynga games. Then in operation 7, server software 1002 (e.g., Facebook) sends a response, e.g., in JSON, to server software 1003 (e.g., Zynga) describing the success or failure of the broadcasting to each content/activity stream.
  • Here again, in an alternative example embodiment, the game's initial web page (or some subsequent web page served by the game) might have an Adobe Flash application (e.g., a Small Web Format (SWF) file) embedded in it. In this alternative example embodiment, the user of browser 1001 might thereafter interact with the Adobe Flash application (e.g., its GUI), which, in turn, might interact with the server software 1002 (e.g., Facebook) and the server software 1003 (e.g., Zynga).
  • In terms of the hardware and software platforms involved in FIG. 1, the personal computing device 102 might be (a) a laptop or other personal computer or (b) a mobile device such as a smartphone, (e.g., an iPhone, Android, Blackberry, etc.) or a tablet computer (e.g., an iPad, Kindle, Nook, etc.). In an example embodiment, each of the websites 103, 106, and 108 might be composed of a number of servers connected by a network (e.g., a local area network (LAN) or a WAN) to each other in a cluster or other distributed system which might execute cloud-platform software, e.g., as described above. The servers in websites 103, 106, and 108 might also be connected to persistent storages 105, 107, and 109, respectively. In an example embodiment, persistent storages 105, 107, and 109 might comprise a storage area network (SAN) and/or might include a redundant array of independent disks (RAID).
  • Persistent storage 105 might be used to store algorithms and/or logic, including game mechanics, and data related to an RMG game and its players, including accounting data and data about the players received by website 103 from website 106 (e.g., through an application programming interface (API) exposed by website 106) or website 108 (e.g., through an application programming interface (API) exposed by website 108). In an example embodiment, some of the data from persistent storage 105 might be cached in memory cache 104 a in volatile memory on servers on website 103 (e.g., using (a) an in-memory database or main memory database system (MMDB) or (b) a hybrid in-memory database that also uses persistent storage, in order to improve performance. Persistent storage 107 might be used to store data (including content) associated with a profile and/or content/activity stream for users of a social networking/social media website, e.g., users who are associated with each other through control lists as described above. In an example embodiment, persistent storage 105 might store similar data or content. Some of the data stored in persistent storage 107 might be cached in memory cache 104 b in volatile memory on servers at website 106, in an example embodiment. Persistent storage 109 might be used to store governmental data (e.g., related to age) and/or auditing data (e.g., reports from and/or results from audits of websites such as website 103) and logic (e.g., logic that implements minimum internal control standards and/or technical or other standards).
  • As indicated above, personal computing device 102 might be a laptop or other personal computer. In that event, personal computing device 102 and the servers in website 103 and 106 might include (1) hardware consisting of one or more microprocessors and/or graphics processors (e.g., from the x86 family or the Power family), volatile storage (e.g., RAM), and persistent storage (e.g., a hard disk or flash memory), and (2) an operating system (e.g., Windows, Mac OS, Linux, Windows Server, Mac OS Server, etc.) that runs directly or indirectly (e.g., through virtualization software) on the hardware. Or the operating system might be replaced in whole or in part by a hypervisor or other virtualization software. Alternatively, personal computing device 102 might be a smartphone, tablet computer, or other mobile device that includes (1) hardware consisting of one or more low-power microprocessors and/or graphics processors (e.g., from the ARM family), volatile storage (e.g., RAM), and persistent storage (e.g., flash memory) and (2) an operating system (e.g., iOS, Android, Windows Phone, webOS, Linux, etc.) that runs on the hardware.
  • Also in an example embodiment, personal computing device 102 might include a web browser as an application program or part of an operating system. Examples of web browsers that might execute on personal computing device 102 if it is a laptop or other personal computer include, Internet Explorer, Mozilla Firefox, and Safari. Examples of browsers that might execute on personal computing device 102 if it is a smartphone, tablet computer, or other mobile device include Android Browser, Safari, Mozilla Firefox, and webOS Browser. It will be appreciated that users of personal computing device 102 might use browsers to communicate with software running on the servers at website 103 and at website 106. Alternatively, users of personal computing device 102 might use other application programs to communicate with software running on the servers at website 103 and at website 106. For example, if the personal computing device 102 is a smartphone, tablet computer, or other mobile device, users might use an app (e.g., an app written in Objective C or Java) or a hybrid app (e.g., an app written in Objective C or Java that includes embedded HTML5) to communicate with software running on the servers at website 103 and at website 106.
  • Though the disclosure above has focused on online RMG games, some or all of the operations described above might be used in a gamification application rather than in an online RMG game. It will be appreciated that gamification involves the use of game design techniques, game thinking, and game mechanics to enhance tasks performed in non-game contexts. So for example, some or all of the operations described above might be used in an employee training program.
  • With the above embodiments in mind, it should be understood that the inventions might employ various computer-implemented operations involving data stored in computer systems. These operations are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. Further, the manipulations performed are often referred to in terms, such as producing, identifying, determining, or comparing.
  • Any of the operations described herein that form part of the inventions are useful machine operations. The inventions also relate to a device or an apparatus for performing these operations. The apparatus may be specially constructed for the required purposes, such as the carrier network discussed above, or it may be a general purpose computer selectively activated or configured by a computer program stored in the computer. In particular, various general purpose machines may be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations.
  • The inventions can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data, which can thereafter be read by a computer system. Examples of the computer readable medium include hard drives, network attached storage (NAS), read-only memory, random-access memory, CD-ROMs, CD-Rs, CD-RWs, DVDs, Flash, magnetic tapes, and other optical and non-optical data storage devices. The computer readable medium can also be distributed over a network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • Although example embodiments of the inventions have been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications can be practiced within the scope of the following claims. For example, some or all of the operations might be used with a client device that is not connected via a network to an online RMG website until some time after a wager and a play have been made by a player. Rather, a wager and a play might be stored on the client device and transmitted to an online RMG website at a later time, for collection of the wager and determination of any payout. Furthermore, the operations described above can be ordered, modularized, and/or distributed in any suitable way. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the inventions are not to be limited to the details given herein, but may be modified within the scope and equivalents of the following claims. In the following claims, elements and/or steps do not imply any particular order of operation, unless explicitly stated in the claims or implicitly required by the disclosure.

Claims (20)

What is claimed:
1. A method, comprising:
providing, by a server, a graphical user interface (GUI) view for a first online game to be displayed on a device of a user;
receiving, at the server, a first game input from the device of the user that represents a first play according to game mechanics of the first online game;
providing, by the server, a GUI view for a second game to be displayed on the device of the user, the GUI view for the second game is overlaid on part of the GUI view for the first online game;
receiving, at the server, a second game input from the device of the user representing a second play according to game mechanics for the second game, the second game input is operable for producing a result related to the second game;
responsive to producing the result related to the second game, providing, by the server, the GUI view for the first online game to return to be fully displayed on the device of the user and providing to the user a payout for the first online game and a promotional payout that depends at least in part on the result related to the second game.
2. The method of claim 1, wherein when the first online game returns to be fully displayed on the device of the user, the GUI view for the second game is removed from being overlaid on part of the GUI view for the first online game.
3. The method of claim 2, wherein said providing the GUI view for the second game activates the second game and said providing the GUI view for the first online game to return to be fully displayed deactivates the second game.
4. The method of claim 1, wherein said providing the GUI view for the first online game and providing the GUI view for the second game enables the user to make progress in both the first online game and the second game sequentially.
5. The method of claim 1, wherein when the GUI view for the second game is subsequently displayed to the device of the user, the second game resumes from a game state caused by the second game input.
6. The method of claim 1, further comprising:
verifying, at the server, that the user is eligible to play the first online game, the verifying includes determining that the user is old enough to legally play using data related to age obtained through an application programming interface (API).
7. The method of claim 1, wherein the first online game is a real money game and the second game is not a real money game.
8. The method of claim 7, wherein the payout for the first online game and the promotional payout are for real money.
9. The method of claim 1, wherein said providing the payout for the first online game is calculated based on a paytable associated with the first online game, and wherein the promotional payout is based on a percentage of the payout for the first online game as calculated by the paytable.
10. A method, comprising:
providing, by a server, a graphical user interface (GUI) view for an online game to be displayed to a device of a user;
receiving, by the server, a first game input from the device of the user that represents a wager or a play according to game mechanics of the online game;
providing, by the server, a GUI view for a minigame to be displayed to the device of the user, the providing the GUI view for the minigame activates the minigame;
receiving, at the server, a second game input from the device of the user that represents a play according to game mechanics for the minigame, the second game input is operable for producing a result related to the minigame;
responsive to producing the result related to the minigame, providing, by the server, the GUI view for the first online game to return to be displayed on the device of the user that deactivates the minigame and providing a payout for the first online game to the user and providing a promotional payout that depends at least in part on the result related to the minigame to the user.
11. The method of claim 10, wherein the online game is a real money game and the minigame is not a real money game.
12. The method of claim 11, wherein the payout for the online game and the promotional payout are for real money.
13. The method of claim 10, wherein the minigame is created from a full-length video game, the minigame being subset of the full-length video game.
14. The method of claim 10, wherein the minigame is created from a social game, the minigame includes social-networking features that enable the user to invite a friend to assist with playing the minigame or to join the game, to broadcast an indication of a progress of the user with respect to the minigame.
15. The method of claim 10, wherein said providing the GUI view for the online game and said providing the GUI view for the minigame enables the user to make progress in both the online game and the minigame sequentially.
16. The method of claim 10, wherein when the GUI view for the minigame is subsequently displayed to the device of the user, the minigame is configured to resume from a game state caused by the second game input.
17. The method of claim 10, further comprising:
verifying, at the server, that the user is eligible to play the first online game, the verifying includes determining that the user is old enough to legally play using data related to age obtained through an application programming interface (API).
18. The method of claim 10, wherein said providing the payout for the online game is calculated based on a paytable associated with the first online game, and wherein the promotional payout is based on a percentage of the payout for the online game as calculated based on the paytable.
19. A non-transitory computer-readable storage medium storing a computer program executable by a processor based system, comprising:
program instructions for providing, by a server, a graphical user interface (GUI) view for a first online game to be displayed on a device of a user;
program instructions for receiving, at the server, a first game input from the device of the user that represents a first play according to game mechanics of the first online game;
program instructions for providing, by the server, a GUI view for a second game to be displayed on the device of the user, the GUI view is overlaid on part of the GUI view of the first online game;
program instructions for receiving, at the server, a second game input from the user representing a second play according to game mechanics for the second game, the second game input is operable for producing a result related to the second game;
program instructions for providing, by the server in response to said producing the result related to the second game, the GUI view for the first online game to return to be fully displayed on the device of the user and providing to the user a payout for the first online game and a promotional payout that depends at least in part on the result related to the second game.
20. The non-transitory computer-readable storage medium of claim 19, wherein the first online game is a real money game and the second game is not a real money game, and wherein the payout for the first online game and the promotional payout are for real money.
US15/950,107 2013-08-02 2018-04-10 Nested Online Games for Real Money Gambling Abandoned US20180232992A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/950,107 US20180232992A1 (en) 2013-08-02 2018-04-10 Nested Online Games for Real Money Gambling

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361861962P 2013-08-02 2013-08-02
US14/449,134 US9940787B2 (en) 2013-08-02 2014-07-31 Nested online games for real money gambling
US15/950,107 US20180232992A1 (en) 2013-08-02 2018-04-10 Nested Online Games for Real Money Gambling

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US14/449,134 Continuation US9940787B2 (en) 2013-08-02 2014-07-31 Nested online games for real money gambling

Publications (1)

Publication Number Publication Date
US20180232992A1 true US20180232992A1 (en) 2018-08-16

Family

ID=52428149

Family Applications (2)

Application Number Title Priority Date Filing Date
US14/449,134 Active US9940787B2 (en) 2013-08-02 2014-07-31 Nested online games for real money gambling
US15/950,107 Abandoned US20180232992A1 (en) 2013-08-02 2018-04-10 Nested Online Games for Real Money Gambling

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US14/449,134 Active US9940787B2 (en) 2013-08-02 2014-07-31 Nested online games for real money gambling

Country Status (1)

Country Link
US (2) US9940787B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10916087B2 (en) 2018-10-07 2021-02-09 Synergy Blue Llc Skillfull regulated casino games and gaming machines having progress indicator configured to enable previously unavailable games, wagering opportunities and/or wagering styles

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150090930A (en) * 2014-01-28 2015-08-07 엔에이치엔엔터테인먼트 주식회사 Game method and game system for sharing game scene
JP6488865B2 (en) * 2014-12-04 2019-03-27 セイコーエプソン株式会社 Printing apparatus, printing apparatus control method, and storage medium
US20160158645A1 (en) * 2014-12-07 2016-06-09 Ofir HAZAN System and method for inputting game numbers
US10360752B1 (en) * 2016-01-07 2019-07-23 PlayStudios, Inc. Slot machine device with dynamically generated reel structures
JP7164171B2 (en) * 2018-11-02 2022-11-01 株式会社ユニバーサルエンターテインメント Information processing device and game program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090115901A1 (en) * 2005-07-18 2009-05-07 Thomson Licensing Method and Device for Handling Multiple Video Streams Using Metadata
US20120214571A1 (en) * 2008-07-25 2012-08-23 Roboreus Limited Systems and Methods for Map-Based Lottery Games
US20180207533A1 (en) * 2017-01-24 2018-07-26 Cognant Llc System and method for managing dynamic opt-in experiences in a virtual environment

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010036623A1 (en) * 2000-03-30 2001-11-01 Johnson Richard A. Customized, interactive audio-visual media
GB0120135D0 (en) * 2001-08-17 2001-10-10 Massey Graham P A system for playing interactive games
US7766739B2 (en) * 2004-05-07 2010-08-03 Gamelogic, Inc. Method and apparatus for conducting a game of chance
US8545309B2 (en) * 2005-12-02 2013-10-01 Igt Gaming systems and apparatus for detecting a signal indicative of a problem gambler and dispatching an event in response thereto
US8021231B2 (en) * 2005-12-02 2011-09-20 Walker Digital, Llc Problem gambling detection in tabletop games
US20080261688A1 (en) * 2007-04-18 2008-10-23 Technology Assurance Laboratory, Inc. Automated method and system for a gaming opportunity
US20090198541A1 (en) * 2008-01-18 2009-08-06 Aginfolink Holdings Inc., A Bvi Corporation Enhanced Brand Label Validation
US8363586B2 (en) * 2008-12-31 2013-01-29 Intel Corporation Social networking and advertisements in a mobile device on a local personal area network
US8425326B2 (en) * 2009-02-20 2013-04-23 Activision Publishing, Inc. Social network system and method for use with and integration into a video game
US20110223895A1 (en) * 2010-03-09 2011-09-15 Donald Cloyce Wagda Mobile Processor System to Incentivize Loitering
US20120004037A1 (en) * 2010-07-01 2012-01-05 Internet Gaming Services International On line gaming with real-world data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090115901A1 (en) * 2005-07-18 2009-05-07 Thomson Licensing Method and Device for Handling Multiple Video Streams Using Metadata
US20120214571A1 (en) * 2008-07-25 2012-08-23 Roboreus Limited Systems and Methods for Map-Based Lottery Games
US20180207533A1 (en) * 2017-01-24 2018-07-26 Cognant Llc System and method for managing dynamic opt-in experiences in a virtual environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10916087B2 (en) 2018-10-07 2021-02-09 Synergy Blue Llc Skillfull regulated casino games and gaming machines having progress indicator configured to enable previously unavailable games, wagering opportunities and/or wagering styles

Also Published As

Publication number Publication date
US9940787B2 (en) 2018-04-10
US20150038219A1 (en) 2015-02-05

Similar Documents

Publication Publication Date Title
US9659446B2 (en) Real money gambling payouts that depend on online social activity
US20180232992A1 (en) Nested Online Games for Real Money Gambling
US10354484B2 (en) Social collaboration in community casino game offered as player incentive
US20140106858A1 (en) Winning In A Game An Asset For Another Game
US9613486B2 (en) Slots-fueled adventure
US9779576B2 (en) Methods and systems for magnifying selection windows in roulette games and accessing custom wagering profiles
US9579561B2 (en) Allowing interactive post of an online game within a social network
US9713762B2 (en) Two-wheel roulette game
US20140024462A1 (en) Rewarding Participating Players on a Collaborative Game Task in an Online Game
US10089816B2 (en) Side betting in blackjack game
US10504325B2 (en) Pre-authorized transaction interleaved wagering system
US9965922B2 (en) Viral progressive jackpot
US20190347906A1 (en) Variable skill reward wagering system
US11568716B1 (en) Game system and method with final hand designation feature
US11132866B2 (en) Pseudo skill-based and/or skill-based video gaming system involving a time collection feature and method of utilizing the same
US10388109B2 (en) Multi-hand bet with escalating payouts
US9582958B2 (en) Providing cinematic animation and visualized payoff in a roulette game
US11749065B2 (en) Three-card monte variant with secondary symbols
US10872501B1 (en) Gaming device and system including a timed, skilled-based bonus game and method of using the same
US20140357336A1 (en) Electronic video poker system and method of use

Legal Events

Date Code Title Description
AS Assignment

Owner name: BANK OF AMERICA, N.A., AS LENDER, CALIFORNIA

Free format text: NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS;ASSIGNOR:ZYNGA INC.;REEL/FRAME:049147/0546

Effective date: 20181220

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: ZYNGA INC., CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS LENDER;REEL/FRAME:054701/0393

Effective date: 20201211