Player driven game download to a gaming machine

A service window may be provided to a gaming machine, such as a video slot machine, video poker machine, or similar electronic device. The service window may include an option to request an available game for download. A request for the game may be received via the service window and the game may be provided to the gaming machine.

BACKGROUND

1. Field of the Described Embodiments

The present disclosure relates generally to gaming machines, and more particularly to gaming machines configured to allow players to request and download games dynamically to the gaming machines.

2. Description of the Related Art

Many of today's gaming casinos and other entertainment locations feature different single and multi-player gaming machines such as slot machines and video poker machines. The gaming machines may include a number of hardware and software components to provide a wide variety of game types and game playing capabilities. Exemplary hardware components may include bill validators, coin acceptors, card readers, keypads, buttons, levers, touch screens, coin hoppers, ticket printers, player tracking units and the like. Software components may include, for example, boot and initialization routines, various game play programs and subroutines, credit and payout routines, image and audio generation programs, various component modules and a random or pseudo-random number generator, among others.

Gaming machines are highly regulated to ensure fairness. In many cases, gaming machines may be operable to dispense monetary awards of a large amount of money. Accordingly, access to gaming machines is often carefully controlled. For example, in some jurisdictions, routine maintenance requires that extra personnel (e.g., gaming control personnel) be notified in advance and be in attendance during such maintenance. Additionally, gaming machines may have hardware and software architectures that differ significantly from those of general-purpose computers (PCs), even though both gaming machines and PCs employ microprocessors to control a variety of devices. For example, gaming machines may have more stringent security requirements and fault tolerance requirements. Additionally, gaming machines generally operate in harsher environments as compared with PCs.

SUMMARY

According to one embodiment, a method of providing a game to a gaming machine includes providing a service window to a gaming machine. The service window includes an option to request an available game. The method also includes receiving, at the processing circuit, a request for the game from the gaming machine via the service window. The method further includes providing the requested game to the gaming machine.

According to another embodiment, a processing circuit is configured to provide a service window to a gaming machine. The service window includes an option to request an available game. The processing circuit is further configured to receive a request for the game from the gaming machine via the service window and to provide the requested game to the gaming machine.

According to another embodiment, a method of providing a game to a gaming machine includes determining, by a processing circuit, that a game is available for download to a gaming machine. The method also includes providing a service window to a gaming machine, the service window including an option to request the available game. The method further includes receiving, at the processing circuit, a request for the game from the gaming machine via the service window. The method also includes providing the requested game to the gaming machine.

DETAILED DESCRIPTION

Numerous specific details may be set forth below to provide a thorough understanding of concepts underlying the described embodiments. It may be apparent, however, to one skilled in the art that the described embodiments may be practiced without some or all of these specific details. In other instances, some process steps have not been described in detail in order to avoid unnecessarily obscuring the underlying concept.

Referring toFIG. 1, a perspective drawing of an electronic gaming machine102is shown in accordance with described embodiments. Gaming machine102may include a main cabinet104. Main cabinet104may provide a secure enclosure that prevents tampering with device components, such as a game controller (not shown) located within the interior of main cabinet104. Main cabinet104may include an access mechanism, such as a door106, which allows the interior of gaming machine102to be accessed. Actuation of a door106may be controlled by a locking mechanism114. In some embodiments, locking mechanism114, door106, and the interior of main cabinet104may be monitored with security sensors of various types to detect whether the interior has been accessed. For instance, a light sensor may be provided within main cabinet104to detect a change in light-levels when door106is opened and/or an accelerometer may be attached to door106to detect when door106is opened.

Gaming machine102may include any number of user interface devices that convey sensory information to a user and/or receive input from the user. For example, gaming machine102may include electronic displays110,122, speakers126, and/or a candle device112to convey information to the user of gaming machine102. Gaming machine102may also include a console124having one or more inputs134(e.g., buttons, track pads, etc.) configured to receive input from a user. In one embodiment, display110and/or display122may also be a touch screen display configured to receive input from a user. A controller (not shown) within gaming machine102may run a game, such as a wager-based game, in response to receiving input from a user via inputs134, display122, or display110. For example, inputs134may be operated to place a wager in the game and to run the game. In response, the controller may cause reels shown on display122to spin, such as with a software-based slot game.

Gaming machine102may also include devices for conducting a wager-based game. For example, gaming machine102may include a ticket acceptor116and a printer120. In various embodiments, gaming machine102may be configured to run on credits that may be redeemed for money and/or other forms of prizes. Ticket acceptor116may read an inserted ticket having one or more credits usable to play a game on gaming machine102. For example, a player of gaming machine102may wager one or more credits within a video slot game. If the player loses, the wagered amount may be deducted from the player's remaining balance on gaming machine102. However, if the player wins, the player's balance may be increased by the amount won. Any remaining credit balance on gaming machine102may be converted into a ticket via printer120. For example, a player of gaming machine102may cash out of the machine by selecting to print a ticket via printer120. The ticket may then be used to play other gaming machines or redeemed for cash and/or prizes. According to various embodiments, gaming machine102may record data regarding its receipt and/or disbursement of credits. For example, gaming machine102may generate accounting data whenever a result of a wager-based game is determined. In some embodiments, gaming machine102may provide accounting data to a remote data collection device, allowing the remote monitoring of gaming machine102.

