The invention relates to gaming machines including a transmissive display through which is viewed a mechanical reel assembly.
Gaming machines commonly referred to as “slot machines” may include one or more mechanical rotating elements such as physical reels used to form a matrix of symbol locations. The reels carry game symbols on their periphery and the rotational position of the reels determine the game symbols that line up along one or more paylines defined across the matrix of symbol locations for a given play in the game to indicate the result of the play, some prize or a loss. Other rotating elements such as prize-indicating wheels may also be included to communicate the result (or a portion of the result) of a play to the player.
Generally, gaming machines that show results by either mechanical rotating elements or video representations of such elements may operate in either a prize-first process or a reels-first process. In the latter processes, the reels and/or other rotating elements are caused to rotate and then each stop at a randomly or pseudo-randomly selected rotational position to show the player the result of the play by the game symbols lined up along the payline(s) at the those “randomly” determined rotational positions. In a prize-first process, a prize may be randomly or pseudo-randomly determined and then the gaming machine may control the rotating elements to each stop at a respective position to show the prize (or portion thereof in certain game mechanics). In either the prize-first process or reels-first process, it is necessary to detect the rotational position (angular orientation) of each rotating element in the stopped position because that position dictates the game symbol displayed to the player and thus the game result communicated to the player by the alignment of game symbols.
Early mechanical slot machines used mechanical arrangements for detecting the rotational position of each rotatable element. Modern gaming machines use electronic or photoelectronic systems to detect the rotational position of a rotatable element such as a reel, either for determining when the rotatable element must stop to show the desired symbol or for detecting the stop position of the rotatable element and thus the game symbol or symbols displayed by that rotatable element. Modern gaming machines also commonly use a stepper motor for each rotatable element in order to drive the respective element in discrete angular steps.
Historically, suitable light producing devices such as LEDs coupled with photoelectric detectors (photodetectors) have been used to sense the rotational position of a respective rotatable element. This type of setup requires the use of notches in the hub of the rotatable element which allow the photosensor to produce a desired output signal when the notch is aligned with the LED and provide a signal to the control computer that the rotatable element is in a known reference position. Typically, there are two photodetectors used—one which is used to set a “home” position, which would be triggered once every rotation (360 degrees) via a single deep (radially deep) notch in the hub of the reel, and one which is used to set a ‘wedge’ position, which would be triggered every 15 degrees (for a 24 slice wedge, other combinations are also used) via multiple shallow (radially shallow) notches set in the hub of the rotatable element. As the hub rotates, the sensors are triggered and produce the desired output when the respective slot permits an opening to allow the light from the LED to reach the photodetector. It is also possible to use reflective/non-reflective elements on the hub of the rotatable element so that the light source and photosensor may be positioned on the same side of the rotatable element. Alternatively to photosensor arrangements, rotating magnetic sensor arrangements can be used to detect the rotational position of a rotatable element.
When it is desired to synchronize video graphics with the movement of mechanical reels, the positions of such video graphics may be visually displaced from their desired locations due to signal timing, control delays, and position sensor accuracy issues.
An object of the present invention is to provide rotatable element sensor arrangements that overcome the above-noted problems with synchronizing video graphics with mechanical reels, especially when using transmissive displays positioned in front of the reels. Other objects of the invention include providing control techniques for such transmissive displays that may be used with a variety of mechanical reel arrangements, and a variety of transmissive displays.
A gaming machine according to a first aspect of the present invention includes a cabinet with at least one player input device. A mechanical reel display is mounted in the cabinet and includes multiple reels each with multiple symbols thereon. A transmissive video display is positioned in front of the mechanical reel display. At least one electronic controller is coupled to control the mechanical reel display and the transmissive video display and programmed for: causing the reels to spin and stop to display symbols on selected symbol locations visible through the transmissive video display; while the reels are spinning, receiving a position indicator from the mechanical reel display indicating a current position of each reel; and while the reels are spinning, providing graphic display elements using the transmissive video display, the graphic display elements controlled to move along with selected ones of the symbols based on the position indicator and a first delay characteristic associated with the transmissive video display.
According to a second aspect of the invention, a method is provided for operating a gaming machine under control of at least one electronic processor. The method includes causing reels of a mechanical reel display of the gaming machine to spin and stop to display symbols on selected symbol locations visible through a transmissive video display of the gaming machine. While the reels are spinning, the method includes receiving a position indicator from the mechanical reel display indicating a current position of each reel. Also while the reels are spinning, the method includes while the reels are spinning, providing graphic display elements using the transmissive video display, the graphic display elements controlled to move along with selected ones of the symbols based on the position indicator and a first delay characteristic associated with the transmissive video display.
Another aspect of the invention is a computer program stored on a tangible 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 player activation and displayed by display program code that controls the mechanical reel display and transmissive display according to the method summarized above.
Another aspect 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 to provide one of more of the methods described herein. 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 servers may be special purpose gaming servers. The gaming machines provide functionality of interfacing with the player and animating the game results to present the results received from the server in an entertaining manner. However, other embodiments of course 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 touchscreen input from the player and to display graphics received from the server.
Different features may be included in different versions of the invention. 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.
Referring to both
Referring to
The example arrangement shown in
The output from the sensor arrangement controller/processor 406, or each such sensor arrangement controller/processor where multiple such elements are included in a given implementation, is communicated to other elements of the gaming machine for use in accordance with the operation of the gaming machine. In a prize-first implementation, the output of controller processor 406 may be directed to a motor controller processor 408 of the gaming machine for use in verifying that the stop position selected to show the result/prize for the activation of the gaming machine corresponds to the stop position/rotational position sensed by the sensor arrangement for the given rotatable element. In a reels-first implementation where the reels are randomly stopped to show a result in the game, the output of controller processor 406 may be directed to EGM/game processor 412 so that processor may identify any prize associated with the stop positions of the various reels.
It will be appreciated that a game symbol strip such as strip 500 in
The rotation signal may be produced by any suitable magnetic field-type rotation sensor. For example, the rotation signal may be produced by sensing a magnetic field of a magnet that is attached to the rotatable element so as to rotate with the rotatable element about the axis of rotation. The magnetic field sensor arrangement may comprise an arrangement of Hall effect sensors for example. The invention is also not limited to any particular form of the rotation signal. For example, the signal communicated to the sensor arrangement controller/processor 406 may comprise an analog signal such as a voltage signal that is dependent upon the angular orientation of the rotatable element and magnet connected thereto. Alternatively, the signal output from the field sensor arrangement may be a pulse train, that is, a series of pulses that are generated in dependence on the rotation of the rotatable element and produced at a defined resolution. For example, some implementations of the field sensor arrangement may output a signal in the form of a series of pulses where one pulse is produced for each X degrees of rotation of the rotatable element (one pulse per each one-tenth degree of rotation as a specific example). In this case, the controller/processor 406 may be adapted to count pulses received from sensor arrangement 404 after receipt of the home position signal to produce the sensor output indicative of the position along the series of game symbols relative to the evaluation position. In other implementations, the field sensor arrangement may output a signal in the form of pulses in which the pulse width relates to a given amount of rotation. For example, a 1 μs pulse width might indicate 0.1 degree of rotation, a 2 μs pulse width might indicate 0.2 degree of rotation, and so forth. In these implementations a single pulse may be produced to indicate the amount of rotation. In yet further implementations, the field sensor arrangement may be configured to output a signal in the form of a data packet containing rotation information.
It will be appreciated that the various processing steps described above in connection with the controllers or processors shown in
It will also be appreciated that sensors other than optical-type sensors may be used to provide the home position signal.
At block 802, the process begins a reel presentation of a gaming result through the mechanical reel display. The result is randomly produced or randomly selected, and may be presented entirely through the symbols on the mechanical reels and their overlaying transmissive display, or partially through the reels and partially through other graphic presentation elsewhere in the display system.
At block 804, the process starts the reel spin for the mechanical reel display to present the result. The overall presentation of the result includes causing reels of a mechanical reel display of the gaming machine to spin and stop to display a symbol pattern on selected symbol locations visible through a transmissive video display of the gaming machine. The process generally includes, as shown in this embodiment at blocks 808 through 818, while the reels are spinning, receiving a position indicator from the mechanical reel display indicating a current position of each reel, and while the reels are spinning, providing graphic display elements using the transmissive display, the graphic display elements controlled to move along with selected ones of the symbols based on the current position indicator and a first delay characteristic associated with the transmissive display.
In this embodiment, the process works differently for a constant velocity period in which the reels are spinning at a constant velocity, and a deceleration period in which the reels, individually or collectively, are slowing their spin in order to stop. Other embodiments may not include the two different control paths displayed on the flow chart and instead use only one control method to achieve the same result. It is also noted that, while a linear, step-by-step control process is shown, this is not limiting and various implementations may employ interrupt-driven or parallel processes in which multiple steps occur in parallel.
At block 806, the process determines whether the reel spin for a reel is in its constant velocity period. If not, the process goes to block 809, where it begins a position update for a graphic display element that moves on the transmissive display along with the moving reel symbols of the reel. This update includes, as shown at block 811, receiving a current position indicator for the reel from the reel controller, and may include receiving a current velocity indicator. As discussed above, due to parallel execution, the update may be occurring regularly in the background and a currently held value employed at block 811.
At block 813, the process calculating a position offset for each of the graphic display elements which are to be moved along with selected ones of the reel symbols. This calculation is based on a first delay characteristic associated with the transmissive display, a second delay characteristic associated with receiving the position indicator, and a velocity indicator for the reels. The first and second delay characteristics are employed for synchronizing the movement of graphic elements on the transmissive display with the movement of the mechanical reels in order to display graphic elements moving along with the symbols.
In a preferred embodiment, the first delay characteristic is characterized in advance for the particular gaming machine involved and stored in memory for use by the process. The first delay characteristic quantifies or describes the delay associated with sending commands to move graphics to the transmissive display and the delay associated with implementing the commands. The delay may be associated with an entire frame update of the display, or with an individual movement of a graphic element. The delay may be quantified in time, in clock cycles, or in another suitable metric related to the timing of the display graphics, such as a portion of a frame delay or frame rate, for example.
In a preferred embodiment, the second delay characteristic is also characterized in advance for the particular gaming machine involved, and stored in memory for use by the process. The second delay characteristic quantifies or describes the delay associated with measuring the position of the reel and providing that position update to the EGM/Game Processor. For example, in the embodiment of
The velocity indicator may be provided based on commands sent to the motor control processor controlling the reels rotation, or may be calculated based on multiple measurements from the rotation sensor arrangement. The velocity indicator is preferably expressed as a revolutions per minute (RPM) of the reel, but may be expressed in another format such as velocity of movement along transmissive display 90. Whatever technique is used to provide the velocity indicator, it is employed to reflect the best known current velocity of the reel when the graphic element position update is calculated. The graphic display elements are positioned further based on a reel velocity at least during the deceleration period.
In a preferred embodiment, the velocity indicator is adjusted with a scalar to calculate a motor offset position associated with offsetting the displayed graphic elements to synchronize them with the mechanical reel symbol positions. For both conditions in the depicted process (constant velocity period and deceleration period), the velocity indicator is preferably employed to calculate a standard motor position offset tracking offset (MPSO). For the constant velocity period, a conditional motor position offset MPCO is calculated which is MPSO plus MPTO, which is a is the RPM velocity times a scalar representing a number of motor positions to offset relative to the velocity. For the decelerating velocity period, MPCO is equal to MPSO.
At block 815, the process includes updating the position of one or more display elements that move with reel symbols based on the calculated position offset. Other display elements on the transmissive display may be static or move in a manner unrelated to the reel movement. At block 817, the process includes providing a new display frame for the transmissive display with the graphic elements included at the updated positions. The process may also include triggering sound effects through audio controller 1009 (
Referring again to block 806, if the reel concerned is spinning in a constant velocity period, that is before any deceleration begins to stop the reel, the process goes to block 808, where it begins a different technique in which the graphic display elements are positioned further based a predetermined update sequence at least during the constant velocity period. In this technique, at block 810, based on the velocity indicator, a predetermined update sequence is provided to animate the movement of each graphic element, which provides a set of in-betweens or “tweens” for animating the movement. At block 812, the position of the graphic elements is updated based on this predetermined sequence, which does not require further positional calculation. If only one constant reel velocity is available for a particular game on a particular machine, the update sequence does not require selection based on velocity, and only one predetermined sequence is required to be prepared based on the velocity for each graphic element which moves along with symbols.
At block 814, a new display frame is provided for the transmissive display with the updated positions provided from the predetermined sequence. Block 814 may also include triggering sound effects and light effects in a synchronized manner with the transmissive display update as discussed above with respect to block 817. In some embodiments, the process of blocks 808, 810, 812, and 814 is not needed, and a single process using the current velocity indicator may be used, for example that of blocks 809, 811, 813, 815, and 819. In such case block 806 is not needed. Conversely, in other embodiments, a single process is used only based on a predetermined update sequence. In such embodiments, the predetermined update sequence similar to that of blocks 808, 810, 812, and 814 may be used, and may include updates that occur during a constant velocity period and a deceleration period. In such a case, the process of blocks 809, 811, 813, 815, and 819 is not used, and the decision at block 806 is not necessary.
Following each frame update or each position update (if the position updates do not match the transmissive display frame rate), the process at block 818 determines if all the reels are stopped. If so, the process goes to block 820 where it begins reel evaluation for the game or further non-reel based gaming sequences. If reels are still spinning at block 818, the process goes back to block 806 where it continues to update transmissive display elements for those reels that are spinning.
Integrated with lower display device 80 is transmissive display 90 through which may be viewed mechanical reels 100. Transmissive display 90 functions as described herein to display additional graphic elements, for example elements 102 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 entering inputs in the course of a particular game. For example, gaming machine 900 may include a currency/voucher acceptor, a voucher/receipt printer having a voucher/receipt printer, and a player card reader although these elements are not called out in
Those familiar with data processing devices and systems will appreciate that other common electronic components will be included in gaming machine 1000 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.
Generally, the hardware elements shown in
Although separate graphics processor 1015 is shown for controlling primary video display device 80, and graphics processor 1016 is shown for controlling both auxiliary display device 904, it will be appreciated that game processor/CPU 1005 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 device included with gaming machine 1000. Also, a gaming machine implementing the present invention is not limited to any particular number of video display devices or other types of display devices.
In the illustrated gaming machine 1000, game processor/CPU 1005 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 80 and 90 associated with the gaming machine. As will be discussed further below, game processor/CPU 1005 either alone or in combination with graphics processor 1015 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 the feature game mode according to the present invention. Game processor/CPU 1005 also executes software related to communications handled through network controller 1010, and software related to various peripheral devices such as those connected to the system through audio controller 1009, serial interface 1011, and touch screen controller 1017. Game processor/CPU 1005 may also execute software to perform accounting functions associated with game play. Random access memory 1006 provides memory for use by game processor/CPU 1005 in executing its various software programs, while the nonvolatile memory or storage device 1007 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 1010 provides an interface to other components of a gaming system in which gaming machine 1000 is included.
It should be noted that the invention is not limited to gaming machines employing the arrangement of processing devices and interfaces shown in example gaming machine 1000. Other gaming machines through which the features herein are implemented may include one or more special purpose processing devices to perform the various processing steps for implementing the present invention, such as generating random numbers or checking the security status of software packages or gaming credit vouchers. Unlike processing devices such as game processor/CPU 1005, these special purpose processing devices may not employ operational program code to direct the various processing steps.
Still referring to
The game software module 1004, once installed, also is held in non-volatile memory of the EGM, preferably a separate flash drive or hard drive from the memory holding the EGM operating system. CPU or game processor/CPU 1005 may comprise a conventional microprocessor, such as an Intel 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 code stored in non-volatile memory or storage device 1007. Such executed code includes a game software 1004 for executing one or primary game modules and including software for controlling a mechanical reel presentation through mechanical reel controller 408. Non-volatile memory 1007 also holds mechanical reel prediction software or firmware 1032, which is executed by CPU 1005 to perform the processes and techniques described herein for predicting the location of the mechanical reels, for example the process of
Game processor/CPU 1005 also may connect through network controller 1010 to a gaming network, such as example casino server network 1100 shown in
Referring now to
The example gaming network 1100 shown in
EGM configuration and messaging server 1106 may provide game and non-game content and operational software for use by the gaming machines 1000 in the course of providing games and while the gaming machines are unused and in an idle state. For example, server 1106 may control the distribution of game software and graphic control assets to the gaming machines as well as advertising messages and other messages that may be presented using a display device of a gaming machine 1000. EGM configuration and messaging server 1106 may also be used to direct candle control software to gaming machines 1000 that include a system in accordance with aspects of the present invention.
Tournament server 1107 may be included in the system for controlling or coordinating tournament functions. These functions may include maintaining tournament player scores and ranking during the course of tournament play, and communicating this information to the various gaming machines 1000 participating in the tournament. Tournament server 1107 may also function to enroll players in tournaments, schedule tournaments, and maintain the time remaining in the various tournaments.
Progressive server 1108 may maintain progressive pools for progressive games that may be available through the various gaming machines 1000. In some implementations, progressive server 1108 may simply receive communications indicating contribution amounts that have been determined by processes executing at the various gaming machines 1000 or elsewhere in the gaming network. Alternatively, progressive server 1108 may perform processes to determine the contribution amounts for incrementing the various progressive pools that may be maintained. Progressive server 1108 may also periodically communicate current pool values back to the various gaming machines 1000 and may participate in communicating awarded progressive prize amounts to the gaming machines and in adjusting the progressive prize pools accordingly. In some implementations, progressive server 1108 may also determine or participate in determining when a progressive prize triggering event occurs.
Accounting server 1111 may receive gaming data from each of the networked gaming devices, perform audit functions, and provide data for analysis programs. Player account server 1109 may maintain player account records, and store persistent player data such as accumulated player points and/or player preferences (for example, game personalizing selections or options).
Gaming network 1100 illustrated in
As used herein, whether in the above description or the following claims, the terms “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” and the like are to be understood to be open-ended, that is, to mean including but not limited to. Also, it should be understood that the terms “about,” “substantially,” and like terms used herein when referring to a dimension or characteristic of a component indicate that the described dimension/characteristic is not a strict boundary or parameter and does not exclude variations therefrom that are functionally similar. At a minimum, such references that include a numerical parameter would include variations that, using mathematical and industrial principles accepted in the art (e.g., rounding, measurement or other systematic errors, manufacturing tolerances, etc.), would not vary the least significant digit.
Any use of ordinal terms such as “first,” “second,” “third,” etc., in the following claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim 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 claim element having a certain name from another element having a same name (but for use of the ordinal term).
In the above descriptions and the following claims, terms such as top, bottom, upper, lower, and the like with reference to a given feature are intended only to identify a given feature and distinguish that feature from other features. Unless specifically stated otherwise, such terms are not intended to convey any spatial or temporal relationship for the feature relative to any other feature.
The term “each” may be used in the following claims for convenience in describing characteristics or features of multiple elements, and any such use of the term “each” is in the inclusive sense unless specifically stated otherwise. For example, if a claim defines two or more elements as “each” having a characteristic or feature, the use of the term “each” is not intended to exclude from the claim scope a situation having a third one of the elements that does not have the defined characteristic or feature.
The above-described representative 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 representative embodiments may be made by those skilled in the art without departing from the scope of the present invention. For example, in some instances, one or more features disclosed in connection with one embodiment can be used alone or in combination with one or more features of one or more other embodiments. More generally, the various features described herein may be used in any working combination.