A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. Copyright 2011, WMS Gaming, Inc.
Embodiments of the inventive subject matter relate generally to wagering game systems and networks that, more particularly, manage gaming data and communications.
Wagering game machines, such as slot machines, video poker machines and the like, have been a cornerstone of the gaming industry for several years. Traditionally, wagering game machines have been confined to physical buildings, like casinos (e.g., resort casinos, road-side casinos, etc.). The casinos are located in specific geographic locations that are authorized to present wagering games to casino patrons. However, with the proliferation of interest and use of the Internet, shrewd wagering game manufacturers have recognized that a global public network, such as the Internet, can reach to various locations of the world that have been authorized to present wagering games. Any individual with a personal computing device (e.g., a personal computer, a laptop, a personal digital assistant, a cell phone, etc.) can connect to the Internet and play wagering games. Some wagering game manufacturers have begun to integrate wagering games with websites, such as social network websites or proprietary websites that cater to wagering game enthusiasts. However, wagering game manufacturers are constantly interested in creating new and interesting ways of integrating wagering games into the websites and increasing customer loyalty and satisfaction.
Embodiments are illustrated in the Figures of the accompanying drawings in which:
This description of the embodiments is divided into six sections. The first section provides an introduction to embodiments. The second section describes example operating environments while the third section describes example operations performed by some embodiments. The fourth section describes additional example embodiments while the fifth section describes additional example operating environments. The sixth section presents some general comments.
This section provides an introduction to some embodiments.
As indicated previously, some wagering game manufacturers are interested in integrating wagering games and websites. Some wagering game manufacturers are interested in creating ways for host devices that host websites and other online gaming venues to share information with wagering game machines, wagering game servers, and/or other devices in a casino. However, wagering game manufacturers face challenges communicating data between the casino devices and the host device. Data traffic can cause a lag in application responsiveness on the wagering game machines and/or wagering game servers, diminishing a casino patron's gaming experience.
Some embodiments of the inventive subject matter include rule sets (e.g., filters, configurations, etc.) that control data communications between host devices and casino devices. In some embodiments the rules sets are, or include, filters that can intelligently control and manage data communications during a gaming session between a host device and a casino device. In some embodiments, when a casino device runs a wagering game application, the wagering game application generates session data, such as betting events, game outcome events, etc. A filter, according to some embodiments, can accumulate session data, during the gaming session, without sending it to the host device. The filter can determine when one or more triggers (e.g., indications of achievements, conditions, degrees of wagering activity, etc.) occur in the wagering game application, during the gaming session, that would cause specific events (e.g., achievements, conditions, degrees of progress, etc.) to occur in a game, or other application, controlled by the host device. When the one or more triggers occur on the casino device, the filter can transmit accumulated session data to the host device. The host device can immediately respond to the session data during the gaming session. For example, the host device can immediately notify a player that a substantial advancement in a host game occurs (e.g., a completion of a milestone, a completion of a scavenger hunt game goal, an award of a virtual trophy in a persistent-state game, etc.). The casino device can detect player response to the notification and immediately communicate the player response to the host device. The host device can respond to the player response, and so forth, throughout the gaming session. The communications and responses by the host device and the casino devices may be referred to as interactive or adaptive gaming.
At stage “A,” one or more of the casino gaming modules 125 identify that session activity has begun or is in progress via any one or more of the wagering game machines 160, 161, and 162 or the wagering game server 150. The casino gaming modules 125 can send messages to the host gaming controller 186. Each of the messages can indicate that a gaming session has begun and identify a player account associated with the gaming session (i.e., a player account associated with a player that has logged in to any of the wagering game machines 160, 161, or 162).
At stage “B,” after the host gaming controller 186 receives the indications of the start of the gaming sessions from the casino gaming modules 125, the host gaming controller 186 identifies the player accounts associated with the gaming sessions and identifies any host-level computer programs integrated with the wagering game computer programs run at the casino level. The wagering game computer programs (“wagering games”) can be run by any of the wagering game machines 160, 161, or 162 and/or the wagering game server 150. The host-level computer programs can be, for example, persistent-state game applications (“persistent state games”). A persistent-state game has goals which can be attained via cumulative play from the wagering games. However, the persistent-state game is separate from the wagering game with separate rules, code, etc. A state of a persistent-state game is stored, or persisted, across multiple wagering game sessions. A persistent-state game can also have separate themes from the wagering games. The wagering games can be played in a casino setting (e.g., via the wagering game machines 160, 161, or 162), or via other wagering venues (e.g., via an online casino). The wagering games are related to, or somehow integrated with, the persistent-state games run by the host gaming server 180. The host gaming controller 186 causes advancement in the persistent-state game based on triggers from the wagering games. Depending on the rules of the persistent-state games, the triggers from the wagering games can result in various degrees of progress in the persistent-state games.
The host-level computer programs that run on the host gaming server 180 (e.g., the persistent-state games) may utilize session data for various reasons. For example, a persistent-state game application can utilize session data to cause progress in a persistent-state game. For example, the host gaming controller 186 can use the session data to add, or advance, progress indicators (e.g., points) to persistent-state games. The session data can pertain to the wagering game machines 160, 161 and 162, the wagering game server 150, the casino gaming modules 125, the player accounts, the wagering games, or any other information provided by the wagering game computer programs and/or associated with the gaming sessions. For example, the session data can include login data, bet amounts, number of game plays, denomination values, game outcomes, best wins, gaming accomplishments, etc.
Further, the host gaming controller 186 ascertains rule sets related to the host-level computer programs. The rule sets include rules that govern communication of the session data (e.g., timing of data transmissions, amounts of data transmitted, types of data transmitted, etc.) between the host gaming controller 186 and the casino gaming modules 125.
Also at stage “B,” the host gaming controller 186 determines current states of the host-level computer programs as they pertain to the player accounts. For instance, the host gaming controller 186 may determine a current state of a persistent-state game for which a player account has previously registered (e.g., via a website) and/or which the player has begun playing. The host gaming controller 186 indicates to the casino gaming modules 125 the states of the persistent-state games. The information about the current states of the host-level computer programs that the host gaming controller 186 provides to the casino gaming modules 125 may be referred to as state data. An example of state data may include a total number of progress points that a player account has achieved since registering for or beginning play of a persistent-state game.
At stage “C,” the casino gaming modules 125 receive the rule sets and state data provided by the host gaming controller 186. The casino gaming modules 125 enact, or begin to enforce, the rule sets. The rule sets can specify communication rules between the casino gaming modules 125 and the host gaming controller 186. Some of the rules govern scheduling, timing, accumulation, and transmission of session data as it occurs during the session and/or in response to gaming session activity. The rules can also refer to state data. For instance, the rule sets can be, or can include, filters (e.g., filter 130, 131, 132, and 133) that accumulate session data for each game play (e.g., accumulates bet amounts and results for each spin of slot games) and waits until triggers occur as specified in the rules. The triggers specify when to send accumulated session data (e.g., a set or collection of accumulated data). For example, a portion of each wager or a given outcome for a wagering game may equate to a persistent-state game goal (e.g., a specific number of points that equates to a milestone or achievement in the persistent-state game). The casino gaming modules 125 can, individually, track an amount of points earned for any of the persistent-state games as the triggers occur during the gaming sessions. The casino gaming modules 125 can compare the amount of points earned with an initial point value provided by the host gaming controller 186 in the state data for the player accounts. The rules may specify an accumulation level at which the casino gaming modules 125 should report the accumulated session data to the host gaming controller 186. For example, the rules may specify that when the point total is a certain number of points away from a threshold value then the casino gaming modules 125 should transmit accumulated data, and/or begin frequent periodic transmittals of session data (e.g., transmit session data after each spin) until the threshold value is reached (e.g., until the persistent-state game goal is attained). For example, a player logged in to the wagering game machine 160 has an initial point total in a persistent-state game of 800 points, as specified by state data provided by the host gaming controller 186 at stage “B.” A filter 130 provided to wagering game machine 160 specifies that an occurrence of a 1000-point threshold value would result in a next milestone or game goal in the persistent-state game. At the 1000-point threshold level, the host gaming controller 186 may award a prize for the persistent-state game associated with the milestone or game goal. The filter 130 may specify that, during the game session, when the point total is 50 points away from the 1000-point threshold value, then one of the casino gaming modules 125 associated with the wagering game machine 160 should submit all accumulated spin data and begin transmitting spin data after each spin. By using the filter 130, a specific one of the casino gaming modules 125 for the wagering game machine 160, thus, provides the session data to the host gaming controller 186 only when the host gaming controller 186 needs to advance the persistent-state game to a significant level or progress or to provide an award to the player account.
The other casino gaming modules 125 for the wagering game machines 161 and 162 and for the wagering game server 150 can also, via the filters 131, 132, and 133, accumulate data and only send it when appropriate for triggers relevant to the gaming sessions for players accounts associated with the wagering game machines 161 and 162 and/or with the wagering game server 150. For example, the wagering game server 150 can, via one of the casino gaming modules 125, accumulate session data from wagering game programs run by the wagering game machines 160, 161, and 162 and other wagering game machines throughout a casino. In some embodiments, one of the casino gaming modules 125 for the wagering game server 150 may be a proxy for others of the casino gaming modules 125 associated with the wagering game machines 160, 161, and 162.
At stage “D,” the host gaming controller 186 receives the session data during the game session. The host gaming controller 186 can respond to the session data with additional or updated information based on the session data. For example, the host gaming controller 186 can provide updated rule sets, with updated filters or filter settings, that the casino gaming modules 125 can utilize to schedule the accumulation, scheduling, and transmission of session data according to further triggers relevant to the host-level computer programs. For instance, when the point total for the one of the player's instance of the persistent-state game reaches the 1000-point threshold value, the host gaming controller 186 can provide a virtual trophy as a reward. The awarding of the virtual trophy may initiate an additional phase of the persistent-state game for the player account. The additional phase may have a different point gradation for attaining goals, milestones, etc. than the previous phase. The host gaming controller 186 can provide, to the specific one of the casino gaming modules 125 associated with the wagering game machine 160, an updated rule set that is specific to the additional phase of the instance of the persistent-state game.
It should be noted that managing communications of gaming data according to rules can be used for many types of gaming applications, conditions, content types, etc., not only for data related to persistent state games (PSGs). However, for simplicity, PSG type data is one type of gaming content that is used in multiple examples described above and below. Further, some embodiments of the inventive subject matter describe examples of managing gaming data in a network wagering venue (e.g., an online casino, a wagering game website, a wagering network, etc.) using a communication network, such as the communications network 122 in
Further, in some embodiments herein a user may be referred to as a player (i.e., of wagering games), and a player may be referred to interchangeably as a player account. Account-based wagering systems utilize player accounts when transacting and performing activities, at the computer level, that are initiated by players. Therefore, a “player account” represents the player at a computerized level. The player account can perform actions via computerized instructions. For example, in some embodiments, a player account may be referred to as performing an action, controlling an item, communicating information, etc. Although a player, or person, may be activating a game control or device to perform the action, control the item, communicate the information, etc., the player account, at the computer level, can be associated with the player, and therefore any actions associated with the player can also be associated with the player account. Therefore, for brevity, to avoid having to describe the interconnection between player and player account in every instance, a “player account” may be referred to herein in either context. Further, in some embodiments herein, the word “gaming” is used interchangeably with “gambling.”
Although
This section describes example operating environments and networks and presents structural aspects of some embodiments. More specifically, this section includes discussion about wagering game system architectures.
The wagering game system architecture 200 can also include a wagering game server 250 configured to control wagering game content, provide random numbers, and communicate wagering game information, account information, and other information to and from a wagering game machine 260. The wagering game server 250 can include a content controller 251 configured to manage and control content for the presentation of content on the wagering game machine 260. For example, the content controller 251 can generate game results (e.g., win/loss values), including win amounts, for games played on the wagering game machine 260. The content controller 251 can communicate the game results to the wagering game machine 260. The content controller 251 can also generate random numbers and provide them to the wagering game machine 260 so that the wagering game machine 260 can generate game results. The wagering game server 250 can also include a content store 252 configured to contain content to present on the wagering game machine 260. The wagering game server 250 can also include an account manager 253 configured to control information related to player accounts. For example, the account manager 253 can communicate wager amounts, game results amounts (e.g., win amounts), bonus game amounts, etc., to the account server 270. The wagering game server 250 can also include a communication unit 254 configured to communicate information to the wagering game machine 260 and to communicate with other systems, devices and networks. The wagering game server 250 can also include a gaming module 255 configured to receive and enforce rules sets that control communication and/or other interactions between wagering game programs run by the wagering game server 150 and programs run by a host gaming server 280. The wagering game server 250 can also include a secondary content unit 256 configured to control secondary content related to wagering games. For example, the secondary content unit 256 can integrate with the secondary content server 240 to provide secondary wagering games to the wagering game machine 260.
The wagering game system architecture 200 can also include the wagering game machine 260 configured to present wagering games, process wagering game information, instructions, and data, and receive and transmit information to manage gaming data. The wagering game machine 260 can include one or more content controller(s) 261 configured to manage and control content and presentation of content on the wagering game machine 260. The wagering game machine 260 can also include one or more content store(s) 262 configured to contain content to present on the wagering game machine 260. The content controller(s) 261 and content store(s) 262 can, for example, control and store content for a primary, or base wagering game, and one or more secondary wagering games and/or one or more secondary content applications (e.g., chat, leader boards, media players, etc.). The wagering game machine 260 can also include a secondary content client configured to present secondary content applications (e.g., client player instances). The wagering game machine 260 can further include an application management module 263 configured to manage communications between a primary game application and secondary content applications. The application management module 263 can further be configured to manage (e.g., aggregate, publish, route, convert, etc.) communication and interpretation of events between applications, services, components, etc. of the wagering game machine 260 and other devices associated with and/or external to the wagering game machine 260. For instance, the application management module 263 can communicate event data to and from one or more secondary content client environments (e.g., an Adobe® Flash® Player, a Microsoft® Silverlight® Player, etc.), a primary wagering game application, and the wagering game server 250. The application management module 263 can further be configured to manipulate and control windows, or other user interfaces, presented on displays of the wagering game machine 260. The application management module 263 can also be configured to control and communicate account information (e.g., financial transactions, player tracking information, etc.) between the wagering game machine 260 the account server 270, the wagering game server 250, and/or the host gaming server 280. The wagering game machine 260 can also include a gaming module 263 configured to receive and enforce rules sets that control communication and/or other interactions between wagering game programs run by the wagering game machine 160 and programs run by a host gaming server 280.
The wagering game system architecture 200 can also include a web server 290 configured to control and present an online website that hosts wagering games. The web server 290 can also be configured to present multiple wagering game applications on the wagering game machine 260, on the personal computing device 230 (e.g., a personal computer) via a wagering game website, or via any other gaming-type venue accessible via the Internet. The web server 290 can host an online wagering website and/or a social networking website. The web server 290 can include other devices, servers, mechanisms, etc., that provide functionality (e.g., controls, web pages, applications, etc.) that web users can use to connect to a social networking application and/or website and utilize social networking and website features (e.g., communications mechanisms, applications, etc.). The web server 290 can also be configured to provide content from the host gaming server 280, such as web pages that a player can load into a web browser on the personal computing device 230 that specifies progress in a persistent-state game and/or to provide non-wagering games (e.g., casual games) that relate to a theme for the persistent-state game.
The wagering game system architecture 200 can also include a secondary content server 240 configured to provide content and control information for secondary games and other secondary content available on a wagering game network (e.g., secondary wagering game content, promotions content, advertising content, player tracking content, web content, etc.). The secondary content server 240 can provide “secondary” content, or content for “secondary” games presented on the wagering game machine 260. “Secondary” in some embodiments can refer to an application's importance or priority of the data. In some embodiments, “secondary” can refer to a distinction, or separation, from a primary application (e.g., separate application files, separate content, separate states, separate functions, separate processes, separate programming sources, separate processor threads, separate data, separate control, separate domains, etc.). Nevertheless, in some embodiments, secondary content and control can be passed between applications (e.g., via application protocol interfaces), thus becoming, or falling under the control of, primary content or primary applications, and vice versa. In some embodiments, the secondary content server 240 can provide and control content for community games, including networked games, social games, competitive games, or any other game that multiple players can participate in at the same time. In some embodiments, the secondary content server 240 can control and present an online website that hosts wagering games. The secondary content server 240 can also be configured to present multiple wagering game applications on the wagering game machine 260 via a wagering game website, or other gaming-type venue accessible via the Internet. The secondary content server 240 can host an online wagering website and/or a social networking website. The secondary content server 240 can include other devices, servers, mechanisms, etc., that provide functionality (e.g., controls, web pages, applications, etc.) that web users can use to connect to a social networking application and/or website and utilize social networking and website features (e.g., communications mechanisms, applications, etc.). The secondary content server 240 can also be configured to integrate with programs provided by the host gaming server 280. The secondary content server 240 can also provide chat functionality for a social networking website, a chat application, or any other social networking communications mechanism. In some embodiments, the secondary content server 240 can utilize player data to determine marketing promotions that may be of interest to a player account. The secondary content server 240 can also analyze player data and generate analytics for players, group players into demographics, integrate with third party marketing services and devices, etc. The secondary content server 240 can also provide player data to third parties that can use the player data for marketing. The secondary content server 240 can also provide and control content for community games, including networked games, social games, competitive games, or any other game that multiple players can participate in at the same time.
The wagering game system architecture 200 can also include a host gaming server 280 configured to process and control host-level programs. The host gaming server 280 can include a content controller 281 configured to manage and control content that can be provided to a personal computing device 230 (e.g., personal computer system, home-based gaming system, cell phone, etc.), the wagering game server 250, and/or the wagering game machine 260. For example, the content controller 281 can provide themed content associated with a persistent-state game. The themed content can be presented on the personal computing device 230, via the wagering game server 250, and/or on the wagering game machine 260. The host gaming server 280 can also include a content store 282 configured to contain content to present on the personal computing device 230, via the wagering game server 280, and/or on the wagering game machine 260. The host gaming server 280 can also include an account manager 283 configured to control information related to player accounts. For example, the account manager 283 can communicate player information, persistent-state game results, prize values, virtual trophies, etc., to the account server 270 to store in one or more player accounts associated with a persistent-state game. The host gaming server 280 can also include a communication unit 284 configured to communicate information to the personal computing device 230, the wagering game server 250, and/or the wagering game machine 260 and to communicate with other systems, devices and networks. The host gaming server 280 can also include a rule-set store 285 configured to store rule sets that include rules for timing, scheduling, transmitting, or otherwise controlling communications between the host gaming server 280, the wagering game machine 260, the wagering game server 250, third-party servers (e.g., marketing servers), the personal computing device 230, etc. The host gaming server 280 can also include a gaming controller 286 configured to track and control progress toward game goals that relate to a persistent-state game. The gaming controller 286 can communicate the game goals and progress indicators to the personal computing device 230, the wagering game server 250, and/or the wagering game machine 260.
Each component shown in the wagering game system architecture 200 is shown as a separate and distinct element connected via a communications network 222. However, some functions performed by one component could be performed by other components. For example, the wagering game server 250 can also be configured to perform functions of the secondary content server 240, the web server 290, and other network elements and/or system devices. Furthermore, the components shown may all be contained in one device, but some, or all, may be included in, or performed by, multiple devices, as in the configurations shown in
The wagering game machines described herein (e.g., wagering game machine 260) can take any suitable form, such as floor standing models, handheld mobile units, bar-top models, workstation-type console models, surface computing machines, etc. Further, wagering game machines can be primarily dedicated for use in conducting wagering games, or can include non-dedicated devices, such as mobile phones, personal digital assistants, personal computers, etc.
In some embodiments, wagering game machines and wagering game servers work together such that wagering game machines can be operated as thin, thick, or intermediate clients. For example, one or more elements of game play may be controlled by the wagering game machines (client) or the wagering game servers (server). Game play elements can include executable game code, lookup tables, configuration files, game outcome, audio or visual representations of the game, game assets or the like. In a thin-client example, the wagering game server can perform functions such as determining game outcome or managing assets, while the wagering game machines can present a graphical representation of such outcome or asset modification to the user (e.g., player). In a thick-client example, the wagering game machines can determine game outcomes and communicate the outcomes to the wagering game server for recording or managing a player's account.
In some embodiments, either the wagering game machines (client) or the wagering game server(s) can provide functionality that is not directly related to game play. For example, account transactions and account rules may be managed centrally (e.g., by the wagering game server(s)) or locally (e.g., by the wagering game machines). Other functionality not directly related to game play may include power management, presentation of advertising, software or firmware updates, system quality or security checks, etc.
Furthermore, the wagering game system architecture 200 can be implemented as software, hardware, any combination thereof, or other forms of embodiments not listed. For example, any of the network components (e.g., the wagering game machines, servers, etc.) can include hardware and machine-readable storage media including instructions for performing the operations described herein.
This section describes operations associated with some embodiments. In the discussion below, some flow diagrams are described with reference to block diagrams presented herein. However, in some embodiments, the operations can be performed by logic not described in the block diagrams.
In certain embodiments, the operations can be performed by executing instructions residing on machine-readable storage media (e.g., software), while in other embodiments, the operations can be performed by hardware and/or other logic (e.g., firmware). In some embodiments, the operations can be performed in series, while in other embodiments, one or more of the operations can be performed in parallel. Moreover, some embodiments can perform more or less than all the operations shown in any flow diagram.
In
The flow 300 continues at processing block 304, where the system determines whether a filter needs to be updated. For example the system can determine whether a filter needs to be updated based on state data. The state data can be associated with a persistent-state game (PSG). In some embodiments, the system receives a new or updated filter provided by a host gaming server. In some embodiments, the system stores filters and determines, intelligently, whether filter settings, such as a transmission schedule for the filter, needs to be updated based on the state data for the PSG. If the filter needs updating, the flow 300 continues at processing block 306, where the system updates the filter (e.g., installs a new or updated filter received from a host gaming server, modifies a transmission schedule setting for a stored filter, etc.). The filter can specify triggers that indicate the occurrence of conditions, events, etc. that in a wagering game that would result in a specific level, or degree, of progress in a PSG.
The flow 300 continues at processing block 308, where the system processes session data according to the filter. For example, the system can accumulate the data according to filter settings, such as a transmission schedule indicated in the filter, which only transmits session data after certain triggers occur.
The flow 300 continues at processing block 310 where the system determines that a trigger occurs. Triggers may include, or specify, settings or conditions that, when reached or activated during a gaming session, activate the trigger. The settings or conditions can relate to activities, events, accomplishments, configurations, etc. of the wagering game session. Some specific triggers, or conditions associated with triggers, may refer to wagering amounts, configurations of wagering game elements, reel-stop configurations, wagering game outcomes, card hand configurations, bonus game values, a number of hands dealt in a wagering game, a specific number of spins of a reel, a threshold value in a point counter, group game activity, casino challenge activity, etc. If no trigger occurs, the flow can continue at processing block 314 where the system determines whether the session ends via player input (e.g., logout). If the session ends, the flow 300 continues at processing block 316, where the system provides final session data, including any accumulated session data. If, however, at processing block 314 the session does not end, the flow 300 returns to processing block 304 where the system determines whether the filter requires an update (e.g., an update may be required if a host gaming server has provided an updated filter). If no update is required then the flow 300 returns to processing block 308 where the system continues accumulating session data.
If, however, at processing block 310 the system determines that a trigger does occur, the flow 300 continues at processing block 312 wherein the system provides processed session data. The system can provide the processed session data according to a trigger. For instance, the system can send a data packet of accumulated session data via a communications network to a host gaming server after the trigger occurs. The data packet can include session data of events, conditions, etc., that occurred over a plurality of wagers, plays, spins, hands, wins, losses, or any other wagering-game-related event or condition. For instance, in one embodiment, a trigger may specify that after every 10 spins, after every 5 win results, or after every 20 credits bet the system should transmit accumulated session data. In another instance, the system may detect a trigger than indicates a specific leaderboard status, a simultaneous play activity amongst team members, an acquisition of a scavenger hunt item, an achievement of a race conditions before a competitor, an occurrence of a certain number of bonus games, etc. and then send accumulated session data. In yet another example, the system may detect a trigger that specifies a number of progress points that would result from events that occur via a wagering game program (e.g., transmit session data after every 25 points accumulated for the PSG).
After processing block 312, the flow 300 continues at processing block 314 where the system determines whether the session ends via player input (e.g., logout). If the session ends, the flow 300 continues at processing block 316, where the system can provides final session data. If, however, at processing block 314 the session does not end, the flow 300 returns to processing block 304 where the system determines whether the filter requires an update.
In
In
The flow 400 continues, at processing block 404, where the system selects and provides a filter based on the wagering game and the state of the PSG. For instance, the system can provide the filter and the state data to a gaming module associated with a wagering game program.
The flow 400 continues, at processing block 406, where the system determines whether session data has been received. For example, the system may receive, from a gaming module, session data related to a game event (e.g., bet amounts, win/loss results, etc.) during the gaming session.
The flow 400 continues, at processing block 408, where the system updates state data of the PSG based on the session data. For example, the system can receive periodic data packets of session data that specify a number of spins, game plays, gaming accomplishments, etc., which occurred during the gaming session for the wagering game program. The PSG may award certain progress points for the number of spins, game plays, gaming accomplishments, etc. In some embodiments, the system can also send updated state data to a source that provided the session data.
The flow 400 continues, at processing block 409, where the system determines whether the update to the state of the PSG results in a substantial advancement. For example, the PSG may reach a level of progress where a milestone is reached and/or an award is provided. If so, the flow 400 can continue at processing block 410 where the system sends a notification of the substantial advancement. The system can send the notification to a wagering game machine, a wagering game program, a wagering game server, a cell phone, a third party server, any device that contains a gaming module, any contact specified in a player account, or any device, machine, or entity that may be related to the PSG or have interest in substantial advancements in the PSG. The notification of the substantial advancement in the PSG can notify a player, during a gaming session, of persistent-state game progress, awards, prizes, advancement, etc. so that a player can make decisions during the game session regarding how to perform additional activity during the gaming session. Further, because the system can communicate data to a player during a wagering game session, and receive feedback from the player during the wagering game session, the system can limit an amount of data that it writes to a hard drive associated with a host gaming server. For example, because the system can respond to session data during a wagering game session, the system can progress a PSG without having to wait for a wagering game player to login to a website after the gaming session. The system can instead engage in communications with the player during the gaming session and notify the player during the wagering game session of the progress made in the PSG.
The flow 400 continues, at processing block 411, where the system determines whether the filter needs updating based on the information provided in the session data and/or based on the updated state of the PSG. For example, if the PSG experiences a substantial advancement based on the session data that requires updated filter settings (e.g., the PSG progress indicator 512 in
The flow 400 continues, at processing block 412, wherein the system determines whether the session data indicates an end to the session. If not, then the flow 400 loops and continues at processing block 406. Otherwise, the flow 400 ends.
In some embodiments, flow 300 and flow 400 may be performed in parallel. For example, flow 400 may begin after the system described in
According to some embodiments, a wagering game system (“system”) can provide various example devices, operations, etc., to manage gaming data. The following non-exhaustive list enumerates some possible embodiments.
This section describes example operating environments, systems and networks, and presents structural aspects of some embodiments.
The memory unit 630 may also include an I/O scheduling policy unit and I/O schedulers. The memory unit 630 can store data and/or instructions, and may comprise any suitable memory, such as a dynamic random access memory (DRAM), for example. The computer system 600 may also include one or more suitable integrated drive electronics (IDE) drive(s) 608 and/or other suitable storage devices. A graphics controller 604 controls the display of information on a display device 606, according to some embodiments.
The ICH 624 provides an interface to I/O devices or peripheral components for the computer system 600. The ICH 624 may comprise any suitable interface controller to provide for any suitable communication link to the processor unit 602, memory unit 630 and/or to any suitable device or component in communication with the ICH 624. The ICH 624 can provide suitable arbitration and buffering for each interface.
For one embodiment, the ICH 624 provides an interface to the one or more IDE drives 608, such as a hard disk drive (HDD) or compact disc read only memory (CD ROM) drive, or to suitable universal serial bus (USB) devices through one or more USB ports 610. For one embodiment, the ICH 624 also provides an interface to a keyboard 612, selection device 614 (e.g., a mouse, trackball, touchpad, etc.), CD-ROM drive 618, and one or more suitable devices through one or more firewire ports 616. For one embodiment, the ICH 624 also provides a network interface 620 though which the computer system 600 can communicate with other computers and/or devices.
The computer system 600 may also include a machine-readable storage medium that stores a set of instructions (e.g., software) embodying any one, or all, of the methodologies for managing gaming data. Furthermore, software can reside, completely or at least partially, within the memory unit 630 and/or within the processor unit 602. The computer system 600 can also include a wagering game module 637. The wagering game module 637 can process communications, commands, or other information, to manage gaming data. Any component of the computer system 600 can be implemented as hardware, firmware, and/or machine-readable storage media including instructions for performing the operations described herein.
The CPU 826 is also connected to an input/output (“I/O”) bus 822, which can include any suitable bus technologies, such as an AGTL+ frontside bus and a PCI backside bus. The I/O bus 822 is connected to a payout mechanism 808, primary display 810, secondary display 812, value input device 814, player input device 816, information reader 818, and storage unit 830. The player input device 816 can include the value input device 814 to the extent the player input device 816 is used to place wagers. The I/O bus 822 is also connected to an external system interface 824, which is connected to external systems (e.g., wagering game networks). The external system interface 824 can include logic for exchanging information over wired and wireless networks (e.g., 802.11g transceiver, Bluetooth transceiver, Ethernet transceiver, etc.)
The I/O bus 822 is also connected to a location unit 838. The location unit 838 can create player information that indicates the wagering game machine's location/movements in a casino. In some embodiments, the location unit 838 includes a global positioning system (GPS) receiver that can determine the wagering game machine's location using GPS satellites. In other embodiments, the location unit 838 can include a radio frequency identification (RFID) tag that can determine the wagering game machine's location using RFID readers positioned throughout a casino. Some embodiments can use GPS receiver and RFID tags in combination, while other embodiments can use other suitable methods for determining the wagering game machine's location. Although not shown in
In some embodiments, the wagering game machine 806 can include additional peripheral devices and/or more than one of each component shown in
In some embodiments, the wagering game machine 806 includes a gaming module 837. The gaming module 837 can process communications, commands, or other information, where the processing can manage gaming rules sets and communications.
Furthermore, any component of the wagering game machine 806 can include hardware, firmware, and/or machine-readable storage media including instructions for performing the operations described herein.
The wagering game machine 900 comprises a housing 912 and includes input devices, including value input devices 918 and a player input device 924. For output, the wagering game machine 900 includes a primary display 914 for displaying information about a basic wagering game. The primary display 914 can also display information about a bonus wagering game and a progressive wagering game. The wagering game machine 900 also includes a secondary display 916 for displaying wagering game events, wagering game outcomes, and/or signage information. While some components of the wagering game machine 900 are described herein, numerous other elements can exist and can be used in any number or combination to create varying forms of the wagering game machine 900.
The value input devices 918 can take any suitable form and can be located on the front of the housing 912. The value input devices 918 can receive currency and/or credits inserted by a player. The value input devices 918 can include coin acceptors for receiving coin currency and bill acceptors for receiving paper currency. Furthermore, the value input devices 918 can include ticket readers or barcode scanners for reading information stored on vouchers, cards, or other tangible portable storage devices. The vouchers or cards can authorize access to central accounts, which can transfer money to the wagering game machine 900.
The player input device 924 comprises a plurality of push buttons on a button panel 926 for operating the wagering game machine 900. In addition, or alternatively, the player input device 924 can comprise a touch screen 928 mounted over the primary display 914 and/or secondary display 916.
The various components of the wagering game machine 900 can be connected directly to, or contained within, the housing 912. Alternatively, some of the wagering game machine's components can be located outside of the housing 912, while being communicatively coupled with the wagering game machine 900 using any suitable wired or wireless communication technology.
The operation of the basic wagering game can be displayed to the player on the primary display 914. The primary display 914 can also display a bonus game associated with the basic wagering game. The primary display 914 can include a cathode ray tube (CRT), a high resolution liquid crystal display (LCD), a plasma display, light emitting diodes (LEDs), or any other type of display suitable for use in the wagering game machine 900. Alternatively, the primary display 914 can include a number of mechanical reels to display the outcome. In
A player begins playing a basic wagering game by making a wager via the value input device 918. The player can initiate play by using the player input device's buttons or touch screen 928. The basic game can include arranging a plurality of symbols 932 along a pay line, which indicates one or more outcomes of the basic game. Such outcomes can be randomly selected in response to player input. At least one of the outcomes, which can include any variation or combination of symbols, can trigger a bonus game.
In some embodiments, the wagering game machine 900 can also include an information reader 952, which can include a card reader, ticket reader, bar code scanner, RFID transceiver, or computer readable storage medium interface. In some embodiments, the information reader 952 can be used to award complimentary services, restore game assets, track player habits, etc.
Embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, embodiments of the inventive subject matter may take the form of a computer program product embodied in any tangible medium of expression having computer readable program code embodied in the medium. The described embodiments may be provided as a computer program product, or software, that may include a machine-readable storage medium having stored thereon instructions, which may be used to program a computer system (or other electronic device(s)) to perform a process according to embodiments(s), whether presently described or not, because every conceivable variation is not enumerated herein. A machine-readable storage medium includes any mechanism that stores information in a form readable by a machine (e.g., a wagering game machine, computer, etc.). For example, machine-readable storage media includes read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media (e.g., CD-ROM), flash memory machines, erasable programmable memory (e.g., EPROM and EEPROM); etc. Some embodiments of the invention can also include machine-readable signal media, such as any media suitable for transmitting software over a network.
This detailed description refers to specific examples in the drawings and illustrations. These examples are described in sufficient detail to enable those skilled in the art to practice the inventive subject matter. These examples also serve to illustrate how the inventive subject matter can be applied to various purposes or embodiments. Other embodiments are included within the inventive subject matter, as logical, mechanical, electrical, and other changes can be made to the example embodiments described herein. Features of various embodiments described herein, however essential to the example embodiments in which they are incorporated, do not limit the inventive subject matter as a whole, and any reference to the invention, its elements, operation, and application are not limiting as a whole, but serve only to define these example embodiments. This detailed description does not, therefore, limit embodiments, which are defined only by the appended claims. Each of the embodiments described herein are contemplated as falling within the inventive subject matter, which is set forth in the following claims.
This application claims the priority benefit of U.S. Provisional Application Ser. No. 61/410,221 filed Nov. 4, 2010.
Number | Name | Date | Kind |
---|---|---|---|
20030114220 | McClintic | Jun 2003 | A1 |
20090054136 | Gagner et al. | Feb 2009 | A1 |
20090156299 | Anderson et al. | Jun 2009 | A1 |
20100016056 | Thomas et al. | Jan 2010 | A1 |
20100016071 | Jaffe et al. | Jan 2010 | A1 |
20100124983 | Gowin et al. | May 2010 | A1 |
20100317424 | Hornik et al. | Dec 2010 | A1 |
20100317442 | Thomas et al. | Dec 2010 | A1 |
20100323785 | Motyl et al. | Dec 2010 | A1 |
20120004026 | Vann | Jan 2012 | A1 |
Number | Date | Country |
---|---|---|
WO2008063349 | May 2008 | WO |
WO2008108780 | Sep 2008 | WO |
Entry |
---|
Cisco, “White Paper”, Working with Device Fault Manager Polling and Threshold Manager Feb. 2010 , 19 pages. |
Gaming Standards Association, “eventHandler”, Clarifications to G2S From V1.0.3 to V2.0.3 Game to System Chapter 4 Oct. 23, 2009, pp. 50-62. |
Gaming Standards Association, “eventHandler”, Clarifications to G2S From V1.0.3 to V2.0.3 Game to System Chapter 4 Mar. 25, 2010 , pp. 70-82. |
Gaming Standards Association, “eventHandler Class”, G2S Message Protocol V1.0.3 Gane System Chapter 4 Apr. 12, 2007 , pp. 155-198. |
Gaming Standards Association, “eventHandler Class”, G2S Message Protocol V2.0.3 Game To System Chapter 4 Oct. 16, 2009 , pp. 317-382. |
Gaming Standards Association, “meters”, Clarifications to G2S From V1.0.3 to V2.0.3 Game to System Chapter 5 Oct. 23, 2009 , pp. 83-90. |
Gaming Standards Association, “meters”, Clarifications to G2S From V1.0.3 to V2.0.3 Game to System Chapter 5 Mar. 25, 2010 , pp. 83-90. |
Gaming Standards Association, “meters Class”, G2S Message Protocol V1.0.3 Game To System Apr. 12, 2007 , pp. 199-238. |
Gaming Standards Association, “meters Class”, G2S Message Protocol V2.0.3 Game To System Chapter 5 Oct. 16, 2009 , pp. 383-444. |
Gaming standards Association, “player”, Clarifications to G2S From V1.0.3 to V2.0.3 Game To System Chapter 20 Oct. 23, 2009, pp. 175-187. |
Gaming Standards Association, “player”, Clarifications to G2S From v1.0.3 to V2.0.3 Game to System Chapter 20 Mar. 25, 2010 , pp. 175-187. |
Gaming Standards Association, “player Class”, G2S Message Protocol V2.0.3 Game to System Chapter 20 Oct. 16, 2009 , pp. 1309-1412. |
Gaming Standards Association, “player Class”, G2S Message Protocol V1.0.3 Game to system Chapter 20 Apr. 12, 2007 , pp. 813-884. |
Number | Date | Country | |
---|---|---|---|
61410221 | Nov 2010 | US |