In one embodiment, gaming machine102may include a loyalty card acceptor130. In general, a loyalty card may be tied to a user's loyalty account. A loyalty account may store various information about the user, such as the user's identity, the user's gaming preferences, the user's gaming habits (e.g., which games the user plays, how long the user plays, etc.), or similar information about the user. A loyalty account may also be used to reward a user for playing gaming machine102. For example, a user having a loyalty account may be given a bonus turn on gaming machine102or credited loyalty points for playing gaming machine102. Such loyalty points may be exchanged for loyalty rewards (e.g., a free meal, a free hotel stay, free room upgrade, discounts, etc.).

Referring now toFIG. 2, an illustration of a service window214on a gaming machine is shown, according to an exemplary embodiment. Generally, a service window refers to any graphical interface that provides entertainment-related services to a player of a gaming machine, information regarding the player's loyalty account, and/or allows messages to be sent to the player. Typically, a service window may be displayed by a gaming machine in conjunction with a running game (e.g., at the same time), but may also be displayed separately (e.g., when no game is running)

As shown, a gaming machine may include an electronic display200in communication with one or more processors of the gaming machine. The one or more processors may execute machine instructions that cause the one or more processors to provide display data to electronic display200. In one embodiment, electronic display200may be a touch screen display configured to provide input data to the one or more processors of the gaming machine, in response to detecting contact with the screen. For example, electronic display200may detect a change in resistance, capacitance, or a similar measurement, due to contact being made with electronic display200. Such a measurement may be used by the one or more processors as input to a game or other application executed by the gaming machine (e.g., as a selection of a displayed icon or button, as a swiped motion across the screen, etc.).

According to some embodiments, service window214may be provided to display200by a multimedia player application executed by the gaming machine. For example, service window214may be presented to display200by the Flash Player application by Adobe Systems, Inc., or by another similar multimedia player. In other embodiments, service window214may be a webpage presented to display200by a web browser. In some embodiments, service window214may be generated and provided to the gaming machine by a remote server. In other words, the logic of service window214may reside on a remote server and its corresponding display data provided to the gaming machine for presentation to the player. In other embodiments, the logic of service window214may reside within a local memory of the gaming machine as a stand-alone application or as a multimedia application.

Service window214may be provided to the gaming machine via any of a variety of gaming protocols (i.e., communications protocols specifically designed for use in a gaming environment, such as a casino), or any of a variety of non-gaming protocols (i.e., communication protocols that are not specifically designed for use in a gaming environment). One exemplary gaming protocol is the Slot Accounting System (SAS) Protocol, pioneered by International Game Technology (IGT) and recognized in 2002 by the Gaming Standards Association (GSA) as an industry standard. A more recent gaming communications protocol in the gaming industry is the Game to System (G2S) Protocol, also recognized by the GSA as an industry standard. Thus, many casinos and other gaming environments may have specialized infrastructure to support the control and monitoring of gaming machines. Exemplary non-gaming protocols may include, but are not limited to, HTML, RTMP, FTP, JSON, and the like.

According to some embodiments, service window214may be provided to electronic display200in conjunction with a running game202. Service window214may be presented on electronic display200along a border of electronic display200with game202or in another on-screen location. Game202may be a wager-based game and may display a cost210associated with playing game202. For example, each round of game202may cost $1. Game202may also use credits to represent an amount of money available to wager. In some cases, money inserted into the gaming machine may be converted into credits. In other cases, credits may be associated with a player's account and registered with the gaming machine when a loyalty card is inserted into the gaming machine. Game202may display the number of credits available to a player via a box208. Such credits may be used to play game202or may be cashed out by converting the credits directly into cash, a redeemable ticket, or stored as part of the player's loyalty account.

In further embodiments, service window214may be provided in a separate window as game202or even on a display of a separate device. For example, game202may be minimized or otherwise hidden to display service window214. In another example, service window214may be displayed on a portable electronic device operated by the player, such as a smartphone or tablet computing device. Such an electronic device may communicate with a remote server to identify the player wirelessly or via a connection with the gaming machine. For example, a portable device may communicate with the gaming machine via a Bluetooth connection, a WiFi connection, a cellular connection (e.g., 4G LTE), a docking station, a universal serial bus (USB) cable, or any other form of wireless or wired connection. In one embodiment, a connection may be formed by a player's own body presenting a low voltage electrical path that connects the portable device and the gaming machine.

