US20210319656A1 - Real-time analytics and feedback for electronic gaming machines - Google Patents
Real-time analytics and feedback for electronic gaming machines Download PDFInfo
- Publication number
- US20210319656A1 US20210319656A1 US17/211,994 US202117211994A US2021319656A1 US 20210319656 A1 US20210319656 A1 US 20210319656A1 US 202117211994 A US202117211994 A US 202117211994A US 2021319656 A1 US2021319656 A1 US 2021319656A1
- Authority
- US
- United States
- Prior art keywords
- gaming device
- data
- gaming
- player
- processor
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B11/00—Transmission systems employing sonic, ultrasonic or infrasonic waves
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3225—Data transfer within a gaming system, e.g. data sent between gaming machines and users
- G07F17/3232—Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the operator is informed
- G07F17/3234—Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the operator is informed about the performance of a gaming system, e.g. revenue, diagnosis of the gaming system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3202—Hardware aspects of a gaming system, e.g. components, construction, architecture thereof
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3225—Data transfer within a gaming system, e.g. data sent between gaming machines and users
- G07F17/3232—Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the operator is informed
- G07F17/3237—Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the operator is informed about the players, e.g. profiling, responsible gaming, strategy/behavior of players, location of players
- G07F17/3239—Tracking of individual players
Definitions
- the present disclosure is generally directed to gaming systems and, in particular, toward features providing updates within gaming systems.
- Gaming machines produce large amounts of information during gameplay. For instance, during a gaming session, a gaming machine may produce gameplay data in the form of wager information, cash-in information, cash-out information, win amounts, etc. Gameplay data and other information must first be collected before it can be analyzed. Gaming machines currently report gameplay data and other information via serial ports or Ethernet connections.
- a system comprising: a processor; and a memory device coupled with the memory and comprising instructions stored thereon that, when executed by the processor, cause the processor to: receive a first data stream from a first gaming device, where the first data stream comprises first data describing gameplay events occurring at the first gaming device; receive a second data stream from a second gaming device, where the second data stream comprises second data describing gameplay events occurring at the second gaming device; analyze the first data and the second data; identify a gaming feature to provide to the first gaming device based on the analysis of the first data and the second data; and provide a control signal to the first gaming device that causes the first gaming device to provide the identified gaming feature to a player of the first gaming device.
- a server comprising: a network interface; a processor coupled with the network interface; and a memory device coupled with the processor and comprising instructions that, when executed, cause the processor to: receive first data from a first gaming device describing gameplay events occurring at the first gaming device; receive second data from a second gaming device describing gameplay events occurring at the second gaming device; analyze the first data and the second data; identify a feature to provide to the first gaming device and second gaming device based on the analysis of the first data and the second data; and provide a control signal to the first gaming device and the second gaming device that delivers the feature to the first gaming device and the second gaming device.
- a method of managing a gaming system comprising: receiving, at a processor, first data from a first gaming device describing gameplay events occurring at the first gaming device; receiving, at the processor, second data from a second gaming device describing gameplay events occurring at the second gaming device; analyzing, with the processor, the first data and the second data; identifying, with the processor, a feature to provide to the first gaming device based on the analysis of the first data and the second data; and providing, by the processor, a control signal to the first gaming device that delivers the feature to the first gaming device.
- FIG. 1 is a block diagram of a system including a game management system in accordance with embodiments of the present disclosure
- FIG. 2 is a block diagram depicting details of a gaming device in accordance with embodiments of the present disclosure
- FIG. 3 is a block diagram depicting details of a game management system in accordance with embodiments of the present disclosure
- FIG. 4A is a block diagram depicting details of a game management system receiving data streams from a plurality of gaming machines in accordance with embodiments of the present disclosure
- FIG. 4B is a block diagram depicting details of a game management system providing signals to a plurality of gaming machines in accordance with embodiments of the present disclosure
- FIG. 4C is a block diagram depicting details of a game management system updating a data model in a data store in accordance with embodiments of the present disclosure
- FIG. 5 is a flow diagram depicting a method of analyzing data received from gaming devices in real-time and then providing identified gaming features to the gaming devices based on the real-time analysis in accordance with embodiments of the present disclosure
- FIG. 6 is a flow diagram depicting a method of using data model(s) to provide gaming features to gaming devices during gaming sessions in accordance with embodiments of the present disclosure
- FIG. 7 is a flow diagram depicting a method of providing a gaming feature to a gaming device based on analysis of data models related to player behavior and gaming features in accordance with embodiments of the present disclosure
- FIG. 8 is a flow diagram depicting a method of determining a player will have a likely positive response to a gaming feature and then providing the gaming feature to a gaming device of the player in accordance with embodiments of the present disclosure
- FIG. 9 is a flow diagram depicting a method of transmitting game update signals to gaming devices based on a determined update and based on a gaming device's hardware and software version in accordance with embodiments of the present disclosure
- FIG. 10 is a flow diagram depicting a method of transmitting control signals to gaming devices to provide a gaming feature in response to determining the gaming feature complies with a gambling regulation associated with a location of the gaming device in accordance with embodiments of the present disclosure.
- FIG. 11 is a flow diagram depicting a method of correlating positive behavioral patterns to gaming features and then sending control signals to gaming devices not currently enabled to provide the gaming features in accordance with embodiments of the present disclosure.
- Embodiments of the present disclosure will be described in connection with an Electronic Gaming Machine (EGM), mobile device, and/or gaming device that are configured to interact with a game management system, which may also be referred to as a distributed game management system. While particular embodiments will be described in connection with the game management system having a distributed architecture, it should be appreciated that certain behaviors or features of a gaming device may be carried out with other architectures. For instance, aspects of the present disclosure contemplate that a gaming system may execute various methods and features described herein in a mainframe or centralized game management system. Indeed, the various features described in connection with an EGM, mobile device, and/or gaming device are not limited to use in a distributed game management system, but can be applied to any number of system architectures without departing from the scope of the present disclosure.
- the examples of the game management systems depicted and described herein should not be construed as limiting.
- one example of the game management system may correspond to a casino game management system that is used to track player activity with respect to a particular game natively offered at the EGM (e.g., video poker, slots, keno, etc.).
- the casino game management system in some embodiments, may correspond to a traditional slot Player Tracking System (PTS) that allows a player to play one or more casino games at the EGM.
- PTS slot Player Tracking System
- Another non-limiting example of the game management system may correspond to a sports wagering system. In this particular situation, a player may be allowed to play a traditional casino game at the EGM while also betting and tracking bets placed on sports events (or other wagerable events).
- Various game management systems may have their own player accounts, data formatting requirements, protocols, etc.
- Embodiments of the present disclosure contemplate a gaming device (e.g., an EGM and/or mobile device) that is configured to operate as a thin client with one game instance served to the gaming device by a game management system (e.g., a host server).
- a game management system e.g., a host server
- the game management system may be configured to simultaneously stream a single game instance to a plurality of gaming devices without departing from the scope of the present disclosure.
- gaming devices may also be provided with a return channel to communicate gameplay data back to the game management system for real-time data collection and analysis.
- the data collected in real-time e.g., during gaming sessions conducted by players at the gaming devices
- the game management system may employ machine learning techniques, neural networks, and other Artificial Intelligence (AI) tools to analyze the data received from the various data streams in real-time and determine changes to make to some or all of the gaming device.
- the decision to change one or multiple gaming devices may be made and implemented even while a player is still involved in a gaming session (e.g., the same gaming session for which gameplay data was provided to the game management system).
- the game changes to be made at specific gaming devices may be made in response to player and/or device behavior patterns detected at the game management system.
- Embodiments of the present disclosure contemplate a game management system that enables game customization at one or multiple gaming devices based on each player's interactions with their gaming devices as well as player interactions detected at other gaming devices.
- the game management system may be configured to detect player patterns or behavior patterns that can be responded to within real-time and which result in updates for the various gaming devices.
- the game management system may be configured to utilize machine learning, neural networks, and/or AI, the game management system may be configured to provide updates to gaming devices without human intervention.
- game updates can be made at the game management system and then deployed instantly (e.g., with appropriate regulatory restrictions considered) to multiple gaming devices. This enables gaming devices to be updated almost instantly and within compliance of local gaming regulations. Additionally, a gaming device does not necessarily require as much computing hardware to support one or multiple games since the gaming devices receive a substantial amount of content from a data stream provided by the game management system.
- the game management system is configured to modify a game streamed to one or more gaming devices based on real-time data analytics performed on data streams received from a plurality of different gaming devices. As such, real-time decisions to update gaming devices and features provided by gaming devices can be achieved without requiring additional hardware at the gaming devices themselves.
- FIGS. 1-11 These and other aspects will now be described in further details with reference to FIGS. 1-11 .
- FIG. 1 details of an illustrative gaming system 100 will be described in accordance with at least some embodiments of the present disclosure.
- the components of the system 100 while depicted as having particular instructions and devices, are not necessarily limited to the examples depicted herein. Rather, a system according to embodiments of the present disclosure may include one, some, or all of the components depicted in the system 100 and does not necessarily have to include all of the components in a single device.
- the gaming system 100 is shown to include one or more communication networks 104 that interconnect and facilitate machine-to-machine communications between one or multiple gaming machines 108 and a game management system 116 .
- a communication network 104 may correspond to one or many communication networks or cellular networks without departing from the scope of the present disclosure.
- the gaming machines 108 and game management system 116 may be configured to communicate using various nodes or components of the communication network 104 .
- the communication network 104 may include wired and/or wireless communication technologies.
- the Internet is an example of the communication network 104 that constitutes an Internet Protocol (IP) network consisting of many computers, computing networks, and other communication devices located all over the world, which are connected through many telephone systems and other means.
- IP Internet Protocol
- Other examples of the communication network 104 include, without limitation, a standard Plain Old Telephone System (POTS), an Integrated Services Digital Network (ISDN), the Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a cellular network, and any other type of packet-switched or circuit-switched network known in the art.
- POTS Plain Old Telephone System
- ISDN Integrated Services Digital Network
- PSTN Public Switched Telephone Network
- LAN Local Area Network
- WAN Wide Area Network
- cellular network any other type of packet-switched or circuit-switched network known in the art.
- the communication network 104 need not be limited to any one network type, and instead may be comprised of a number of different networks and/or network types. Moreover, the communication network 104 may comprise a number of different communication media such as coaxial cable, copper cable/wire, fiber-optic cable, antennas for transmitting/receiving wireless messages, and combinations thereof.
- the gaming machines 108 may be distributed throughout a single property or premises (e.g., a single casino floor) or the gaming machines 108 may be distributed among a plurality of different properties.
- three or more gaming machines 108 are depicted as being co-located in a common location (e.g., a first casino) whereas another gaming machine 108 is depicted as being positioned in a location different from the other gaming machines 108 .
- more than one gaming machine 108 may be separated by other gaming machines 108 by one or multiple different communication networks 104 .
- Some or all of the gaming machines 108 in a common physical location may be connected with a cellular access point via a wireless connection.
- a cellular access point made available to a gaming machine 108 may include a cellular base station, a Wi-Fi access point, a modem, a wireless router, or the like.
- the communication network 104 may utilize any type of multiplexing scheme to manage the various communications from multiple gaming machines 108 . Examples of such multiplexing schemes include, without limitation, Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Code Division Multiple Access (CMDA), and/or Space Division Multiple Access (SDMA).
- FDMA Frequency Division Multiple Access
- TDMA Time Division Multiple Access
- CMDA Code Division Multiple Access
- SDMA Space Division Multiple Access
- the various gaming machines 108 may utilize the same or different types of communication protocols to connect with the communication network 104 . It should also be appreciated that the gaming machines 108 may or may not present the same type of game or wagering interface to a player 112 . For instance, a first gaming machine 108 may correspond to a gaming machine that presents a slot game to the player 112 , the second gaming machine 108 may correspond to a sports betting terminal, and other gaming machines 108 may present lottery games or other types of games or a plurality of different games for selection and eventual play by a player 112 .
- a gaming machine 108 may correspond to a type of device that enables player 112 interaction in connection with making wagers, communicating, watching live competitive contests, and/or playing games of chance.
- the gaming machines 108 may correspond to a type of device that enables a first player 112 to interact with a second player 112 at respective gaming machines 108 .
- each player 112 may be enabled to play a game individually at a gaming machine 108 .
- Interactions between users 112 of different gaming machines 108 may be facilitated by audio content sharing techniques which will be described in further detail herein.
- a player 112 may be allowed to carry a mobile device 128 and the mobile device 128 may also be used to interact with the game management system 116 .
- a mobile device 128 and a gaming machine 108 may each be considered a gaming device without departing from the scope of the present disclosure.
- a mobile device 128 may be utilized by the player 112 to create a player account, manage player profile information at the game management system 116 , and/or connect with a gaming machine 108 . It should also be appreciated that a mobile device 128 may be provided with functionality similar or identical to a gaming machine 108 .
- a mobile device 128 may be considered a particular type of gaming device in that a player 112 may utilize the mobile device 128 and resources thereof to play games of chance or other types of wagering games.
- a player 112 may login to the game management system 116 by presenting the mobile device 128 to a gaming machine 108 , which causes components of the gaming machine 108 to initiate a login process with the game management system 116 on behalf of the player 112 .
- a player 112 may anonymously engage in gameplay at a gaming machine 108 and/or mobile device 128 without departing from the scope of the present disclosure.
- the player 112 may present a loyalty card or other physical credential different from the mobile device 128 to log into the game management system 116 and receive features based on the game management system's 116 knowledge of the player's 112 gameplay preferences.
- the game management system 116 may correspond to a system used by a casino operator to manage slot games, video poker games, bingo games, keno games, or the like that are played on one or more of the gaming machines 108 and/or mobile devices 128 .
- the game management system 116 may correspond to a system used by the casino operator to manage sports wagers placed by users 112 either at a sports desk or at a gaming machine 108 .
- the game management system 116 may be used by to manage and execute a lottery game or multiple lottery games.
- the gaming management system 116 may be configured to provide game features and/or game updates to gaming devices via a data stream.
- the game management system 116 may also be configured to customize, in real-time (e.g., while a player 112 is engaged at a gaming session at a gaming device), game features provided to a gaming device based on observed behaviors of the player 112 and/or observed behaviors of other players 112 at other gaming devices 112 .
- the game management system 116 may be configured to utilize machine learning, neural networks, and/or AI tools to analyze gameplay data received from a plurality of gaming devices while players 112 engage in gaming sessions at those gaming devices.
- the game management system 116 further be configured to provide game features and/or game updates to some of those gaming devices even while the player 112 is still engaged in the same gaming session. In this way, customized gameplay content can be streamed to gaming devices in the gaming system 100 based on data received from a plurality of other gaming devices.
- the game management system 116 may be configured to analyze the player 112 behavior and other gameplay data received from various gaming devices with reference to one or more data models 124 .
- the data models may be maintained in a data store 120 that is accessible to the game management system 116 .
- the game management system 116 may be configured to train data models 124 , update data models 124 (e.g., update coefficients of data models), replace data models 124 with new data models 124 , etc. based on observations of data received from the gaming devices. For instance, data received from gaming machines 108 and/or mobile devices 128 may be compared to gameplay data represented in the data model(s) 124 .
- the game management system 116 may decide to update or replace a data model 124 as appropriate. Furthermore, if a data model 124 is determined to be accurate (e.g., within a predefined tolerance of recently-received data), then the data model 124 may be used to analyze future data received from gaming devices and further make decisions on gaming features and/or game updates to provide to the gaming devices.
- FIG. 2 additional details of a gaming device 200 will be described in accordance with at least some embodiments of the present disclosure. It should be appreciated that some or all of the components of a single gaming device 200 may be distributed across multiple gaming devices 200 (of the same or different type) without departing from the scope of the present disclosure. It should also be appreciated that a gaming device 200 may correspond to a gaming device 200 and/or a mobile device 128 without departing from the scope of the present disclosure.
- the gaming device 200 is shown to include machine memory 204 , a processor 236 , a network interface 240 , a reader 248 , a reader driver 252 , a cash-in device 256 , a cash-out device 260 , a ticket acceptance device 264 , a ticket issuance device 268 , and one or more user interface devices 272 .
- the processor 236 may include one or multiple computer processing devices.
- the processor 236 may include a microprocessor, a CPU, a microcontroller, or the like.
- the processor 236 may also be configured to execute one or more instructions stored in machine memory 204 .
- the machine memory 204 may include one or multiple computer memory devices that are volatile or non-volatile.
- the machine memory 204 may be configured to store instructions that enable player 112 interaction with the gaming device 200 , that enable the gaming device 200 to interact with a game of chance, that enable the gaming device 200 to interact with a game management system 116 , and that enable the player 112 to interact with the game management system 116 .
- the machine memory 204 may be provided as a computer-readable medium that stores the instructions and various other data structures or code elements. Examples of instructions that may be stored in the machine memory 204 include game instructions 208 , gameplay reporting instructions 212 , game update instructions 220 , and the like.
- the machine memory 204 is also shown to store various types of data or data sets describing the gaming device 200 , details of a gaming session being conducted by a player 112 at the gaming device 200 , and/or details of a player 112 of the gaming device 200 .
- the machine memory 204 may be used to store preferences and settings 216 , hardware/software version information 224 , gameplay data 228 , and/or a credit meter 232 .
- the game instructions 208 when executed by the processor 236 , may enable the gaming device 200 to facilitate one or more games of chance or skill and produce interactions between the player 112 and the game of chance or skill.
- the game instructions 208 may include subroutines that present one or more graphics and/or audio content to the player 112 via a user interface device 272 in accordance with preferences and settings 216 , subroutines that calculate whether a particular game wager has resulted in a win or loss during the game of chance or skill, subroutines for determining payouts for the player 112 in the event of a win, subroutines for determining whether a player 112 has enough available credits in the credit meter 232 to allow a particular bet or set of bets, and any other subroutine or set of instructions that facilitate gameplay at or in association with the gaming device 200 .
- activities, outputs, or inputs of the game instructions may be stored or recorded as machine state information, which may also be stored in machine memory 204 .
- the game instructions 208 may correspond to instructions that receive game content from the game management system 116 and that render a display via the user interface device(s) 272 for the player 112 of the gaming device 200 based on the game content received from the game management system 116 .
- the gameplay reporting instructions 212 when executed by the processor 236 , may enable the gaming device 200 to determine when to report gameplay data 228 to the game management system 116 and how to communicate the gameplay data 228 to the game management system 116 .
- the gameplay reporting instructions 212 may also be configured to determine when a player 112 is involved in a gaming session at the gaming device 200 and then report predetermined information involving the gaming session (e.g., information describing events that occur during the session, information describing the player 112 , information describing a state of the gaming device 200 , etc.).
- the gameplay reporting instructions 212 may also be configured to format a data stream for transmission to the game management system 116 and then encode appropriate data (e.g., gameplay data 228 , hardware/software version information 224 , preferences and settings 216 , and the like).
- the preferences and settings 216 may correspond to gameplay preferences or settings defined by the player 112 of the gaming device 200 .
- the preferences and settings 216 may be specific to a particular gaming session or may be preserved for use across multiple gaming sessions.
- the preferences and settings 216 may initially correspond to default preferences and settings 216 defined by the gaming device 200 , but may be updated with the player's 112 preferences and settings 216 , which may be different from the default preferences and settings 216 .
- the preferences and settings 216 reported by the gameplay reporting instructions 212 may, in some embodiments, only be reported when changed from a default state to the player's 112 preferred state.
- the gameplay reporting instructions 212 may also be configured to report information from the credit meter 232 and/or information describing the hardware/software version 224 .
- the credit meter 232 may correspond to a device or collection of devices that facilitates a tracking of wager activity or available wager credits at the gaming device 200 . Such credits may be made available for wagers or bets placed on a game managed by the game management system 116 .
- the credit meter 232 may be used to store or log information related to various player 112 activities and events that occur at the gaming device 200 .
- the types of information that may be maintained in the credit meter 232 include, without limitation, player information, available credit information, RTP information, wager amount information, and other types of information that may or may not need to be recorded for purposes of accounting for wagers placed at the gaming device 200 and payouts made for a player 112 during a game of chance or skill played at the gaming device 200 .
- the credit meter 232 may be configured to track coin-in activity, coin-out activity, coin-drop activity, jackpot paid activity, bonus paid activity, credits applied activity, external bonus payout activity, ticket/voucher in activity, ticket/voucher out activity, timing of events that occur at the gaming device 200 , and the like.
- Some or all of the data within the credit meter 232 may be reported to the game management system 116 via coordinated efforts of the processor 236 and network interface 240 .
- information describing the gaming device's hardware and/or software capabilities may be reported to the game management system 116 in the form of the hardware/software version 224 and such reporting may be achieved with coordinated efforts of the processor 236 and network interface 240 .
- the game update instructions 220 when executed by the processor 236 , may enable the gaming device 200 to respond to signals, instructions, or commands received from the game management system 116 and update aspects of the gaming device 200 in response thereto.
- the game update instructions 220 may be configured to update game instructions 208 or game features provided by execution of the game instructions 208 in response to receiving an appropriate signal from the game management system 116 .
- the game update instructions 220 may update preferences and settings 216 or other components of the gaming device 200 .
- the game update instructions 220 may be configured to update or add new games to the game instructions 208 in response to receiving an appropriate signal from the game management system 116 . Such updates may be performed based on the hardware/software version 224 and other capabilities of the gaming device 200 .
- the network interface 240 may correspond to or include any type of device that enables the gaming device 200 to connect with the communication network 104 or with another gaming device 200 .
- the network interface 240 may include one or more communication ports, switches, routes, etc. that connect with a cable or the like.
- the network interface 240 may include an antenna and/or a driver for the antenna that enables the gaming device 200 to wirelessly communicate with other machines.
- the cash-in device 256 may include a bill acceptor, a coin acceptor, a chip acceptor or reader, or the like. In some embodiments, the cash-in device 256 may also include credit card reader hardware and/or software.
- the cash-out device 260 may operate and issue cash, coins, tokens, or chips based on an amount indicated within the credit meter 232 . In some embodiments, the cash-out device 260 may include a coin tray or the like and counting hardware configured to count and distribute an appropriate amount of coins or tokens based on a user's 112 winnings or available credit within the credit meter 232 .
- the gaming device 200 may also be provided with a ticket acceptance device 264 that is configured to accept or scan physically printed tickets/vouchers and extract appropriate information therefrom.
- the ticket acceptance device 264 may include one or more machine vision devices (e.g., a camera, IR scanner, optical scanner, barcode scanner, etc.), a physical ticket acceptor, a shredder, etc.
- the ticket acceptance device 264 may be configured to accept physical tickets and/or electronic tickets without departing from the scope of the present disclosure.
- An electronic ticket/voucher may be accepted by scanning a one-dimensional barcode, two-dimensional barcode, or other type of barcode or quick response (QR) code displayed by a player's 112 mobile communication device 128 , for example.
- QR quick response
- the ticket issuance device 268 may be configured to print or provide physical tickets/vouchers to users 112 . In some embodiments, the ticket issuance device 268 may be configured to issue a ticket/voucher consistent with an amount of credit available to a player 112 , possibly as indicated within the credit meter 232 .
- the user interface device(s) 272 may correspond to any type of mechanical or software-based input and/or output device.
- the user interface device(s) 272 may be provided on a common panel or portion of the gaming device 200 and may be used to initiate a predetermined function in response to being pressed by the player 112 .
- a user interface device 272 may alternatively or additionally take the form of one or more depressible buttons, a lever or “one armed bandit handle,” etc.
- the user interface device(s) 272 may include components that present content to the player 112 in a visual fashion (e.g., displays, lights, screens, etc.).
- the user interface device(s) 272 may include components that present content to the player 112 in an audible fashion (e.g., buzzers, speakers 244 , headphones, etc.).
- the user interface device(s) 272 may also include one or more combined user input/user output devices (e.g., a touch-sensitive display or a lighted button) without departing from the scope of the present disclosure.
- the reader 248 may be configured to read credentials of different types. For instance, the reader 248 may be configured to read the mobile device 124 or other credentials that operate with a defined protocol or utilize an expected data format.
- the format or form factor of a credential carried by the player 112 should not be limited to any particular type of format or form factor. Examples of suitable form factors that may be as a credential include, without limitation, magstripe cards, chip-based cards, contactless/wireless cards, key fobs, mobile devices 128 , optically-readable cards, or the like.
- a player's 112 credential may be capable of being read by a reader 248 when brought within a predetermined distance of the reader 248 (e.g., if the reader 248 includes an antenna and is utilize a contactless communication protocol like Near Field Communications (NFC) or Bluetooth).
- a credential may be capable of being read by a reader 248 when inserted to a slot of a card reader 248 or swiped through a card reader 248 .
- the reader 248 may be provided with any number of hardware and/or software components to enable interactions with a credential. More specifically, each a reader 248 may include one or multiple readers, each of which may be provided with appropriate hardware and/or software components to enable the reader 248 to extract/read data that is stored on a credential and/or mobile device 124 .
- the game management system 116 is shown to include a distributed computing architecture (e.g., a plurality of servers 304 ). Some or all of the servers 304 in the game management system 116 may be configured with similar components, instructions, code sets, or the like, which means that the game management system 116 may correspond to a distributed and highly-available system in which one or more servers 304 act to backup other servers 304 . Alternatively or additionally, the servers 304 of the game management system 116 may be configured for parallel data processing capabilities.
- the servers 304 of the game management system 116 are presented to the outside world (e.g., components outside the system 116 ) as a single entity or node.
- the game management system 116 may appear to gaming machines 108 and/or mobile devices 128 as single computing nodes or servers.
- one or more of the servers 304 may be configured to execute a virtual machine or multiple virtual machines in connection with providing the game management system 116 .
- one or more of the servers 304 may include a processor 308 , a communication interface 312 , and memory 316 .
- the processor 308 may be similar or identical to processor 236 .
- the processor 308 may include one or multiple computer processing devices.
- the processor 308 may include a microprocessor, a CPU, a microcontroller, or the like.
- the processor 308 may also be configured to execute one or more instructions stored in memory 316 .
- the communication interface 312 may enable the server 304 to connect with the wireless communication network 104 and/or communication network 124 .
- the communication interface 312 may include one or more communication ports, switches, routes, etc. that connect with a cable or the like.
- the communication interface 312 may include an antenna and/or a driver for the antenna that enables the server 304 to wirelessly communicate with other machines.
- the memory 316 may be similar or identical to other memory devices depicted and described herein.
- the memory 316 may be similar or identical to machine memory 204 .
- the memory 316 may include one or more volatile or non-volatile memory devices that are configured to store instructions, programs, or other executables for execution by the processor 308 .
- the memory 316 may be configured to store other data to be used in connection with providing game management functions for the gaming machines 108 .
- the illustrative types of programs or executables that may be stored in memory 316 include, without limitation, game management instructions 320 , cloud coordination instructions 324 , a machine learning unit 328 , one or more neural networks 332 , and one or more data models 336 .
- the memory 316 is also shown to include instructions for executing an RNG 340 , though it should be appreciated that functionality of an RNG 340 may be provided by the processor 308 without executing instructions from memory. Rather, the RNG 340 may correspond to a particular routine that is natively built into the processor 308 and/or that relies on a clock of the processor 308 for generating a random or pseudo random output when called.
- the game management instructions 320 when executed by the processor 308 , may enable the server 304 to provide game management features and functions for some or all of the gaming machines 108 , mobile devices 128 , and/or gaming device 200 .
- the game management instructions 320 may be configured to interact with game instructions 208 and receive information transmitted by the gameplay reporting instructions 212 . More specifically, the game management instructions 320 may include subroutines that mirror subroutines in the game instructions 208 .
- the game management instructions 320 may be configured to receive information reported by the gaming device 200 via the gameplay reporting instructions 212 (e.g., outputs of the credit meter 232 , outputs of the game instructions 208 , activity updates, machine state information 220 , player 112 information, etc.) and then produce further outputs for transmission back to the gaming device 200 .
- the further outputs provided back to the gaming device 200 may be used as inputs for the game instructions 208 to continue executing a game of chance for a player 112 .
- the outputs provided back to a gaming device 200 may be determined, at least in part, based on an analysis of data received from a plurality of gaming devices 200 while a player 112 is engaged in a gaming session at a particular gaming device 200 .
- the decision of what output to provide to a gaming device 200 may be made with the assistance of analysis tools provided by the game management system 116 .
- analysis tools include, without limitation, the machine learning unit 328 , the neural network(s) 332 , and the data model(s) 336 .
- the game management instructions 320 may be responsible for enabling player 112 login activities, registering player profile information, and the like. In some embodiments, the game management instructions 320 may be configured to act as a proxy for some portions of code that would otherwise be provided in the game instructions 208 . In such a configuration, the game management instructions 320 may provide a cloud-based or virtualized version of the game instructions 208 that are normally provided on a gaming device 200 itself. As an example, the game management instructions 320 may be configured to stream game content and game features to a gaming device 200 , where the content and features are rendered for presentation to a player 112 of the gaming device 200 .
- the cloud coordination instructions 324 when executed by the processor 308 , may enable the server 304 to coordinate with other servers 304 in the game management system 116 .
- the cloud coordination instructions 324 when executed, may enable a particular server 304 to determine what types of processing activities it is responsible for within the game management system 116 and what types of processing activities are being performed by other servers 304 in the game management system 116 .
- the cloud coordination instructions 324 may utilize any type of coordination protocol that is known to be used within a cloud-computing architecture (e.g., a Web Services (WS)-Coordination Protocol, a negotiation protocol, a race protocol, a control loop protocol, etc.).
- WS Web Services
- the analysis tools provided in a server 304 of the game management system 116 may enable the game management system 116 to analyze inputs from a plurality of gaming devices 200 in real-time and provide outputs to some or all of the plurality of gaming devices 200 in response thereto.
- the machine learning unit 328 , neural network(s) 332 , and data model(s) 336 may enable a server 304 to receive a data stream from a plurality of gaming devices 200 and each data stream may include data that is reported by the gameplay reporting instructions 212 .
- the server 304 may then be configured to analyze the data received in each data stream in real-time, then determine an appropriate output to provide back to one or more of the gaming devices 200 from which the data stream was received. In this way, a player 112 may engage with a particular gaming device 200 and the behavior of that particular gaming device 200 while the player 112 is still engaged with the gaming device 200 may be controlled or altered depending upon data analyzed from that gaming device 200 and other gaming devices 200 .
- the data model(s) 336 may be similar or identical to the data model(s) 124 .
- the primary difference between the two elements is that the data model(s) 336 correspond to an instance of a data model residing in memory 316 of the server 304 whereas the data model(s) 124 correspond to an instance of a data model residing in the data store 120 .
- the side of the data model(s) 124 may be larger than the size of the data model(s) 336 based on the limitations of memory 316 as compared to the data store 120 .
- Either of the data models may be trained on a set of training data, which may include historical gameplay data describing a player's 112 interaction with a gaming device 200 .
- the set of training data used to create a data model may specifically include player 112 identification information, gaming session duration, gameplay events that occurred during a gaming session, player 112 reactions to gameplay events (e.g., as observed by a gaming device 200 or as described by the player 112 themselves), descriptions of player 112 responses to gameplay events, etc.
- the game management system 116 may be configured to update or replace data models 124 , 336 based on observations of player 112 behavior over time and based on inputs received from a plurality of gaming devices 200 .
- Suitable data models 124 , 336 that may be used by the game management system 116 include, without limitation, the neural network(s) 332 (e.g., an artificial neural network), a decision tree, a support vector network, a regression analysis, a Bayesian network, a genetic algorithm, or the like.
- the neural network(s) 332 e.g., an artificial neural network
- a decision tree e.g., a support vector network
- a regression analysis e.g., a Bayesian network
- Bayesian network e.g., a Bayesian network
- genetic algorithm e.g., a genetic algorithm
- the output of a data model 124 , 336 or neural network 332 may include a decision to change a game feature provided by a gaming device 200 , a decision to update a game instruction 208 of a gaming device 200 , an affirmative indication that a player 112 is happy, an indication that a player 112 is unhappy, an affirmative indication that a player 112 may have a positive reaction to a particular game feature, an indication that a game feature is correlated with a player's 112 happiness, an indication that one player 112 and another player 112 have related behavioral characteristics or gameplay habits, an indication that a gaming session is following a known path (e.g., that leads to a predictable outcome), etc.
- a known path e.g., that leads to a predictable outcome
- the output(s) of the data models 124 , 336 and/or neural network(s) 332 may be used by the machine learning unit 328 to provide specific instructions or actions that can be performed by the game management instructions 320 .
- the game management instructions 320 may receive inputs from the machine learning unit 328 , which enable the game management system 116 to react to real-time inputs from various gaming devices 200 and provide specific instructions to gaming devices 200 based on the collective inputs received from many gaming devices 200 .
- a machine learning unit 328 may correspond to any type of machine learning algorithm, process, or program.
- the machine learning unit 328 may be configured to learn from one or more experiences with respect to some class of tasks and performance measures if the machine learning unit 328 improves its performance at a task, as measured by the performance measure.
- the machine learning unit 328 may utilize supervised learning, unsupervised learning, semi-supervised learning, self-learning, feature learning, sparse dictionary learning, and/or reinforcement learning processes.
- the machine learning unit 328 may utilize anomaly detection and/or association rules as a method for discovering anomalous events or relationships between variables in a large data set, such as the data model(s) 124 , 336 .
- the game management system 116 may be configured to receive a plurality of data streams 408 a , 408 b , 408 N from a plurality of different gaming machines 108 a , 108 b , 108 N.
- the devices providing data streams 408 a , 408 b , 408 N may correspond to any example of a gaming device 200 (e.g., a gaming machine 108 and/or mobile device 200 ).
- the game management system 116 is connected to each gaming machine 108 via a data connection 404 that is used to carry the data streams 408 a , 408 b , 408 N produced by each gaming machine 108 a , 108 b , 108 N to the game management system 116 .
- the number, N, of gaming machines 108 that may provide a data stream to the game management system may correspond to any integer value that is greater than or equal to one.
- the data provided by some or all of the data streams 408 a , 408 b , 408 N may include any of the data or information that has been described as being reportable by the gameplay reporting instructions 212 .
- Non-limiting examples of such data and information include preferences and settings 216 , hardware/software version 224 , gameplay data 228 , credit meter 232 information, player 112 description information, game events, player 112 behavior, interactions between the player 112 and the gaming machine 108 , etc.
- the game management system 116 is further shown to be configured to provide one or more signals 412 a , 412 b , 412 N back to each respective gaming machine 108 a , 108 b , 108 N (or gaming device 200 as appropriate).
- the signals 412 a , 412 b , 412 N provided back to gaming machines 108 a , 108 b , 108 N may correspond to control signals, game update signals, or other instructions/inputs that cause the gaming machines 108 a , 108 b , 108 N to produce a particular output or perform a certain action in response to receiving the signal.
- a first gaming machine 108 a may be provided with a first control signal 412 a that causes the first gaming machine 108 a to provide the first player 112 a with a game feature was not previously being provided to the first player 112 a during a gaming session.
- the game management system 116 may be provided to generate the first control signal 412 a based on analysis of data streams 408 a , 408 b , 408 N received from the first gaming machine 108 a and from other gaming machines 408 b , 408 N.
- the game feature provided to the first player 112 a during the gaming session may correspond to a game feature that was already being provided to the second player 112 b and/or Nth player 112 N at their respective gaming machine 108 and the game management system 116 may have determined that the game feature may be positively received by or elicit a positive reaction from the first player 112 a .
- the game management system 116 may generate and provide the first control signal 412 a to the first gaming machine 108 a.
- each signal 412 a , 412 b , 412 N generated for each gaming machine 108 a , 108 b , 108 N may be particularly suited for that gaming machine 108 a , 108 b , 108 N.
- each gaming machine 108 may receive a particular signal that is based on activity detected at that gaming machine 108 , that is suited to a particular hardware/software version of the gaming machine 108 , that is suited to the player 112 at the gaming machine at the instance of time in which the signal 412 is generated and transmitted, etc.
- the data connections 404 may be used to carry the signals 412 from the game management system 116 to the gaming machines 116 , meaning that each of the data connections 404 may correspond to bi-directional data connections. It should be appreciated, however, that multiple unidirectional data connections may also be used without departing from the scope of the present disclosure.
- FIG. 4C further illustrates that the game management system 116 may provide an update signal 420 to the data store 120 via an additional data connection 416 .
- the additional data connection 416 may be similar to data connections 404 or may correspond to a different type of dedicated data connection that does not necessarily extend across a distributed communication network 104 .
- the update signal 420 provided to the data store 120 may be used to update a data model 124 stored in the data store 120 or to replace a data model 124 with a newer version of the data model 124 .
- the game management system 116 may decide to update or replace a data model 124 based on observations of real-time data received via the data streams 408 a , 408 b , 408 N.
- the decision to update or replace a data model 124 may depend upon outputs of the machine learning unit 328 and a determination of whether or not currently received data is validated by or producing an expected output with a particular data model 336 , which may correspond to a version or copy of the data model 124 maintained in the data store 120 .
- FIGS. 5-11 various methods will be described in accordance with at least some embodiments of the present disclosure. It should be appreciated that the disclosed methods may be performed by one, some, or all of the devices depicted and described herein. Said another way, any device within the system 100 may be used to perform some or all of a method depicted and described herein. Moreover, although certain steps are depicted as being performed in a certain order or in connection with a particular method, it should be appreciated that any method step depicted and described herein may be performed in combination with any other method step depicted and described herein.
- the method begins by receiving a first data stream 408 a from a first gaming device 200 at the game management system 116 (step 504 ).
- the method continues by receiving a second data stream 408 b from a second gaming device 200 at the game management system 116 (step 508 ).
- the first data stream 408 a and second data stream 408 b may or may not carry the same type of data.
- each data stream carries the same type of data, but specific to the events occurring at each gaming device.
- each data stream carries different types of data (e.g., one data stream may carry gameplay data 228 whereas another data stream may carry gameplay data 228 and player 112 data if the player 112 has logged into the game management system 116 ).
- the game management system 116 may then utilize the machine learning unit 328 , neural network(s) 332 , and/or data model(s) 336 to analyze the data received from the first data stream 408 a and second data stream 408 b (step 512 ).
- the analysis of the data contained in the data streams may be performed immediately upon receiving the data streams or may be analyzed at some predetermined time after receiving the data streams. In some embodiments, the data is analyzed immediately upon receiving the data streams such that results of the analysis can be obtained while a player 112 is currently involved in a gaming session at the gaming device 200 that provided the data stream.
- the method continues with the game management system 116 identifying a game feature to provide to the first and/or second gaming device 200 (step 516 ).
- the identified game feature may correspond to one or more of a bonus game, a sound effect, a visual effect, a predetermined animation, an entirely new game, a new version of a game already existing on a gaming device 200 , a new background for the game being presented by the gaming device 200 , a bonus opportunity for a game, etc.
- the method may then continue with the game management system 116 generating a control signal for the first and/or second gaming device 200 (step 520 ).
- a control signal may only be generated for a gaming device 200 if the game management system 116 determined the gaming device 200 should receive the identified game feature. In other words, the game management system 116 may not necessarily generate a control signal for a gaming device 200 that is not determined to receive the game feature.
- the method may further continue with the game management system 116 formatting the control signal based on the presentation capabilities of the gaming device 200 (step 524 ).
- a gaming device 200 having a limited visual output device e.g., basic LED or physical reels
- may not necessarily receive a control signal to provide a game feature that requires a more sophisticated visual output device e.g., an LED display screen or LCD display screen.
- the game management system 116 may be configured to generate a control signal that is specific to the target gaming device 200 and uniquely adapted to the target gaming device's presentation capabilities.
- the method continues with the game management system 116 providing the control signal to the first and/or second gaming device, thereby enabling each target gaming device 200 to provide the identified game feature to a player 112 of the gaming device 200 .
- the control signal may include instructions that enable the gaming device 200 to render or produce the game feature immediately in response to receiving the control signal (e.g., instructions that are immediately executable by a driver of the gaming device 200 ).
- the control signal may include parameters that are further provided as inputs to the game instructions 208 and/or game update instructions 220 .
- the method begins when the game management system 116 receives data streams from a plurality of gaming devices 200 (step 604 ).
- the game management system 116 may utilize the machine learning unit 328 to build one or more data models 336 that describe player 112 behaviors during gaming sessions at gaming devices 200 (step 808 ).
- the data models 336 may be trained on hundreds or thousands of gameplay data sets describing events occurring at a gaming device 200 when a player 112 interacts with the gaming device 200 during a gaming session (step 612 ).
- the training of the data models may or may not include user validation (e.g., human feedback). If user validation is desired as part of training the data model(s) 336 , then the method may include requesting validation inputs from an administrative/training user (step 616 ).
- the data model(s) 336 may be used by the machine learning unit 328 and/or game management instructions 320 to analyze further data streams received from gaming devices 200 in real-time and then make decisions to provide game features or update aspects of the gaming devices 200 based on the analysis performed.
- the machine learning unit 328 may also be configured to monitor a performance of the data received from the data streams as compared to the data models 336 to determine if the actual data is deviating from outputs produced by the data models 336 .
- step 620 the method may continue with the game management system 116 determining to update or replace the data model 336 from which the actual data has deviated by more than the predetermined deviation threshold (step 624 ).
- a data model 336 may be updated by changing one or more coefficients connecting one or more nodes in a neural network 332 .
- a data model 336 may updated by adding or subtracting one or more nodes or node levels from the data model 336 to more closely align outputs of the data model to actual data observed on the data streams.
- a data model may be replaced by being deleted from memory and then having a different/new data model stored as a replacement therefor.
- the updated or new/replacement data model(s) 336 may then again be used for analysis of data contained in data streams generated by gaming devices 200 (step 628 ).
- the updated or new data models 336 may be used to continue performing the various analysis (e.g., real-time analysis) tasks depicted and described herein.
- the method begins with the game management system 116 monitoring player 112 interactions with a gaming device 200 during a gaming session (step 704 ).
- the game management system 116 may monitor the player 112 interactions by receiving gameplay data from the gaming device 200 at which the player 112 is positioned.
- the gameplay reporting instructions 212 may report the gameplay data 228 of the gaming device 200 to the game management system 116 via a data stream transmitted to the game management system 116 .
- the game management system 116 may utilize the machine learning unit 328 , neural network(s) 332 , and/or data model(s) 336 to determine that the player 112 is not currently receiving a particular game feature during a gaming session (step 708 ). In response to the determination of step 708 , the game management system 116 may further analyze the data received from the gaming device 200 with the data model(s) 336 or neural networks 332 that are specifically trained to determined if a player behavior is correlated to a gaming feature in either a positive or negative way (step 712 ).
- a data model 336 or neural network may be configured to receive gameplay data describing a player's 112 interactions with a gaming device 200 and produce an output that indicates the player's 112 behavior is positively associated with a game feature, the player's 112 behavior is negatively associated with a game feature, the player 112 would likely respond positively to a new game feature, the player 112 would likely respond negatively to a new game feature, the player 112 enjoys game features of a particular type, the player 112 inputs more wagers for a particular game or game feature, the player 112 has not ever seen a particular game feature before, etc.
- the game management system 116 will determine if there is a high likelihood (e.g., higher likelihood than not) of the player 112 having a positive response to a particular game feature (step 716 ). If this query is answered negatively, then the method returns to step 704 . If this query is answered positively, then the method proceeds with the game management system 116 providing the particular gaming feature to the gaming device 200 while the player 112 is still engaged in a gaming session with the gaming device 200 step 720 ).
- a high likelihood e.g., higher likelihood than not
- the method may further include monitoring the player's 112 response to the particular game feature (e.g., monitoring for increased wager activity, decreased wager activity, increased wager frequency, decreased wager frequency, happy facial expressions, unhappy facial expressions, increased button pressing frequency, increased body temperature, increased heart rate, etc.) to further help train or retrain the data model(s) 336 or neural networks 332 that were used in the analysis of step 712 .
- monitoring the player's 112 response to the particular game feature e.g., monitoring for increased wager activity, decreased wager activity, increased wager frequency, decreased wager frequency, happy facial expressions, unhappy facial expressions, increased button pressing frequency, increased body temperature, increased heart rate, etc.
- the method begins with the game management system 116 determining that a first gaming device 200 is not providing a particular game feature to a player 112 of the first gaming device (e.g., a first player 112 a ) (step 804 ).
- the method continues with the game management system 116 determining that a second gaming device 200 is providing the particular game feature to a player 112 of the second gaming device 200 (e.g., a second player 112 b ) (step 808 ).
- the game management system 116 may then determine, based on an analysis performed with the machine learning unit 328 , neural network(s) 332 , and/or data model(s) 336 that the first and second players have one or more behavior traits in common (step 812 ).
- the behavior traits in common may include one or more of wager behavior, win reactions, loss reactions, gambling history, whether both players are self-identified problem gamblers, etc.
- the method may further continue by determining the second player is interacting with their gaming device 200 differently than the way that the first player is interacting with their gaming device 200 (step 816 ).
- the game management system 116 may determine that the first player will likely have a positive response to the particular gaming feature that is already being provided to the second player (step 820 ). If the game management system 116 determines that the first player will likely have a positive response to the particular game feature, then the method proceeds with the game management system 116 providing the particular game feature to the gaming device 200 of the first player (step 824 ).
- the game feature may be provided to the first player's gaming device 200 by transmitting an appropriate control signal to the gaming device.
- the method begins with the game management system 116 receiving data streams from a plurality of different gaming devices 200 (step 904 ).
- the data streams may then have data extracted therefrom and analyzed using the machine learning unit 328 , neural network(s) 332 , and/or data model(s) 336 (step 908 ).
- the method may continue with the game management system 116 determining that a game update should be provided to at least some of the gaming devices 200 that provided the data streams (step 912 ).
- the game update may correspond to an update of code (e.g., an update of the game instructions 208 ), an update of preferences and settings 216 , or an update to an operating system (e.g., software version) of the gaming device 200 .
- the game management system 116 may continue by determining a hardware and software version associated with each gaming device 200 to be updated (step 916 ).
- each gaming device 200 may enable the game management system 116 to generate a unique and appropriate game update signal for each gaming device.
- the method may, therefore, continue with the game management system 116 generating and transmitting game update signals to each gaming device identified for the update based on each device's hardware and/or software version (step 920 ).
- the method begins with the game management system 116 determining that a gaming device 200 is to receive a game feature from one of the servers 304 (step 1004 ). This determination may be made based on execution of other analysis and decision processes (or steps) depicted and described herein.
- the method continues with the game management system 116 determining a location of the gaming device 200 to be updated along with a gambling regulation that is associated with the location of the gaming device 200 (step 1008 ).
- the gambling regulation may be a state-specific gambling regulation, a game-specific gambling regulation, a casino-specific gambling regulation, or combinations thereof.
- the game management system 116 may then determine whether or not the game feature complies with (or violates) the identified gambling regulation (step 1012 ).
- the game management system 116 may then be configured to only transmit a control signal to the gaming device 200 if the game feature is determined to comply with the local gambling regulation (step 1016 ).
- the game management system 116 may not necessarily transmit a control signal to a gaming device 200 if the game management system 116 knows, a priori, that the update can be legally accepted by the gambling device 200 . Conditioning the transmission of the control signal upon such a determination can help minimize unnecessary data transmissions and preserve network bandwidth.
- the method begins with the game management system 116 analyzing data from a plurality of gaming devices 200 and a number of gaming sessions occurring on those gaming devices 200 concurrently (step 1104 ).
- the data analyzed in step 1104 may correspond to data received from a plurality of different data streams at exactly the same time or within a predetermined timeframe of one another (e.g., within a minute, hour, day, etc.).
- the method may continue with the game management system 116 identifying one or more behavioral patterns of the players based on the analysis of the gameplay data received for each gaming session (step 1108 ).
- the data from the plurality of data streams may be monitored and compared against one another using an anomaly detection model.
- the data from each of the plurality of data streams may be compared against a common data model 336 to determine if one of the data steams is not similar to or validated by the data model 336 .
- the analysis performed by the game management system 116 may aim to correlate positive behavioral patterns to a particular game feature (or set of game features) (step 1112 ). In the event that the game management system 116 is able to correlate a positive behavioral pattern of multiple players 112 to a particular game feature, then the game management system 116 may continue by sending a control signal to gaming devices no currently providing the particular game feature (step 1116 ). The control signal may cause the target gaming device 200 to begin providing the game feature or otherwise update the gaming device such that the gaming device is enabled to provide the gaming feature.
- a “gaming system” or “gaming environment” as used herein refers to various configurations of: (a) one or more central servers, central controllers, or remote hosts; (b) one or more electronic gaming machines such as those located on a casino floor; and/or (c) one or more gaming devices, such as desktop computers, laptop computers, tablet computers or computing devices, personal digital assistants, mobile phones, and other mobile computing devices.
- an EGM refers to any suitable electronic gaming machine which enables a player to play a game (including but not limited to a game of chance, a game of skill, and/or a game of partial skill) to potentially win one or more awards
- the EGM comprises, but is not limited to: a slot machine, a video poker machine, a video lottery terminal, a terminal associated with an electronic table game, a video keno machine, a video bingo machine located on a casino floor, a sports betting terminal, or a kiosk, such as a sports betting kiosk.
- the gaming system of the present disclosure includes: (a) one or more electronic gaming machines in combination with one or more central servers, central controllers, or remote hosts; (b) one or more gaming devices in combination with one or more central servers, central controllers, or remote hosts; (c) one or more gaming devices in combination with one or more electronic gaming machines; (d) one or more gaming devices, one or more electronic gaming machines, and one or more central servers, central controllers, or remote hosts in combination with one another; (e) a single electronic gaming machine; (f) a plurality of electronic gaming machines in combination with one another; (g) a single gaming device; (h) a plurality of gaming devices in combination with one another; (i) a single central server, central controller, or remote host; and/or (j) a plurality of central servers, central controllers, or remote hosts in combination with one another.
- EGM EGM
- gaming device represents one gaming device or a plurality of gaming devices and, in some embodiments, may include an EGM or multiple EGMs.
- server, central server, central controller, or remote host represents one central server, central controller, or remote host or a plurality of central servers, central controllers, or remote hosts.
- the gaming system includes an EGM in combination with a central server, central controller, or remote host.
- the EGM is configured to communicate with the central server, central controller, or remote host through a data network or remote communication link.
- the EGM is configured to communicate with another EGM through the same data network or remote communication link or through a different data network or remote communication link.
- the gaming system includes a plurality of EGMs that are each configured to communicate with a central server, central controller, or remote host through a data network.
- the central server, central controller, or remote host is any suitable computing device (such as a server) that includes at least one processor and at least one memory device or data storage device.
- the EGM includes at least one EGM processor configured to transmit and receive data or signals representing events, messages, commands, or any other suitable information between the EGM and the central server, central controller, or remote host.
- the at least one processor of that EGM is configured to execute the events, messages, or commands represented by such data or signals in conjunction with the operation of the EGM.
- the at least one processor of the central server, central controller, or remote host is configured to transmit and receive data or signals representing events, messages, commands, or any other suitable information between the central server, central controller, or remote host and the EGM.
- the at least one processor of the central server, central controller, or remote host is configured to execute the events, messages, or commands represented by such data or signals in conjunction with the operation of the central server, central controller, or remote host.
- One, more than one, or each of the functions of the central server, central controller, or remote host may be performed by the at least one processor of the EGM.
- one, more than one, or each of the functions of the at least one processor of the EGM may be performed by the at least one processor of the central server, central controller, or remote host.
- computerized instructions for controlling any games (such as any primary or base games and/or any secondary or bonus games) displayed by the EGM are executed by the central server, central controller, or remote host.
- the central server, central controller, or remote host remotely controls any games (or other suitable interfaces) displayed by the EGM, and the EGM is utilized to display such games (or suitable interfaces) and to receive one or more inputs or commands.
- computerized instructions for controlling any games displayed by the EGM are communicated from the central server, central controller, or remote host to the EGM and are stored in at least one memory device of the EGM.
- the at least one processor of the EGM executes the computerized instructions to control any games (or other suitable interfaces) displayed by the EGM.
- one or more of the EGMs are thin client EGMs and one or more of the EGMs are thick client EGMs.
- certain functions of one or more of the EGMs are implemented in a thin client environment, and certain other functions of one or more of the EGMs are implemented in a thick client environment.
- the gaming system includes an EGM and a central server, central controller, or remote host
- computerized instructions for controlling any primary or base games displayed by the EGM are communicated from the central server, central controller, or remote host to the EGM in a thick client configuration
- computerized instructions for controlling any secondary or bonus games or other functions displayed by the EGM are executed by the central server, central controller, or remote host in a thin client configuration.
- the gaming system includes: (a) an EGM configured to communicate with a central server, central controller, or remote host through a data network; and/or (b) a plurality of EGMs configured to communicate with one another through a communication network
- the communication network may include a local area network (LAN) in which the EGMs are located substantially proximate to one another and/or the central server, central controller, or remote host.
- LAN local area network
- the EGMs and the central server, central controller, or remote host are located in a gaming establishment or a portion of a gaming establishment.
- the gaming system includes: (a) an EGM configured to communicate with a central server, central controller, or remote host through a data network; and/or (b) a plurality of EGMs configured to communicate with one another through a communication network
- the communication network may include a wide area network (WAN) in which one or more of the EGMs are not necessarily located substantially proximate to another one of the EGMs and/or the central server, central controller, or remote host.
- WAN wide area network
- one or more of the EGMs are located: (a) in an area of a gaming establishment different from an area of the gaming establishment in which the central server, central controller, or remote host is located; or (b) in a gaming establishment different from the gaming establishment in which the central server, central controller, or remote host is located.
- the central server, central controller, or remote host is not located within a gaming establishment in which the EGMs are located.
- the communication network includes a WAN
- the gaming system includes a central server, central controller, or remote host and an EGM each located in a different gaming establishment in a same geographic area, such as a same city or a same state.
- Gaming systems in which the communication network includes a WAN are substantially identical to gaming systems in which the communication network includes a LAN, though the quantity of EGMs in such gaming systems may vary relative to one another.
- the gaming system includes: (a) an EGM configured to communicate with a central server, central controller, or remote host through a data network; and/or (b) a plurality of EGMs configured to communicate with one another through a communication network
- the communication network may include an internet (such as the Internet) or an intranet.
- an Internet browser of the EGM is usable to access an Internet game page from any location where an Internet connection is available.
- the central server, central controller, or remote host identifies a player before enabling that player to place any wagers on any plays of any wagering games.
- the central server, central controller, or remote host identifies the player by requiring a player account of the player to be logged into via an input of a unique player name and password combination assigned to the player.
- the central server, central controller, or remote host may, however, identify the player in any other suitable manner, such as by validating a player tracking identification number associated with the player; by reading a player tracking card or other smart card inserted into a card reader; by validating a unique player identification number associated with the player by the central server, central controller, or remote host; or by identifying the EGM, such as by identifying the MAC address or the IP address of the Internet facilitator.
- the central server, central controller, or remote host enables placement of one or more wagers on one or more plays of one or more primary or base games and/or one or more secondary or bonus games, and displays those plays via the Internet browser of the EGM.
- the central server, central controller, or remote host enables placement of one or more wagers on one or more plays of one or more primary or base games and/or one or more secondary or bonus games, and displays those plays via the Internet browser of the EGM. Examples of implementations of Internet-based gaming are further described in U.S. Pat. No. 8,764,566, entitled “Internet Remote Game Server,” and U.S. Pat. No. 8,147,334, entitled “Universal Game Server.”
- the central server, central controller, or remote host and the EGM are configured to connect to the data network or remote communications link in any suitable manner.
- a connection is accomplished via: a conventional phone line or other data transmission line, a digital subscriber line (DSL), a T-1 line, a coaxial cable, a fiber optic cable, a wireless or wired routing device, a mobile communications network connection (such as a cellular network or mobile Internet network), or any other suitable medium.
- DSL digital subscriber line
- T-1 line a coaxial cable
- a fiber optic cable such as a cellular network or mobile Internet network
- a mobile communications network connection such as a cellular network or mobile Internet network
- the expansion in the quantity of computing devices and the quantity and speed of Internet connections in recent years increases opportunities for players to use a variety of EGMs to play games from an ever-increasing quantity of remote sites.
- the enhanced bandwidth of digital wireless communications may render such technology suitable for some or all communications, particularly if such communications are encrypted. Higher data transmission speeds may be useful
- aspects of the present disclosure have been illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
- the computer readable media may be a computer readable signal medium or a computer readable storage medium.
- a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
- a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof.
- a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python or the like, conventional procedural programming languages, such as the “C” programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS).
- LAN local area network
- WAN wide area network
- SaaS Software as a Service
- These computer program instructions may also be stored in a computer readable medium that when executed can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions when stored in the computer readable medium produce an article of manufacture including instructions which when executed, cause a computer to implement the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer program instructions may also be loaded onto a computer, other programmable instruction execution apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatuses or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Pinball Game Machines (AREA)
Abstract
Description
- The present application claims priority to U.S. Provisional Application No. 63/008,409, filed Apr. 10, 2020, the entire disclosure of which is hereby incorporated by reference.
- The present disclosure is generally directed to gaming systems and, in particular, toward features providing updates within gaming systems.
- Current gaming machines produce large amounts of information during gameplay. For instance, during a gaming session, a gaming machine may produce gameplay data in the form of wager information, cash-in information, cash-out information, win amounts, etc. Gameplay data and other information must first be collected before it can be analyzed. Gaming machines currently report gameplay data and other information via serial ports or Ethernet connections.
- In certain embodiments, the present disclosure relates to a system, a server, and a method. In some embodiments, a system is provided, comprising: a processor; and a memory device coupled with the memory and comprising instructions stored thereon that, when executed by the processor, cause the processor to: receive a first data stream from a first gaming device, where the first data stream comprises first data describing gameplay events occurring at the first gaming device; receive a second data stream from a second gaming device, where the second data stream comprises second data describing gameplay events occurring at the second gaming device; analyze the first data and the second data; identify a gaming feature to provide to the first gaming device based on the analysis of the first data and the second data; and provide a control signal to the first gaming device that causes the first gaming device to provide the identified gaming feature to a player of the first gaming device.
- In some embodiments, a server is provided, comprising: a network interface; a processor coupled with the network interface; and a memory device coupled with the processor and comprising instructions that, when executed, cause the processor to: receive first data from a first gaming device describing gameplay events occurring at the first gaming device; receive second data from a second gaming device describing gameplay events occurring at the second gaming device; analyze the first data and the second data; identify a feature to provide to the first gaming device and second gaming device based on the analysis of the first data and the second data; and provide a control signal to the first gaming device and the second gaming device that delivers the feature to the first gaming device and the second gaming device.
- In some embodiments, a method of managing a gaming system is provided, comprising: receiving, at a processor, first data from a first gaming device describing gameplay events occurring at the first gaming device; receiving, at the processor, second data from a second gaming device describing gameplay events occurring at the second gaming device; analyzing, with the processor, the first data and the second data; identifying, with the processor, a feature to provide to the first gaming device based on the analysis of the first data and the second data; and providing, by the processor, a control signal to the first gaming device that delivers the feature to the first gaming device.
- Additional features and advantages are described herein and will be apparent from the following Description and the figures.
-
FIG. 1 is a block diagram of a system including a game management system in accordance with embodiments of the present disclosure; -
FIG. 2 is a block diagram depicting details of a gaming device in accordance with embodiments of the present disclosure; -
FIG. 3 is a block diagram depicting details of a game management system in accordance with embodiments of the present disclosure; -
FIG. 4A is a block diagram depicting details of a game management system receiving data streams from a plurality of gaming machines in accordance with embodiments of the present disclosure; -
FIG. 4B is a block diagram depicting details of a game management system providing signals to a plurality of gaming machines in accordance with embodiments of the present disclosure; -
FIG. 4C is a block diagram depicting details of a game management system updating a data model in a data store in accordance with embodiments of the present disclosure; -
FIG. 5 is a flow diagram depicting a method of analyzing data received from gaming devices in real-time and then providing identified gaming features to the gaming devices based on the real-time analysis in accordance with embodiments of the present disclosure; -
FIG. 6 is a flow diagram depicting a method of using data model(s) to provide gaming features to gaming devices during gaming sessions in accordance with embodiments of the present disclosure; -
FIG. 7 is a flow diagram depicting a method of providing a gaming feature to a gaming device based on analysis of data models related to player behavior and gaming features in accordance with embodiments of the present disclosure; -
FIG. 8 is a flow diagram depicting a method of determining a player will have a likely positive response to a gaming feature and then providing the gaming feature to a gaming device of the player in accordance with embodiments of the present disclosure; -
FIG. 9 is a flow diagram depicting a method of transmitting game update signals to gaming devices based on a determined update and based on a gaming device's hardware and software version in accordance with embodiments of the present disclosure; -
FIG. 10 is a flow diagram depicting a method of transmitting control signals to gaming devices to provide a gaming feature in response to determining the gaming feature complies with a gambling regulation associated with a location of the gaming device in accordance with embodiments of the present disclosure; and -
FIG. 11 is a flow diagram depicting a method of correlating positive behavioral patterns to gaming features and then sending control signals to gaming devices not currently enabled to provide the gaming features in accordance with embodiments of the present disclosure. - Embodiments of the present disclosure will be described in connection with an Electronic Gaming Machine (EGM), mobile device, and/or gaming device that are configured to interact with a game management system, which may also be referred to as a distributed game management system. While particular embodiments will be described in connection with the game management system having a distributed architecture, it should be appreciated that certain behaviors or features of a gaming device may be carried out with other architectures. For instance, aspects of the present disclosure contemplate that a gaming system may execute various methods and features described herein in a mainframe or centralized game management system. Indeed, the various features described in connection with an EGM, mobile device, and/or gaming device are not limited to use in a distributed game management system, but can be applied to any number of system architectures without departing from the scope of the present disclosure.
- Moreover, the examples of the game management systems (whether centralized or distributed) depicted and described herein should not be construed as limiting. For instance, one example of the game management system may correspond to a casino game management system that is used to track player activity with respect to a particular game natively offered at the EGM (e.g., video poker, slots, keno, etc.). The casino game management system, in some embodiments, may correspond to a traditional slot Player Tracking System (PTS) that allows a player to play one or more casino games at the EGM. Another non-limiting example of the game management system may correspond to a sports wagering system. In this particular situation, a player may be allowed to play a traditional casino game at the EGM while also betting and tracking bets placed on sports events (or other wagerable events). Various game management systems may have their own player accounts, data formatting requirements, protocols, etc.
- Embodiments of the present disclosure contemplate a gaming device (e.g., an EGM and/or mobile device) that is configured to operate as a thin client with one game instance served to the gaming device by a game management system (e.g., a host server). In some embodiments, the game management system may be configured to simultaneously stream a single game instance to a plurality of gaming devices without departing from the scope of the present disclosure.
- In accordance with at least some embodiments, gaming devices may also be provided with a return channel to communicate gameplay data back to the game management system for real-time data collection and analysis. In some embodiments, the data collected in real-time (e.g., during gaming sessions conducted by players at the gaming devices) may be analyzed and processed by the game management system. The game management system may employ machine learning techniques, neural networks, and other Artificial Intelligence (AI) tools to analyze the data received from the various data streams in real-time and determine changes to make to some or all of the gaming device. The decision to change one or multiple gaming devices may be made and implemented even while a player is still involved in a gaming session (e.g., the same gaming session for which gameplay data was provided to the game management system). In some embodiments, the game changes to be made at specific gaming devices may be made in response to player and/or device behavior patterns detected at the game management system.
- Embodiments of the present disclosure contemplate a game management system that enables game customization at one or multiple gaming devices based on each player's interactions with their gaming devices as well as player interactions detected at other gaming devices. For instance, the game management system may be configured to detect player patterns or behavior patterns that can be responded to within real-time and which result in updates for the various gaming devices. As can be appreciated, because the game management system may be configured to utilize machine learning, neural networks, and/or AI, the game management system may be configured to provide updates to gaming devices without human intervention.
- In accordance with at least some embodiments, game updates can be made at the game management system and then deployed instantly (e.g., with appropriate regulatory restrictions considered) to multiple gaming devices. This enables gaming devices to be updated almost instantly and within compliance of local gaming regulations. Additionally, a gaming device does not necessarily require as much computing hardware to support one or multiple games since the gaming devices receive a substantial amount of content from a data stream provided by the game management system.
- In some embodiments, the game management system is configured to modify a game streamed to one or more gaming devices based on real-time data analytics performed on data streams received from a plurality of different gaming devices. As such, real-time decisions to update gaming devices and features provided by gaming devices can be achieved without requiring additional hardware at the gaming devices themselves.
- These and other aspects will now be described in further details with reference to
FIGS. 1-11 . - With reference initially to
FIG. 1 , details of anillustrative gaming system 100 will be described in accordance with at least some embodiments of the present disclosure. The components of thesystem 100, while depicted as having particular instructions and devices, are not necessarily limited to the examples depicted herein. Rather, a system according to embodiments of the present disclosure may include one, some, or all of the components depicted in thesystem 100 and does not necessarily have to include all of the components in a single device. - The
gaming system 100 is shown to include one ormore communication networks 104 that interconnect and facilitate machine-to-machine communications between one ormultiple gaming machines 108 and agame management system 116. It should be appreciated that acommunication network 104 may correspond to one or many communication networks or cellular networks without departing from the scope of the present disclosure. In some embodiments, thegaming machines 108 andgame management system 116 may be configured to communicate using various nodes or components of thecommunication network 104. - The
communication network 104 may include wired and/or wireless communication technologies. The Internet is an example of thecommunication network 104 that constitutes an Internet Protocol (IP) network consisting of many computers, computing networks, and other communication devices located all over the world, which are connected through many telephone systems and other means. Other examples of thecommunication network 104 include, without limitation, a standard Plain Old Telephone System (POTS), an Integrated Services Digital Network (ISDN), the Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a cellular network, and any other type of packet-switched or circuit-switched network known in the art. In addition, it can be appreciated that thecommunication network 104 need not be limited to any one network type, and instead may be comprised of a number of different networks and/or network types. Moreover, thecommunication network 104 may comprise a number of different communication media such as coaxial cable, copper cable/wire, fiber-optic cable, antennas for transmitting/receiving wireless messages, and combinations thereof. - In some embodiments, the
gaming machines 108 may be distributed throughout a single property or premises (e.g., a single casino floor) or thegaming machines 108 may be distributed among a plurality of different properties. In the depicted embodiment, three ormore gaming machines 108 are depicted as being co-located in a common location (e.g., a first casino) whereas anothergaming machine 108 is depicted as being positioned in a location different from theother gaming machines 108. It should be appreciated that more than onegaming machine 108 may be separated byother gaming machines 108 by one or multipledifferent communication networks 104. - Some or all of the
gaming machines 108 in a common physical location (or within a wireless communication range of one another) may be connected with a cellular access point via a wireless connection. As some non-limiting examples, a cellular access point made available to agaming machine 108 may include a cellular base station, a Wi-Fi access point, a modem, a wireless router, or the like. Thecommunication network 104 may utilize any type of multiplexing scheme to manage the various communications frommultiple gaming machines 108. Examples of such multiplexing schemes include, without limitation, Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Code Division Multiple Access (CMDA), and/or Space Division Multiple Access (SDMA). - The
various gaming machines 108 may utilize the same or different types of communication protocols to connect with thecommunication network 104. It should also be appreciated that thegaming machines 108 may or may not present the same type of game or wagering interface to aplayer 112. For instance, afirst gaming machine 108 may correspond to a gaming machine that presents a slot game to theplayer 112, thesecond gaming machine 108 may correspond to a sports betting terminal, andother gaming machines 108 may present lottery games or other types of games or a plurality of different games for selection and eventual play by aplayer 112. - A
gaming machine 108 may correspond to a type of device that enablesplayer 112 interaction in connection with making wagers, communicating, watching live competitive contests, and/or playing games of chance. For instance, thegaming machines 108 may correspond to a type of device that enables afirst player 112 to interact with asecond player 112 atrespective gaming machines 108. In other embodiments, eachplayer 112 may be enabled to play a game individually at agaming machine 108. Interactions betweenusers 112 ofdifferent gaming machines 108 may be facilitated by audio content sharing techniques which will be described in further detail herein. - As will be discussed in further detail herein, a
player 112 may be allowed to carry amobile device 128 and themobile device 128 may also be used to interact with thegame management system 116. Amobile device 128 and agaming machine 108 may each be considered a gaming device without departing from the scope of the present disclosure. Amobile device 128 may be utilized by theplayer 112 to create a player account, manage player profile information at thegame management system 116, and/or connect with agaming machine 108. It should also be appreciated that amobile device 128 may be provided with functionality similar or identical to agaming machine 108. In some embodiments, amobile device 128 may be considered a particular type of gaming device in that aplayer 112 may utilize themobile device 128 and resources thereof to play games of chance or other types of wagering games. - In some embodiments, a
player 112 may login to thegame management system 116 by presenting themobile device 128 to agaming machine 108, which causes components of thegaming machine 108 to initiate a login process with thegame management system 116 on behalf of theplayer 112. Alternatively or additionally, aplayer 112 may anonymously engage in gameplay at agaming machine 108 and/ormobile device 128 without departing from the scope of the present disclosure. Still further in the alternative, theplayer 112 may present a loyalty card or other physical credential different from themobile device 128 to log into thegame management system 116 and receive features based on the game management system's 116 knowledge of the player's 112 gameplay preferences. - As mentioned above, the
game management system 116 may correspond to a system used by a casino operator to manage slot games, video poker games, bingo games, keno games, or the like that are played on one or more of thegaming machines 108 and/ormobile devices 128. In some embodiments, thegame management system 116 may correspond to a system used by the casino operator to manage sports wagers placed byusers 112 either at a sports desk or at agaming machine 108. As another example, thegame management system 116 may be used by to manage and execute a lottery game or multiple lottery games. As will be discussed in further detail herein, thegaming management system 116 may be configured to provide game features and/or game updates to gaming devices via a data stream. Thegame management system 116 may also be configured to customize, in real-time (e.g., while aplayer 112 is engaged at a gaming session at a gaming device), game features provided to a gaming device based on observed behaviors of theplayer 112 and/or observed behaviors ofother players 112 atother gaming devices 112. As will be described in further detail herein, thegame management system 116 may be configured to utilize machine learning, neural networks, and/or AI tools to analyze gameplay data received from a plurality of gaming devices whileplayers 112 engage in gaming sessions at those gaming devices. Thegame management system 116 further be configured to provide game features and/or game updates to some of those gaming devices even while theplayer 112 is still engaged in the same gaming session. In this way, customized gameplay content can be streamed to gaming devices in thegaming system 100 based on data received from a plurality of other gaming devices. - In some embodiments, the
game management system 116 may be configured to analyze theplayer 112 behavior and other gameplay data received from various gaming devices with reference to one or more data models 124. The data models may be maintained in adata store 120 that is accessible to thegame management system 116. In some embodiments, thegame management system 116 may be configured to train data models 124, update data models 124 (e.g., update coefficients of data models), replace data models 124 with new data models 124, etc. based on observations of data received from the gaming devices. For instance, data received fromgaming machines 108 and/ormobile devices 128 may be compared to gameplay data represented in the data model(s) 124. If the data model(s) 124 vary from the recently-received data, then thegame management system 116 may decide to update or replace a data model 124 as appropriate. Furthermore, if a data model 124 is determined to be accurate (e.g., within a predefined tolerance of recently-received data), then the data model 124 may be used to analyze future data received from gaming devices and further make decisions on gaming features and/or game updates to provide to the gaming devices. - With reference now to
FIG. 2 , additional details of agaming device 200 will be described in accordance with at least some embodiments of the present disclosure. It should be appreciated that some or all of the components of asingle gaming device 200 may be distributed across multiple gaming devices 200 (of the same or different type) without departing from the scope of the present disclosure. It should also be appreciated that agaming device 200 may correspond to agaming device 200 and/or amobile device 128 without departing from the scope of the present disclosure. - The
gaming device 200 is shown to includemachine memory 204, aprocessor 236, anetwork interface 240, areader 248, areader driver 252, a cash-indevice 256, a cash-outdevice 260, aticket acceptance device 264, aticket issuance device 268, and one or moreuser interface devices 272. - The
processor 236 may include one or multiple computer processing devices. In some embodiments, theprocessor 236 may include a microprocessor, a CPU, a microcontroller, or the like. Theprocessor 236 may also be configured to execute one or more instructions stored inmachine memory 204. - The
machine memory 204 may include one or multiple computer memory devices that are volatile or non-volatile. Themachine memory 204 may be configured to store instructions that enableplayer 112 interaction with thegaming device 200, that enable thegaming device 200 to interact with a game of chance, that enable thegaming device 200 to interact with agame management system 116, and that enable theplayer 112 to interact with thegame management system 116. Themachine memory 204 may be provided as a computer-readable medium that stores the instructions and various other data structures or code elements. Examples of instructions that may be stored in themachine memory 204 includegame instructions 208,gameplay reporting instructions 212, game updateinstructions 220, and the like. Themachine memory 204 is also shown to store various types of data or data sets describing thegaming device 200, details of a gaming session being conducted by aplayer 112 at thegaming device 200, and/or details of aplayer 112 of thegaming device 200. As some non-limiting examples, themachine memory 204 may be used to store preferences andsettings 216, hardware/software version information 224,gameplay data 228, and/or acredit meter 232. - The
game instructions 208, when executed by theprocessor 236, may enable thegaming device 200 to facilitate one or more games of chance or skill and produce interactions between theplayer 112 and the game of chance or skill. In some embodiments, thegame instructions 208 may include subroutines that present one or more graphics and/or audio content to theplayer 112 via auser interface device 272 in accordance with preferences andsettings 216, subroutines that calculate whether a particular game wager has resulted in a win or loss during the game of chance or skill, subroutines for determining payouts for theplayer 112 in the event of a win, subroutines for determining whether aplayer 112 has enough available credits in thecredit meter 232 to allow a particular bet or set of bets, and any other subroutine or set of instructions that facilitate gameplay at or in association with thegaming device 200. In some embodiments, activities, outputs, or inputs of the game instructions may be stored or recorded as machine state information, which may also be stored inmachine memory 204. In some embodiments, thegame instructions 208 may correspond to instructions that receive game content from thegame management system 116 and that render a display via the user interface device(s) 272 for theplayer 112 of thegaming device 200 based on the game content received from thegame management system 116. - The
gameplay reporting instructions 212, when executed by theprocessor 236, may enable thegaming device 200 to determine when to reportgameplay data 228 to thegame management system 116 and how to communicate thegameplay data 228 to thegame management system 116. Thegameplay reporting instructions 212 may also be configured to determine when aplayer 112 is involved in a gaming session at thegaming device 200 and then report predetermined information involving the gaming session (e.g., information describing events that occur during the session, information describing theplayer 112, information describing a state of thegaming device 200, etc.). Thegameplay reporting instructions 212 may also be configured to format a data stream for transmission to thegame management system 116 and then encode appropriate data (e.g.,gameplay data 228, hardware/software version information 224, preferences andsettings 216, and the like). - In some embodiments, the preferences and
settings 216 may correspond to gameplay preferences or settings defined by theplayer 112 of thegaming device 200. The preferences andsettings 216 may be specific to a particular gaming session or may be preserved for use across multiple gaming sessions. In some embodiments, the preferences andsettings 216 may initially correspond to default preferences andsettings 216 defined by thegaming device 200, but may be updated with the player's 112 preferences andsettings 216, which may be different from the default preferences andsettings 216. The preferences andsettings 216 reported by thegameplay reporting instructions 212 may, in some embodiments, only be reported when changed from a default state to the player's 112 preferred state. - The
gameplay reporting instructions 212 may also be configured to report information from thecredit meter 232 and/or information describing the hardware/software version 224. Thecredit meter 232 may correspond to a device or collection of devices that facilitates a tracking of wager activity or available wager credits at thegaming device 200. Such credits may be made available for wagers or bets placed on a game managed by thegame management system 116. In some embodiments, thecredit meter 232 may be used to store or log information related tovarious player 112 activities and events that occur at thegaming device 200. The types of information that may be maintained in thecredit meter 232 include, without limitation, player information, available credit information, RTP information, wager amount information, and other types of information that may or may not need to be recorded for purposes of accounting for wagers placed at thegaming device 200 and payouts made for aplayer 112 during a game of chance or skill played at thegaming device 200. In some embodiments, thecredit meter 232 may be configured to track coin-in activity, coin-out activity, coin-drop activity, jackpot paid activity, bonus paid activity, credits applied activity, external bonus payout activity, ticket/voucher in activity, ticket/voucher out activity, timing of events that occur at thegaming device 200, and the like. Some or all of the data within thecredit meter 232 may be reported to thegame management system 116 via coordinated efforts of theprocessor 236 andnetwork interface 240. Likewise, information describing the gaming device's hardware and/or software capabilities may be reported to thegame management system 116 in the form of the hardware/software version 224 and such reporting may be achieved with coordinated efforts of theprocessor 236 andnetwork interface 240. - The
game update instructions 220, when executed by theprocessor 236, may enable thegaming device 200 to respond to signals, instructions, or commands received from thegame management system 116 and update aspects of thegaming device 200 in response thereto. For instance, thegame update instructions 220 may be configured to updategame instructions 208 or game features provided by execution of thegame instructions 208 in response to receiving an appropriate signal from thegame management system 116. Alternatively or additionally, thegame update instructions 220 may update preferences andsettings 216 or other components of thegaming device 200. Further still, thegame update instructions 220 may be configured to update or add new games to thegame instructions 208 in response to receiving an appropriate signal from thegame management system 116. Such updates may be performed based on the hardware/software version 224 and other capabilities of thegaming device 200. - The
network interface 240 may correspond to or include any type of device that enables thegaming device 200 to connect with thecommunication network 104 or with anothergaming device 200. In some embodiments, thenetwork interface 240 may include one or more communication ports, switches, routes, etc. that connect with a cable or the like. Alternatively or additionally, thenetwork interface 240 may include an antenna and/or a driver for the antenna that enables thegaming device 200 to wirelessly communicate with other machines. - The cash-in
device 256 may include a bill acceptor, a coin acceptor, a chip acceptor or reader, or the like. In some embodiments, the cash-indevice 256 may also include credit card reader hardware and/or software. The cash-outdevice 260 may operate and issue cash, coins, tokens, or chips based on an amount indicated within thecredit meter 232. In some embodiments, the cash-outdevice 260 may include a coin tray or the like and counting hardware configured to count and distribute an appropriate amount of coins or tokens based on a user's 112 winnings or available credit within thecredit meter 232. - The
gaming device 200 may also be provided with aticket acceptance device 264 that is configured to accept or scan physically printed tickets/vouchers and extract appropriate information therefrom. In some embodiments, theticket acceptance device 264 may include one or more machine vision devices (e.g., a camera, IR scanner, optical scanner, barcode scanner, etc.), a physical ticket acceptor, a shredder, etc. Theticket acceptance device 264 may be configured to accept physical tickets and/or electronic tickets without departing from the scope of the present disclosure. An electronic ticket/voucher may be accepted by scanning a one-dimensional barcode, two-dimensional barcode, or other type of barcode or quick response (QR) code displayed by a player's 112mobile communication device 128, for example. - The
ticket issuance device 268 may be configured to print or provide physical tickets/vouchers tousers 112. In some embodiments, theticket issuance device 268 may be configured to issue a ticket/voucher consistent with an amount of credit available to aplayer 112, possibly as indicated within thecredit meter 232. - The user interface device(s) 272 may correspond to any type of mechanical or software-based input and/or output device. In some embodiments, the user interface device(s) 272 may be provided on a common panel or portion of the
gaming device 200 and may be used to initiate a predetermined function in response to being pressed by theplayer 112. In addition to the examples ofuser interface devices 272 described above, it should be appreciated that auser interface device 272 may alternatively or additionally take the form of one or more depressible buttons, a lever or “one armed bandit handle,” etc. The user interface device(s) 272 may include components that present content to theplayer 112 in a visual fashion (e.g., displays, lights, screens, etc.). The user interface device(s) 272 may include components that present content to theplayer 112 in an audible fashion (e.g., buzzers, speakers 244, headphones, etc.). The user interface device(s) 272 may also include one or more combined user input/user output devices (e.g., a touch-sensitive display or a lighted button) without departing from the scope of the present disclosure. - The
reader 248 may be configured to read credentials of different types. For instance, thereader 248 may be configured to read the mobile device 124 or other credentials that operate with a defined protocol or utilize an expected data format. The format or form factor of a credential carried by theplayer 112 should not be limited to any particular type of format or form factor. Examples of suitable form factors that may be as a credential include, without limitation, magstripe cards, chip-based cards, contactless/wireless cards, key fobs,mobile devices 128, optically-readable cards, or the like. It should be appreciated that a player's 112 credential may be capable of being read by areader 248 when brought within a predetermined distance of the reader 248 (e.g., if thereader 248 includes an antenna and is utilize a contactless communication protocol like Near Field Communications (NFC) or Bluetooth). Alternatively or additionally, a credential may be capable of being read by areader 248 when inserted to a slot of acard reader 248 or swiped through acard reader 248. To the extent that the form factor of a credential can vary and is not limited, it should be appreciated that thereader 248 may be provided with any number of hardware and/or software components to enable interactions with a credential. More specifically, each areader 248 may include one or multiple readers, each of which may be provided with appropriate hardware and/or software components to enable thereader 248 to extract/read data that is stored on a credential and/or mobile device 124. - With reference now to
FIG. 3 , additional details of agame management system 116 will be described in accordance with at least some embodiments of the present disclosure. Thegame management system 116 is shown to include a distributed computing architecture (e.g., a plurality of servers 304). Some or all of theservers 304 in thegame management system 116 may be configured with similar components, instructions, code sets, or the like, which means that thegame management system 116 may correspond to a distributed and highly-available system in which one ormore servers 304 act to backupother servers 304. Alternatively or additionally, theservers 304 of thegame management system 116 may be configured for parallel data processing capabilities. In some embodiments, theservers 304 of thegame management system 116 are presented to the outside world (e.g., components outside the system 116) as a single entity or node. Thegame management system 116 may appear togaming machines 108 and/ormobile devices 128 as single computing nodes or servers. Although not depicted, one or more of theservers 304 may be configured to execute a virtual machine or multiple virtual machines in connection with providing thegame management system 116. - Although details of a
single server 304 are shown inFIG. 3 , it should be appreciated that theother servers 304 may be provided with similar or identical components. Alternatively, some components depicted inFIG. 3 may be provided in one server whereas other components may be provided in another server. For illustrative purposes, one or more of theservers 304 may include aprocessor 308, acommunication interface 312, andmemory 316. - The
processor 308 may be similar or identical toprocessor 236. In some embodiments, theprocessor 308 may include one or multiple computer processing devices. In some embodiments, theprocessor 308 may include a microprocessor, a CPU, a microcontroller, or the like. Theprocessor 308 may also be configured to execute one or more instructions stored inmemory 316. - The
communication interface 312 may enable theserver 304 to connect with thewireless communication network 104 and/or communication network 124. Thecommunication interface 312 may include one or more communication ports, switches, routes, etc. that connect with a cable or the like. Alternatively or additionally, thecommunication interface 312 may include an antenna and/or a driver for the antenna that enables theserver 304 to wirelessly communicate with other machines. - The
memory 316 may be similar or identical to other memory devices depicted and described herein. For instance, thememory 316 may be similar or identical tomachine memory 204. Thememory 316 may include one or more volatile or non-volatile memory devices that are configured to store instructions, programs, or other executables for execution by theprocessor 308. Alternatively or additionally, thememory 316 may be configured to store other data to be used in connection with providing game management functions for thegaming machines 108. The illustrative types of programs or executables that may be stored inmemory 316 include, without limitation,game management instructions 320,cloud coordination instructions 324, amachine learning unit 328, one or moreneural networks 332, and one ormore data models 336. Thememory 316 is also shown to include instructions for executing anRNG 340, though it should be appreciated that functionality of anRNG 340 may be provided by theprocessor 308 without executing instructions from memory. Rather, theRNG 340 may correspond to a particular routine that is natively built into theprocessor 308 and/or that relies on a clock of theprocessor 308 for generating a random or pseudo random output when called. - The
game management instructions 320, when executed by theprocessor 308, may enable theserver 304 to provide game management features and functions for some or all of thegaming machines 108,mobile devices 128, and/orgaming device 200. In some embodiments, thegame management instructions 320 may be configured to interact withgame instructions 208 and receive information transmitted by thegameplay reporting instructions 212. More specifically, thegame management instructions 320 may include subroutines that mirror subroutines in thegame instructions 208. As another example, thegame management instructions 320 may be configured to receive information reported by thegaming device 200 via the gameplay reporting instructions 212 (e.g., outputs of thecredit meter 232, outputs of thegame instructions 208, activity updates,machine state information 220,player 112 information, etc.) and then produce further outputs for transmission back to thegaming device 200. The further outputs provided back to thegaming device 200 may be used as inputs for thegame instructions 208 to continue executing a game of chance for aplayer 112. As will be discussed in further detail herein, the outputs provided back to agaming device 200 may be determined, at least in part, based on an analysis of data received from a plurality ofgaming devices 200 while aplayer 112 is engaged in a gaming session at aparticular gaming device 200. Moreover, the decision of what output to provide to agaming device 200 may be made with the assistance of analysis tools provided by thegame management system 116. Examples of such analysis tools include, without limitation, themachine learning unit 328, the neural network(s) 332, and the data model(s) 336. - In some embodiments, the
game management instructions 320 may be responsible for enablingplayer 112 login activities, registering player profile information, and the like. In some embodiments, thegame management instructions 320 may be configured to act as a proxy for some portions of code that would otherwise be provided in thegame instructions 208. In such a configuration, thegame management instructions 320 may provide a cloud-based or virtualized version of thegame instructions 208 that are normally provided on agaming device 200 itself. As an example, thegame management instructions 320 may be configured to stream game content and game features to agaming device 200, where the content and features are rendered for presentation to aplayer 112 of thegaming device 200. - The
cloud coordination instructions 324, when executed by theprocessor 308, may enable theserver 304 to coordinate withother servers 304 in thegame management system 116. Thecloud coordination instructions 324, when executed, may enable aparticular server 304 to determine what types of processing activities it is responsible for within thegame management system 116 and what types of processing activities are being performed byother servers 304 in thegame management system 116. In some embodiments, thecloud coordination instructions 324 may utilize any type of coordination protocol that is known to be used within a cloud-computing architecture (e.g., a Web Services (WS)-Coordination Protocol, a negotiation protocol, a race protocol, a control loop protocol, etc.). - The analysis tools provided in a
server 304 of thegame management system 116 may enable thegame management system 116 to analyze inputs from a plurality ofgaming devices 200 in real-time and provide outputs to some or all of the plurality ofgaming devices 200 in response thereto. Said another way, themachine learning unit 328, neural network(s) 332, and data model(s) 336 may enable aserver 304 to receive a data stream from a plurality ofgaming devices 200 and each data stream may include data that is reported by thegameplay reporting instructions 212. Theserver 304 may then be configured to analyze the data received in each data stream in real-time, then determine an appropriate output to provide back to one or more of thegaming devices 200 from which the data stream was received. In this way, aplayer 112 may engage with aparticular gaming device 200 and the behavior of thatparticular gaming device 200 while theplayer 112 is still engaged with thegaming device 200 may be controlled or altered depending upon data analyzed from thatgaming device 200 andother gaming devices 200. - The data model(s) 336 may be similar or identical to the data model(s) 124. The primary difference between the two elements is that the data model(s) 336 correspond to an instance of a data model residing in
memory 316 of theserver 304 whereas the data model(s) 124 correspond to an instance of a data model residing in thedata store 120. In some embodiments, the side of the data model(s) 124 may be larger than the size of the data model(s) 336 based on the limitations ofmemory 316 as compared to thedata store 120. Either of the data models may be trained on a set of training data, which may include historical gameplay data describing a player's 112 interaction with agaming device 200. The set of training data used to create a data model may specifically includeplayer 112 identification information, gaming session duration, gameplay events that occurred during a gaming session,player 112 reactions to gameplay events (e.g., as observed by agaming device 200 or as described by theplayer 112 themselves), descriptions ofplayer 112 responses to gameplay events, etc. As will be discussed in further detail herein, thegame management system 116 may be configured to update or replacedata models 124, 336 based on observations ofplayer 112 behavior over time and based on inputs received from a plurality ofgaming devices 200. - Examples of
suitable data models 124, 336 that may be used by thegame management system 116 include, without limitation, the neural network(s) 332 (e.g., an artificial neural network), a decision tree, a support vector network, a regression analysis, a Bayesian network, a genetic algorithm, or the like. In some embodiments, one or more inputs received fromgaming devices 200 may be provided as inputs to thedata model 124, 336, which subsequently provide an output or decision. As some non-limiting examples, the output of adata model 124, 336 orneural network 332 may include a decision to change a game feature provided by agaming device 200, a decision to update agame instruction 208 of agaming device 200, an affirmative indication that aplayer 112 is happy, an indication that aplayer 112 is unhappy, an affirmative indication that aplayer 112 may have a positive reaction to a particular game feature, an indication that a game feature is correlated with a player's 112 happiness, an indication that oneplayer 112 and anotherplayer 112 have related behavioral characteristics or gameplay habits, an indication that a gaming session is following a known path (e.g., that leads to a predictable outcome), etc. The output(s) of thedata models 124, 336 and/or neural network(s) 332 may be used by themachine learning unit 328 to provide specific instructions or actions that can be performed by thegame management instructions 320. In other words, thegame management instructions 320 may receive inputs from themachine learning unit 328, which enable thegame management system 116 to react to real-time inputs fromvarious gaming devices 200 and provide specific instructions togaming devices 200 based on the collective inputs received frommany gaming devices 200. - A
machine learning unit 328 may correspond to any type of machine learning algorithm, process, or program. Themachine learning unit 328 may be configured to learn from one or more experiences with respect to some class of tasks and performance measures if themachine learning unit 328 improves its performance at a task, as measured by the performance measure. Illustratively, themachine learning unit 328 may utilize supervised learning, unsupervised learning, semi-supervised learning, self-learning, feature learning, sparse dictionary learning, and/or reinforcement learning processes. Alternatively or additionally, themachine learning unit 328 may utilize anomaly detection and/or association rules as a method for discovering anomalous events or relationships between variables in a large data set, such as the data model(s) 124, 336. - As can be seen in
FIG. 4A , thegame management system 116 may be configured to receive a plurality of data streams 408 a, 408 b, 408N from a plurality of 108 a, 108 b, 108N. Although depicted asdifferent gaming machines gaming machines 108, it should be appreciated that the devices providing 408 a, 408 b, 408N may correspond to any example of a gaming device 200 (e.g., adata streams gaming machine 108 and/or mobile device 200). In the depicted embodiment, thegame management system 116 is connected to eachgaming machine 108 via adata connection 404 that is used to carry the data streams 408 a, 408 b, 408N produced by each 108 a, 108 b, 108N to thegaming machine game management system 116. The number, N, ofgaming machines 108 that may provide a data stream to the game management system may correspond to any integer value that is greater than or equal to one. - The data provided by some or all of the data streams 408 a, 408 b, 408N may include any of the data or information that has been described as being reportable by the
gameplay reporting instructions 212. Non-limiting examples of such data and information include preferences andsettings 216, hardware/software version 224,gameplay data 228,credit meter 232 information,player 112 description information, game events,player 112 behavior, interactions between theplayer 112 and thegaming machine 108, etc. - In
FIG. 4B , thegame management system 116 is further shown to be configured to provide one or 412 a, 412 b, 412N back to eachmore signals 108 a, 108 b, 108N (orrespective gaming machine gaming device 200 as appropriate). The 412 a, 412 b, 412N provided back tosignals 108 a, 108 b, 108N may correspond to control signals, game update signals, or other instructions/inputs that cause thegaming machines 108 a, 108 b, 108N to produce a particular output or perform a certain action in response to receiving the signal. As a non-limiting example, agaming machines first gaming machine 108 a may be provided with a first control signal 412 a that causes thefirst gaming machine 108 a to provide thefirst player 112 a with a game feature was not previously being provided to thefirst player 112 a during a gaming session. Thegame management system 116 may be provided to generate the first control signal 412 a based on analysis of data streams 408 a, 408 b, 408N received from thefirst gaming machine 108 a and from 408 b, 408N. Moreover, the game feature provided to theother gaming machines first player 112 a during the gaming session may correspond to a game feature that was already being provided to thesecond player 112 b and/orNth player 112N at theirrespective gaming machine 108 and thegame management system 116 may have determined that the game feature may be positively received by or elicit a positive reaction from thefirst player 112 a. In response to making such a determination, thegame management system 116 may generate and provide the first control signal 412 a to thefirst gaming machine 108 a. - In some embodiments, each signal 412 a, 412 b, 412N generated for each
108 a, 108 b, 108N may be particularly suited for thatgaming machine 108 a, 108 b, 108N. For instance, eachgaming machine gaming machine 108 may receive a particular signal that is based on activity detected at thatgaming machine 108, that is suited to a particular hardware/software version of thegaming machine 108, that is suited to theplayer 112 at the gaming machine at the instance of time in which the signal 412 is generated and transmitted, etc. Thedata connections 404 may be used to carry the signals 412 from thegame management system 116 to thegaming machines 116, meaning that each of thedata connections 404 may correspond to bi-directional data connections. It should be appreciated, however, that multiple unidirectional data connections may also be used without departing from the scope of the present disclosure. -
FIG. 4C further illustrates that thegame management system 116 may provide anupdate signal 420 to thedata store 120 via anadditional data connection 416. Theadditional data connection 416 may be similar todata connections 404 or may correspond to a different type of dedicated data connection that does not necessarily extend across a distributedcommunication network 104. In some embodiments, theupdate signal 420 provided to thedata store 120 may be used to update a data model 124 stored in thedata store 120 or to replace a data model 124 with a newer version of the data model 124. As will be discussed in further detail herein, thegame management system 116 may decide to update or replace a data model 124 based on observations of real-time data received via the data streams 408 a, 408 b, 408N. Moreover, the decision to update or replace a data model 124 may depend upon outputs of themachine learning unit 328 and a determination of whether or not currently received data is validated by or producing an expected output with aparticular data model 336, which may correspond to a version or copy of the data model 124 maintained in thedata store 120. - With reference now to
FIGS. 5-11 , various methods will be described in accordance with at least some embodiments of the present disclosure. It should be appreciated that the disclosed methods may be performed by one, some, or all of the devices depicted and described herein. Said another way, any device within thesystem 100 may be used to perform some or all of a method depicted and described herein. Moreover, although certain steps are depicted as being performed in a certain order or in connection with a particular method, it should be appreciated that any method step depicted and described herein may be performed in combination with any other method step depicted and described herein. - Referring initially to
FIG. 5 , a method of analyzing data received fromgaming devices 200 in real-time and then providing identified gaming features to thegaming devices 200 based on the real-time analysis will be described in accordance with embodiments of the present disclosure. The method begins by receiving afirst data stream 408 a from afirst gaming device 200 at the game management system 116 (step 504). The method continues by receiving asecond data stream 408 b from asecond gaming device 200 at the game management system 116 (step 508). Thefirst data stream 408 a andsecond data stream 408 b may or may not carry the same type of data. In some embodiments, each data stream carries the same type of data, but specific to the events occurring at each gaming device. In some embodiments, each data stream carries different types of data (e.g., one data stream may carrygameplay data 228 whereas another data stream may carrygameplay data 228 andplayer 112 data if theplayer 112 has logged into the game management system 116). - The
game management system 116 may then utilize themachine learning unit 328, neural network(s) 332, and/or data model(s) 336 to analyze the data received from thefirst data stream 408 a andsecond data stream 408 b (step 512). The analysis of the data contained in the data streams may be performed immediately upon receiving the data streams or may be analyzed at some predetermined time after receiving the data streams. In some embodiments, the data is analyzed immediately upon receiving the data streams such that results of the analysis can be obtained while aplayer 112 is currently involved in a gaming session at thegaming device 200 that provided the data stream. - Based on the analysis of the data from the data streams, the method continues with the
game management system 116 identifying a game feature to provide to the first and/or second gaming device 200 (step 516). The identified game feature may correspond to one or more of a bonus game, a sound effect, a visual effect, a predetermined animation, an entirely new game, a new version of a game already existing on agaming device 200, a new background for the game being presented by thegaming device 200, a bonus opportunity for a game, etc. - The method may then continue with the
game management system 116 generating a control signal for the first and/or second gaming device 200 (step 520). In some embodiments, a control signal may only be generated for agaming device 200 if thegame management system 116 determined thegaming device 200 should receive the identified game feature. In other words, thegame management system 116 may not necessarily generate a control signal for agaming device 200 that is not determined to receive the game feature. - The method may further continue with the
game management system 116 formatting the control signal based on the presentation capabilities of the gaming device 200 (step 524). For instance, agaming device 200 having a limited visual output device (e.g., basic LED or physical reels) may not necessarily receive a control signal to provide a game feature that requires a more sophisticated visual output device (e.g., an LED display screen or LCD display screen). Thus, thegame management system 116 may be configured to generate a control signal that is specific to thetarget gaming device 200 and uniquely adapted to the target gaming device's presentation capabilities. Thereafter, the method continues with thegame management system 116 providing the control signal to the first and/or second gaming device, thereby enabling eachtarget gaming device 200 to provide the identified game feature to aplayer 112 of thegaming device 200. In some embodiments, the control signal may include instructions that enable thegaming device 200 to render or produce the game feature immediately in response to receiving the control signal (e.g., instructions that are immediately executable by a driver of the gaming device 200). In some embodiments, the control signal may include parameters that are further provided as inputs to thegame instructions 208 and/or game updateinstructions 220. - Referring now to
FIG. 6 , a method of using data model(s) to provide gaming features togaming devices 200 during gaming sessions will be described in accordance with embodiments of the present disclosure. The method begins when thegame management system 116 receives data streams from a plurality of gaming devices 200 (step 604). Thegame management system 116 may utilize themachine learning unit 328 to build one ormore data models 336 that describeplayer 112 behaviors during gaming sessions at gaming devices 200 (step 808). In some embodiments, thedata models 336 may be trained on hundreds or thousands of gameplay data sets describing events occurring at agaming device 200 when aplayer 112 interacts with thegaming device 200 during a gaming session (step 612). The training of the data models may or may not include user validation (e.g., human feedback). If user validation is desired as part of training the data model(s) 336, then the method may include requesting validation inputs from an administrative/training user (step 616). - Once trained on appropriate (e.g., predetermined number) of data sets received from data streams of
gaming devices 200, the data model(s) 336 may be used by themachine learning unit 328 and/orgame management instructions 320 to analyze further data streams received fromgaming devices 200 in real-time and then make decisions to provide game features or update aspects of thegaming devices 200 based on the analysis performed. In some embodiments, themachine learning unit 328 may also be configured to monitor a performance of the data received from the data streams as compared to thedata models 336 to determine if the actual data is deviating from outputs produced by thedata models 336. Some deviation may be tolerated, but if the deviation exceeds a predetermined deviation threshold (step 620), then the method may continue with thegame management system 116 determining to update or replace thedata model 336 from which the actual data has deviated by more than the predetermined deviation threshold (step 624). - A
data model 336 may be updated by changing one or more coefficients connecting one or more nodes in aneural network 332. Alternatively or additionally, adata model 336 may updated by adding or subtracting one or more nodes or node levels from thedata model 336 to more closely align outputs of the data model to actual data observed on the data streams. A data model may be replaced by being deleted from memory and then having a different/new data model stored as a replacement therefor. - The updated or new/replacement data model(s) 336 may then again be used for analysis of data contained in data streams generated by gaming devices 200 (step 628). In other words, the updated or
new data models 336 may be used to continue performing the various analysis (e.g., real-time analysis) tasks depicted and described herein. - Referring now to
FIG. 7 , a method of providing a gaming feature to agaming device 200 based on analysis of data models related toplayer 112 behavior and gaming features will be described in accordance with embodiments of the present disclosure. The method begins with thegame management system 116monitoring player 112 interactions with agaming device 200 during a gaming session (step 704). Thegame management system 116 may monitor theplayer 112 interactions by receiving gameplay data from thegaming device 200 at which theplayer 112 is positioned. As theplayer 112 interacts with thegaming device 200, thegameplay reporting instructions 212 may report thegameplay data 228 of thegaming device 200 to thegame management system 116 via a data stream transmitted to thegame management system 116. - The
game management system 116 may utilize themachine learning unit 328, neural network(s) 332, and/or data model(s) 336 to determine that theplayer 112 is not currently receiving a particular game feature during a gaming session (step 708). In response to the determination ofstep 708, thegame management system 116 may further analyze the data received from thegaming device 200 with the data model(s) 336 orneural networks 332 that are specifically trained to determined if a player behavior is correlated to a gaming feature in either a positive or negative way (step 712). In some embodiments, adata model 336 or neural network may be configured to receive gameplay data describing a player's 112 interactions with agaming device 200 and produce an output that indicates the player's 112 behavior is positively associated with a game feature, the player's 112 behavior is negatively associated with a game feature, theplayer 112 would likely respond positively to a new game feature, theplayer 112 would likely respond negatively to a new game feature, theplayer 112 enjoys game features of a particular type, theplayer 112 inputs more wagers for a particular game or game feature, theplayer 112 has not ever seen a particular game feature before, etc. - Based on the analysis of
step 712, thegame management system 116 will determine if there is a high likelihood (e.g., higher likelihood than not) of theplayer 112 having a positive response to a particular game feature (step 716). If this query is answered negatively, then the method returns to step 704. If this query is answered positively, then the method proceeds with thegame management system 116 providing the particular gaming feature to thegaming device 200 while theplayer 112 is still engaged in a gaming session with thegaming device 200 step 720). The method may further include monitoring the player's 112 response to the particular game feature (e.g., monitoring for increased wager activity, decreased wager activity, increased wager frequency, decreased wager frequency, happy facial expressions, unhappy facial expressions, increased button pressing frequency, increased body temperature, increased heart rate, etc.) to further help train or retrain the data model(s) 336 orneural networks 332 that were used in the analysis ofstep 712. - Referring now to
FIG. 8 , a method of determining aplayer 112 will have a likely positive response to a gaming feature and then providing the gaming feature to agaming device 200 of theplayer 112 will be described in accordance with embodiments of the present disclosure. The method begins with thegame management system 116 determining that afirst gaming device 200 is not providing a particular game feature to aplayer 112 of the first gaming device (e.g., afirst player 112 a) (step 804). - The method continues with the
game management system 116 determining that asecond gaming device 200 is providing the particular game feature to aplayer 112 of the second gaming device 200 (e.g., asecond player 112 b) (step 808). - The
game management system 116 may then determine, based on an analysis performed with themachine learning unit 328, neural network(s) 332, and/or data model(s) 336 that the first and second players have one or more behavior traits in common (step 812). The behavior traits in common may include one or more of wager behavior, win reactions, loss reactions, gambling history, whether both players are self-identified problem gamblers, etc. - The method may further continue by determining the second player is interacting with their
gaming device 200 differently than the way that the first player is interacting with their gaming device 200 (step 816). In response making the determination of 812 and 816, thesteps game management system 116 may determine that the first player will likely have a positive response to the particular gaming feature that is already being provided to the second player (step 820). If thegame management system 116 determines that the first player will likely have a positive response to the particular game feature, then the method proceeds with thegame management system 116 providing the particular game feature to thegaming device 200 of the first player (step 824). In some embodiments, the game feature may be provided to the first player'sgaming device 200 by transmitting an appropriate control signal to the gaming device. - Referring now to
FIG. 9 , a method of transmitting game update signals togaming devices 200 based on a determined update and based on a gaming device's 200 hardware and software version will be described in accordance with at least some embodiments of the present disclosure. The method begins with thegame management system 116 receiving data streams from a plurality of different gaming devices 200 (step 904). The data streams may then have data extracted therefrom and analyzed using themachine learning unit 328, neural network(s) 332, and/or data model(s) 336 (step 908). - Based on the analysis of the data received from the plurality of gaming devices, the method may continue with the
game management system 116 determining that a game update should be provided to at least some of thegaming devices 200 that provided the data streams (step 912). The game update may correspond to an update of code (e.g., an update of the game instructions 208), an update of preferences andsettings 216, or an update to an operating system (e.g., software version) of thegaming device 200. Thus, thegame management system 116 may continue by determining a hardware and software version associated with eachgaming device 200 to be updated (step 916). - Having knowledge of the hardware and software version for each
gaming device 200 may enable thegame management system 116 to generate a unique and appropriate game update signal for each gaming device. The method may, therefore, continue with thegame management system 116 generating and transmitting game update signals to each gaming device identified for the update based on each device's hardware and/or software version (step 920). - Referring now to
FIG. 10 , a method of transmitting control signals togaming devices 200 to provide a gaming feature in response to determining the gaming feature complies with a gambling regulation associated with a location of thegaming device 200 will be described in accordance with embodiments of the present disclosure. The method begins with thegame management system 116 determining that agaming device 200 is to receive a game feature from one of the servers 304 (step 1004). This determination may be made based on execution of other analysis and decision processes (or steps) depicted and described herein. - The method continues with the
game management system 116 determining a location of thegaming device 200 to be updated along with a gambling regulation that is associated with the location of the gaming device 200 (step 1008). The gambling regulation may be a state-specific gambling regulation, a game-specific gambling regulation, a casino-specific gambling regulation, or combinations thereof. - The
game management system 116 may then determine whether or not the game feature complies with (or violates) the identified gambling regulation (step 1012). Thegame management system 116 may then be configured to only transmit a control signal to thegaming device 200 if the game feature is determined to comply with the local gambling regulation (step 1016). In other words, thegame management system 116 may not necessarily transmit a control signal to agaming device 200 if thegame management system 116 knows, a priori, that the update can be legally accepted by thegambling device 200. Conditioning the transmission of the control signal upon such a determination can help minimize unnecessary data transmissions and preserve network bandwidth. - Referring now to
FIG. 11 , a method of correlating positive behavioral patterns to gaming features and then sending control signals togaming devices 200 not currently enabled to provide the gaming features will be described in accordance with embodiments of the present disclosure. The method begins with thegame management system 116 analyzing data from a plurality ofgaming devices 200 and a number of gaming sessions occurring on thosegaming devices 200 concurrently (step 1104). The data analyzed instep 1104 may correspond to data received from a plurality of different data streams at exactly the same time or within a predetermined timeframe of one another (e.g., within a minute, hour, day, etc.). - The method may continue with the
game management system 116 identifying one or more behavioral patterns of the players based on the analysis of the gameplay data received for each gaming session (step 1108). In some embodiments, the data from the plurality of data streams may be monitored and compared against one another using an anomaly detection model. Alternatively or additionally, the data from each of the plurality of data streams may be compared against acommon data model 336 to determine if one of the data steams is not similar to or validated by thedata model 336. - The analysis performed by the
game management system 116 may aim to correlate positive behavioral patterns to a particular game feature (or set of game features) (step 1112). In the event that thegame management system 116 is able to correlate a positive behavioral pattern ofmultiple players 112 to a particular game feature, then thegame management system 116 may continue by sending a control signal to gaming devices no currently providing the particular game feature (step 1116). The control signal may cause thetarget gaming device 200 to begin providing the game feature or otherwise update the gaming device such that the gaming device is enabled to provide the gaming feature. - The present disclosure contemplates a variety of different gaming systems and environments each having one or more of a plurality of different features, attributes, or characteristics. A “gaming system” or “gaming environment” as used herein refers to various configurations of: (a) one or more central servers, central controllers, or remote hosts; (b) one or more electronic gaming machines such as those located on a casino floor; and/or (c) one or more gaming devices, such as desktop computers, laptop computers, tablet computers or computing devices, personal digital assistants, mobile phones, and other mobile computing devices. Moreover, an EGM as used herein refers to any suitable electronic gaming machine which enables a player to play a game (including but not limited to a game of chance, a game of skill, and/or a game of partial skill) to potentially win one or more awards, wherein the EGM comprises, but is not limited to: a slot machine, a video poker machine, a video lottery terminal, a terminal associated with an electronic table game, a video keno machine, a video bingo machine located on a casino floor, a sports betting terminal, or a kiosk, such as a sports betting kiosk.
- In various embodiments, the gaming system of the present disclosure includes: (a) one or more electronic gaming machines in combination with one or more central servers, central controllers, or remote hosts; (b) one or more gaming devices in combination with one or more central servers, central controllers, or remote hosts; (c) one or more gaming devices in combination with one or more electronic gaming machines; (d) one or more gaming devices, one or more electronic gaming machines, and one or more central servers, central controllers, or remote hosts in combination with one another; (e) a single electronic gaming machine; (f) a plurality of electronic gaming machines in combination with one another; (g) a single gaming device; (h) a plurality of gaming devices in combination with one another; (i) a single central server, central controller, or remote host; and/or (j) a plurality of central servers, central controllers, or remote hosts in combination with one another.
- For brevity and clarity and unless specifically stated otherwise, “EGM” as used herein represents one EGM or a plurality of EGMs, “gaming device” as used herein represents one gaming device or a plurality of gaming devices and, in some embodiments, may include an EGM or multiple EGMs. The use of “server, central server, central controller, or remote host” as used herein represents one central server, central controller, or remote host or a plurality of central servers, central controllers, or remote hosts.
- As noted above, in various embodiments, the gaming system includes an EGM in combination with a central server, central controller, or remote host. In such embodiments, the EGM is configured to communicate with the central server, central controller, or remote host through a data network or remote communication link. In certain such embodiments, the EGM is configured to communicate with another EGM through the same data network or remote communication link or through a different data network or remote communication link. For example, the gaming system includes a plurality of EGMs that are each configured to communicate with a central server, central controller, or remote host through a data network.
- In certain embodiments in which the gaming system includes an EGM in combination with a central server, central controller, or remote host, the central server, central controller, or remote host is any suitable computing device (such as a server) that includes at least one processor and at least one memory device or data storage device. As further described herein, the EGM includes at least one EGM processor configured to transmit and receive data or signals representing events, messages, commands, or any other suitable information between the EGM and the central server, central controller, or remote host. The at least one processor of that EGM is configured to execute the events, messages, or commands represented by such data or signals in conjunction with the operation of the EGM. Moreover, the at least one processor of the central server, central controller, or remote host is configured to transmit and receive data or signals representing events, messages, commands, or any other suitable information between the central server, central controller, or remote host and the EGM. The at least one processor of the central server, central controller, or remote host is configured to execute the events, messages, or commands represented by such data or signals in conjunction with the operation of the central server, central controller, or remote host. One, more than one, or each of the functions of the central server, central controller, or remote host may be performed by the at least one processor of the EGM. Further, one, more than one, or each of the functions of the at least one processor of the EGM may be performed by the at least one processor of the central server, central controller, or remote host.
- In certain such embodiments, computerized instructions for controlling any games (such as any primary or base games and/or any secondary or bonus games) displayed by the EGM are executed by the central server, central controller, or remote host. In such “thin client” embodiments, the central server, central controller, or remote host remotely controls any games (or other suitable interfaces) displayed by the EGM, and the EGM is utilized to display such games (or suitable interfaces) and to receive one or more inputs or commands. In other such embodiments, computerized instructions for controlling any games displayed by the EGM are communicated from the central server, central controller, or remote host to the EGM and are stored in at least one memory device of the EGM. In such “thick client” embodiments, the at least one processor of the EGM executes the computerized instructions to control any games (or other suitable interfaces) displayed by the EGM.
- In various embodiments in which the gaming system includes a plurality of EGMs, one or more of the EGMs are thin client EGMs and one or more of the EGMs are thick client EGMs. In other embodiments in which the gaming system includes one or more EGMs, certain functions of one or more of the EGMs are implemented in a thin client environment, and certain other functions of one or more of the EGMs are implemented in a thick client environment. In one such embodiment in which the gaming system includes an EGM and a central server, central controller, or remote host, computerized instructions for controlling any primary or base games displayed by the EGM are communicated from the central server, central controller, or remote host to the EGM in a thick client configuration, and computerized instructions for controlling any secondary or bonus games or other functions displayed by the EGM are executed by the central server, central controller, or remote host in a thin client configuration.
- In certain embodiments in which the gaming system includes: (a) an EGM configured to communicate with a central server, central controller, or remote host through a data network; and/or (b) a plurality of EGMs configured to communicate with one another through a communication network, the communication network may include a local area network (LAN) in which the EGMs are located substantially proximate to one another and/or the central server, central controller, or remote host. In one example, the EGMs and the central server, central controller, or remote host are located in a gaming establishment or a portion of a gaming establishment.
- In other embodiments in which the gaming system includes: (a) an EGM configured to communicate with a central server, central controller, or remote host through a data network; and/or (b) a plurality of EGMs configured to communicate with one another through a communication network, the communication network may include a wide area network (WAN) in which one or more of the EGMs are not necessarily located substantially proximate to another one of the EGMs and/or the central server, central controller, or remote host. For example, one or more of the EGMs are located: (a) in an area of a gaming establishment different from an area of the gaming establishment in which the central server, central controller, or remote host is located; or (b) in a gaming establishment different from the gaming establishment in which the central server, central controller, or remote host is located. In another example, the central server, central controller, or remote host is not located within a gaming establishment in which the EGMs are located. In certain embodiments in which the communication network includes a WAN, the gaming system includes a central server, central controller, or remote host and an EGM each located in a different gaming establishment in a same geographic area, such as a same city or a same state. Gaming systems in which the communication network includes a WAN are substantially identical to gaming systems in which the communication network includes a LAN, though the quantity of EGMs in such gaming systems may vary relative to one another.
- In further embodiments in which the gaming system includes: (a) an EGM configured to communicate with a central server, central controller, or remote host through a data network; and/or (b) a plurality of EGMs configured to communicate with one another through a communication network, the communication network may include an internet (such as the Internet) or an intranet. In certain such embodiments, an Internet browser of the EGM is usable to access an Internet game page from any location where an Internet connection is available. In one such embodiment, after the EGM accesses the Internet game page, the central server, central controller, or remote host identifies a player before enabling that player to place any wagers on any plays of any wagering games. In one example, the central server, central controller, or remote host identifies the player by requiring a player account of the player to be logged into via an input of a unique player name and password combination assigned to the player. The central server, central controller, or remote host may, however, identify the player in any other suitable manner, such as by validating a player tracking identification number associated with the player; by reading a player tracking card or other smart card inserted into a card reader; by validating a unique player identification number associated with the player by the central server, central controller, or remote host; or by identifying the EGM, such as by identifying the MAC address or the IP address of the Internet facilitator. In various embodiments, once the central server, central controller, or remote host identifies the player, the central server, central controller, or remote host enables placement of one or more wagers on one or more plays of one or more primary or base games and/or one or more secondary or bonus games, and displays those plays via the Internet browser of the EGM. Examples of implementations of Internet-based gaming are further described in U.S. Pat. No. 8,764,566, entitled “Internet Remote Game Server,” and U.S. Pat. No. 8,147,334, entitled “Universal Game Server.”
- The central server, central controller, or remote host and the EGM are configured to connect to the data network or remote communications link in any suitable manner. In various embodiments, such a connection is accomplished via: a conventional phone line or other data transmission line, a digital subscriber line (DSL), a T-1 line, a coaxial cable, a fiber optic cable, a wireless or wired routing device, a mobile communications network connection (such as a cellular network or mobile Internet network), or any other suitable medium. The expansion in the quantity of computing devices and the quantity and speed of Internet connections in recent years increases opportunities for players to use a variety of EGMs to play games from an ever-increasing quantity of remote sites. Additionally, the enhanced bandwidth of digital wireless communications may render such technology suitable for some or all communications, particularly if such communications are encrypted. Higher data transmission speeds may be useful for enhancing the sophistication and response of the display and interaction with players.
- As should be appreciated by one skilled in the art, aspects of the present disclosure have been illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
- Any combination of one or more computer readable media may be utilized. The computer readable media may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an appropriate optical fiber with a repeater, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python or the like, conventional procedural programming languages, such as the “C” programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS).
- Aspects of the present disclosure have been described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatuses (systems) and computer program products according to embodiments of the disclosure. It should be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable instruction execution apparatus, create a mechanism for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer program instructions may also be stored in a computer readable medium that when executed can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions when stored in the computer readable medium produce an article of manufacture including instructions which when executed, cause a computer to implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable instruction execution apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatuses or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- The term “a” or “an” entity refers to one or more of that entity. As such, the terms “a” (or “an”), “one or more,” and “at least one” can be used interchangeably herein. It is also to be noted that the terms “comprising,” “including,” and “having” can be used interchangeably.
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/211,994 US20210319656A1 (en) | 2020-04-10 | 2021-03-25 | Real-time analytics and feedback for electronic gaming machines |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202063008409P | 2020-04-10 | 2020-04-10 | |
| US17/211,994 US20210319656A1 (en) | 2020-04-10 | 2021-03-25 | Real-time analytics and feedback for electronic gaming machines |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20210319656A1 true US20210319656A1 (en) | 2021-10-14 |
Family
ID=78006340
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/211,994 Abandoned US20210319656A1 (en) | 2020-04-10 | 2021-03-25 | Real-time analytics and feedback for electronic gaming machines |
| US17/221,101 Active 2041-05-29 US12160276B2 (en) | 2020-04-10 | 2021-04-02 | Ultrasound transducers and receivers |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/221,101 Active 2041-05-29 US12160276B2 (en) | 2020-04-10 | 2021-04-02 | Ultrasound transducers and receivers |
Country Status (1)
| Country | Link |
|---|---|
| US (2) | US20210319656A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240378970A1 (en) * | 2023-05-10 | 2024-11-14 | Sierra Artificial Neural Networks | Systems and methods for slot machine game development utilizing graphic-based artificial intelligence game design systems |
| US20250037540A1 (en) * | 2023-07-27 | 2025-01-30 | Igt | Casino splash zones |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5618232A (en) * | 1995-03-23 | 1997-04-08 | Martin; John R. | Dual mode gaming device methods and systems |
| US20120021814A1 (en) * | 2010-07-22 | 2012-01-26 | Wms Gaming, Inc. | Dynamic user testing and collective intelligence in a wagering game environment |
| US20170106283A1 (en) * | 2015-10-16 | 2017-04-20 | Microsoft Technology Licensing, Llc | Automated generation of game event recordings |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002052243A (en) * | 2000-08-11 | 2002-02-19 | Konami Co Ltd | Competition type video game |
| US8147334B2 (en) | 2003-09-04 | 2012-04-03 | Jean-Marie Gatto | Universal game server |
| US7670224B2 (en) * | 2002-04-03 | 2010-03-02 | Igt | Gaming apparatus with power saving feature |
| US8184824B2 (en) * | 2003-03-11 | 2012-05-22 | Igt | Differentiated audio |
| WO2005116801A2 (en) * | 2004-05-26 | 2005-12-08 | Koninklijke Philips Electronics N.V. | User interface |
| US8764566B2 (en) | 2006-02-24 | 2014-07-01 | Igt | Internet remote game server |
| US8360847B2 (en) * | 2006-11-13 | 2013-01-29 | Igt | Multimedia emulation of physical reel hardware in processor-based gaming machines |
| US8009022B2 (en) * | 2009-05-29 | 2011-08-30 | Microsoft Corporation | Systems and methods for immersive interaction with virtual objects |
| US9033516B2 (en) * | 2011-09-27 | 2015-05-19 | Qualcomm Incorporated | Determining motion of projection device |
| US10775901B2 (en) * | 2014-01-31 | 2020-09-15 | Qualcomm Incorporated | Techniques for identifying rolling gestures on a device |
| US10290176B2 (en) * | 2014-02-14 | 2019-05-14 | Igt | Continuous gesture recognition for gaming systems |
| US9672689B2 (en) * | 2014-12-17 | 2017-06-06 | Igt Canada Solutions Ulc | Gaming system with movable ultrasonic transducer |
| US10403084B2 (en) * | 2014-12-17 | 2019-09-03 | Igt Canada Solutions Ulc | Contactless tactile feedback on gaming terminal with 3D display |
| DE102015208611A1 (en) * | 2015-05-08 | 2016-11-10 | Volkswagen Aktiengesellschaft | Actuation of a closing element of a vehicle with ultrasonic sensor |
| DE102016100064B4 (en) * | 2016-01-04 | 2017-11-23 | Volkswagen Aktiengesellschaft | Adative display in B-pillar |
| WO2018017210A1 (en) * | 2016-07-22 | 2018-01-25 | Harman International Industries, Incorporated | Haptic guidance system |
| US11087582B2 (en) * | 2018-10-19 | 2021-08-10 | Igt | Electronic gaming machine providing enhanced physical player interaction |
| US11442550B2 (en) * | 2019-05-06 | 2022-09-13 | Samsung Electronics Co., Ltd. | Methods for gesture recognition and control |
| US10921899B2 (en) * | 2019-07-16 | 2021-02-16 | Harman International Industries, Incorporated | Interaction system using collocated visual, haptic, and/or auditory feedback |
-
2021
- 2021-03-25 US US17/211,994 patent/US20210319656A1/en not_active Abandoned
- 2021-04-02 US US17/221,101 patent/US12160276B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5618232A (en) * | 1995-03-23 | 1997-04-08 | Martin; John R. | Dual mode gaming device methods and systems |
| US20120021814A1 (en) * | 2010-07-22 | 2012-01-26 | Wms Gaming, Inc. | Dynamic user testing and collective intelligence in a wagering game environment |
| US20170106283A1 (en) * | 2015-10-16 | 2017-04-20 | Microsoft Technology Licensing, Llc | Automated generation of game event recordings |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240378970A1 (en) * | 2023-05-10 | 2024-11-14 | Sierra Artificial Neural Networks | Systems and methods for slot machine game development utilizing graphic-based artificial intelligence game design systems |
| US20250037540A1 (en) * | 2023-07-27 | 2025-01-30 | Igt | Casino splash zones |
Also Published As
| Publication number | Publication date |
|---|---|
| US20210320728A1 (en) | 2021-10-14 |
| US12160276B2 (en) | 2024-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12067844B2 (en) | Electronic gaming machines with dynamic auto play mode methods enabled by AI-based playstyle models | |
| US12293629B2 (en) | Self-evolving AI-based playstyle models | |
| US12056979B2 (en) | Dynamic wagering features based on number of active players | |
| US8834254B2 (en) | Account-based-wagering mobile controller | |
| US20110092288A1 (en) | Configuring and controlling wagering game audio | |
| US11577162B2 (en) | Player journey | |
| AU2017202120A1 (en) | Gaming Device for Updating Game Play in Real-Time | |
| US10134225B2 (en) | Controlling wagering game peripherals | |
| US11861974B2 (en) | System and methods of recommendation memberships in a casino environment | |
| US20250182565A1 (en) | Electronic gaming machine with wireless communication capabilities | |
| US20250252825A1 (en) | Escape room gaming systems and methods | |
| US20210319656A1 (en) | Real-time analytics and feedback for electronic gaming machines | |
| US20230377421A1 (en) | Ai-based hopping reward program | |
| US20250157289A1 (en) | Predictive gaming insight platform | |
| US20240265782A1 (en) | Multi-player tournament and competition | |
| US20250384743A1 (en) | Cross-game bonus based on player history and preference | |
| US20250329218A1 (en) | Rewarding healthy casino behavior | |
| US9489792B1 (en) | Managing gaming data rule sets and communications | |
| US20240232905A9 (en) | In-app customer service workflows | |
| US11625972B2 (en) | Audio sharing during private listening at an electronic gaming machine | |
| US20250384734A1 (en) | Game Detection Using an AI Engine | |
| US20250239139A1 (en) | Linked gaming machines implementing various game modes | |
| AU2023258437A1 (en) | Improved spin request workflow for a hosted gaming environment | |
| AU2024205740A1 (en) | User tracking systems and methods in electronic gaming |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: IGT, NEVADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VASQUEZ, JAMES;KEILWERT, STEFAN;SMALL, DAVID;SIGNING DATES FROM 20210201 TO 20210218;REEL/FRAME:055712/0151 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STCV | Information on status: appeal procedure |
Free format text: NOTICE OF APPEAL FILED |
|
| STCV | Information on status: appeal procedure |
Free format text: APPEAL BRIEF (OR SUPPLEMENTAL BRIEF) ENTERED AND FORWARDED TO EXAMINER |
|
| STCV | Information on status: appeal procedure |
Free format text: EXAMINER'S ANSWER TO APPEAL BRIEF MAILED |
|
| STCV | Information on status: appeal procedure |
Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS |
|
| AS | Assignment |
Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:IGT;REEL/FRAME:071817/0394 Effective date: 20250701 |
|
| STCV | Information on status: appeal procedure |
Free format text: BOARD OF APPEALS DECISION RENDERED |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |