Patent Publication Number: US-2018053379-A1

Title: Gaming presentation systems and methods with improved music synchronization

Description:
TECHNICAL FIELD OF THE INVENTION 
     The invention relates to multimedia displays for wagering games and synchronizing the same to music soundtracks. 
     BACKGROUND OF THE INVENTION 
     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. 
     SUMMARY OF THE INVENTION 
     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:
     (a) receive an instruction that a first audio file is to be played as a music accompaniment during a game play session;   (b) in response, determining one or more musical beat rates and associated start times describing music recorded in the audio file;   (c) provide the one or more musical beat rates and associated start times to a timer;   (d) cause the first audio file to be played through the audio device while the game play session is in progress;   (e) while the file is played, cause the timer to measure time intervals between beats in the played audio, and send beat events to multimedia display program code synchronized with the beats in the played audio; and   (f) in response to the beat events and synchronized with the beats in the played audio, animating graphical display elements on the display during the game play session.   

     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. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a screen display diagram showing the primary display and secondary (top) display to illustrate an example slot machine display arrangement. 
         FIG. 2A  is a messaging diagram showing functions and messages between various system modules according to this example embodiment. 
         FIG. 2B  is a flowchart of a process conducted with the gaming machine according an example embodiment. 
         FIG. 3A  is a front perspective view of a gaming machine which may be used in a gaming system embodying the principles of the present invention. 
         FIG. 3B  is a block diagram showing various electronic components of the gaming machine shown in  FIG. 3A  together with additional gaming system components. 
         FIG. 3C  is a software block diagram showing various program code modules and libraries according to an example embodiment. 
         FIG. 4A  is a system block diagram of a gaming system according to one embodiment of the present invention. 
         FIG. 4B  is a system block diagram of a gaming system according to another embodiment. 
     
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       FIG. 1  is a screen display diagram showing the primary display  104  and secondary (top) display  107  to illustrate an example slot machine display arrangement on which wagering game results are presented in a gaming area, typically found on the primary display. On the secondary display  107  in box  56  are the instructions for playing the game. Underneath the instructions, a prize table is shown in box  58 , are the prizes that can be won as well as the requirements for winning. Background, side, and top graphics  53  may be animated during or between games as part of the multimedia theme of the game as further discussed below. 
     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&#39;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&#39;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. 
       FIGS. 2A and 2B  generally illustrate techniques for synchronizing the multimedia presentation of the game as presented on the various displays and lights of a gaming cabinet such as that in  FIG. 3A .  FIG. 2A  is a messaging diagram showing functions and messages between various system modules according to this example embodiment.  FIG. 2B  is a flowchart of a process conducted with the gaming machine according an example embodiment. Referring to both Figures, an example embodiment of the invention provides synchronization of music or other accompanying audio to the multimedia presentation of the wagering game for gaming machines such as machines  100  on a gaming network  308  as shown, for example, in  FIG. 4A . The multimedia synchronization process typically begins with the machine startup up or activation at block  2000 . The machine then runs an attract routine showing example games being conducted at block  2001 . This block will employ various processes or software submodules, as shown, for example, in  FIG. 3C . On the left of  FIG. 2B  is shown several process blocks that provide synchronization of the background music to the gaming events, and may run simultaneously to the gaming routines in the various states in which the gaming machine operates with background music. 
     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  FIG. 4A ), which may process music files or streams in advance and provide instructions to the individual gaming machines on the network such as network  308  ( FIG. 4A ). Next at block  2010 , the process provides the one or more musical beat rates and associated start times to a timer. The timer preferably runs as a local process on the gaming machine  100 . The timer process is preferably a high resolution timer able to time the progress of the audio file or stream playback with microsecond precision, so as to coordinate the multimedia display of each graphical, lighting, sound, or animation element with the desired timing relative to the musical beats, whether some actions begin before the beginning of the musical beat or conclude after it, allowing any desired synchronization of the multimedia gaming elements with the background music. 
     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 ( FIG. 3C ), or may be another suitable type of software message or interrupt event. As depicted in  FIG. 2B , different processes or code modules may be running that respond differently to a beat event. Generally, the different processes at blocks  2016 ,  2017 ,  2020 ,  2024 , and  2028  may not always be running as process threads or related groups of process threads, or may be placed in a state in which they do not respond to beat events. The block diagrams herein show behavior in which such processes are, according to their programming, in a state to respond to the beat events as depicted. The game display process, as shown at block  2016 , may activate any number of graphic elements on a beat, such as animating a flash or pulse of light for a reel symbol  58 , or animating a change in reel symbols with the beat. The game display process may also animate the background graphics  53  in time with the music beat. While the term “process” is used here, one or more than one actual microprocessor process, or thread, of related software instructions may run to control the steps described in response to the beat event. A single process may also control the response for more than one of the depicted events  2018 ,  2019 ,  2022 ,  2026 , and  2030  and other similar events. 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. 
     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  ( FIG. 3A ) having control electronics operatively coupled to at least one electronic controller in the gaming cabinet. 
     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  FIG. 2A , the method performed at the game server further includes receiving game play requests originating from electronic gaming machine  100 , and sending commands to the gaming machine to show reels spinning, the player selection rounds with their persistent indicia, and results being displayed. The division of game logic steps between gaming machines and servers is known in the art and may be accomplished according to suitable methods allowed for the relevant gaming jurisdictions. 
       FIG. 3A  shows a gaming machine  100  that may be used to implement an automated multimedia gaming presentation according to the present invention. The block diagram of  FIG. 3B  shows further details of gaming machine  100 . Referring to  FIG. 3A , gaming machine  100  includes a cabinet  101  having a front side generally shown at reference numeral  102 . A primary video display device  104  is mounted in a central portion of the front surface  102 , with a ledge  106  positioned below the primary video display device and projecting forwardly from the plane of the primary video display device. In addition to primary video display device  104 , the illustrated gaming machine  100  includes a secondary video display device  107  positioned above the primary video display device. Gaming machine  100  also includes two additional smaller auxiliary display devices, an upper auxiliary display device  108  and a lower auxiliary display device  109 . It should also be noted that each display device referenced herein may include any suitable display device including a cathode ray tube, liquid crystal display, plasma display, LED display, or any other type of display device currently known or that may be developed in the future. 
     In preferred versions, the gaming machine  100  illustrated in  FIG. 3A  also includes a number of mechanical control buttons  110  mounted on ledge  106 . These control buttons  110  may allow a player to select a bet level, select pay lines, select a type of game or game feature, and actually start a play in a primary game. Other forms of gaming machines according to the invention may include switches, joysticks, or other mechanical input devices, and/or virtual buttons and other controls implemented on a suitable touch screen video display. For example, primary video display device  104  in gaming machine  100  provides a convenient display device for implementing touch screen controls. 
     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&#39;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&#39;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. 
       FIG. 3B  shows a logical and hardware block diagram  200  of gaming machine  100  which includes a central processing unit (CPU)  205  along with random access memory  206  and nonvolatile memory or storage device  207 . All of these devices are connected on a system bus  208  with an audio controller  209 , a network controller  210 , and a serial interface  211 . A graphics processor  215  is also connected on bus  208  and is connected to drive primary video display device  104  and secondary video display device  107  (both mounted on cabinet  101  as shown in  FIG. 3A ). A second graphics processor  216  is also connected on bus  208  in this example to drive the auxiliary display devices  108  and  109  also shown in  FIG. 3A . As shown in  FIG. 3B , gaming machine  100  also includes a touch screen controller  217  connected to system bus  208 . Touch screen controller  217  is also connected via signal path  218  to receive signals from a touch screen element associated with primary video display device  104 . It will be appreciated that the touch screen element itself typically comprises a thin film that is secured over the display surface of primary video display device  104 . The touch screen element itself is not illustrated or referenced separately in the figures. 
     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  FIG. 3B  are elements commonly associated with a personal computer. These elements are preferably mounted on a standard personal computer chassis and housed in a standard personal computer housing which is itself mounted in cabinet  101  shown in  FIG. 3A . Alternatively, the various electronic components may be mounted on one or more circuit boards housed within cabinet  101  without a separate enclosure such as those found in personal computers. Those familiar with data processing systems and the various data processing elements shown in  FIG. 3B  will appreciate that many variations on this illustrated structure may be used within the scope of the present invention. For example, since serial communications are commonly employed to communicate with a touch screen controller such as touch screen controller  217 , the touch screen controller may not be connected on system bus  208 , but instead include a serial communications line to serial interface  211 , which may be a USB controller or a IEEE 1394 controller for example. It will also be appreciated that some of the devices shown in  FIG. 3B  as being connected directly on system bus  208  may in fact communicate with the other system components through a suitable expansion bus. Audio controller  209 , for example, may be connected to the system via a PCI bus. System bus  208  is shown in  FIG. 3B  merely to indicate that the various components are connected in some fashion for communication with CPU  205  and is not intended to limit the invention to any particular bus architecture. Numerous other variations in the gaming machine internal structure and system may be used without departing from the principles of the present invention. 
     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  FIGS. 3A-B . 
       FIG. 3C  shows a software module block diagram according to one example version of the invention. The software modules depicted may be instantiated as processes communicating with inter-thread messaging according to suitable techniques known in the art. Generally, the modules employed for synchronizing the multimedia presentation with the musical soundtrack are highlighted with dotted blocks. The Spread unified messaging bus, a virtual messaging bus, may be employed as shown to implement the beat messages passed to the UI and Script Engine modules, which generally contain the gaming presentation software program code. While this architecture is shown, many other software designs are possible within the scope of the invention to achieve the same result. 
     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  FIG. 4B . Referring now to  FIG. 4B , the casino server system  400  may be implemented over one or more site locations and include host server  401 , remote game play server  403  (which may be configured to provide game processor functionality including determining game outcomes and providing audio/visual instructions to a remote gaming device), central determinant server  405  (which may be configured to determine lottery, bingo, or other centrally determined game outcomes and provide the information to networked gaming machines  100  providing lottery and bingo-based wagering games to patrons), progressive server  407  (which may be configured to accumulate a progressive pool from a portion of wagering proceeds or operator marketing funds and to award progressive awards upon the occurrence of a progressive award winning event to one or more networked gaming machines  100 ), player account server  409  (which may be configured to collect and store player information and/or awards and to provide player information to gaming machines  100  after receiving player identification information such as from a player card), and accounting server  411  (which may be configured to receive and store data from networked gaming machines  100  and to use the data to provide reports and analyses to an operator). Through its network connection, gaming machine  100  may be monitored by an operator through one or more servers such as to assure proper operation, and, data and information may be shared between gaming machine  100  and respective of the servers in the network such as to accumulate or provide player promotional value, to provide server-based games, or to pay server-based awards. 
     Referring now to  FIG. 4A , a gaming system  300  according to another embodiment of the present invention is shown again in a network and system diagram format. System  300  includes a number of gaming machines, each comprising a gaming machine  100  in this example implementation. For purposes of describing system  300 , each gaming machine  100  in  FIG. 4A  is shown as including a video display device  107  and a player interface that may include buttons, switches, or other physical controls and/or touch screen controls as discussed above in connection with  FIG. 4A . This player interface is labeled  301  in  FIG. 4A . System  300  further includes a game server  302  and a respective game client  303  (abbreviated “GC” in  FIG. 4A ) included with each respective gaming machine  100 . In the form of the invention shown in  FIG. 4A  these two components, game server  302  and the game client components  303  combine to implement a game control arrangement which will be described in detail below. System  300  also includes an award controller  305 , which is shown in  FIG. 4A  as being associated with game server  302  to indicate that the two components may be implemented through a common data processing device/computer system. Gaming machines  100 , game server  302 , and award controller  305  are connected in a network communication arrangement including first and second network switches  306  and  307 , connected together through various wired or wireless signal paths, all shown as communications links  308  in  FIG. 4A . 
     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&#39;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  FIG. 4A  is illustrated merely as an example of a suitable communications arrangement. It should be noted that the game control arrangement, or as it is referred to generally the “game controller,” may be implemented in some embodiments entirely on the gaming machine. This is especially true in jurisdictions that allow Class III gaming conducted with random number generators at each gaming machine. The present invention is not limited to any particular communications arrangement for facilitating communications between game server  302  and various gaming machines  100 . Any wired or wireless communication arrangement employing any suitable communications protocols (such as TCP/IP for example) may be used in an apparatus according to the invention. 
       FIG. 4A  shows other server(s)  310  included in the network. This illustrated “other server(s)” element  310  may include one or more data processing devices for performing various functions related to games conducted through system  300  and any other games that may be available to players through gaming machines  100 . For example, apparatus  300  may be accounting servers providing support for cashless gaming or various forms of mixed cash/cashless gaming through the various gaming machines  100 . In this example, an additional one of the other servers  310  will be included in apparatus  300  for supporting these types of wagering and payout systems. As another example, the various gaming machines  100  included in system  300  may allow players to participate in a game (primary game) other than the game described herein, and this other game may rely on a result identified at or in cooperation with a device that is remote from the gaming machines. In this example, another server  310  may be included in the system for identifying results for the primary game and communicating those results to the various gaming machines  100  as necessary. Generally, the other server(s)  310  shown in  FIG. 4A  are shown only to indicate that numerous other components may be included along with the elements that participate in providing persistent indicia features according to the present invention. Other server(s)  310  may provide record keeping, player tracking, accounting, result identifying services, or any other services that may be useful or necessary in a gaming system. 
     Referring to  FIG. 4B , a block diagram of another example networked gaming system  400  associated with one or more gaming facilities is shown, including one or more networked gaming machines  100  in accordance with one or more embodiments. With reference to  FIG. 4B , while a few servers have been shown separately, they may be combined or split into additional servers having additional capabilities. 
     As shown, networked gaming machines  100  (EGM 1 -EGM 4 ) 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&#39; video images may be displayed on overhead display  413  along with the content of the player&#39;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&#39;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&#39;s game play. Also, the player&#39;s selection may be transmitted to player account server  409  where it may be stored in association with the player&#39;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&#39;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&#39;s playing data and personalized information may be associated with the player&#39;s account and accessible at the player&#39;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.