In the example shown, game202may be a slot game that includes reels204that are displayed by display110and/or122and simulate the spinning of reels in an electro-mechanical slot machine. Each of reels204may include any number of symbols (e.g., lemons, 7's, stars, pots of gold, etc.). Game202may also include a payline206. To play game202, a player may select a spin button212, thereby wagering one or more of his or her available credits. In response, the game may randomly determine an outcome for payline206and simulate the spinning of reels204. If a certain number of symbols and/or specific types of symbols align along payline206, the player of the gaming machine may receive credits.

In some embodiments, service window214may be associated with a player's loyalty account. For example, a player may identify him or herself to the gaming machine by inserting a loyalty card into a reader, providing biometric data to the gaming machine, or bringing another electronic device into proximity of the gaming machine (e.g., a cellular phone, an RFID tag, etc.). Identification data may then be provided by the gaming machine to the remote server, which stores account information for the player (e.g., information regarding the player's name, address, drink preferences, earned rewards, loyalty points, etc.). Service window214may provide indications of such account information to display200for review by the player of the gaming machine.

Service window214may include an indication220of earned loyalty points associated with the player's loyalty account. In general, loyalty points provide an incentive to a player to continue playing the gaming machine. Loyalty points may be earned by the player based on the amount of time the player has played the gaming machine, the number of rounds of game202played by the player, the amount of the player's wagers, or similar factors. Loyalty points may be redeemed by the player for discounts, prizes, meals, drinks, hotel stays, goods, services, tickets, or any other form of reward.

Service window214may include an indication222of earned extra credits. Extra credits may be used by a player to supplement the credits indicated by box208of game202. For example, a player may earn a free spin in game202based on the amount of play of game202, randomly, or in response to the player performing a desired action.

Service window214may include a menu option216to allow a player to update his or her account information. Selection of option216may navigate the player to one or more other screens of service window214to update his or her account information. For example, option216may be selected by a player to add, update, or delete information regarding the player (e.g., the player's contact information, the player's preferences, etc.).

Service window214may include a menu option218configured to allow a player of the gaming machine to review messages. In some cases, messages may be provided by the operator of the gaming establishment to the player of the gaming machine. For example, a casino operator may notify players of upcoming events, promotions, etc., via messages218. If the player has a registered loyalty account, messages218may also include messages specific to the player (e.g., awards given to the player, confirmations of loyalty point redemptions, etc.). The messages may be sent by the operator of the gaming establishment, an advertiser, another player, or any other entity. Similarly, service window214may be configured to allow the player to send messages to other players, staff of the establishment, etc. For example, service window214may include a message inbox and/or outbox, to allow the player of the gaming machine to receive and/or send messages to others.

Service window214may include a menu option224configured to allow a player to review currently available offers. Similar to promotional offers sent via messages, the offers may include available opportunities to earn or redeem loyalty points, discounts from the operator of the gaming environment or another such entity, participate in special contests, etc. The promotional offers available via menu option224may be provided on a “pull” basis (i.e., in response to a request from the player for promotional offers), while any promotional offers available via menu option224may be provided on a “push” basis (i.e., without first receiving a request from the player). In various embodiments, the promotional offers may be generally-available offers or offers available only to a particular player or set of players.

Service window214may include a menu option226to allow the player of the gaming machine perform entertainment-related functions. For example, the player may select menu option226to make, cancel, and/or change reservations at a restaurant. In another example, menu option226may allow the player to purchase tickets to a show (e.g., a movie, play, musical, concert, etc.) or place a reservation with a particular restaurant. In cases in which service window214is associated with a loyalty account, menu option226may also be configured to allow an account holder to redeem loyalty points at a restaurant or to purchase tickets.

In some cases, one or more games may be loaded to the gaming machine by a technician or similar individual associated with the gaming environment. For example, game202may be installed to a memory of the gaming machine during maintenance by a casino employee. Different games may be installed on the gaming machine for any number of reasons. In one example, the games installed on a gaming machine may be changed periodically, to retain the interests of players. In another example, a casino employee may install a certain game to a row of gaming machines, allowing players to easily seek out the game in the casino. However, the set of one or more games installed on the gaming machine in this way may be static in nature from the perspective of a player. In other words, the set of games on a gaming machine may be available to a player on a take it or leave it basis. If a player does not like the games installed on the gaming machine, the player may only play the machine for a short amount of time or may not even play the machine at all.

According to various embodiments, service window214may include menu option228configured to allow the player of the gaming machine to request a new game to be playable on the gaming machine. In some embodiments, menu option228may be available in service window214to all players. In other embodiments, menu option228may be available in service window214based on a player's loyalty account, a parameter that controls whether menu option228is available on the gaming machine, or other such factors.

