The invention relates to multimedia displays for wagering games and synchronizing the same to music soundtracks.
Various slot machine games are known that provide wagering games in a variety of ways. These games often have background music or a musical soundtrack, which may be consistent with a theme of the game or may include popular music or other suitable soundtrack music.
U.S. Pat. No. 8,435,118B2 describes an audio system operable to play a bonus sound and a bang-up sound at the same time, such that the bonus and bang-up sounds are synchronized rhythmically.
Historically, the synchronization of multimedia elements with a background music track was accomplished by authoring all content to align with a specific beat. The content and background music would need to be started at the same time, and volume or display settings were used to mimic turning ‘on’ and ‘off’ various aspects of the presentation. This approach required all content to be re-authored for each background song and limited the synchronization to music tracks of a pre-decided temp.
What is needed are better ways to synchronize designated musical tracks with the presentation of a slot machine game, in order to increase player excitement and enjoyment of slot machine games.
The invention solves the problem of being able to dynamically display visual and audio content to be played in synchronization with a music track of any tempo. The approach described in this invention allows the flexibility of creating a dynamic arrangement which allows any display elements and sound samples to be played in synchronization with any music track. Songs may be pre-processed with tempo and timing information, or an on demand audio processing system may be provided to synchronize a new music file or streamed audio to a gaming presentation. A software process is provided to time the beats of a song, and a high resolution timer sends beat events to gaming presentation processes to achieve a dynamic end-result that can be applied to a song of a desired tempo. The use of a high resolution timer to track the BPM (beats per minute) of a music soundtrack and produce a software notification (callback, event, signal, or other suitable software message) of each beat as the music track is playing provides ability for gaming modules to each be programmed to respond to beats in their own desired manner. The beat event or beat message is used to trigger additional presentation elements such as visual effects, sounds, and lighting on the beat of the background music. This approach allows any multimedia application to synchronize its presentation elements with the beat of a song, resulting in a dynamically orchestrated produce that feels cohesive and well composed.
According to a first embodiment, a gaming machine is provided for conducting a wagering game. The machine includes a display, an audio device, a wager input device, and at least one electronic controller operatively coupled to the wager input device, the audio device, and the display and configured to execute instructions related to the wagering game and to cause cash value credits to be awarded to a player in response to wagering wins. The machine is run by software programming stored in a tangible, non-transitory electronically accessible memory coupled to the at least one electronic controller. The software includes program code executable by the at least one electronic controller to:
Another version of the invention is a software or software/firmware program stored on a non-transitory readable medium. The software version is, of course, typically designed to be executed by a gaming machine or networked gaming system. The software includes multiple portions of computer executable code referred to as program code. Gaming results are provided in response to a wager and displayed by display program code that generates simulated slot reels each including one or more symbol locations. The software includes the program code for controlling a high resolution timer to time musical beats and send beat messages to gamin process for synchronizing the gaming multimedia presentation. The software also includes the various gaming processes that receive beat messages and respond with various programmed activity to synchronize the presentation.
Another version of the invention is a gaming system that includes one or more gaming servers, and a group of electronic gaming machines connected to the servers by a network, programmed as set forth above. The various functionality described herein may be distributed between the electronic gaming machines and the gaming servers in any practically functional way. For example, the current preferred architecture is for the servers to determine all aspects of game logic, random number generation, and prize awards. The gaming machines provide functionality of interfacing with the player and animating the game results received from the server in an entertaining manner. However, other embodiments might use a thin client architecture in which the animation is also conducted by the server, and electronic gaming machines serve merely as a terminal to receive button or touch screen input from the player and to display graphics received from the server.
Different features may be included in different versions of the invention. For example, some versions may not include the actual processing of the musical track, which may be done in advance or on demand with new musical tracks or streams. In some versions, beat events are sent as an inter-process message on a virtual unified message bus. Such messages may be sent between networked devices, over a local bus, or to different processes in the same processor, which may be running on different processor cores or the same processor core. Consistent with the structure of music in measures having down beats and off beats, the beat messages may have DOWN BEAT type and OFF BEAT type, or the timer or processes may count beats the beats to identify a beat message as such, and processes may respond differently to different beat types.
In some versions, new songs may be provided from various sources, or an audio track or stream may be provided including several songs, such as a live concert stream, which could be at a casino or a concert recording.
These and other advantages and features of the invention will be apparent from the following description of the preferred embodiments, considered along with the accompanying drawings.
The gaming area of a reel-type primary game (as opposed to bonus games or other special games) in this version is a matrix 51 of symbol locations arranged in rows and columns to represent simulated slot machine reels that are spun to conduct a game round. Other embodiments may, of course, use other types of game displays to display randomizing of symbols according to the methods herein. The depicted columns of symbols labeled 52 represent the simulated reels, while symbols are designated 54. In this instance there are five reels with three symbol locations 54 displayed at a time on each reel, but the game can be played with more and less reels. The simulated reel typically has far more symbols than those displayed, and as many unique stop positions as there are symbols on the simulated reel. The stop position may be counted, for example, by numbering the symbols on the simulated reel and using the number of the symbol at the bottom of the display window (the three symbols displayed in this example), or at the top or middle. Further, while multi-symbol reels are shown, other versions may use simulated uni-symbol reels, or a reel that has many symbols thereon but only a single window to the reel simulated, displaying a single symbol from the reel. Some variations of the present invention may use a simulated uni-symbol reel in each depicted symbol location 54. Surrounding the matrix 51 is background graphics 53, which may be above, beside, below, between or behind the symbol locations 54 of matrix 51.
Winning patterns are typically formed by matching symbols along defined paylines that pass through the matrix 51. Box 60, which displays the current wager and amount bet per payline. To the right of box 60 is box 62, which displays the current credits in the player's account. In the bottom center a touchscreen play button 66 is presented in the lower central area of the display, which may show other game state related graphics. Right of this is win box 64, which displays the player's last awarded winnings. The wager credit denomination is shown in box 63. Along the bottom edge of the matrix 51 there is a message line, where the game station can display further instructions to the player.
The depicted process allows any desired background music, assuming it a periodic beat or drum track to which the multimedia presentation is to be synchronized, to be provided for use at block 2006. In some versions, new songs may be provided from various sources, or an audio track or stream may be provided including several songs, such as a live concert stream, which could be at a casino or a concert recording. As such, an audio file or audio stream may be provided at block 2006. The process at block 2006 receives an instruction that a first audio file or stream is to be played as a music accompaniment during a game play session, which instruction may come from state management software code running on the gaming machine, or from a central multimedia server or other suitable casino floor coordination system. Next at block 2008, the method continues by examining the file or stream to determine one or more musical beat rates and associated start times describing music recorded or streamed in the audio. In the simplest form, this step simply reads a pre-existing piece of data such as metadata containing the beat rate of the music in the file, and if the beat is not started at the zero time in the file, the time offset for the start of the beat rate. If more than one beat rate exists in the music file, each beat rate may be stored with its start time. A start time is provided for the first beat of a new tempo whenever the beat rate changes within an audio file or stream. In versions where beat rates are not stored with each file, block 2008 may process the music file by performing frequency analysis or other beat counting analysis known in the music industry to determine the beat rates and start times. In another variation, where the music is not provided as a file but instead as a live stream from a concert or an audio stream from a central media server, process may track the beat rate on an ongoing basis. This process may be done by an audio system 502 running on the gaming machine 100, in some cases with a new music file or stream provided from a source connected to the network with the gaming machine. In other versions, the audio system 502 may run on a central multimedia server (one of other servers 310 in
Still referring to block 2010, the audio system 502 causes the audio file to be played through the audio device while the game play session at blocks 2002-2004 is in progress. While the file is played, the method causes the timer process 504 to measure time intervals between beats in the played audio, and send beat events (block 2014) to multimedia display program code 506 synchronized with the beats in the played audio.
In response to the beat events and synchronized with the beats in the played audio, the multimedia display program code 506 causes animating graphical display elements on the display during the game play session. The beat event may be sent as an inter-process message through a virtual message bus such as the Spread Unified Messaging Bus (
The game event audio process at block 2017 is another process that may respond to beat events. The software further comprises instructions for providing game event audio accompanying selected events in the game play session at block 2019, and further operable to mix the game event audio with the played audio such that designated sounds (typically beats or emphatic sounds) in the game event audio are synchronized with the beats in the played audio.
It is noted the ellipsis between blocks 2017 and 2020 shows more gaming processes may be present which respond in different ways to beat events in the game soundtrack or background music. The depicted order of events is not limiting as the processes are typically event driven and run in parallel.
Next at block 2020 the gaming machine lighting display process software code (which generally part of the multimedia display software modules in the gaming software, but may include drivers and other related code), receives the beat event and goes on to respond in some cases, as programmed, to pulse, flash, change color, or otherwise adjust the lighting condition or state synchronized in time to the soundtrack beat. As shown in the next several blocks, designated ones of the beat events may trigger responses from various game play processes executing in the game. The lights employed on the gaming cabinet may be one or more lights such as lights 119 (
Next at block 2024, a payline cycling process is shown to receive the beat event. This process runs during the award phase of a winning game in which the wagering game includes multiple paylines which are evaluated for game results in a payline evaluation phase of the game play session. The response software code typically includes instructions for providing a graphical display of cycling through the payline evaluation synchronized with the beats in the played audio, as seen at block 2026. The beats can be main beats of a measure, with no response on off beats, mimicking an arrangement in which the display has a custom animation sequence for each song.
Next at block 2028 the process has another gaming presentation process that receives and responds to beat events, the award bang-up process, which shows awards from base or bonus games being added to the players credit total. The award bang-up process at block 2028 will be activated after designated winning outcomes, and may wait for the first beat event before making any multimedia presentation of the award bang-up. This process typically controls both audio and display animation to show the credit meter ‘bang-up’ at block 2030. The audio includes a bang-up soundtrack synchronized with the beats in the played audio, and a bang-up graphic sequence is displayed with the bang-up soundtrack showing credits incrementally awarded to a player also synchronized with the beats in the played audio.
Next at block 2032, the process may be provided a new piece of music to use as the game soundtrack, in which case it returns to block 2006 to obtain the new music and determine or obtain the beat rates and start times for the timer process to use. A new music file or stream may be provided in a number of different ways, such as from a game play process which may cycle through a number of songs consistent with a theme, or a multimedia server controlling multiple gaming machines on a casino floor. Similarly to the first music described above, the new music may be a song, a background music track, or other game soundtrack. A new song may be started, for example, in response to a bonus portion of the game play session being entered. If no new music is provided after the beat event at block 2032, the method returns to the timer process at block 2012 where the next beat is awaited. Consistent with the structure of music in measures having down beats and off beats, the beat messages may have DOWN BEAT type and OFF BEAT type, or the timer or processes may count beats the beats to identify a beat message as such, and processes may respond differently to different beat types.
Referring again to the right-hand depicted blocks, a game play session is begun when a player logs in to a credit account on the gaming machine, or deposits credits in the form of cash or a voucher or token of some kind at block 2002. To begin a game play, the method receives a wager from the game player at block 2003, which typically consists of some input from the player to set the amount to be wagered from their credit amount on the machine. This step may also be carried over from previous game rounds by simply starting the game with the previous wager amount set. Then, the method receives a play input from the player. This typically happens through a ‘Play’ button on the game cabinet or touchscreen display, and serves to place the wager and start a single round of game play in the base game. In embodiments having reels, reel displays, or simulated reels, this is conducted by spinning the reels. Other embodiments may otherwise rearrange or randomize the symbols on the matrix in any suitable manner. After the game activation in step 2003, the method randomly determines the game outcome, preferably by randomly determining a set of reel stops that determine which symbols fill the matrix for the current game outcome at step 2004. For games that use other scrambling besides simulated reels, the random outcome is determined at this step as appropriate for the game. The preferred version generates at least one random number and uses the at least one random number to determine a set of game reel stops specifying a position in which multiple simulated or mechanical reels will stop to display symbols in a symbol array in a spin outcome for the wager.
Further, while the system computer executable instructions described above are preferably executed by a Class III gaming machine as further discussed below, it should be understood that this is only one example embodiment, and other versions may divide the processing tasks of the game method in a different manner. For example, some systems may employ a thin client architecture in which practically all of the processing tasks are performed at the game server, and only display information for the player interface transmitted to the electronic gaming machine. In such an embodiment, only the steps involving player input or display are performed by the electronic gaming machine, with the remaining steps performed by one of the game servers in the system. In such a case, though, the software architecture is preferably designed as a thin client in which a dedicated virtual machine running on the game server (or a virtual machine server connected in the gaming network) performs the tasks designated in the present drawing as occurring “at the gaming machine.” In the depicted method, the method is performed by the respective computer hardware operating under control of computer program code. While central processor arrangements may vary (for example award controllers may be integrated on the same machine with a gaming server, or may be a separate server connected on a secure network), the particular central determinant architecture is not limiting and will be referred to generally in this drawing as the game server (i.e. 302, 403). As shown at step 2003 in
In preferred versions, the gaming machine 100 illustrated in
It will be appreciated that gaming machines may also include a number of other player interface devices in addition to devices that are considered player controls for use in playing a particular game. Gaming machine 100 also includes a currency/voucher acceptor having an input ramp 112, a player card reader having a player card input 114, and a voucher/receipt printer having a voucher/receipt output 115. Audio speakers 116 generate an audio output to enhance the user's playing experience. Decorative lights 119 are placed, in this version, along the top of the machine and beside secondary display 107, but may also be in other suitable locations such a topper light on the top surface, along the machine's belly (the front panel under the ledge 106) or behind translucent portions of the machine belly glass, around primary display 104, or on the cabinet sides as well. These lights may be controlled to dim, flash, change colors, or otherwise alter along with the musical beats as described herein. Numerous other types of devices may be included in gaming machines that may be used according to the present invention.
Those familiar with data processing devices and systems will appreciate that other basic electronic components will be included in gaming machine 100 such as a power supply, cooling systems for the various system components, audio amplifiers, and other devices that are common in gaming machines. These additional devices are omitted from the drawings so as not to obscure the present invention in unnecessary detail.
All of the elements 205, 206, 207, 208, 209, 210, and 211 shown in
It will also be appreciated that graphics processors are also commonly a part of modern computer systems. Although separate graphics processor 215 is shown for controlling primary video display device 104, secondary video display device 107, and graphics processor 216 is shown for controlling both auxiliary display devices 108 and 109, it will be appreciated that CPU 205 may control all of the display devices directly without any intermediate graphics processor. The invention is not limited to any particular arrangement of processing devices for controlling the video display devices included with gaming machine 100. Also, a gaming machine implementing the present invention is not limited to any particular number of video display device or other types of display devices.
In the illustrated gaming machine 100, CPU 205 executes software which ultimately controls the entire gaming machine including the receipt of player inputs and the presentation of the graphic symbols displayed according to the invention through the display devices 104, 107, 108, and 109 associated with the gaming machine. As will be discussed further below, CPU 205 either alone or in combination with graphics processor 215 may implement a presentation controller for performing functions associated with a primary game that may be available through the gaming machine and may also implement a game client for directing one or more display devices at the gaming machine to display and perform the multimedia presentation techniques of the present invention. CPU 205 also executes software related to communications handled through network controller 210, and software related to various peripheral devices such as those connected to the system through audio controller 209, serial interface 211, and touch screen controller 217. CPU 205 may also execute software to perform accounting functions associated with game play. Random access memory 206 provides memory for use by CPU 205 in executing its various software programs while the nonvolatile memory or storage device 207 may comprise a hard drive or other mass storage device providing storage for programs not in use or for other data generated or used in the course of gaming machine operation. Network controller 210 provides an interface to other components of a gaming system in which gaming machine 100 is included. In particular, network controller 210 provides an interface to a game controller which controls certain aspects of the player selection round as will be discussed below in connection with
It should be noted that the invention is not limited to gaming machines employing the personal computer-type arrangement of processing devices and interfaces shown in example gaming machine 100. Other gaming machines through which the automated multimedia presentation techniques herein are implemented may include one or more special purpose processing devices to perform the various processing steps for implementing the present invention. Unlike general purpose processing devices such as CPU 205, these special purpose processing devices may not employ operational program code to direct the various processing steps.
It should also be noted that the invention is not limited to gaming machines including only video display devices for conveying results. It is possible to implement the base game within the scope of the present invention using an electro mechanical arrangement or even a purely mechanical arrangement for displaying the symbols needed to complete the game as described herein. However, the most preferred forms of the invention utilize one or more video display devices for displaying the spinning reels, the animated symbols, and the other synchronized multimedia animations.
Still referring to the hardware and logical block diagram 200 showing an example design for a gaming machine 100, the depicted machine in operation is controlled generally by CPU 205 which stores operating programs and data in memory 207 with wagering game 204, user interface 220, network controller 210, audio/visual controllers, and reel assembly 213 (if a mechanical reel configuration). CPU or game processor 205 may comprise a conventional microprocessor, such as an Intel® Pentium® microprocessor, mounted on a printed circuit board with supporting ports, drivers, memory, software, and firmware to communicate with and control gaming machine operations, such as through the execution of coding stored in memory 207 including one or more wagering games 204. Game processor 205 connects to user interface 220 such that a player may enter input information and game processor 205 may respond according to its programming, such as to apply a wager and initiate execution of a game.
Game processor 205 also may connect through network controller 210 to a gaming network, such as example casino server network system 400 shown in
Referring now to
Each gaming machine 100, and particularly player interface 301 associated with each gaming machine, allows a player to make any inputs that may be required to make the respective gaming machine eligible for the game, and make selections of selectable objects displayed at the respective gaming machine in the course of the player selection round. Player interface 301 also allows a player at the gaming machine to initiate plays in a primary game available through the gaming machine in some implementations. The respective video display device 107 associated with each respective gaming machine 100 is used according to the invention to generate the graphic displays to show the various elements of a player selection round at the respective gaming machine.
The game control arrangement made up of game server 302 and the respective game client 303 at a given gaming machine functions to control the respective video display device 107 for that gaming machine to display the selectable objects. Award controller 305 is responsible for awarding prizes for a player's participation, and maintaining progressive prize information where the game offers one or more progressive prizes. The network arrangement made up of network switches 306 and 307, and the various communication links 308 shown in
Referring to
As shown, networked gaming machines 100 (EGM1-EGM4) and one or more overhead displays 413 may be network connected and enable the content of one or more displays of gaming machines 100 to be mirrored or replayed on an overhead display. For example, the primary display content may be stored by the display controller or game processor 205 and transmitted through network controller 210 to the overhead display controller either substantially simultaneously or at a subsequent time according to either periodic programming executed by game processor 205 or a triggering event, such as a jackpot or large win, at a respective gaming machine 100. In the event that gaming machines 100 have cameras installed, the respective players' video images may be displayed on overhead display 413 along with the content of the player's display 100 and any associated audio feed.
In one or more embodiments, game server 403 may provide server-based games and/or game services to network connected gaming devices, such as gaming machines 100 (which may be connected by network cable or wirelessly). Progressive server 407 may accumulate progressive awards by receiving defined amounts (such as a percentage of the wagers from eligible gaming devices or by receiving funding from marketing or casino funds) and provide progressive awards to winning gaming devices upon a progressive event, such as a progressive jackpot game outcome or other triggering event such as a random or pseudo-random win determination at a networked gaming device or server (such as to provide a large potential award to players playing the community feature game). Accounting server 411 may receive gaming data from each of the networked gaming devices, perform audit functions, and provide data for analysis programs, such as the IGT Mariposa program bundle.
Player account server 409 may maintain player account records, and store persistent player data such as accumulated player points and/or player preferences (e.g. game personalizing selections or options). For example, the player tracking display may be programmed to display a player menu that may include a choice of personalized gaming selections that may be applied to a gaming machine 100 being played by the player.
In one or more embodiments, the player menu may be programmed to display after a player inserts a player card into the card reader. When the card reader is inserted, an identification may be read from the card and transmitted to player account server 409. Player account server 409 transmits player information through network controller 210 to user interface 220 for display on the player tracking display. The player tracking display may provide a personalized welcome to the player, the player's current player points, and any additional personalized data. If the player has not previously made a selection, then this information may or may not be displayed. Once the player makes a personalizing selection, the information may be transmitted to game processor 205 for storing and use during the player's game play. Also, the player's selection may be transmitted to player account server 409 where it may be stored in association with the player's account for transmission to the player in future gaming sessions. The player may change selections at any time using the player tracking display (which may be touch sensitive or have player-selectable buttons associated with the various display selections).
In one or more embodiments, a gaming website may be accessible by players, e.g. gaming website 421, whereon one or more games may be displayed as described herein and played by a player such as through the use of personal computer 423 or handheld wireless device 425 (e.g. Blackberry® cell phone, Apple® iPhone®, personal data assistant (PDA), iPad®, etc.). To enter the website, a player may log in with a username (that may be associated with the player's account information stored on player account server 409 or be accessible by a casino operator to obtain player data and provide promotional offers), play various games on the website, make various personalizing selections, and save the information, so that during a next gaming session at a casino establishment, the player's playing data and personalized information may be associated with the player's account and accessible at the player's selected gaming machine 100.
Any use of ordinal terms such as “first,” “second,” “third,” etc., to refer to an element does not by itself connote any priority, precedence, or order of one element over another, or the temporal order in which acts of a method are performed. Rather, unless specifically stated otherwise, such ordinal terms are used merely as labels to distinguish one element having a certain name from another element having a same name (but for use of the ordinal term).
Further, as described herein, the various features have been provided in the context of various described embodiments, but may be used in other embodiments. The combinations of features described herein should not be interpreted to be limiting, and the features herein may be used in any working combination or sub-combination according to the invention. This description should therefore be interpreted as providing written support, under U.S. patent law and any relevant foreign patent laws, for any working combination or some sub-combination of the features herein.
The above described preferred embodiments are intended to illustrate the principles of the invention, but not to limit the scope of the invention. Various other embodiments and modifications to these preferred embodiments may be made by those skilled in the art without departing from the scope of the present invention.