CA2461938C

Game development architecture that decouples the game logic from the graphics logic

Abstract

A disclosed gaming machine is designed to execute a modular gaming software architecture. A plurality of gaming software modules may be loaded into RAM on the gaming machine and executed to play a game of chance. Many of the gaming software modules are designed to communicate via application program interfaces so that the logic in many of the gaming software modules may be designed independently of each other. In particular, the modular gaming software architecture allows a game flow software module used to generate a game of chance on the gaming machine to be decoupled from a game presentation software module used to present the game chance. Thus, a group of games may be designed where the games share a common game flow software module but use different game presentation software modules to change the look and feel of the game.

CA2461938C, drawing sheet 1
Sheet 1 of 21

Term

Term ended

Expired 26 September 2022, 4 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

53 claims: 3 independent, 50 dependent

  1. 1
    CA 02461938 2012-10-02 30603-18 CLAIMS:1. A gaming machine comprising: a master gaming controller designed to generate a game of chance played on the gaming machine by executing a plurality of gaming software modules;a memory device storing the plurality of gaming software modules;a gaming operating system comprising logic to load and unload gaming software modules into a RAM from the memory device and control the play of the game of chance;a game flow software module comprising game flow logic and a state machine, the game flow logic and the state machine being separate from the gaming operating system logic, the game flow software module being operable to generate a game flow for the game of chance including a plurality of game states;and a game presentation software module comprising game presentation logic, the game presentation logic being separate from the gaming operating system logic and separate from the game flow logic, the game presentation software module being operable to generate graphics and audio information based on the plurality of game states and to present the graphics and audio information;wherein the gaming operating system is configured to manage communication at least among the game flow software module and the game presentation software module via one or more application program interfaces such that one or more of the game states generated by the game flow software module are communicated to the game presentation software module and such that the game presentation software module does not have knowledge of a next game state prior to the game flow software module generating the next game state.
  2. 32
    A method comprising:receiving a plurality of gaming software modules for playing a game of chance on a gaming machine wherein the gaming software modules communicate with one another via one or more application program interfaces;loading a first set of gaming software modules selected from the plurality of gaming software modules into a RAM on the gaming machine, the set of gaming software modules comprising at least a gaming operating system, a game flow software module, and a game presentation software module;and executing the first set of gaming software modules to play a game of chance on the gaming machine, wherein: the gaming operating system includes logic to load and unload gaming software modules into the RAM from the memory device and to control the play of the game of chance;the game flow software module includes game flow logic and a state machine, the game flow logic and the state machine being separate from the gaming operating system CA 02461938 2012-10-02 30603-18 logic, the game flow software module being operable to generate a game flow for the game of chance including a plurality of game states;the game presentation software module includes game presentation logic, the game presentation logic being separate from the gaming operating system logic and separate from the game flow logic, the game presentation software module being operable to generate graphics and audio information based on the plurality of game states and to present the graphics and audio information;the gaming operating system is configured to manage communication at least among the game flow software module and the game presentation software module via one or more application program interfaces such that one or more of the game states generated by the game flow software module are communicated to the game presentation software module and such that the game presentation software module does not have knowledge of a next game state prior to the game flow software module generating the next game state;and executing the first set of gaming software modules includes;receiving a request to start a game of chance;communicating to the game flow software module via one or more of the application program interfaces, by the gaming operating system, a command to start a game flow;receiving, by the game flow software module, the command;generating, by the game flow software module, a plurality of game states in response to the command;communicating the game states to the game presentation software module;receiving, by the game presentation software module, the plurality of game states;and CA 02461938 2012-10-02 30603-18 generating, by the game presentation software module, graphics and audio information based on the received game states.
  3. 51
    A method comprising:by a game flow software module that includes game flow logic and a state machine, the game flow software module being executed or executing from one or more memory locations within a gaming machine: receiving a request to start a game flow for the play of a game of chance, the game flow including rules for playing the game of chance;generating a plurality of game states in the game flow, the plurality of game states being used or usable to play the game of chance according to the rules;and communicating game state information for one or more of the game states to one or more other gaming software modules via one or more application program interfaces, wherein the game flow logic and the state machine for generating the game states is separate from logic for the one or more other gaming software modules, the logic for the one or more other gaming software modules including core logic for core gaming machine-wide functionality, the logic for the one or more other gaming software modules not including game flow logic for generating the game states.