Referring now toFIG. 3, an illustration of a game menu300on a gaming machine is shown, according to an exemplary embodiment. Game menu300may be presented on the gaming machine in response to selection of menu option228shown inFIG. 2. In other words, a player of the gaming machine may request to view the games available for download and play on the gaming machine. Game menu300may include various options to return to other menus of service window214. For example, game menu300may include a back button320to return to the previous screen and/or a home button318to return to the topmost menu of service window214.

As shown, menu300may include game options302,306,310to request various games. For example, game option302may be selected to request a video poker game, game option306may be selected to request another slot-based game, and game option310may be selected to request a blackjack game. Menu300may include any number of game options on one or more screens, to allow a player of the gaming machine to request and/or play a game.

Menu300may include various status indicators304,308, and312-314for game options302,306,310, respectively. A status indicator may indicate whether a game is available for download, whether the game has already been downloaded and is available for play on the gaming machine, whether a requested game has completed downloading, the amount of time needed to validate a downloaded game, when a requested game will be available for play, and similar statuses. For example, status indicator304may indicate that the video poker game associated with game option302is available to play immediately (e.g., the game has already been downloaded to the gaming machine and validated). Status indicator308may indicate that the slot game associated with game option306is available for download. In some cases, a status indicator may indicate where a game is available, if the game is unavailable at the current gaming machine.

Status indicators312,314may provide information regarding the status of a requested game. For example, assume that game option310was selected to request the blackjack game for download to the gaming machine. In such a case, status indicator312may show the download status of the game and status indicator314may provide an estimated amount of time until the game is ready to be played (e.g., after completion of its download and validation). In one embodiment, game202may continue to be played while the blackjack game is downloaded. After download and validation of the game, a notification may then appear within service window214to notify the player that the game is now available for play on the gaming machine.

Any number of factors may be used to control which games are available via game menu300. In one embodiment, the games available via game menu300may include the entire library of games available from a remote server. In another embodiment, game menu300may include games corresponding to certain theme (e.g., slot games, poker games, etc.), games within a particular bundle of games, or a similar grouping of games. In one embodiment, the games available via game menu300may be based in part on a parameter for the gaming machine. For example, a casino operator may configure one or more parameters to control which games are available on gaming machines at different locations within the casino.

In some embodiments, the games available via game menu300may be based in part on a player's loyalty account. Different games may be available to different players based on their level of play, amount of wagers, loyalty tier levels (e.g., silver members, gold members, high rollers, etc.), or other factors. For example, the newest and hottest games may only be available to players having a gold loyalty membership or higher. In one embodiment, games available via game menu300may be “unlocked” (e.g., become available for download) based on a player accumulating a certain amount of wagers, playtime, loyalty points, extra credits, or one or more in-game achievements. In another embodiment, loyalty points may be redeemed by a player to unlock a game or set of games. In a further embodiment, a player's account may be limited to a certain number of downloads (e.g., five downloads per day, ten downloads per day, etc.) and/or to certain download rates (e.g., 10 MB/s, 100 MB/s, etc.). For example, a high roller may be allowed to download more games and at a faster rate than a basic loyalty member. Limiting the number of downloads per user and/or their respective download rates may help to prevent denial of service attacks and to incentivize players to perform certain actions.

The games available via game menu300may include suggested games for a player. Games may be suggested, for example, via an ordering of game options on game menu300(e.g., suggested games may appear first in game menu300). In some cases, game menu300may include additional indicia to denote suggested games. For example, a menu option for a suggested game may have an associated coloring, icon, or text that signifies that the game is a suggested game. In some embodiments, game suggestions may appear within a message sent to the player via service window214or on a separate menu from game menu300. For example, service window214may include a separate menu option for a player to review suggested games.

Game suggestions may be based on a player's previous gaming experiences in the gaming environment and/or elsewhere. Data regarding the games played by the player may be recorded and associated with the player's account. In one embodiment, data regarding a player's use of online games may be recorded and used to suggest games to the player via game menu300. The online games may or may not be wager-based games (e.g., social based online gaming). For example, the player may play the game, “Poker ABC,” via his loyalty account at home and prior to visiting a casino. When the player visits the casino, game menu300may include an option for the player to download “Poker ABC” to the gaming machine or another poker-themed game, based on his playing the online poker game. Similarly, data regarding the games played by the player while in the gaming environment may be recorded and used to suggest games via game menu300. For example, game option306may be presented as part of game menu300based on the player playing game202, since both are slot-related games. In further embodiments, a game may be played by a player in one casino and included as an option on game menu300while at another casino.

In some cases, games installed on a gaming machine may be pre-selected by the operator of a gaming environment. For example, a casino operator may purchase a license for a particular game and install the game to a gaming machine located in the casino. In other words, games may be provided to a gaming machine in a “push” manner. In contrast, game menu300allows games to be requested and provided to a gaming machine in a “pull” manner. For example, a player that plays one game at first casino may request that the game be made available at a gaming machine at a second casino. Thus, the selection of games that are installed and played at a gaming machine may be driven by player demand, as opposed to being selected by the operator of the gaming environment.

