the gaming machine, 3) logic for storing critical information to a non-volatile memory device on the gaming machine and 4) logic for communicating with other gaming software modules via one or more APIs. In particular, after game play has been initiated on the gaming machine, the game flow logic may determine a game outcome and may generate a number of game states used in presenting the game outcome to a player on the gaming machine.

In general, gaming machines include hardware and methods for recovering from operational abnormalities such as power failures, device failures and tilts. Thus, the gaming machine software logic and the game flow logic [0073] 104 may be designed to generate a series of game states where critical game data generated during each game state isstored to the non-volatile memory device. Since a sequence of game states are generated in the gaming software modules as part of a game flow, the gaming machine is often referred to as a state machine.

In FIG. 1B, a game timeline [0074] 120 for a game of chance 125 is shown. A gaming event, such as a player inputting credits into the gaming machine, may start game play 125 on the gaming machine. Another gaming event, such as a conclusion to an award presentation may end the game 122. Between the game start 121 and game end 122, as described above, the game flow logic may generate a sequence of game states, such as 110, 114 and 114 that are used to play the game of chance 125.