The disclosure relates generally to the field of user interface (UI) design, electronic gaming machines (EGMs) and other electronic gaming devices, and electronic gaming software. More particularly, but not by way of limitation, this disclosure relates to performing gaming device operations that present and implement a repeat accrual meter mechanic for a random based game outcome.
EGMs or gaming devices provide a variety of wagering games such as slot games, video poker games, video blackjack games, roulette games, video bingo games, keno games and other types of games that are frequently offered at casinos and other locations. Play on EGMs typically involves a player establishing a credit balance by inputting money, or another form of monetary credit, and placing a monetary wager (from the credit balance) on one or more outcomes of an instance (or single play) of a primary or base game. In some cases, a player may qualify for a special mode of the base game, a secondary game, or a bonus game of the base game by attaining a certain winning combination or triggering event in, or related to, the base game, or after the player is randomly awarded the special mode, secondary game, or bonus game. In the special mode, secondary game, or bonus game, the player is given an opportunity to win extra game credits, game tokens or other forms of payout. In the case of “game credits” that are awarded during play, the game credits are typically added to a credit meter total on the EGM and can be provided to the player upon completion of a gaming session or when the player wants to “cash out.”
“Slot” type games are often displayed to the player in the form of various symbols arrayed in a row-by-column grid or matrix. Specific matching combinations of symbols along predetermined paths (or paylines) through the matrix indicate the outcome of the game. The display typically highlights winning combinations/outcomes for ready identification by the player. Matching combinations and their corresponding awards are usually shown in a “pay-table” which is available to the player for reference. Often, the player may vary his/her wager to include differing numbers of paylines and/or the amount bet on each line. By varying the wager, the player may sometimes alter the frequency or number of winning combinations, frequency or number of secondary games, and/or the amount awarded.
Typical games use a random number generator (RNG) to randomly determine the outcome of each game (also referenced throughout the disclosure as a “random based game outcome”). Examples of random based game outcomes include slots, video poker, video blackjack, video pachinko, keno, bingo, and lottery outcomes. The games are also designed to return a certain percentage of the amount wagered back to the player over the course of many plays or instances of the game, which is generally referred to as return to player (RTP). The RTP and randomness of the RNG ensure the fairness of the games and are highly regulated. Upon initiation of play, the RNG randomly determines a game outcome and symbols are then selected which correspond to that outcome. Notably, some games may include an element of skill on the part of the player and are therefore not entirely random.
EGMs often depend on usability (e.g., ease of use and player understandability) and new or improved game features to enhance player experiences on the EGMs. Although previous EGMs include various UI features, game features, and backend game processing operations associated with the UI features to improve usability and enhance player experiences, there is a continuous need for further improvement to EGMs and other electronic gaming devices, electronic gaming software, and/or UI design.
In one implementation a method is described to implement a repeat accrual meter mechanic. The method determines an initial credit value for a repeat accrual meter prior to a spin. For the spin, the method generates a random based game outcome, where the random based game outcome includes having a credit symbol and a target symbol. The method also determines an accumulated credit value for the repeat accrual meter based on adding a credit value of the credit symbol to the initial credit value. Afterwards, the method randomly determines a repeat value by triggering a repeat credit operation based on the target symbol. The repeat value is indicative of a number of times to credit the accumulated credit value. The method determines a meter distribution amount based on the accumulated credit value and the repeat value.
In another implementation, a system comprises memory and a processor operable to interact with the memory. The processor is able to present, with a user interface, an initial credit value for a repeat accrual meter prior to a spin. After presenting a spin on the user interface, the processor presents a random based game outcome with the user interface. The random based game outcome presented on the user interface includes having a credit symbol and a target symbol. The processor then presents an accumulated credit value for the repeat accrual meter based on adding a credit value of the credit symbol to the initial credit value. The processor also presents a repeat value randomly determined by a repeat credit operation based on landing on the target symbol. The repeat value is indicative of a number of times to credit the accumulated credit value. The processor presents a meter distribution amount based on the accumulated credit value and the repeat value.
In another implementation, a system comprises memory and a processor operable to interact with the memory. The processor is able to determine an initial spin count based on a credit symbol trigger count. The credit symbol trigger count is indicative of a number of credit symbols used to trigger a supplemental game feature with the repeat accrual meter. After triggering the supplemental game feature, the processor determines a random based game outcome, where the random based game outcome includes having a credit symbol and a target symbol. The processor then determines an accumulated credit value for the repeat accrual meter based on adding a credit value of the credit symbol to the initial credit value. The processor also randomly determines a repeat value based on a repeat credit operation triggered from landing on the target symbol. The repeat value is indicative of a number of times to credit the accumulated credit value. The processor determines a meter distribution amount based on the accumulated credit value and the repeat value.
In one implementation, each of the above described methods, and variations thereof, may be implemented as a series of computer executable instructions executed on a programmable gaming device. Such instructions may use any one or more convenient programming language. Such instructions may be collected into engines and/or programs and stored in any computer-readable medium or media that is readable and executable by a computer system, mobile device, or other programmable gaming device.
While certain implementations will be described in connection with the illustrative implementations shown herein, this disclosure is not limited to those implementations. On the contrary, all alternatives, modifications, and equivalents are included within the spirting and scope of the invention as defined by the claims. In the drawings, which are not to scale, the same reference numerals are used throughout the description and in the drawing figures for components and elements having the same structure. If applicable, primed reference numerals are used for components and elements having similar function and construction to those components and elements having the same unprimed reference numerals.
The disclosure includes various example implementations that generate a random based game outcome according to a repeat accrual meter mechanic. In one or more implementations, a gaming device provides a repeat accrual meter within a supplemental game feature (e.g., a special mode, secondary game, or bonus game). To trigger the supplemental game feature, the gaming device determines and presents a random based game outcome that satisfies a trigger condition (e.g., landing on six or more credit symbols). After triggering the supplemental game feature, the gaming device sets the repeat accrual meter to an initial credit value (e.g., 500 game credits) based on a credit symbol trigger count and a player's bet multiplier (e.g., ×1 bet multiplier). The gaming device also assigns the number of initial spins (e.g., five initial spins) for the supplemental game feature according to the credit symbol trigger count. For certain implementations, the gaming device ensures at least one of the initial spins lands a target symbol for at least one of the reels. To ensure that at least one of the initial spins lands a target symbol, the gaming device can utilize multiple reel pattern sets and/or a unique reel strip that the gaming device can swap out for one or more reels.
During the supplemental game feature, if a given spin produces a random based game outcome that includes one or more credit symbols landing on the reel strips, the gaming device adds the credit value for each credit symbols (e.g., 100 game credits) to the repeat accrual meter. The updated credit value of the repeat accrual meter after adding the credit values for each credit symbol to the repeat accrual meter is referenced within this disclosure as an “accumulated credit value.” If the given spin also generates one or more target symbols (e.g., Wild symbol), the gaming device performs at least one meter disbursement operation based on the accumulated credit value. The meter disbursement operation involves having the gaming device determine a repeat value for a repeat credit operation and award the meter distribution credits to a player based on the accumulated credit value and repeat value for the repeat credit operation. The repeat value represents the number of times the accumulated credit value of the repeat accrual meter is credited to a player. As an example, if a repeat credit operation generates a repeat value of two and the repeat accrual meter has an accumulated credit value of 1,000 game credits, the meter distribution amount awarded to a player is twice the accumulated credit value to a player (e.g., 2×1,000=2,000 game credits). Multiple target symbols can land for a single spin, where each target symbol triggers its own meter disbursement operation.
In terms of technical effects, the repeat accrual meter mechanic delivers improvements to the electronic gaming software, UI design, and/or gaming device by providing new and/or improved gaming device operations that comply with gaming regulations. Regarding UI focused operations, presenting the repeat accrual meter mechanic can improve the usability of the gaming devices, enhance a player's understandability of obtaining certain game outcomes, and provide another approach to presenting how a player could build equity in a game while complying with gaming regulations. With respect to executing new and/or improved gaming device operations, a gaming device is specially programmed to implement a repeat accrual meter mechanic in a computationally effective manner that complies with gaming regulations. Specifically, to achieve a target RTP that complies with gaming regulations, the specially programmed gaming device balances a variety of game parameters associated with the repeat accrual meter mechanic. Examples of game parameters include weighting the repeat value associated with landing a target symbol, setting an initial credit value of the repeat accrual meter after triggering the supplemental game feature, setting target symbol combination frequencies (e.g., frequency that one, two, or three Wilds land for a given a spin), and establishing when and how a target symbol can land during the supplemental game feature. As an example, if a game designer configures a gaming device to trigger relatively higher repeat values at a higher rate/probability, then to maintain the same RTP, the gaming device could be set to generate relatively lower credit values for credit symbols. Additionally, or alternatively, to provide a targeted degree of game volatility, the gaming device can also be specially programmed to utilize a volatility lookup table that dynamically determines the range of the credit values assigned for credit symbols (e.g., low, medium, or high game credit values). The gaming device could also be distinctively encoded to reduce the frequency of generating two or three target symbols for a given spin to accommodate the increase in repeat credit operations. These and other technical features are described in greater detail later in the disclosure.
Example Electronic Gaming Servers, Gaming Devices, and Gaming Environments
Communication between the gaming devices 104A-104X and the server computers 102, and among the gaming devices 104A-104X, may be direct or indirect using one or more communication protocols. As an example, gaming devices 104A-104X and the server computers 102 can communicate over one or more communication networks, such as over the Internet through a website maintained by a computer on a remote server or over an online data network including commercial online service providers, Internet service providers, private networks (e.g., local area networks and enterprise networks), and the like (e.g., wide area networks). The communication networks could allow gaming devices 104A-104X to communicate with one another and/or the server computers 102 using a variety of communication-based technologies, such as radio frequency (RF) (e.g., wireless fidelity (WiFi®) and Bluetooth®), cable TV, satellite links and the like.
In some implementation, server computers 102 may not be necessary and/or preferred. For example, in one or more implementations, a stand-alone gaming device such as gaming device 104A, gaming device 104B or any of the other gaming devices 104C-104X can implement one or more aspects of the present disclosure. However, it is typical to find multiple EGMs connected to networks implemented with one or more of the different server computers 102 described herein.
The server computers 102 may include a central determination gaming system server 106, a ticket-in-ticket-out (TITO) system server 108, a player tracking system server 110, a progressive system server 112, and/or a casino management system server 114. Gaming devices 104A-104X may include features to enable operation of any or all servers for use by the player and/or operator (e.g., the casino, resort, gaming establishment, tavern, pub, etc.). For example, game outcomes may be generated on a central determination gaming system server 106 and then transmitted over the network to any of a group of remote terminals or remote gaming devices 104A-104X that utilize the game outcomes and display the results to the players.
Gaming device 104A is often of a cabinet construction which may be aligned in rows or banks of similar devices for placement and operation on a casino floor. The gaming device 104A often includes a main door which provides access to the interior of the cabinet. Gaming device 104A typically includes a button area or button deck 120 accessible by a player that is configured with input switches or buttons 122, an access channel for a bill validator 124, and/or an access channel for a ticket-out printer 126.
In
In many configurations, the gaming device 104A may have a main display 128 (e.g., video display monitor) mounted to, or above, the gaming display area 118. The main display 128 can be a high-resolution liquid crystal display (LCD), plasma, light emitting diode (LED), or organic light emitting diode (OLED) panel which may be flat or curved as shown, a cathode ray tube, or other conventional electronically controlled video monitor.
In some implementations, the bill validator 124 may also function as a “ticket-in” reader that allows the player to use a casino issued credit ticket to load credits onto the gaming device 104A (e.g., in a cashless TITO system). In such cashless implementations, the gaming device 104A may also include a “ticket-out” printer 126 for outputting a credit ticket when a “cash out” button is pressed. Cashless TITO systems are used to generate and track unique bar-codes or other indicators printed on tickets to allow players to avoid the use of bills and coins by loading credits using a ticket reader and cashing out credits using a ticket-out printer 126 on the gaming device 104A. The gaming device 104A can have hardware meters for purposes including ensuring regulatory compliance and monitoring the player credit balance. In addition, there can be additional meters that record the total amount of money wagered on the gaming device, total amount of money deposited, total amount of money withdrawn, total amount of winnings on gaming device 104A.
In some implementations, a player tracking card reader 144, a transceiver for wireless communication with a mobile device (e.g., a player's smartphone), a keypad 146, and/or an illuminated display 148 for reading, receiving, entering, and/or displaying player tracking information is provided in gaming device 104A. In such implementations, a game controller within the gaming device 104A can communicate with the player tracking system server 110 to send and receive player tracking information.
Gaming device 104A may also include a bonus topper wheel 134. When bonus play is triggered (e.g., by a player achieving a particular outcome or set of outcomes in the primary game), bonus topper wheel 134 is operative to spin and stop with indicator arrow 136 indicating the outcome of the bonus game. Bonus topper wheel 134 is typically used to play a bonus game, but it could also be incorporated into play of the base or primary game.
A candle 138 may be mounted on the top of gaming device 104A and may be activated by a player (e.g., using a switch or one of buttons 122) to indicate to operations staff that gaming device 104A has experienced a malfunction or the player requires service. The candle 138 is also often used to indicate a jackpot has been won and to alert staff that a hand payout of an award may be needed.
There may also be one or more information panels 152 which may be a back-lit, silkscreened glass panel with lettering to indicate general game information including, for example, a game denomination (e.g., $0.01 or $0.05), paylines, pay tables, and/or various game related graphics. In some implementations, the information panel(s) 152 may be implemented as an additional video display.
Gaming devices 104A have traditionally also included a handle 132 typically mounted to the side of main cabinet 116 which may be used to initiate game play. Many or all the above described components can be controlled by circuitry (e.g., a game controller) housed inside the main cabinet 116 of the gaming device 104A, the details of which are shown in
An alternative example gaming device 104B illustrated in
Example gaming device 104B includes a main cabinet 116 including a main door which opens to provide access to the interior of the gaming device 104B. The main or service door is typically used by service personnel to refill the ticket-out printer 126 and collect bills and tickets inserted into the bill validator 124. The main or service door may also be accessed to reset the machine, verify and/or upgrade the software, and for general maintenance operations.
Another example gaming device 104C shown is the Helix™ model gaming device manufactured by Aristocrat® Technologies, Inc. Gaming device 104C includes a main display 128A that is in a landscape orientation. Although not illustrated by the front view provided, the main display 128A may have a curvature radius from top to bottom, or alternatively from side to side. In some implementations, main display 128A is a flat panel display. Main display 128A is typically used for primary game play while secondary display 128B is typically used for bonus game play, to show game features or attraction activities while the game is not in play or any other information or media desired by the game designer or operator. In some implementations, example gaming device 104C may also include speakers 142 to output various audio such as game sound, background music, etc.
Many different types of games, including mechanical slot games, video slot games, video poker, video blackjack, video pachinko, keno, bingo, and lottery, may be provided with or implemented within the depicted gaming devices 104A-104C and other similar gaming devices. Each gaming device may also be operable to provide many different games. Games may be differentiated according to themes, sounds, graphics, type of game (e.g., slot game vs. card game vs. game with aspects of skill), denomination, number of paylines, maximum jackpot, progressive or non-progressive, bonus games, and may be deployed for operation in Class 2 or Class 3, etc.
The games available for play on the gaming device 200 are controlled by a game controller 202 that includes one or more processors 204. Processor 204 represents a general-purpose processor, a specialized processor intended to perform certain functional tasks, or a combination thereof. As an example, processor 204 can be a central processing unit (CPU) that has one or more multi-core processing units and memory mediums (e.g., cache memory) that function as buffers and/or temporary storage for data. Alternatively, processor 204 can be a specialized processor, such as an application specific integrated circuit (ASIC), graphics processing unit (GPU), field-programmable gate array (FPGA), digital signal processor (DSP), or another type of hardware accelerator. In another example, processor 204 is a system on chip (SoC) that combines and integrates one or more general-purpose processors and/or one or more specialized processors. Although
Memory 208 can store one or more game programs 206 that provide program instructions and/or data for carrying out various implementations (e.g., game mechanics) described herein. Stated another way, game program 206 represents an executable program stored in any portion or component of memory 208. In one or more implementations, game program 206 is embodied in the form of source code that includes human-readable statements written in a programming language or machine code that contains numerical instructions recognizable by a suitable execution system, such as a processor 204 in a game controller or other system. Examples of executable programs include: (1) a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of memory 208 and run by processor 204; (2) source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of memory 208 and executed by processor 204; and (3) source code that may be interpreted by another executable program to generate instructions in a random access portion of memory 208 to be executed by processor 204.
Alternatively, game programs 206 can be set up to generate one or more game instances based on instructions and/or data that gaming device 200 exchanges with one or more remote gaming devices, such as a central determination gaming system server 106 (not shown in
Gaming devices, such as gaming device 200, are highly regulated to ensure fairness and, in many cases, gaming device 200 is operable to award monetary awards (e.g., typically dispensed in the form of a redeemable voucher). Therefore, to satisfy security and regulatory requirements in a gaming environment, hardware and software architectures are implemented in gaming devices 200 that differ significantly from those of general-purpose computers. Adapting general purpose computers to function as gaming devices 200 is not simple or straightforward because of: (1) the regulatory requirements for gaming devices 200, (2) the harsh environment in which gaming devices 200 operate, (3) security requirements, (4) fault tolerance requirements, and (5) the requirement for additional special purpose componentry enabling functionality of an EGM. These differences require substantial engineering effort with respect to game design implementation, game mechanics, hardware components, and software.
One regulatory requirement for games running on gaming device 200 generally involves complying with a certain level of randomness. Typically, gaming jurisdictions mandate that gaming devices 200 satisfy a minimum level of randomness without specifying how a gaming device 200 should achieve this level of randomness. To comply,
In
Another regulatory requirement for running games on gaming device 200 includes ensuring a certain level of RTP. Similar to the randomness requirement discussed above, numerous gaming jurisdictions also mandate that gaming device 200 provides a minimum level of RTP (e.g., RTP of at least 75%). A game can use one or more lookup tables (also referenced throughout this disclosure as “weighted tables”) as part of a technical solution that satisfies regulatory requirements for randomness and RTP. In particular, a lookup table can integrate game features (e.g., trigger events for special modes or bonus games; newly introduced game elements such as extra reels, new symbols, or new cards; stop positions for dynamic game elements such as spinning reels, spinning wheels, or shifting reels; or card selections from a deck) with random numbers generated by one or more RNGs, so as to achieve a given level of volatility for a target level of RTP. In general, volatility refers to the frequency or probability of an event such as a special mode, payout, etc. For example, for a target level of RTP, a higher-volatility game may have a lower payout most of the time with an occasional bonus having a very high payout, while a lower-volatility game has a steadier payout with more frequent bonuses of smaller amounts. Configuring a lookup table can involve engineering decisions with respect to how RNG outcomes are mapped to game outcomes for a given game feature, while still satisfying regulatory requirements for RTP. Configuring a lookup table can also involve engineering decisions about whether different game features are combined in a given entry of the lookup table or split between different entries (for the respective game features), while still satisfying regulatory requirements for RTP and allowing for varying levels of game volatility.
When a player wishes to play the gaming device 200, he/she can insert cash or a ticket voucher through a coin acceptor (not shown) or bill validator 234 to establish a credit balance on the gaming device. The credit balance is used by the player to place wagers on instances of the game and to receive game credit awards based on the outcome of winning instances. The credit balance is decreased by the amount of each wager and increased upon a win. The player can add additional game credits to the balance at any time. The player may also optionally insert a loyalty club card into the card reader 230. During the game, the player views with one or more UIs, the game outcome on one or more of the primary game display 240 and secondary game display 242. Other game and prize information may also be displayed.
For each game instance, a player may make selections, which may affect play of the game. For example, the player may vary the total amount wagered by selecting the amount bet per line and the number of lines played. In many games, the player is asked to initiate or select options during course of game play (such as spinning a wheel to begin a bonus game or select various items during a feature game). The player may make these selections using the player-input buttons 236, the primary game display 240 which may be a touch screen or using some other device which enables a player to input information into the gaming device 200.
During certain game events, the gaming device 200 may display visual and auditory effects that can be perceived by the player. These effects add to the excitement of a game, which makes a player more likely to enjoy the playing experience. Auditory effects include various sounds that are projected by the speakers 220. Visual effects include flashing lights, strobing lights or other patterns displayed from lights on the gaming device 200 or from lights behind the information panel 152 (
When the player is done, he/she cashes out the credit balance (typically by pressing a cash out button to receive a ticket from the ticket printer 222). The ticket may be “cashed-in” for money or inserted into another machine to establish a credit balance for play.
Additionally, or alternatively, gaming devices 104A-104X and 200 can include or be coupled to one or more wireless transmitters, receivers, and/or transceivers (not shown in
Although
According to some examples, the mobile gaming devices 256 may be configured for stand-alone determination of game outcomes. However, in some alternative implementations the mobile gaming devices 256 may be configured to receive game outcomes from another device, such as the central determination gaming system server 106, one of the EGMs 104, etc.
Some mobile gaming devices 256 may be configured to accept monetary credits from a credit or debit card, via a wireless interface (e.g., via a wireless payment app), via tickets, via a patron casino account, etc. However, some mobile gaming devices 256 may not be configured to accept monetary credits via a credit or debit card. Some mobile gaming devices 256 may include a ticket reader and/or a ticket printer whereas some mobile gaming devices 256 may not, depending on the particular implementation.
In some implementations, the casino 251 may include one or more kiosks 260 that are configured to facilitate monetary transactions involving the mobile gaming devices 256, which may include cash out and/or cash in transactions. The kiosks 260 may be configured for wired and/or wireless communication with the mobile gaming devices 256. The kiosks 260 may be configured to accept monetary credits from casino patrons 262 and/or to dispense monetary credits to casino patrons 262 via cash, a credit or debit card, via a wireless interface (e.g., via a wireless payment app), via tickets, etc. According to some examples, the kiosks 260 may be configured to accept monetary credits from a casino patron and to provide a corresponding amount of monetary credits to a mobile gaming device 256 for wagering purposes, e.g., via a wireless link such as a near-field communications link. In some such examples, when a casino patron 262 is ready to cash out, the casino patron 262 may select a cash out option provided by a mobile gaming device 256, which may include a real button or a virtual button (e.g., a button provided via a graphical user interface) in some instances. In some such examples, the mobile gaming device 256 may send a “cash out” signal to a kiosk 260 via a wireless link in response to receiving a “cash out” indication from a casino patron. The kiosk 260 may provide monetary credits to the casino patron 262 corresponding to the “cash out” signal, which may be in the form of cash, a credit ticket, a credit transmitted to a financial account corresponding to the casino patron, etc.
In some implementations, a cash-in process and/or a cash-out process may be facilitated by the TITO system server 108. For example, the TITO system server 108 may control, or at least authorize, ticket-in and ticket-out transactions that involve a mobile gaming device 256 and/or a kiosk 260.
Some mobile gaming devices 256 may be configured for receiving and/or transmitting player loyalty information. For example, some mobile gaming devices 256 may be configured for wireless communication with the player tracking system server 110. Some mobile gaming devices 256 may be configured for receiving and/or transmitting player loyalty information via wireless communication with a patron's player loyalty card, a patron's smartphone, etc.
According to some implementations, a mobile gaming device 256 may be configured to provide safeguards that prevent the mobile gaming device 256 from being used by an unauthorized person. For example, some mobile gaming devices 256 may include one or more biometric sensors and may be configured to receive input via the biometric sensor(s) to verify the identity of an authorized patron. Some mobile gaming devices 256 may be configured to function only within a predetermined or configurable area, such as a casino gaming area.
In this example, a gaming data center 276 includes various devices that are configured to provide online wagering games via the networks 417. The gaming data center 276 is capable of communication with the networks 417 via the gateway 272. In this example, switches 278 and routers 280 are configured to provide network connectivity for devices of the gaming data center 276, including storage devices 282a, servers 284a and one or more workstations 570a. The servers 284a may, for example, be configured to provide access to a library of games for online game play. In some examples, code for executing at least some of the games may initially be stored on one or more of the storage devices 282a. The code may be subsequently loaded onto a server 284a after selection by a player via an EUD and communication of that selection from the EUD via the networks 417. The server 284a onto which code for the selected game has been loaded may provide the game according to selections made by a player and indicated via the player's EUD. In other examples, code for executing at least some of the games may initially be stored on one or more of the servers 284a. Although only one gaming data center 276 is shown in
In this example, a financial institution data center 270 is also configured for communication via the networks 417. Here, the financial institution data center 270 includes servers 284b, storage devices 282b, and one or more workstations 286b. According to this example, the financial institution data center 270 is configured to maintain financial accounts, such as checking accounts, savings accounts, loan accounts, etc. In some implementations one or more of the authorized users 274a-274c may maintain at least one financial account with the financial institution that is serviced via the financial institution data center 270.
According to some implementations, the gaming data center 276 may be configured to provide online wagering games in which money may be won or lost. According to some such implementations, one or more of the servers 284a may be configured to monitor player credit balances, which may be expressed in game credits, in currency units, or in any other appropriate manner. In some implementations, the server(s) 284a may be configured to obtain financial credits from and/or provide financial credits to one or more financial institutions, according to a player's “cash in” selections, wagering game results and a player's “cash out” instructions. According to some such implementations, the server(s) 284a may be configured to electronically credit or debit the account of a player that is maintained by a financial institution, e.g., an account that is maintained via the financial institution data center 270. The server(s) 284a may, in some examples, be configured to maintain an audit record of such transactions.
In some alternative implementations, the gaming data center 276 may be configured to provide online wagering games for which game credits may not be exchanged for cash or the equivalent. In some such examples, players may purchase game credits for online game play, but may not “cash out” for monetary credit after a gaming session. Moreover, although the financial institution data center 270 and the gaming data center 276 include their own servers and storage devices in this example, in some examples the financial institution data center 270 and/or the gaming data center 276 may use offsite “cloud-based” servers and/or storage devices. In some alternative examples, the financial institution data center 270 and/or the gaming data center 276 may rely entirely on cloud-based servers.
One or more types of devices in the gaming data center 276 (or elsewhere) may be capable of executing middleware, e.g., for data management and/or device communication. Authentication information, player tracking information, etc., including but not limited to information obtained by EUDs 264 and/or other information regarding authorized users of EUDs 264 (including but not limited to the authorized users 274a-274c), may be stored on storage devices 282 and/or servers 284. Other game-related information and/or software, such as information and/or software relating to leaderboards, players currently playing a game, game themes, game-related promotions, game competitions, etc., also may be stored on storage devices 282 and/or servers 284. In some implementations, some such game-related software may be available as “apps” and may be downloadable (e.g., from the gaming data center 276) by authorized users.
In some examples, authorized users and/or entities (such as representatives of gaming regulatory authorities) may obtain gaming-related information via the gaming data center 276. One or more other devices (such EUDs 264 or devices of the gaming data center 276) may act as intermediaries for such data feeds. Such devices may, for example, be capable of applying data filtering algorithms, executing data summary and/or analysis software, etc. In some implementations, data filtering, summary and/or analysis software may be available as “apps” and downloadable by authorized users.
Example Game Processing Architecture
The UI system 302 includes one or more UIs that a player can interact with. The UI system 302 could include one or more game play UIs 304, one or more bonus game play UIs 308, and one or more multiplayer UIs 312, where each UI type includes one or more mechanical UIs and/or graphical UIs (GUIs). In other words, game play UI 304, bonus game play UI 308, and the multiplayer UI 312 may utilize a variety of UI elements, such as mechanical UI elements (e.g., physical “spin” button or mechanical reels) and/or GUI elements (e.g., virtual reels shown on a video display or a virtual button deck) to receive player inputs and/or present game play to a player. Using
The game play UI 304 represents a UI that a player typically interfaces with for a base game. During a game instance of a base game, the game play UI elements 306A-306N (e.g., GUI elements depicting one or more virtual reels in a reel area) are shown and/or made available to a user. In a subsequent game instance, the UI system 302 could transition out of the base game to one or more bonus games. The bonus game play UI 308 represents a UI that utilizes bonus game play UI elements 310A-310N for a player to interact with and/or view during a bonus game. In one or more implementations, at least some of the game play UI element 306A-306N are similar to the bonus game play UI elements 310A-310N. In other implementations, the game play UI element 306A-306N can differ from the bonus game play UI elements 310A-310N.
In one or more implementations, the game processing pipeline 300 can incorporate the example implementations described herein into various types of reel games. In particular, a reel game includes a base reel game shown with game play UI 304 or bonus reel game shown with bonus game play UI 308. Generally, a base, or primary, reel game includes play that involves spinning reels. A bonus reel game can add the possibility of winning a relatively large payout. A bonus reel game may require an additional wager, but typically does not. For purposes of this disclosure, a bonus reel game can be a type of supplemental game feature the game processing pipeline 300 can implement.
For a reel game, the game play UI 304 and/or bonus game play UI 308 includes a reel area that encloses viewable portions of a set of reels associated with the reel area. For each reel strip, the viewable portion of the reel strips includes one or more positions for symbols. Thus, the reel area is a matrix of symbols on a UI and may be highlighted to emphasize reel strips and symbols within the reel area. The number of reel strips and dimensions of the reel area depend on implementation. In some typical configurations, a reel area has an m×n configuration, with m reels and with n symbols visible per reel. For example, for a base reel game, a reel area can have a 5×3 configuration—five reels per window, with three symbols showing in the window for each of the reels. More generally, the reel area spans m reels in a first dimension and spans n symbols in a second dimension orthogonal to the first dimension, where the value of m can be 4, 5, 6, 7, 8, or some other number of reels, and the value of n can be 2, 3, 4, 5, 6, or some other number of symbols. Typically, the m reels are arranged horizontally in the reel area from left-to-right, with the m reels spinning vertically and the reel area showing n symbols of each of the respective reels. Alternatively, the m reels are arranged vertically in the reel area from top-to-bottom, with the m reels spinning horizontally and the reel area showing n symbols of each of the respective reels. Alternatively, a reel area can have another configuration. For example, a reel area can have different numbers of symbols visible for different reels (e.g., going left to right in a reel area, two symbols visible for a leftmost reel, three symbols visible for a second reel, four symbols visible for a center reel, three symbols visible for a fourth reel, and two symbols visible for a rightmost reel), or as further explained below, a reel area can have a p×q configuration, with p×q reels visible in a rectangular reel area, and a single symbol visible per reel.
Based on the player inputs, the UI system 302 could generate RNG calls to a game processing backend system 314. As an example, the UI system 302 could use one or more application programming interfaces (APIs) to generate the RNG calls. To process the RNG calls, the RNG engine 316 could utilize gaming RNG 318 and/or non-gaming RNGs 319A-319N. Gaming RNG 318 could corresponds to RNG 212 or hardware RNG 244 shown in
The RNG conversion engine 320 processes each RNG outcome from RNG engine 316 and converts the RNG outcome to a UI outcome that is feedback to the UI system 302. With reference to
RNG conversion engine 320 could also utilizes one or more lookup tables 322A-322N, which are also called weighted tables, to regulate a prize payout amount for each RNG outcome and how often the gaming device pays out the derived prize payout amounts. To do so, RNG conversion engine 320 can determine various game outcomes and perform operations for various types of base game features and/or supplemental game features (e.g., a bonus game). Although not shown in
In one or more implementations, for a given lookup table 322, the probabilities for different options can be reflected in table entry values (e.g., for a random number RND associated with a RNG outcome, generated by an RNG, in the range of 0<RND<=40 for option 1, 40<RND<=70 for option 2, 70<RND<=90 for option 3, and 90<RND<=100 for option 4, given four options and a random number RND where 0<RND<=100). The table entry values can represent percentages or, more generally, sub-ranges within the range for a random number. In some implementations, the table entry values for a lookup table 322 are represented as count values (which can also be referend throughout the disclosure as “weights”) for the respective entries of the lookup table. As an example, the following table shows count values for the four options described above:
The sum total of the count values indicates the range of the options. The game processing backend system 314 can use a random number for an RNG outcome, generated between 1 and the sum total of the count values, to select one of the entries in the lookup table 322 by comparing the random number to successive running totals. In the example shown in Table 1, if the random number for the RNG outcome is 40 or less, the RNG conversion engine 320 selects the first entry. Otherwise, if the random number for the RNG outcome is between 41 and 70, RNG conversion engine 320 selects the second entry. Otherwise, if the random number for the RNG outcome is between 71 and 90, the RNG conversion engine 320 selects the third entry. Otherwise, the RNG conversion engine 320 selects the last entry. The table entry values for a lookup table 322 can be fixed and predetermined, can vary dynamically (e.g., depending on bet level), or can be dynamically selected (e.g., depending on bet level, depending on another factor) from among multiple available lookup tables. Different game parameters or choices during game play can use different lookup tables 322, or different combinations of game parameters or choices can be combined in entries of a given lookup table 322.
In general, after the reel strips have landed to produce a random based game outcome (also referenced throughout the disclosure as “reel stops”), the game processing backend system 314 identifies any win conditions and any win amounts to award to the player (e.g., credited to the player's credit balance). In some examples, win conditions depend on a count of credit symbols that land after the reel stops. In other examples, win conditions are defined as paylines (also called win lines) across at least a portion of a reel area on a display screen. For a round of play, game processing backend system 314 awards a win amount when a certain combination of symbols appears along a payline. Win amounts can vary according to the combination of symbols and according to the particular payline along which the combination of symbols land. In one or more implementations, instead of evaluating win conditions on paylines across reels, the game processing backend system 314 can determine an award according to a “ways” approach. The game processing backend system 314 typically determines the win amounts according to a pay table, where the pay table comprehends the various combinations of symbols and/or paylines that may occur (e.g., the win conditions). The win amount for a round of play may be a fraction of an amount wagered for that round of play for certain win conditions. For other win conditions, the win amount may be much larger than the amount wagered.
After generating the UI outcome, the game processing backend system 314 sends the UI outcome to the UI system 302. Examples of UI outcomes are symbols to display on a video reel or reel stops for a mechanical reel. In one example, if the UI outcome is for a base game, the UI system 302 updates one or more game play UI elements 306A-306N, such as symbols, for the game play UI 304. In another example, if the UI outcome is for a bonus game, the UI system could update one or more bonus game play UI elements 310A-310N (e.g., symbols) for the bonus game play UI 308. In response to updating the appropriate UI, the player may subsequently provide additional player inputs to initiate a subsequent game instance that progresses through the game processing pipeline 300.
Repeat Accrual Meter Mechanic
With reference to
In one or more implementations, after triggering the supplement game feature, the game processing pipeline 300 can utilize the game processing backend system 314 indirectly determine the initial credit value of the repeat accrual meter. To indirectly determine the initial credit value, the game processing backend system 314 performs a lookup using a lookup table 322 that maps the number of credit symbols that triggered the supplemental game feature (also reference throughout the disclosure as the “credit symbol trigger count”) to a fixed table value. As an example, if the credit symbol trigger count is seven, the lookup table 322 returns a fixed table value of 200; if the credit symbol trigger count is eight credit symbols, then lookup table 322 returns a fixed table value of 300 and so forth. In one implementation, the game processing backend system 314 then combines the fixed table value with one or more game parameters (e.g., player's bet multiplier, bet level, and/or denomination value) to dynamically compute the initial credit value to be displayed in the bonus game play UI 308. Continuing with the example of having a credit symbol trigger count of seven and a fixed table value of 200, if the player's bet player's bet multiplier is set to two, then the game processing backend system 314 could compute the initial credit value to be 400 game credits (e.g., 200×2=400 game credits). The game processing backend system 314 could send this information back to the UI system 302, where the bonus game play UI 308 would present 400 game credits as the initial credit value of the repeat accrual meter. Having the initial credit value determined from a player's bet level and/or bet multiplier can generate an appropriately scaled initial credit value that matches a player's wager while maintaining a target RTP. Stated another way, by utilizing a player's bet level and/or bet multiplier, the game processing pipeline 300 is able to normalize the RTP across each bet level. In another implementation, the fixed table value returned from the lookup table 322 directly represents the initial credit value of the repeat accrual meter. In other words, the game processing backend system 314 would not combine (e.g., multiply) the player's bet multiplier or other game parameters with the fixed table value to determine the initial credit value.
The game processing backend system 314 could support other implementations for determining the initial credit value of the repeat accrual meter. In one implementation, the game processing backend system 314 directly determines the initial credit value by adding up all credit values for the credit symbols that triggered the supplemental game feature. For example, to satisfy the trigger condition, if the UI system 302 presents a game outcome of six credit symbols landing on the reel area and each credit symbol has a credit value of 200, then the game processing backend system 314 computes 1,200 game credits as the initial credit value of the repeat accrual meter. In other implementations, the game processing backend system 314 can randomly determine the initial credit value based on the credit symbol trigger count and/or other game parameters (e.g., the player's bet multiplier). Referring to
The game processing backend system 314 can also determine the initial number of spins for a supplemental game feature with the repeat accrual meter mechanic in a variety of ways. In one implementation, the game processing backend system 314 can provide a fixed number of initial spins (e.g., five initial spins) for all credit symbol trigger counts (e.g., six or more credit symbols). In other implementations, similar to determining the initial credit value for the repeat accrual meter, the game processing backend system 314 can provide the initial number of spins based on the credit symbol trigger count and/or one or more other game parameters (e.g., the player's bet level). As an example, the game processing backend system 314 can indirectly determine the initial number of spins using a lookup table 322 that maps the credit symbol trigger count to a fixed table value. The fixed table value could represent the initial number of spins or a value that may be combined with one or more other game parameters, such as player's bet level, to indirectly determine the initial number of spins. In another example, the game processing backend system 314 can randomly determine the based on the credit symbol trigger count and/or other game parameters using one or more lookup tables 322. The lookup tables 322 map the credit symbol trigger count to a range of tables values that can represent the initial number of spins or be combined with other game parameters (e.g., the player's bet level) to determine the initial numbers of spins.
After entering the supplemental game feature, for one or more spins, the game processing backend system 314 randomly selects a reel pattern set to use for a set of reels (e.g., reels 1-5). In one example, the game processing backend system 314 could define two reel pattern sets, “reel pattern set A” and “reel pattern set B,” to use for one or more spins in the supplemental game feature. The two different reel pattern sets could have the same symbol patterns for all reel strips but with different weights. Alternatively, the two different reel pattern sets could have different symbol patterns with different weights for at least one reel strip for the set of reels (e.g., reels 1-5). To randomly select a reel pattern set to use for one or more spins, the game processing backend system 314 performs one or more RNG pulls from (previously referenced within this disclosure as a “lookup”) one or more lookup tables 322. Recall that the game processing backend system 314 can determine an initial number of spins for the supplemental game feature. Using
By using different reel pattern sets, the game processing pipeline 300 can be configured to ensure certain operations or events will occur while complying with gaming regulation. For example, a game designer may setup a supplemental game feature such that a player receives credit from the repeat accrual meter only when a target symbol lands on a given spin. Specifically, when the target symbol lands on a reel for a given spin, the game processing pipeline 300 triggers a meter disbursement operation. The meter disbursement operation awards game credits to a player based on the accumulated credit value of the repeat accrual meter and a repeat value associated with a repeat credit operation. The repeat value represents the number of times the game processing pipeline 300 will credit the accumulated credit value of the repeat accrual meter to a player. If a target symbol fails to land on any of the spins during the supplemental game feature, then a player would not receive an award from the repeat accrual meter. To prevent the possibility that a player fails to trigger a meter disbursement operation in the supplemental game feature, the game processing pipeline 300 uses the capability of selecting different reel pattern sets for one or more spins in conjunction with a unique reel strip that guarantees producing a target symbol for any reel spin. In particular, the game processing backend system 314 can use a lookup table 322 to substitute the unique reel strip for one or more reels (e.g., reels 2 and 3) for a specific reel pattern set (e.g., reel pattern set B).
In one or more implementations, the game processing pipeline 300 can also dynamically populate at least one reel strip by randomly selecting a volatility level. As an example, for a given spin, each reel strip in a set of reels (e.g., reels 1-5) could include one or more credit symbols that the game processing pipeline 300 can dynamically adjust their corresponding credit values. To dynamically adjust the credit values for each credit symbol, game processing pipeline 300, initiates an RNG call for each credit symbol to pull from a volatility lookup table (e.g., lookup table 322N). The volatility lookup table maps the RNG outcome to a certain volatility level, such as low volatility, medium volatility, or high volatility. Based on the assigned volatility, the game processing pipeline 300 populates a credit value for a credit symbol. In addition to the volatility level, the game processing pipeline 300 can base the credit value for a credit symbol on other game parameters, such as the credit denomination value (e.g., 1 cent denomination), a player's bet level (e.g., 88 game credits), and/or a player's bet multiplier.
After populating the reel strips for a set of reels to use for a given spin, the game processing pipeline 300 initiates multiple RNG calls to determine the game outcome for the given spin. For example, if the supplemental game feature includes five reels, the game processing pipeline 300 initiates a total of five RNG calls, one RNG call for each reel strip, to the game processing backend system 314 to determine the reel stop for each reel. The game processing pipeline 300 adds the credit values of all credit symbols that land to the repeat accrual meter to generate an accumulated credit value. If one or more target symbols also land based on the reel stops, the game processing pipeline 300 performs a meter disbursement operation for each target symbol. Each meter distribution operation performs a repeat credit operation that determines a repeat value and credits the accumulated credit value of the repeat accrual meter to a player according to the repeat value. When a repeat credit operation triggers, the game processing pipeline 300 performs an RNG call to pull from one or more lookup tables 322 that maps the RNG outcome to the repeat value. As an example, the game processing backend system 314 can include a single lookup table 322 that returns the repeat value. Alternatively, to return the repeat value, the game processing backend system 314 can include multiple lookup tables 322, where each lookup table 322 corresponds to a specific reel pattern set.
In
The initial game UI 400 and the supplemental game feature UI 402 include reel areas 404 and 406 for a reel game.
The initial game UI 400 and the supplemental game feature UI 402 can also include other gameplay areas 426 and 428 to present other game elements. As shown in
When initial game UI 400 presents a random based game outcome that triggers a supplemental game feature with the repeat accrual meter mechanic, the initial game UI 400 transitions to the supplemental game feature UI 402.
To present the repeat accrual meter mechanic to a player, the supplemental game feature UI 402 includes a repeat accrual meter 408 and a remaining spin meter 410. The supplemental game feature UI 402 presents a credit value 420 within the repeat accrual meter 408 and a remaining spin count 424 within the remaining spin meter 410. When a gaming device initially enters the supplemental game feature UI 402, the credit value 420 is set to the initial credit value and the remaining spin count 424 is set to the initial spin count. Recall that determining the initial credit value and the initial spin count was previously discussed with reference to
The supplemental game feature UI 402 adjusts the credit value 420 and/or remaining spin count 424 each time the gaming device generates a random based game outcome. In
The supplemental game feature UI 402 in
The initial game UI 500 presents a random based game outcome that lands seven credit symbols 412 within the 5×3 reel configuration. In
The initial game UI 500 also depicts example graphical elements that can be shown within gameplay area 426. Specifically,
The supplemental game feature UI 600 displays that by landing seven credit symbols 412 (shown as golden gong symbols in
According to Table 2, if the bet level indicator 416 presents that the player's bet level is 176 game credits, the initial credit value 602 would be 600 credits since a bet level of 176 game credits corresponds to a bet multiplier value of 2 (e.g., 300 game credits×2=600 game credits). If the bet level indicator 416 presents that the player's bet level is 264 game credits, the initial credit value 602 would be 900 credits since a bet level of 264 game credits corresponds to a bet multiplier value of 3 (e.g., 300 game credits×3=900 game credits). The initial credit value 602 increases in the same manner for the other multiplier values shown in Table 2. By scaling the initial credit value 602 according to a player's bet multiplier value, the potential value and/or game equity for the supplemental game feature appropriately matches the player's wager while maintaining a target RTP.
In one or more implementations, by using different reel pattern sets and utilizing a unique reel strip to substitute one or more reels shown in the supplemental game feature UI 700, a gaming device can be configured to ensure that at least one of the initial spins allocated to the supplemental game feature will generate a target symbol 418. As previously discussed with reference to
UI based operation 900 may start at block 902 and present a repeat accrual meter with an initial credit value. Using
After a player initiates gameplay for the supplemental game feature, the UI based operation 900 moves to block 906 and presents a random based game outcome for a given spin. In one implementation, the random based game outcome can be presented as a slot or reel game. Using
At block 912, the UI based operation 900 determines whether target symbols exist for the random based game outcome. If the UI based operation 900 determines that a target symbol lands on one of the reels, then UI based operation 900 moves to block 914 and presents an animation associated with a repeat credit operation for each target symbol. For each target symbol, the animation associated with the repeat credit operation may present a meter distribution amount indicating the amount of game credits awarded to a player. Afterwards, the UI based operation 900 moves to block 916 to determine whether an add spins symbol exists for the random based game outcome. If an add spin symbol exists, then UI based operation 900 moves to block 918; otherwise, UI based operation 900 proceeds to block 920. At block 918, the UI based operation 900 presents incrementing the spin count according to the spin value of the add spin symbol. Once completed, the UI based operation 900 moves to block 920. At block 920, the UI based operation 900 determine whether any spins remain for the supplemental game feature. If there are no spins remaining, the UI based operation 900 ends. If there are remaining spins, the UI based operation 900 moves back to block 906.
The UI focused operations described above with reference to
In one example, a UI can be configured to present a hold-and-spin mechanic within a reel area. For a given spin in a hold-and-spin mechanic, reels in the reel area of the UI can spin and land on credit symbols and/or other symbol types (e.g., a blank symbol). After a spin completes, the UI holds or locks in place the credit symbols that land on the reels. Other reels that land on other symbols types (e.g., blank symbols) remain unlock. In the next spin, the unlock reels spin and obtain an updated random based game outcome while the locked reels maintain previously locked credit symbols. At the end of the hold-and-spin mechanic, the UI presents a player being awarded the credit values of all the credit symbols that have been locked at the symbol positions in the reel area. As a result, the UI presents the game equity in a hold-and-spin mechanic by locking credit symbols until the end of the feature.
In contrast to presenting a hold-and-spin mechanic, the supplemental game feature UIs 402, 600, 700, and 800 and UI based operation 900 present growth in game equity using the repeat accrual meter through increases in the accumulated credit value. Similar to the hold-and-spin mechanic, the repeat accrual meter mechanic presents growth in game equity when landing on credit symbols. However, instead of locking the credit symbols at their corresponding symbol positions, the supplemental game feature UIs 402, 600, 700, and 800 and UI based operation 900 transfer and add the credit value of each credit symbol to the repeat accrual meter. By doing so, the supplemental game feature UIs 402, 600, 700, and 800 and UI based operation 900 avoid having to lock a symbol position within a reel area while presenting a similar increase in game equity. Moreover, the symbol positions within a reel area remains available to generate additional game outcomes that may be beneficial in further increasing game equity. Having the repeat accrual meter mechanic tied to presenting a target symbol also allows the supplemental game feature UIs 402, 600, 700, and 800 and UI based operation 900 to present multiple opportunities of collecting the accumulated credit value of the repeat accrual meter. Furthermore, with the repeat credit operation, the supplemental game feature UIs 402, 600, 700, and 800 and UI based operation 900 can present a multiplier effect by altering the state of the metamorphic graphical element according to the determined repeat value.
Backend-based operation 1000 may start at block 1002 and determine an initial credit value for the repeat accrual meter. After triggering the supplement game feature, the backend-based operation 1000 can indirectly determine the initial credit value of the repeat accrual meter. To indirectly determine the initial credit value at block 1002, the backend-based operation 1000 uses a lookup table that maps the credit symbol trigger counts to fixed table values. In one implementation, the fixed table value represents the initial credit value of the repeat accrual meter. In another implementation, the backend-based operation 1000 combines the fixed table value with one or more game parameters to dynamically compute the initial credit value to be displayed in the bonus game play UI 308. As an example, if a gaming device allows a player to select a bet multiplier, then the backend-based operation 1000 multiplies the fixed table value with the player's bet multiplier to determine the initial credit value. For gaming devices that do not offer a bet multiplier option, the backend-based operation 1000 could use a player's bet level along with the fixed table value to determine the initial credit value. Other examples of game parameters that could be used to determine the initial credit value besides using a player's bet multiplier and/or bet level include denomination value, certain symbol types, reel location of certain symbols.
Table 3, which is shown below, provides an example lookup table used for block 1002. Table 3 illustrates that the lookup table maps the credit symbol trigger counts to fixed table values.
As shown in Table 3, as the credit symbol trigger count increases, the fixed table value increase. Specifically, if the credit symbol trigger count is six, the lookup table returns a fixed table value of 100; if the credit symbol trigger count is seven credit symbols, then lookup table returns a fixed table value of 200 and so forth. By having the fixed table value increase when the credit symbol trigger count increases, the backend-based operation 1000 can maintain a target RTP while including chances of obtaining larger credit amounts.
Other implementations of block 1002 can determine the initial credit value of the repeat accrual meter differently. In one implementation, the backend-based operation 1000 directly determines the initial credit value by adding up all credit values for the credit symbols that triggered the supplemental game feature. For example, if a random based game outcome in a base game generates six credit symbols and the total credit value of all six credit symbols is 1,000 game credits, then backend-based operation 1000 would set the initial credit value to be 1,000 game credits. In other implementations of block 1002, the backend-based operation 1000 can randomly determine the initial credit value based on the credit symbol trigger count and/or other game parameters (e.g., the player's bet multiplier, bet level, and symbol types). Referring to
Tables 4 and 5, which are shown below, provide examples of lookup tables for randomly determining the initial credit values.
The different ranges of table values between Table 4 and 5 are based on the credit symbol trigger count. Specifically, Table 4 corresponds to a lookup table for when the credit symbol trigger count is six with a range of table values from 100-400. Table 5 corresponds to a lookup table when the credit symbol trigger count is seven with a range of table values from 200-500. The set of lookup tables would include other similar lookup tables for other credit symbol trigger counts. As shown in Tables 4 and 5, to maintain a target RTP, the backend-based operation 1000 is more likely to return a lower table value than higher table values. In another example, rather than using a set of lookup tables, the backend-based operation 1000 could utilize a single lookup table that maps all designated credit symbol trigger counts to one or more table value ranges. The backend-based operation 1000 can use the table value as the initial credit value of the repeat accrual meter or combine the table value with one or more game parameters, such as the player's bet multiplier, to determine the initial credit value.
From block 1002, backend-based operation 1000 may move to block 1004 to determine an initial spin count for the remaining spin meter. Similar to how backend-based operation 1000 determined an initial credit value of the repeat accrual meter, the backend-based operation 1000 can determine the initial spin count by performing lookups on lookup tables that return fixed table values or varying table values for a given credit symbol trigger count. In other words, the lookup tables for block 1004 would have similar to the lookup tables for block 1002 except that entered table values would correspond to initial spin counts rather than initial credit values. Specifically, the fixed or varying table values could represent the initial spins allocated for the supplemental game feature or be values that are combined with one or more game parameters to derive the initial number of spins.
After completing block 1004, backend-based operation 1000 may continue to block 1006 to generate a random based game outcome for a given spin. In one or more implementations, at block 1006, backend-based operation 1000 may dynamically populate one or more reel strips in order to generate the random based game outcome. An example of dynamically populating the reel strips is shown and discussed with reference to
After backend-based operation 1000 generates the random based game outcome, the backend-based operation 1000 proceeds to block 1008 to determine whether the random based game outcome includes credit symbols. If backend-based operation 1000 determines credit symbols have landed on the reels, then backend-based operation 1000 moves to block 1010. Otherwise, backend-based operation 1000 moves to block 1012. At block 1010, the backend-based operation 1000 adds the credit values of all credit symbols that land to the repeat accrual meter to generate an accumulated credit value of the repeat accrual meter.
At block 1012, backend-based operation 1000 determines whether one or more target symbols land based on the random based game outcome generated in block 1006. If one or more target symbols land, the backend-based operation 1000 moves to block 1014. If no target symbols land, then backend-based operation 1000 proceeds to block 1018. At block 1014, backend-based operation 1000 performs a repeat credit operation that determines a repeat value. To determine a repeat value, the backend-based operation 1000 performs an RNG pull for one or more lookup tables 322 that maps the RNG outcome to the repeat value. As an example, the game processing backend system 314 can include a single lookup table 322 that returns the repeat value. In another example where backend-based operation 1000 uses multiple reel pattern sets (e.g., reel pattern set A and reel pattern set B), a separate lookup table can correspond to each reel pattern set. Having a lookup table to determine the repeat value for each reel pattern provides more flexibility on controlling and managing RTP. Tables 6 and 7 provide examples of lookup tables that return the repeat value based on reel pattern set A and reel pattern set B, respectively.
As shown in Tables 6 and 7, the backend-based operation 1000 is more likely to return higher repeat values, such 3, 4, and 5 than repeat values 1 and 2. Depending on the credit values of the credit symbol and the determined rate that a target symbol lands on a reel, the weights (shown as “count values”) can be adjusted accordingly to achieve a target RTP.
From block 1014, backend-based operation 1000 can move to block 1016 to determine a meter distribution amount to credit to a player. At block 1016, the backend-based operation 1000 determines the meter distribution amount based on the repeat credit operation performed in block 1014 and the accumulated credit value of the repeat accrual meter. After completing block 1016, backend-based operation 1000 moves to block 1018 to determine whether the random based game outcome includes at least one add spins symbol. If there is at least one add spins symbol, backend-based operation 1000 continues to block 1020 and increments the spin count for the remaining spin meter according to the spin value of the add spins symbol. Backend-based operation 1000 then moves to block 1022 to determine whether any remaining spins are left for the supplemental game feature. If no spins remain, then the backend-based operation 1000 ends. Alternatively, if there are any spins that remain, backend-based operation 1000 returns to block 1006.
As previously mentioned for
As shown in
In one or more implementations, backend-based operation 1000 could select a reel pattern set for multiple spins. Specifically, the backend-based operation 1000 can randomly select which spin(s) out of a set of spins will utilize a specified reel pattern set. Recall that the backend-based operation 1000 determines an initial number of spins for the supplemental game feature in block 1004. Based on the initial spin count, backend-based operation 1000 can randomly select which of the initial spin(s) (e.g., spin 2 out of the 5 initial spins) will use a specified reel pattern set (e.g., reel pattern set B). Table 8 provides an example of a lookup table that randomly selects which spin of the initial spins awarded for supplemental game feature will utilize the specified reel pattern set B.
As shown in Table 8, the earlier spins, such as spins 1-3, are weighted more so that backend-based operation 1000 is more likely to select reel pattern set B than later spins. Weighting the earlier spins to select reel pattern set B may be beneficial if reel pattern set B includes a larger number of target symbols or is set up to guarantee landing a target symbol for a given spin. The other remaining spins that backend-based operation 1000 does not select for reel pattern set B may be designated for other reel pattern sets (e.g., reel pattern set A). Although Table 8 illustrates selecting one spin for a given reel pattern set (e.g., reel pattern set B), other implementations of the lookup table could return multiple spins for the reel pattern set.
In one or more implementations, backend-based operation 1000 may select a reel pattern for a single spin using a lookup table. The backend-based operation 1000 may utilize a lookup table, for example Table 9, for spins that occur after the initial spins awarded for triggering the supplemental game feature. Table 9 provides an example of lookup table that randomly selects whether backend-based operation 1000 uses reel pattern set A or reel pattern set B for a given spin.
Based on Table 9, a backend-based operation 1000 is less likely to select reel pattern set B. Backend-based operation 1000 may select reel pattern set B less often since reel pattern set B may provide a larger payout by having more target symbols or guaranteeing to land a target symbol for a given spin.
After completing block 1102, backend-based operation 1000 may move to block 1104 and determine whether to replace one or more reel strips for the selected reel pattern set. If backend-based operation 1000 determines that a reel strip needs to be replaced, backend-based operation 1000 moves to block 1106 to replace one or more reel strips with a unique reel strip. In one or more implementations, the unique reel strip could include more target symbols or be setup to guarantee one or more target symbols to land for a given spin. Alternatively, if the backend-based operation 1000 determines that a reel strips does not need to be replaced, backend-based operation 1000 moves to block 1108.
Returning to block 1104, backend-based operation 1000 can use one or more lookup tables to determine which reels for a given reel pattern set should be substituted for a unique reel strip. Tables 10 and 11 provide example lookup tables for determining which reels should be substituted with a unique reel strip for reel pattern set A and reel pattern set B, respectively. As shown in Table 10, reel pattern set A is weighted such that no reel strips are substituted to the unique reel strip. For Table 11, reel pattern set B is weighted such that at least one of the reel strips will be substituted with a unique reel strip. Specifically, Table 11 illustrates that reels 2, 3, or 4 are more likely to be individually replaced with the unique reel than having multiple reels strips replaced (e.g., reels 3 and 4) for a given spin.
At block 1108, backend-based operation 1000 can dynamically populate at least one reel strip by randomly selecting a volatility level. As an example, for a given spin, each reel strip in a set of reels (e.g., reels 1-5) could include one or more credit symbols that the backend-based operation 1000 can dynamically adjust their corresponding credit values. To dynamically adjust the credit values for each credit symbol, backend-based operation 1000 performs an RNG pull from a volatility lookup table that maps an RNG outcome to a certain volatility. Table 12 provides an example volatility lookup table that assigns low, medium, or high volatility for a credit symbol. As shown in Table 12, to maintain a target RTP, backend-based operation 1000 is more likely to select low volatility than compared to medium or high volatility.
After completing block 1108, the backend-based operation 1000 moves to block 1110 and populates a credit value for the credit symbols based on the assigned volatility. To populate the credit value, the backend-based operation 1000 may perform an RNG pull from a designated lookup table that includes a range of credit values. The backend-based operation 1000 may select the designated lookup table from a set of lookup tables, where each lookup table is specific to the denomination value, player's bet level, and/or the assigned volatility of a credit symbol. For example, one lookup table could correspond to when the supplemental game feature is triggered using a one cent denomination, a player's bet level of 88 game credits, and an assigned medium volatility. By having multiple lookup tables, the credit value ranges for each lookup table could be customized or setup to vary according to the different game parameters. From block 1110, the backend-based operation 1000 then moves to block 1112 to randomly determine reel stops for each populated reel.
Alternatives and Variations
Numerous embodiments are described in this disclosure and are presented for illustrative purposes only. The described embodiments are not, and are not intended to be, limiting in any sense. As an example, although the disclosure generally describes the repeat accrual meter mechanic in a Class III reel or slot game context the disclosure is not limited to this type of game and/or gaming device. For example, other implementations and/or portions of the repeat accrual meter mechanic may be implemented as a Class II gaming device. In particular, a gaming device may present UIs, such as supplemental game feature UIs 402, 600, 700, and 800, while implementing a Class II bingo game. Additionally, or alternatively, portions of the repeat accrual meter mechanic can be utilized for other types of wagering games, such as keno, lottery, and pachinko.
The present disclosure is widely applicable to numerous embodiments, as is readily apparent from the disclosure. One of ordinary skill in the art will recognize that the innovations described herein may be practiced with various modifications and alterations, such as structural, logical, software, and electrical modifications. Although particular features of the innovations described herein may be described with reference to one or more particular embodiments and/or drawings, it should be understood that such features are not limited to usage in the one or more particular embodiments or drawings with reference to which they are described, unless expressly specified otherwise.
The present disclosure is neither a literal description of all embodiments nor a listing of features of the innovations described herein that must be present in all embodiments.
The Title (set forth at the beginning of the first page of this disclosure) is not to be taken as limiting in any way as the scope of the disclosed embodiments. Headings of sections provided in this disclosure are for convenience only and are not to be taken as limiting the disclosure in any way.
When an ordinal number (such as “first,” “second,” “third” and so on) is used as an adjective before a term, that ordinal number is used (unless expressly specified otherwise) merely to indicate a particular feature, such as to distinguish that particular feature from another feature that is described by the same term or by a similar term. For example, a “first widget” may be so named merely to distinguish it from, e.g., a “second widget.” Thus, the mere usage of the ordinal numbers “first” and “second” before the term “widget” does not indicate any other relationship between the two widgets, and likewise does not indicate any other characteristics of either or both widgets. For example, the mere usage of the ordinal numbers “first” and “second” before the term “widget”” (1) does not indicate that either widget comes before or after any other in order or location; (2) does not indicate that either widget occurs or acts before or after any other in time; and (3) does not indicate that either widget ranks above or below any other, as in importance or quality. In addition, the mere usage of ordinal numbers does not define a numerical limit to the features identified with the ordinal numbers. For example, the mere usage of the ordinal numbers “first” and “second” before the term “widget” does not indicate that there must be no more than two widgets.
When introducing elements of aspects of the present disclosure or embodiments thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
When a single device, component, structure, or article is described herein, more than one device, component, structure or article (whether or not they cooperate) may alternatively be used in place of the single device, component or article that is described. Accordingly, the functionality that is described as being possessed by a device may alternatively be possessed by more than one device, component or article (whether or not they cooperate).
Similarly, where more than one device, component, structure, or article is described herein (whether or not they cooperate), a single device, component, structure, or article may alternatively be used in place of the more than one device, component, structure, or article that is described. For example, a plurality of computer-based devices may be substituted with a single computer-based device. Accordingly, the various functionality that is described as being possessed by more than one device, component, structure, or article may alternatively be possessed by a single device, component, structure, or article.
The functionality and/or the features of a single device that is described may be alternatively embodied by one or more other devices that are described but are not explicitly described as having such functionality and/or features. Thus, other embodiments need not include the described device itself, but rather can include the one or more other devices which would, in those other embodiments, have such functionality/features.
Further, the systems and methods described herein are not limited to the specific embodiments described herein but, rather, operations of the methods and/or components of the system and/or apparatus may be utilized independently and separately from other operations and/or components described herein. Further, the described operations and/or components may also be defined in, or used in combination with, other systems, methods, and/or apparatus, and are not limited to practice with only the systems, methods, and storage media as described herein.
Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. On the contrary, such devices need only transmit to each other as necessary or desirable and may actually refrain from exchanging data most of the time. For example, a machine in communication with another machine via the Internet may not transmit data to the other machine for weeks at a time. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries.
A description of an embodiment with several components or features does not imply that all or even any of such components and/or features are required. On the contrary, a variety of optional components are described to illustrate the wide variety of possible embodiments of the innovations described herein. Unless otherwise specified explicitly, no component and/or feature is essential or required.
Further, although process steps, algorithms or the like may be described in a sequential order, such processes may be configured to work in different orders. In other words, any sequence or order of steps that may be explicitly described does not necessarily indicate a requirement that the steps be performed in that order. The steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously despite being described or implied as occurring non-simultaneously (e.g., because one step is described after the other step). Moreover, the illustration of a process by its depiction in a drawing does not imply that the illustrated process is exclusive of other variations and modifications thereto, does not imply that the illustrated process or any of its steps are necessary to the innovations described herein, and does not imply that the illustrated process is preferred.
Although a process may be described as including a plurality of steps, that does not indicate that all or even any of the steps are essential or required. Various other embodiments within the scope of the present disclosure include other processes that omit some or all of the described steps. Unless otherwise specified explicitly, no step is essential or required.
Although a product may be described as including a plurality of components, aspects, qualities, characteristics and/or features, that does not indicate that all of the plurality are essential or required. Various other embodiments within the scope of the present disclosure include other products that omit some or all of the described plurality.
An enumerated list of items (which may or may not be numbered) does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise. Likewise, an enumerated list of items (which may or may not be numbered) does not imply that any or all of the items are comprehensive of any category, unless expressly specified otherwise.
For the sake of presentation, the detailed description uses terms like “determine” and “select” to describe computer operations in a computer system. These terms denote operations performed by a computer and should not be confused with acts performed by a human being. The actual computer operations corresponding to these terms vary depending on implementation. For example, “determining” something can be performed in a variety of manners, and therefore the term “determining” (and like terms) can indicate calculating, computing, deriving, looking up (e.g., in a table, database or data structure), ascertaining, recognizing, and the like.
As used herein, the term “send” denotes any way of conveying information from one component to another component, and the term “receive” denotes any way of getting information at one component from another component. The two components can be part of the same computer system or different computer systems. The information can be passed by value (e.g., as a parameter of a message or function call) or passed by reference (e.g., in a buffer). Depending on context, the information can be communicated directly between the two components or be conveyed through one or more intermediate components. As used herein, the term “connected” denotes an operable communication link between two components, which can be part of the same computer system or different computer systems. The operable communication link can be a wired or wireless network connection, which can be direct or pass through one or more intermediate components (e.g., of a network). Communication among computers and devices may be encrypted to ensure privacy and prevent fraud in any of a variety of ways well known in the art.
It will be readily apparent that the various methods and algorithms described herein may be implemented by, e.g., appropriately programmed general-purpose computers and computing devices. Typically, a processor (e.g., one or more microprocessors) will receive instructions from a memory or like device, and execute those instructions, thereby performing one or more processes defined by those instructions. Further, programs that implement such methods and algorithms may be stored and transmitted using a variety of media (e.g., computer readable media) in a number of manners. In some embodiments, hard-wired circuitry or custom hardware may be used in place of, or in combination with, software instructions for implementation of the processes of various embodiments. Thus, embodiments are not limited to any specific combination of hardware and software. Accordingly, a description of a process likewise describes at least one apparatus for performing the process, and likewise describes at least one computer-readable medium for performing the process. The apparatus that performs the process can include components and devices (e.g., a processor, input and output devices) appropriate to perform the process. A computer-readable medium can store program elements appropriate to perform the method.
The term “computer-readable medium” refers to any non-transitory storage or memory that may store computer-executable instructions or other data in a computer system and be read by a processor in the computer system. A computer-readable medium may take many forms, including but not limited to non-volatile storage or memory (such as optical or magnetic disk media, a solid-state drive, a flash drive, PROM, EPROM, and other persistent memory) and volatile memory (such as DRAM). The term “computer-readable media” excludes signals, waves, and wave forms or other intangible or transitory media that may nevertheless be readable by a computer.
The present disclosure provides, to one of ordinary skill in the art, an enabling description of several embodiments and/or innovations. Some of these embodiments and/or innovations may not be claimed in the present application but may nevertheless be claimed in one or more continuing applications that claim the benefit of priority of the present application. Applicants may file additional applications to pursue patents for subject matter that has been disclosed and enabled but not claimed in the present application.
The foregoing description discloses only exemplary embodiments of the present disclosure. Modifications of the above disclosed apparatus and methods which fall within the scope of the present disclosure will be readily apparent to those of ordinary skill in the art. For example, although the examples discussed above are illustrated for a gaming market, embodiments of the present disclosure can be implemented for other markets. The gaming system environment of the examples is not intended to suggest any limitation as to the scope of use or functionality of any aspect of the disclosure.
While the invention has been described with respect to the figures, it will be appreciated that many modifications and changes may be made by those skilled in the art without departing from the spirit of the invention. Any variation and derivation from the above description and figures are included in the scope of the present invention as defined by the claims. In view of the many possible embodiments to which the principles of the disclosed invention may be applied, it should be recognized that the illustrated embodiments are only preferred examples of the invention and should not be taken as limiting the scope of the invention. Rather, the scope of the invention is defined by the following claims. We therefore claim as our invention all that comes within the scope and spirit of these claims.