A game may also be suggested based in part on other factors, such as its release date, its amount of player usage, the amount wagered in the game by players, to correspond with a event (e.g., a movie release, a news event, a sporting event, etc.). For example, a baseball-themed game may be suggested during the World Series. In another example, a science fiction-themed game may be suggested when a new movie is released about robots.

According to various embodiments, game suggestions may be based in part on suggestions made by other players. For example, service window214may be configured to allow a player to recommend that one or more other players play a particular game. In one embodiment, players may be able to link their player accounts as part of a social networking circle. In such a case, games played by one player may be used to suggest games to the player's social connections. For example, a slot game may be suggested to a player's friend based in part on his or her playing of the game. In some embodiments, achievement awards may be granted to a player via service window214and shared with the player's social contacts. For example, a player may be granted a token, trophy, or avatar based on a certain in-game achievement (e.g., receiving a large payout or jackpot, receiving a certain sequence of outcomes in the game, etc.). In such cases, other players may receive indications of the awards via service window214. In other words, one or more other players may be notified about granted achievement awards to encourage them to play the corresponding game.

Various billing models may be used by the game manufacturer to bill the operator of the gaming environment. In one example, the use of the different games by players may be recorded and used to bill the operator of the gaming environment (e.g., based on the individual game usage patterns). In another example, the game manufacturer may charge the operator on a per-download basis or on a per-play basis. In some cases, a game manufacturer may allow the operator a certain number of free uses of the game, so that metrics may be obtained regarding use of the game (e.g., how popular the game is with new players). For example, the game manufacturer may allow the game to be played by one hundred players so that such usage metrics may be obtained.

Site licenses may be sold to the operator of the gaming environment for a particular game or set of games. For example, an operator of a gaming environment may purchase thirty licenses for a particular slot game. In such a case, the number of licenses may be compared to the number of gaming machines on which the game is being played, to determine whether there are any licenses available. If a license is available, the game may be downloaded via game menu300. If not, game menu300may notify a player that no licenses are available and/or place the player in a queue until a license becomes available.

Referring now toFIG. 4, an illustration of a downloaded game400being played on a gaming machine is shown, according to various embodiments. In one example, game400may be downloaded in response to a selection of game option310on game menu300, as shown inFIG. 3. After completion of the download and/or validation of game400, a player of the gaming machine may be prompted with a notification that game400is now available for play. Such a notification may be accompanied by a selectable option to play game400. If such an option is selected, the current game may be updated from being game202to being game400. As shown, game400may also be provided in conjunction with service window214in a manner similar to that of game202.

Game400may be a wager-based game and include indicia402regarding the amount of a basic wager in game400(e.g., $1 per hand). Game400may also include indicia404regarding the number of credits available to the player (e.g., the player may have $4 worth of credits remaining) As shown, game400may be a blackjack-based game and include a dealer's hand406and a player's hand408. Game400may further include options410,412, and416to allow the player to perform black-jack related functions, such as hitting (e.g., to receive another card), standing (e.g., to keep the current hand as-is), or doubling down (e.g., to double the wager and receive an additional card).

Referring now toFIG. 5, a flow diagram of a process500for providing a game to a gaming machine is shown, according to various embodiments. Process500may be implemented using any number of computing devices. For example, process500may be implemented by a server in communication with one or more gaming machines by executing stored machine instructions. For example, the server may be a server within a gaming environment in communication with a gaming machine via a local area network (LAN) or a remote server in communication with the gaming machine via the Internet (e.g., the server may be a server of a game manufacturer, a cloud-computing server, etc.).

Process500includes receiving account data (block502). In various embodiments, the account data may be data regarding a player's loyalty account. For example, the account data may include identification information to log into the player's account, such as the player's name, a unique string of characters, a screen name, an alias, or the like. The account data may also include security data, such as encryption data, a password, a device serial number, or the like. The loyalty account may be associated with a particular gaming environment (e.g., a casino, a racetrack, etc.), game manufacturer, combinations thereof, or other such entities.

In some cases, the account data may be received from a gaming machine. For example, data regarding a player's identity may be communicated to a server in response to the player inserting a loyalty card into a gaming machine. In other cases, data indicative of the player's identity may be communicated from a portable electronic device operated by the player (e.g., via a connection with the gaming machine, directly to the server, etc.). For example, a player may operate a cell phone application to register him or herself with a gaming machine or when located in a gaming environment. In a further embodiment, a player may manually enter the account data into a gaming machine or other such device, which then communicates the data to a server. For example, a player that forgot her loyalty card may identify herself by entering her phone number and zip code into a gaming machine.

