CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the priority of U.S. Provisional Application Ser. No. XX/XXX,XXX titled “Community Bonus Round Gaming,” filed Aug. 9, 2005, which is hereby incorporated by reference.
BACKGROUND 1. Field of the Invention
The present invention relates generally to gaming, and more particularly, to community bonus round gaming.
2. Description of the Prior Art
With the continued expansion of casino gambling, casino companies must compete more than ever for gambling dollars. To attract customers, casino companies are avoiding the traditional short-term, stop-gap solutions (e.g. increasing the buffet offering, giving rooms away, advertising double and triple points) and focusing on improving the guest's overall casino experience.
One technique to improve the guest's casino experience is to implement a bonus game in slot machines. A bonus game may be triggered during normal game play on a slot machine and offers players a new game. For example, a video poker slot machine offered International Game Technology (IGT) triggers a bonus game when certain conditions are met. Once bonus game play is complete, the IGT video poker slot machine resumes normal game play.
Another example of improving the casino experience is a slot machine with progressive payouts. As each individual slot machine plays a game, the progressive payout increases. The slot machine displays the progressive payout on a large screen to encourage other players to participate. The server collects information regarding the income received from the different slot machines and creates a jackpot. When the specific slot machine “hits the jackpot” such as triples sevens, the specific slot machine wins the progressive payout. An example of the slot machine with progressive payouts is the “Wheel of Fortune” slot machine.
There are approximately 754,000 slot machines currently installed in North America. This represents a 400% increase from the number of machines installed in 1991. Although many of these slot machines appear to have different games, operate as slot machines with progressive payouts, or offer a bonus game, the vast majority of slot machines operate extremely similarly. For example, the “Terminator” slot machine plays the same game as the “I Love Lucy” slot machine. Aside from slight differences in graphics and sound, game play has not significantly changed.
SUMMARY OF THE INVENTION A gaming system comprising a first game machine and a bonus server. The bonus server generates and transmits an initiation message to the first game machine and other game machines to initiate a community bonus round. The first game machine activates the community bonus round and transmits game information in the community bonus round. The bonus server then receives the game information from the first game machine and determines a result for the community bonus round.
The first game machine may also activate the community bonus round based on a game result on the first game machine. Further, the first game machine may send a bonus signal to the bonus server to initiate the community bonus round with the other game machines. The first game machine may activate the community bonus round based on the initiation message from the bonus server.
The game information may comprise a state of play, player information, status of the community bonus round, game machine data, a request to join the community bonus round, a refusal to join the community bonus round, and/or an acceptance to join the community bonus round.
The bonus server may determine the result of the community bonus round based on competition within the community bonus round between the first game machine and the other game machines. In other embodiments, the bonus server determines the result of the community bonus round based on cooperation within the community bonus round between the first game machine and the other game machines.
A method of gaming comprises transmitting game information from the first game machine to a bonus server, generating an initiation message to the first game machine and the other game machines to initiate the community bonus round, activating the community bonus round on the first game machine, and determining a result for the community bonus round.
By allowing game machines to play bonus rounds within a community, new games may be offered to players. The players within the community may directly compete with each other, work together, or experience new forms of entertainment that were previously unavailable. The casino may utilize community bonus round gaming to encourage groups, friends, associations, and clubs to game together or create excitement in a casino to entice other people to participate in community bonus round gaming.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is an illustration of a system for gaming in one embodiment of the invention.
FIG. 2 is an illustration of a game machine in one embodiment of the invention.
FIG. 3 is a flow chart depicting the initiation and play of a community bonus round in one embodiment of the invention.
FIG. 4 is a flow chart depicting the initiation and play of a community bonus round in another embodiment of the invention.
FIG. 5 is a block diagram of the game machine in one embodiment of the invention.
FIG. 6 is a block diagram of a game machine module in one embodiment of the invention.
FIG. 7 is a block diagram of a bonus server module in one embodiment of the invention.
DETAILED DESCRIPTION OF THE INVENTION The embodiments discussed herein are illustrative of one example of the present invention. As these embodiments of the present invention are described with reference to illustrations, various modifications or adaptations of the methods and/or specific structures described may become apparent to those skilled in the art. All such modifications, adaptations, or variations that rely upon the teachings of the present invention, and through which these teachings have advanced the art, are considered to be within the scope of the present invention. Hence, these descriptions and drawings should not be considered in a limiting sense, as it is understood that the present invention is in no way limited to only the embodiments illustrated.
Community bonus round game play across multiple game machines allows multiple players to participate in the same game. A game machine is a machine that allows a player to input data and/or money into the game machine to play a game for the opportunity to win points, currency, awards, or prizes. One example of the game machine is a slot machine.
In one embodiment, the game machine allows the player to play games much like a traditional slot machine. However, a community bonus round may be triggered to engage the game machine in a community bonus round. Simultaneously, or soon thereafter, one or more other game machines may be invited to join the community bonus round thereby allowing other players to participate within the same community bonus round. In one example, players cooperate within the community bonus round to maximize scores for all participants. Alternatively, the community bonus round may allow multiple players to compete with each other for points, currency, awards, or prizes. In another example, players may receive a bonus by merely playing within the community bonus round.
FIG. 1 is an illustration of a system forgaming100 in one embodiment of the invention. The system forgaming100 comprises thebonus server110, thegame machines120,130, and140, and thecommunications network150. Thecommunications network150 is coupled to thebonus server110 and thegame machines120,130, and140.
Thecommunications network150 may comprise a single device or multiple devices. In one embodiment, thecommunications network150 is a router that routes data to a limited number of devices. In another embodiment, thecommunications network150 comprises multiple routers, bridges, and hubs that couple a larger number of devices. Acommunications network150 may be a local area network (LAN), a wide area network (WAN), a globally accessible network, such as the Internet, or any other network that allows devices to communicate and transmit data to each other.
Although thecommunications network150 illustrated withinFIG. 1 appears to be a “star” topology (i.e. each device communicates to a central hub), thecommunications network150 may be any topology. In one example, thecommunications network150 comprises a peer-to-peer network wherein the devices connect directly to each other in a “ring” topology.
Thebonus server110 is any device or system configured to generate and transmit an initiation message to thegame machines120,130, and140, to initiate the community bonus round, receive game information from thegame machines120,130, and140, and determine a result for the community bonus round.
The initiation message is any signal, message, or instruction that directs thegame machines120,130, or140 to activate the community bonus round. The initiation message may further comprise a message to the players of thegame machines120,130, and140, notifying the players of the impending community bonus round and requesting further input.
The community bonus round is any extra, special, premium, or bonus mode that follows a normal gaming mode and may be played by two ormore game machines120,130, and/or140. In one embodiment, the community bonus round is triggered upon the occurrence of some preset condition on one of thegame machines120,130, or140.
In some embodiments, the community bonus round is collaborative, competitive, or associative. In one example, when the community bonus round is collaborative, the players of thefirst game machine120 and the other participatinggame machines130 and140 will play together to achieve a bonus goal during the round. For example, the goal of the community bonus round is to score more points than some preset limit. If, at the end of the community bonus round play, the sum of all of the players' points total more than the preset limit, thebonus server110 awards points, currency, awards, or prizes to the players of the participatinggame machines120,130, and140. The end of the community bonus round may be triggered by time expiring, a maximum number of spins engaged, the sum of the players' scores reaching a preset limit, or the success of achieving the goal.
In another example, the community bonus round is competitive. In this example, the players of thefirst game machine120 and the other participatinggame machines130 and140 play against each other for points, currency, awards, or prizes. Thebonus server110 may monitor and calculate the individual scores for the different participatinggame machines120,130, and140. When the community bonus round ends, thebonus server110 determines the winner of the community bonus round. In one example, the winner of the community bonus round is the first player to achieve some preset goal. In another example, the winner is the player who scored the most points within a given time. The community bonus round may end when time expires, a maximum number of spins are engaged, or the preset goal is achieved.
In another example, the community bonus round is associative. In this example, the players of thefirst game machine120 and the other participatinggame machines130 and140 join the community bonus round and are awarded points, currency, awards, or prizes for merely participating. For example, the community bonus round may comprise thefirst game machine120 displaying a golfer hitting a golf ball. Subsequently, the golf ball may be depicted as bouncing by the participatinggame machines130. The golf ball may also be depicted landing close or into a hole on another participatinggame machine140. Thebonus server110 may then calculate the scores and results of the community bonus round. For example, thebonus server110 may award a higher number of points to thegame machines120 and140 that depict the golfer's swing or the golf hole. Thebonus server110 may award a different number of points to every participatinggame machine130 that depicted the golf ball bouncing or rolling. The community bonus round ends when some condition is met. In this example, the community bonus round ends when the golf ball is depicted as coming to a halt.
The game information is any information or data that indicates metrics or results from a game. Some examples of game information are a state of play of thegame machine120,130, and/or140, player information, status of the community bonus round, game machine data, a request to join the community bonus round, a refusal to join the community bonus round, and/or an acceptance to join the community bonus round.
The state of play of thegame machine120,130, and/or140 comprises the current activity of thegame machine120,130, and/or140. States of play may include, but are not limited to, waiting for a player to initiate game play, normal game play, activating the community bonus round, playing the community bonus round, or transitioning from normal game play to the community bonus round.
The game information may also comprise the request to join the community bonus round, the refusal to join the community bonus round, and/or the acceptance to join the community bonus round. In one example, the player receives a request to join the community bonus round on thegame machine120. The player subsequently inputs the acceptance or refusal to join the community bonus round. Thegame machine120 transmits the acceptance or refusal to thebonus server110. In one example, thebonus server110 orother game machines130 or140 receive the acceptance and then adds thegame machine120 to an existing community bonus round. In another example, thegame machine120 performs at least some of the logic to activate the community bonus round. In this example, thegame machine120 initiates the community bonus round. Thegame machine120 then transmits the request to join the community bonus round to thebonus server110, which, in turn, transmits the request-to theother game machine130 or140 to join the community bonus round.
In one embodiment, thebonus server110 controls at least some of the game play on thegame machines120,130, and/or140. For example, the player engages thegame machine120 to play a game, while thebonus server110 performs the game logic that controls the parameters and game execution.
Thegame machines120,130, and140 are devices or systems that are configured to activate the community bonus round and transmit game information in the community bonus round.
Although thebonus server110 is illustrated inFIG. 1 as a separate device from thegame machines120,130, or140, some or all of the functions of thebonus server110 may be contained within a software module of one of thegame machines120,130, or140.
Optionally, an administrative server and a marketing server (not shown inFIG. 1) may be devices or systems on thecommunications network150. An administrative server maintains information relating to game play and community bonus round play as well as metrics from thebonus server110 and thegame machines120,130, and140. In one example, the administrative server receives and stores scores, player information, wins, losses, currency received, and the currency paid out by eachgame machine120,130, and140. The administrative server may perform calculations to determine the relative success of eachgame machine120,130, and140. The administrative server may also perform calculations to determine the relative success of individual games on thegame machines120,130, and140, as well as the outcome of community bonus rounds. These functions may also be performed by thebonus server110. A marketing server may store advertisements or marketing information. In one example, the marketing server sends advertisements and/or marketing information to thegame machine120,130, and140 to be displayed.
FIG. 2 is an illustration of agame machine200 in one embodiment of the invention. Thegame machine200 comprises a bonus display210, aprimary display220, aprogrammable button panel230, aticket printer240, a bill/ticket acceptor250, aplayer loyalty system260, acoin tray270, and acandle280.
The bonus display210 and theprimary display220 are any devices configured to visually interact with the player of thegame machine200. For example, the bonus display210 and/or the primary display may be a television screen, a monitor, a touch-screen, a tablet display, a liquid crystal display (LCD), a plasma device, a cathode-ray tube (CRT) screen, a flat panel device, a terminal display, or a rear projection device. In other embodiments, the bonus display210 and theprimary display220 are the same display. The bonus display210 may be configured to show the game play of thegame machine200. In one example, the bonus display210 displays the same game play as theprimary display220 thereby allowing spectators to view the game play.
The bonus display210 may be configured to display information associated with a community bonus round, advertisements, games, or player information. In one example, the bonus display210 displays information associated with the community bonus round such as how to play the community bonus round, when the community bonus round will begin, an offer to join the community bonus round, community bonus round play or scores. Theprimary display220 may also be configured to display information associated with the community bonus round.
In another example, the bonus display210 is configured to display advertisements. Advertisements may contain information selling the functions of thegame machine200, games offered by thegame machine200, services offered by the owner or leaser of the game machine, or any other advertisements. The bonus display210 may also be configured to display available games. In another embodiment, the bonus display210 displays scores or gaming results of the player of thegame machine200. Theprimary display220 may also be configured to display advertisements, available games, scores, and/or gaming results.
Theprogrammable button panel230 is configured to accept input from the player of thegame machine200. In one example, each individual buttons on theprogrammable button panel230 may be programmed to perform certain functions. Although ten buttons are depicted, theprogrammable button panel230 may comprise any number of buttons, joysticks, or switches. Theprogrammable button panel230 may also comprise a touch screen or other device capable of accepting player input.
Theticket printer240 is any printer capable of printing receipts, tickets, or other documents for the player orgame machine200 technician. In some embodiments, theticket printer240 may print advertisements or coupons that are redeemable by the player.
The bill/ticket acceptor250 is any device capable of receiving and reading currency, tokens, or tickets. The bill/ticket acceptor250 may comprise a card reader configured to receive and read credit cards, debit cards, or stored value cards.
Theplayer loyalty system260 is any device capable of receiving player information from the player of thegame machine200. In one embodiment, theplayer loyalty system260 comprises a card reader that may receive and read player information from a player loyalty card. In some embodiments, theplayer loyalty system260 comprises a keypad or touch screen with which the player may enter a password, input player information, and/or request services.
Player information may comprise player identification, game preferences, time spent playing each game, casino preference, drink preference, associated friends, family members, clubs, hobbies, money spent, and winnings. The player information may be stored on a player loyalty card, bonus server110 (FIG. 1), and/orgame machine200. The player loyalty card is any card that may be carried by a player that contains at least some player information.
The status of the community bonus round may indicate thegame machine200's activation of the community bonus round, the preparation to begin the community bonus round, or the community bonus round game play. Game machine data comprises resident games, software versions, firmware versions, audit history, diagnostic history, and the amount of currency available in thegame machine200.
Thecoin tray270 is a tray configured to hold coins or tokens that are issued from thegame machine200. Thecandle280 is a reflector and/or light. In some embodiments, thecandle280 indicates that thegame machine200 requires service or is in a tilt condition.
FIG. 3 is a flow chart depicting the initiation and play of a community bonus round in one embodiment of the invention.FIG. 3 begins withstep300. Instep310, the first game machine120 (FIG. 1) transmits game information to thebonus server110. In one example, a player inputs currency into thefirst game machine120. Thefirst game machine120 transmits a message to thebonus server110 indicating that currency has been received and game play has been initiated.
Instep320, thebonus server110 determines a community bonus round activation on thefirst game machine120. In some embodiments, thebonus server110 monitors thefirst game machine120 or the game logic to determine if the conditions are met. For example, thebonus server110 may determine which conditions are necessary to trigger the community bonus round such as hitting a jackpot. Accordingly, if the game logic determines that this condition is to occur, then thebonus server110 triggers the community bonus round.
Instep330, thebonus server110 generates an initiation message to thefirst game machine120 and one or moreother game machines130 and/or140 to initiate the community bonus round. In some embodiments, thebonus server110 generates messages to invite the players on thegame machines120,130, and140 to participate in the community bonus round. Thebonus server110 then generates a command to prepare thegame machines120,130, and/or140 that accepted joining the community bonus round. In one example, thebonus server110 generates a command to thegame machines120,130 and/or140 participating within the community bonus round to display the name and location of each player. In another example, thebonus server110 generates a command to the participatinggame machines120,130 and/or140 to display rules of the community bonus round or a count-down of when the community bonus round is to begin. In a further example, thebonus server110 downloads software or data to prepare thegame machines120,130, and/or140 to play the community bonus round.
Instep340, thebonus server110 activates the community bonus round on thefirst game machine120. In one example, thebonus server110 generates a command to activate the community bonus round to thefirst game machine120. Thefirst game machine120 receives the command, generates the necessary graphics, and prepares to receive input from the player. In some embodiments, thebonus server110 performs the necessary community bonus round logic and processes player inputs received from thefirst game machine120 andother game machines130 and/or140.
Instep350, thebonus server110 determines results for the community bonus round. In one example, thebonus server110 collects scores from thefirst game machine120 and the other participatinggame machines130 and/or140. The final scores may be calculated by thebonus server110 as the community bonus round is played or the final scores may be calculated by the participatinggame machines120,130, and/or140. Once the play of the community bonus round is completed, thebonus server110 proceeds to calculate final results depending on the rules of the community bonus round.FIG. 3 ends instep360.
FIG. 4 is a flow chart depicting the initiation and play of a community bonus round in another embodiment of the invention.FIG. 4 begins instep400. Instep405, the player initiates game play. In one example, the player inputs currency, tokens, or tickets into the bill/ticket acceptor250 (FIG. 2) of the game machine120 (FIG. 1).
In step410, thegame machine120 sends a game play event to thebonus server110. In one example, thegame machine120 tracks the amount of currency received and prepares to initiate a game. Thegame machine120 notifies thebonus server110 that the player initiated game play. In some embodiments, thebonus server110 directs thegame machine120 to display a selection of games to the player and prepare to receive a player selection. The player may input the selection with theprogrammable button panel230 or through the touch-screenprimary display220. Thegame machine120 directs the game selection to thebonus server110 which then generates a control signal to thegame machine120 to display necessary graphics and program the appropriate inputs to play the selected game. Thebonus server110 also performs the game logic necessary to play the game. While the game is played, thegame machine120 transmits player inputs to thebonus server110 which generates appropriate commands depending on the game logic.
Instep415, thebonus server110 determines if the community bonus round is triggered. Thebonus server110 monitors the game play and the state of thegame machine120 to determine if those conditions are met. If the conditions are not met, FIG.4 ends instep450.
If the conditions are met, thenFIG. 4 continues to step420 where thebonus server110 selectsgame machines120,130, and/or140 and determines the bonus messages.
Thebonus server110 selectsgame machines200 to join the community bonus round. Thebonus server110 may determine if any conflicts or game incompatibilities exist within eachpossible game machine120,130, and/or140. In some embodiments, thebonus server110 reviews player information to determine if any players are associated with each other. If there are available players or club members associated with the player playing thegame machine120 that has begun the community bonus round, thebonus server110 may determine bonus messages. In one example, thebonus server110 generates a command to display an invitation for the community bonus round to those players.
In one example, thebonus server110 notifies theselect game machines120,130, and/or140 that a community bonus round has been triggered. Thebonus server110 commands theselect game machines120,130, and/or140 to display messages and graphics to the player on the game machines'primary display220 or bonus display210.
In other embodiments, thebonus server110 contactsother bonus servers110 to coordinate community bonus round logic between a plurality ofgame machines120,130, and140.
Instep425, thebonus server110 sends a start community bonus round signal to theselect game machines120,130, and/or140 identified instep420 and begins timing. In one example,bonus server110 generates commands to theselect game machines120,130, and/or140 to load a game interface, display necessary graphics, and program the respectiveprogrammable button panels230 to play the community bonus round. In another example, thebonus server110 generates a signal to theselect game machines120,130, and/or140 to display a countdown on the respective bonus displays210 to herald the beginning of the community bonus round.
Instep430, theselect game machines120,130, and/or140 begin the community bonus round. Any graphics and community bonus round play may be depicted on the select game machines' bonus display210, theprimary display220, or both.
Instep435, theselect game machines120,130, and/or140 send scores to thebonus server110. In some embodiments, thebonus server110 monitors theselect game machines120,130, and/or140 while directing community bonus round logic. In one example, thebonus server110 tallies and calculates the scores of theselect game machines120,130, and/or140 during community bonus round play.
Instep440, thebonus server110 calculates and transmits the community bonus round results to theselect game machines120,130, and/or140. Instep445, thebonus server110 transmits messages to selectgame machines120,130, and/or140. In some embodiments, thebonus server110 directs theselect game machines120,130, and/or140 to display the results of the community bonus round play, award points, currency, awards, or prizes, and print tickets or receipts. Thebonus server110 then directs theselect game machines120,130, and/or140 to return to normal game play.FIG. 4 ends instep450.
FIG. 5 is a block diagram of thegame machine200 in one embodiment of the invention. Thegame machine200 includes asystem bus580 coupled to aprocessor510,memory system520,storage system530, input/output (I/O)interface540, communications (com.)network interface550,primary display220, and the bonus display210. Thecommunications network interface550 is further coupled to an external communications link590.
Theprocessor510 is configured to execute software or instructions. Thememory system520 is any memory device configured to hold data, either permanently or temporarily, to make the data available to any components connected to thesystem bus580. Thememory system520 may comprise battery-backed random access memory or read-only memory (ROM).
Thestorage system530 is any storage device or group of storage devices configured to store data permanently or temporarily. In one embodiment, thestorage system530 implements a Read/Verify-after-Write (RVAW) policy where data is verified after being stored within thestorage system530. Further, thestorage system530 may comprise a storage device configured to receive and read external media.
The I/O interface540 is any interface or device configured to provide input or output to the player of thegame machine200. For example, the I/O interface540 may comprise a video interface, audio interface, a remote control, a keypad, joystick, touch-screen, or buttons. In another embodiment, the I/O interface540 is coupled to theprogrammable button panel230, theticket printer240, the bill/ticket acceptor250, and theplayer loyalty system260 which are each depicted inFIG. 2.
Thecommunications network interface550 is any communication interface configured to transfer data between any components connected to thesystem bus580 and any network over the external communications link590. The external communications link590 couples thegame machine200 to any communications network.
FIG. 6 is a block diagram of thegame machine module600 in one embodiment of the invention. Thegame machine module600 is software or hardware that is resident on the game machine200 (FIG. 2). Thegame machine module600 comprises agame client610,client manager620,client tilt engine630,client state manager640, clientdiagnostic module650, client communication manager660, clientadministrative console module670, and gamemachine device drivers680.
Thegame client610 is an application configured to perform standard functions on thegame machine200. In some embodiments, thegame client610processes game machine200 inputs (e.g. a button press), communicates game events to the bonus server110 (FIG. 1), controls output to the bonus display210 (FIG. 2), controls output to theprimary display220, and/or maintains thegame machine200 state. In some embodiments, thegame client610 relies on data libraries, such as tilt and bonus server libraries, to perform standard functions.
Theclient manager620 may function as the software controller for thegame machine200. Theclient manager620 manages thegame machine200 configuration, loads games, unloads games and manages the display of marketing events.
Theclient manager620 may also control the display of advertisements. In some embodiments, theclient manager620 may receive advertisements-from a marketing server. When an advertisement is received by theclient manager620, theclient manager620 passes the advertisement to thegame client610 to be displayed.
Theclient tilt engine630 generates tilts on error conditions in order to prevent cheating and flag errors in game play. For example, theclient tile engine630 triggers tilt conditions by errors associated with money, tampering with thegame machine200, alterations with software and/or firmware, or the behavior of third party systems.
Theclient state manager640 monitors the operation and state of thegame machine200. Theclient state manager640 is a repository of the current and past data for thegame machine200 and may function to maintain the data for the game machine's200 hardware and software components.
The clientdiagnostic module650 provides hardware and software diagnostic tests. For example, the clientdiagnostic module650 checks the components of thegame machine module600 and thegame machine200. Regulatory requirements may require that gaming devices employ mechanisms to verify that game components are authentic and have not been corrupted or tampered with. The clientdiagnostic module650 may perform a diagnostic test to verify and authenticate each component of thegame machine module600.
The client communication manager660 controls the communication from thegame machine200 to the communications network. In one embodiment, the client communication manager660 encrypts and decrypts communications to and from the communications network.
The clientadministrative console module670 controls the function and display of the administrative console to the player or technician of thegame machine200. The administrative console is an interface configured to receive input from the technician. Thegame client610 may trigger an administrative mode within thegame machine200 to display the administrative console.
The administrative console comprises options for configuring thegame machine200 and/or thegame machine module600. Further, the administrative console comprises options for diagnostic testing, viewing game information,viewing game machine200 information, or viewinggame machine module600 information.
The gamemachine device drivers680 are used to control and configure the components of thegame machine200. There may be a separate game machine device driver480 for each component including the bonus display210, theprimary display220, theprogrammable button panel230, theticket printer240, the bill/ticket acceptor250, theplayer loyalty system260, thecoin tray270, and the candle280 (FIG. 2). In one embodiment, one or more of the gamemachine device drivers680 may be configured to generate reports or events that are received by thegame client610 or the bonus server110 (FIG. 1).
For example, the gamemachine device driver680 for theprogrammable button panel230 may control the button background color, button text, button text color, and button value. In another example, when a button on theprogrammable button panel230 is depressed, the appropriate gamemachine device driver680 generates an event which identifies the button pressed and the button value. The gamemachine device driver680 for theprogrammable button panel230 may reprogram the buttons and button values as a game is played or when a community bonus round is activated.
FIG. 7 is a block diagram of a bonus server module700 in one embodiment of the invention. The bonus server module700 is software that is resident on the bonus server110 (FIG. 1) and controls the community bonus round. The bonus server module700 comprises aserver module705, aplatform manager710, aserver tilt engine715, a server state manager720, aserver communication manager725, asynchronization agent730, agame matrix module735, arules engine740, a serverdiagnostic module745, a serveradministration console module750, andserver device drivers755.
Theserver module705 interacts with the game client610 (FIG. 6) within thegame machine module600 to control game play and the community bonus round. In some embodiments, theserver module705 controls all of the game logic while thegame client610 controls and records player inputs and graphics on the game machine's primary display device210 (FIG. 2). In one example, theserver module705 manages the game state (e.g. number of credits in the game machine200), determines outcomes, controls overall game behavior, and controls the community bonus round. Thegame client610 is responsible for processing thegame machine200 input events (i.e. button press) and displays results (e.g. spinning and stopping wheels).
In other embodiments, the game logic is split between theserver module705 and thegame client610. For example, theserver module705 may control overall game behavior while thegame client610 determines outcomes. In further embodiments, thegame client610 performs all of the game logic and theserver module705 collects statistics and monitors performance of thegame machine200.
Theserver module705 may control the community bonus round and game levels. In one example, theserver module705 controls community bonus round gaming between two ormore game machines200. For example, theserver module705 may set the condition necessary for the player of onegame machine200 to trigger a community bonus round. When that condition is met, theserver module705 determines whichgame machines200 are active on the network, which game titles are loaded on each active game machine, which of the loaded games are compatible with the community bonus round, and if the games are in a state to participate in the community bonus round. Theserver module705 extends invitations to the players which satisfy all conditions to play within the community bonus round. Theserver module705 initiates a community bonus round with those which accept the invitation and then controls the community bonus round logic. It is appreciated that theserver module705 can simultaneously control game logic ofmultiple game machines200 and community bonus round logic from multiple community bonus rounds.
During community bonus round play, theserver module705 returns play results and community bonus round updates to the participatinggame machines200. The outcome of the community bonus round is also sent to the participatinggame machines200. For example, each game machine receives the player's score or credits won in the community bonus round which may be displayed on the game machine's bonus display device210 (FIG. 2). The process of community bonus round play is further described herein.
Theserver module705 may also be configured to interact withother bonus servers110 orother server modules705 when controlling the community bonus round. For example,multiple server modules705 may coordinate a community bonus round betweenmany game machines200. Eachserver module705 may handle a specific number ofgame machines200 thereby allowing the casino to provide for community bonus round gaming among any number ofgame machines200 in any location (e.g. between different floors of the casino or between different casinos.) It is appreciated that theserver modules705 allow for any amount of scaling to control and coordinate community bonus round game play.
In another embodiment, theserver module705 controls game levels. Game levels are similar to console video games where game play on thegame machine200 progresses from one level to the next. The determination of the triggering event that controls the transition from one level to another may be determined by the game developer. Theserver module705 monitors thegame machine200 to determine if the triggering event is met and then controls the game logic that instructs thegame machine200 accordingly. It is appreciated that theserver module705 may control both community bonus rounds and game levels simultaneously.
In another example, theserver module705 may also store each player's top score and highest level achieved. This information may be stored on thegame machine200, the bonus server110 (FIG. 1), and/or on the player loyalty card. As a result, the player may return, input the player loyalty card and resume playing at adifferent game machine200 at the last level attained.
In further embodiments, theserver module705 is configured to load and unload games from thegame machines200. For example, theserver module705 may generate a command to remove or otherwise delete an existing game from thegame machine200. Theserver module705 then downloads and loads client software, graphics, video data and sound data to thesame game machine200.
Theplatform manager710, similar to the client manager620 (FIG. 6) on thegame machine200, controls the software of the bonus server110 (FIG. 1). In some embodiments, theplatform manager710 initiates theserver module705, loads and unloads games, coordinates the transmission of marketing events to thegame machines200, monitors maintenance, manages server configuration, controls the output of audit data, and processes events received from third-party systems.
Theserver tilt engine715 monitors the operating state of thebonus server110 and generates tilts on error conditions in order to prevent cheating.
The server state manager720 monitors the operation of thebonus server110. The server state manager720 is a repository of the current and past data for data received from one or more of thegame machines200, the current and past data of thebonus server110, and may function to maintain the data for the bonus server's110 hardware and software components. The server state manager720 also tracks the state of thebonus server110 including, but not limited to,bonus server110 undergoing maintenance, controlling one community bonus round, controlling multiple community bonus rounds, or communicating withother bonus servers110.
Theserver communication manager725 controls the communications from thebonus server110 to and from the communications network. In one embodiment, theserver communication manager725 controls system authentication, communication channel termination, and processes asynchronous requests from external systems for data (e.g. meters, tilts, marketing). Theplatform manager710 may control theserver communication manager725.
Thesynchronization agent730 determines that at least onebonus server110 is operating andprocessing game machine200 requests. If a failure of the system should occur (e.g. there is noactive bonus server110 on the network), thesynchronization agent730 transitions all devices on the network to a failover state. For example, thesynchronization agent730 may send a signal to theclient manager620 to initiate a shut down of thegame machine200.
Thegame matrix module735 is a data structure that defines relationships that are determined prior to activation of the gaming system. For example, thegame matrix module735 contains data that describes compatibility between games, compatibility of games and community bonus rounds, game functionality atdifferent game machine200 states, game functionality at different regions, and game licensing restrictions.
Therules engine740 is a data structure containing conditions upon which events are triggered. In one example, therules engine740 may contain every game event that triggers a community bonus round. In some embodiments, therules engine740 also contains contingency conditions as well as events.
The serverdiagnostic module745 provides hardware and software diagnostic checks of thebonus server110 and the bonus server module700. Regulatory requirements may require that thebonus server110 employ mechanisms that verify that server components are authentic and have not been corrupted or tampered with. As a result, a diagnostic test is used to verify and authenticate each component of thebonus server110 and the bonus server module700.
The serveradministrative console module750 controls the function and display of the administrative console to the player or technician of thebonus server110. Theserver module705 may trigger an administrative mode within thebonus server110 to display a server administrative console.
The server administrative console comprises options for configuring thebonus server110 and/or the bonus server module700. Further, the server administrative console comprises options for server setup, security,game machines200 settings, tilts, games, network setup, diagnostic tests, and marketing.
Theserver device drivers755 are used to control and configure the components of thebonus server110. There may be a separateserver device driver755 for each component of thebonus server110. The components of thebonus server110 may comprise a smart card reader, enclosure sensors, video display, network interface card, local storage system, I/O interface, and a memory system.
The bonus server module700 and/or the game machine module600 (FIG. 6) may have a marketing engine and a security module. In one example, the marketing engine manages the transmission and coordination of electronic marketing messages. Electronic marketing material, including advertisements and banners, may displayed by thegame machine200.
The security manager may control access to thegame machine200 and/or thebonus server110. In one example, the security manager controls access to the client administration console670 (FIG. 6) or theserver administration console750. In another example, the security manager may define access rights associated with different passwords. In other embodiments, the security manager may limit physical access to the inside of thegame machine200 or thebonus server110. In one example, the security manager requires the technician to enter a smart card and input a password before allowing the technician to perform certain tasks on thegame machine200 or thebonus server110.
The market for slot machines and game machines is dramatically increasing. As a consequence, casinos may lose players to an increasing number of competitors. In response, casinos are increasingly concerned with fostering player loyalty and improving profitability.
By allowinggame machines200 to play bonus rounds within a community, new games may be offered to players. The players within the community may directly compete with each other, work together, or experience new forms of entertainment that were previously unavailable. The casino may utilize community bonus round gaming to encourage groups, friends, associations, and clubs to game together or create excitement in a casino to entice other people to participate in community bonus round gaming. Community bonus round gaming may also be used by the casino to customize the gaming experience for different players by tracking their preferences, identities, associations, scores, and attained levels. In a marketplace where players are increasingly distracted by the number of slot machines, community bonus round gaming may be a new paradigm that refocuses player attention and increases the level of player service the casino can provide.
The above-described functions can be comprised of instructions that are stored on a storage medium. The instructions can be retrieved and executed by a processor. Some examples of instructions are software, program code, and firmware. Some examples of storage medium are memory devices, tape, disks, integrated circuits, and servers. The instructions are operational when executed by the processor to direct the processor to operate in accord with the invention. Those skilled in the art are familiar with instructions, processor(s), and storage medium.
In the foregoing specification, the invention is described with reference to specific embodiments thereof, but those skilled in the art will recognize that the invention is not limited thereto. Various features and aspects of the above-described invention may be used individually or jointly. Further, the invention can be utilized in any number of environments and applications beyond those described herein without departing from the broader spirit and scope of the specification. Accordingly, the specification and drawings are to be regarded as illustrative rather than restrictive.