Process504includes providing a service window to a gaming machine (block504). In various embodiments, the server receiving the account data may provide a service window to a gaming machine. In other embodiments, the service window may be provided to a portable electronic device or other device in communication with a gaming machine. For example, the service window may be provided to a player's cellular phone or tablet computer when in proximity of a gaming machine.

The service window may be configured to display data regarding a player's loyalty account, such as the number of available loyalty points, the player's name, or the number of available bonus credits. The service window may also allow a player to change his or her contact information, register a favorite drink, earn loyalty points, redeem loyalty points, earn and use bonus credits, pay taxes on large payouts, make reservations, purchase tickets, review promotional offers, participate in social gaming activities, receive and/or send messages with other individuals, any combination thereof, or perform other functions. According to various embodiments, the service window may be configured to allow a player to request a game for download to the gaming machine. For example, the service window may display games available for download to the gaming machine and include one or more options to request that a game be downloaded.

In some embodiments, the number and types of games available may be based in part on the gaming machine or other device to which the service window is provided. A game's availability may be based in part on the location of the gaming machine. For example, only games approved by a government body for play in a location may be provided to a gaming machine located there. In another example, a game may only be available to certain machines within a casino or other gaming environment (e.g., only slot-based games may be downloaded to a particular row of gaming machines).

The number and type of games available may also be based in part on the licensing terms of a game manufacturer. In one embodiment, the availability of a game may be based on whether a site license is currently available. For example, a casino may have forty site licenses for the game “Pirate's Blackjack.” If the game is in use by thirty nine or less gaming machines, it may be available for play. However, if the game is in use by forty gaming machines, it may be unavailable. In another embodiment, only certain games may be licensed by the operator of the gaming environment and made available to gaming machines in the environment. For example, a casino operator may license a set of poker-themed games from a game manufacturer, but not a set of slot-themed games. In such a case, only the poker-themed games may be made available for download to a gaming machine. In a further embodiment, a game may be available based on a limited-use license. For example, a game may be available under a trial license or a license that expires after a certain period of time. In further embodiments, a portion or all of a game manufacturer's library may be available. In such cases, the game manufacturer may charge the operator of the gaming environment based on the amount of use of a game, the amount of wagers placed in the game, or using similar metrics.

The number and type of games available for download and play by a gaming machine may be based in part on a player's loyalty account. In some embodiments, the number and/or types of games available to a loyalty account may be based on a membership level of the account (e.g., a gold account vs. a platinum account), the number of loyalty points associated with the account, the number of visits to the gaming environment by the player, the player's demographics (e.g., age, gender, etc.), or other account data. In one embodiment, a game may be “unlocked” by a player by redeeming loyalty points and/or by earning certain in-game achievements. In other words, one game may become available to a player through playing another game.

The games available via the service window may include game suggestions. Games may be suggested based in part on a player's use of certain games. For example, a slot-based game may be suggested to a player that primarily plays slot-based games (e.g., online, in a gaming environment, etc.). Games may also be suggested based on certain events, such as a sporting event, movie release, etc. In other cases, a game may be suggested based on its release date and/or popularity. For example, the most popular or newest games may be suggested via the service window. Games may also be suggested by social connections. For example, one player may recommend a game to another player. A suggested game may also be a game that was played, or is being played, by a player's friend. For example, a suggested game may be a game that allows two or more players to collaborate in-game (e.g., to earn awards or prizes, to win the game, etc.). If one player begins playing such a game, the game may appear as a suggestion to the other player via the service window.

Process500includes receiving a request for a game (block506). A game request may be received by the remote server that provided the service window. For example, a player may request a game by selecting a game option within the service window. In one embodiment, the number of download requests may be limited within a period of time (e.g., per day, per week, etc.) or permanently limited. For example, a player may be restricted to five game downloads per day. In some cases, the limit may be based in part on the type of loyalty account. For example, the number of game downloads per day may be more limited for a gold level account than for a platinum level account.

Process500includes providing the game to the gaming machine (block508). In some embodiments, the download speed of the game may be based in part on the loyalty account. For example, the download speed may be higher for a platinum level account than for a gold level account. In some embodiments, a player may redeem loyalty points for a higher download speed. The service window may provide an estimation of the remaining download time and/or the time until the game is playable (e.g., if the game also requires validation after being downloaded).

Referring now toFIG. 6, an illustration of a gaming system600is shown, according to an exemplary embodiment. As shown, gaming system600may include any number of gaming machines. For example, gaming system600may include gaming machines602-604(i.e., a first gaming machine through nth gaming machine). Gaming system600may also include a network606through which gaming machines602-604communicate with a server608. In some embodiments, gaming machines602-604may also communicate with each other via network606.

Network606may be any form of communications network that conveys data between gaming machines602-604and server608. Network606may include any number wired or wireless connections. For example, server608may communicate over a wired connection that includes a serial cable, a fiber optic cable, a CAT5 cable, or any other form of wired connection. Similarly, server608may communicate via a wireless connection (e.g., via WiFi, cellular, radio, etc.). Network606may also include any number of intermediary networking devices, such as routers, switches, servers, etc.

In various embodiments, gaming machines602-604and server608may communicate via network606using a gaming protocol. For example, the devices may communicate using the SAS Protocol or G2S Protocol. In some cases, multiple gaming protocols may be used to communicate data between server608and gaming machines602-604. For example, gaming machine602may communicate via the SAS Protocol with an SAS<->G2S Protocol converter that is part of network606, which converts the message into the G2S Protocol and forwards the message to server608. Gaming machines602-604may also communicate with server608or other electronic devices via network606using non-gaming protocols. For example, gaming machines602-604may communicate with server608via HTTP, FTP, DHCP, or another communications protocol that is not specifically designed for use by electronic gaming machines.

Server608may be one or more electronic devices connected to network606configured to communicate with gaming machines602-604. For example, server608may be a single computer, a collection of computers, or a data center. Server608may include one or more data storage devices in communication with one or more processors. The data storage devices may store machine instructions that, when executed by the one or more processors, cause the one or more processors to perform the functions described with regard to server608. Generally, server608is configured to receive and store data regarding gaming machines602-604and to provide the data to a user interface (e.g., a display, a handheld device, etc.). In some cases, server608may perform data analysis on the received data. For example, server608may determine averages, trends, metrics, etc., for one or more of gaming machines602-604. Data may be sent by gaming machines602-604to server608in real-time (e.g., whenever a change in credits or cash occurs, whenever another type of system event occurs, etc.), periodically (e.g., every fifteen minutes, every hour, etc.), or in response to a request from server608.

The data received by server608from gaming machines602-604via network606may include accounting data. Accounting data may be, but is not limited to, data indicative of cash or credits received by gaming machines602-604and cash or credits paid out by gaming machines602-604. The accounting data may also include data regarding the amount of money added or removed from gaming machines602-604by the operator of the establishment. For example, a casino worker may periodically collect money from gaming machines602-604and/or restock the supply of coins in gaming machines602-604. Server608may process the collected accounting data and generate one or more reports regarding the financial state of gaming machines602-604(e.g., that a collection should be made from a machine, that additional coins should be added to a machine, the amount of money a machine has generated, etc.).

In some embodiments, the data received by server608may include data related to a user's loyalty account. For example, a user of gaming machine602may link their loyalty account to gaming machine602, so that she can gain loyalty points, free turns, etc., while playing gaming machine602. A user may link his or her loyalty account to gaming machine602in any number of ways. For example, the user may insert a loyalty card into gaming machine602and/or provide biometric data to gaming machine602(e.g., by conducting a finger print scan, a retinal scan, etc.). In some cases, a mobile device operated by the user may provide data regarding the user's loyalty account to gaming machine602. The mobile device may transfer data to gaming machine602wirelessly (e.g., via Bluetooth, WiFi, etc.), via a wired connection (e.g., via a USB cable, a docking station, etc.), or even via the user's body (i.e., the mobile device transmits data through the user's body and into gaming machine602). Server608may then associate the user's time playing gaming machine602with the user's loyalty account (e.g., to add loyalty points to the user's account, to provide certain rewards to the user, such as a bonus turn, etc.).

Server608may provide data to gaming machines602-604via network606. For example, server608may provide service windows to gaming machines602-604. The service window may be a generic service window or a service window based in part on the loyalty account associated with the gaming machine. For example, the service window may appear within a Flash application executed by gaming machines602-604. In one embodiment, such a service window may be a stand-alone application executed by one of gaming machines602-604. A service window may be configured to provide notifications to players and to allow players to perform various actions, such as redeeming loyalty points, making hotel reservations, etc. In some embodiments, the service window may include an option to request a game for download to one of gaming machines602-604.

According to various embodiments, server608may provide a game for download to one of gaming machines602-604, in response to receiving a request for the game. For example, a player at gaming machine602may request a certain slot-related game. In response, server608may provide the requested game to gaming machine602via network606. In some embodiments, the receiving gaming machine may validate the downloaded game prior to allowing a player to play the game.

A game downloaded to one of gaming machines602-604may be removed from memory under a number of conditions. In some cases, a downloaded game may be removed from memory after the requesting player finishes playing the game or the player's account is no longer associated with the gaming machine. In other cases, a downloaded game may remain in memory and be available to other players indefinitely or for a certain period of time. For example, a game may be available to players of the gaming machine for one day after download. A game also may be removed from memory based on how long it has been since the game was last played on the gaming machine. For example, a game that has not been played for two weeks may be removed from memory to make room for another game.

Referring now toFIG. 7, a block diagram of a processing circuit700configured to provide a game to a gaming machine is shown, according to various embodiments. Processing circuit700may be a component of a server or may be formed by a plurality of computing devices in communication with one another. For example, processing circuit700may include processors, memories, hardware, and software from multiple computing devices within a data center.

Processing circuit700may include a processor702and a memory704. Memory704stores machine instructions that, when executed by processor702, cause processor702to perform one or more operations described herein. Processor702may include a microprocessor, FPGA, ASIC, any other form of processing electronics, or combinations thereof. Memory704may be any electronic storage medium such as, but not limited to, a floppy disk, a hard drive, a CD-ROM, a DVD-ROM, a magnetic disk, RAM, ROM, EEPROM, EPROM, flash memory, optical memory, or combinations thereof. Memory704may be a tangible storage medium that stores non-transitory machine instructions. Processing circuit700may include any number of processors and memories. In other words, processor702may represent the collective processing devices of processing circuit700and memory704may represent the collective storage devices of processing circuit700. Processor702and memory704may be on the same printed circuit board or may be in communication with each other via a bus or other form of connection.

I/O hardware706includes the interface hardware used by processing circuit700to receive data from other devices and/or to provide data to other devices. For example, a command may be sent from processing circuit700to a gaming machine via I/O hardware706. I/O hardware706may include, but is not limited to, hardware to communicate on a local system bus and/or on a network. For example, I/O hardware706may include a port to transmit display data to an electronic display and another port to receive data from a network.

Memory704may store loyalty account data708. In general, a loyalty account creates an incentive for a player to play games via rewards and services. For example, loyalty account data708may include account data that identifies the player (e.g., the player's name, contact information, etc.) and a number of loyalty points earned by the player through game play. Loyalty account data708may also include data regarding a player's favorite drink, the number of bonus credits earned by a player, and the circumstances regarding the player's use of a game. For example, account data708may include data indicative of which games were played by the player, how long the games were played, when the games were played, how much the player wagered in the games, and other such data.

Memory704may store one or more games710. Games710may include games configured for execution by a gaming machine. For example, one of games710may be a slot-based game configured for execution by a video slot machine. Games710may include thick and/or thin client games. Generally, a thick client game include the complete logic for the game, include the game's outcome determining logic. A thin client game, however, may be executed on one device and generated display data provided to another device running a thin client. For example, a thin client game in games710may be executed by processor702and display data for the game provided to a remote gaming machine via I/O hardware706. Games710may include wager-based games and/or games that do not involve the actual wagering of money. Games710may also include games executable as applications on portable devices (e.g., cell phones, tablet computers, etc.) and online games playable via a web browser.

Memory704may store a service window generator716configured to provide a service window to a gaming machine or other remote device via I/O hardware706. Generally, a service window refers to any graphical interface that provides information regarding a player's loyalty account, provides entertainment-related services to a player, and/or allows messages to be sent to a player. Typically, a service window may be displayed in conjunction with a running game (e.g., at the same time), but may also be displayed separately (e.g., when no game is running)

The service window generated by service window generator716may be associated with account data708. For example, service window generator716may provide a service window to a gaming machine, in response to processing circuit700receiving data identifying a player's loyalty account in account data708. The service window may include data regarding the number of earned loyalty points in the player's loyalty account and other such account data. In other embodiments, the service window may be a generic service window that is not associated with a particular loyalty account.

According to various embodiments, the service window generated by service window generator716may include an option to download and play one of games710. For example, the service window may include availability information regarding a slot-based game in games710. If the slot-based game is available and a request for the game is received by processing circuit700, the game may be returned via I/O hardware706. Which of games710are available via the service window may be based in part on the player's loyalty account, the games' license terms, the location of the receiving device, and other such factors. The service window may also include suggested games that have already been downloaded to the device or are available for download.

Memory704may include game usage analyzer712configured to monitor players' use of games710. For example, a remote gaming machine may provide data to game usage analyzer712indicative of when a game was played, the wagers made within the game, and the outcomes of the game. If a player has registered his or her loyalty account with the gaming machine, game usage analyzer712may credit loyalty points, bonus credits, or other incentives to the player's account in account data708. For example, a player may earn 1,000 loyalty points for every ten hands of blackjack played in a game. In some embodiments, game usage analyzer712may analyze a player's use of games710to determine a player's interests. Such interests may be provided as suggestions within the service window generated by service window generator716.

Memory704may include a billing tracker714. In various embodiments, billing tracker714may receive game usage data from game usage analyzer712and/or game download data from service window generator716. Billing tracker714may use the game usage data and/or game download data to generate an invoice for an operator of a gaming environment. For example, a casino may be charged for a game based on the game being downloaded to one of the casino's gaming machines. In another example, the casino may be charged based on the amount of play time the game received in the casino. In some cases, a gaming environment may be granted a limited license to use one games710. For example, a game may be played for a certain amount of time for free before a casino operator is charged for its use.