WO2006052213A1 - Gaming system - Google Patents

Gaming system Download PDF

Info

Publication number
WO2006052213A1
WO2006052213A1 PCT/SE2005/001717 SE2005001717W WO2006052213A1 WO 2006052213 A1 WO2006052213 A1 WO 2006052213A1 SE 2005001717 W SE2005001717 W SE 2005001717W WO 2006052213 A1 WO2006052213 A1 WO 2006052213A1
Authority
WO
WIPO (PCT)
Prior art keywords
game
client
server
gaming
module
Prior art date
Application number
PCT/SE2005/001717
Other languages
French (fr)
Inventor
Jan Otterling
Ulf Larsson
Original Assignee
Acei Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Acei Ab filed Critical Acei Ab
Priority to AU2005305408A priority Critical patent/AU2005305408A1/en
Priority to EP05804136A priority patent/EP1814641A4/en
Publication of WO2006052213A1 publication Critical patent/WO2006052213A1/en
Priority to US12/433,615 priority patent/US20100087255A1/en
Priority to US12/497,330 priority patent/US9697673B2/en
Priority to US13/413,180 priority patent/US20120172135A1/en
Priority to US15/641,829 priority patent/US20170301174A1/en

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3225Data transfer within a gaming system, e.g. data sent between gaming machines and users
    • G07F17/3232Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the operator is informed
    • G07F17/3237Data transfer within a gaming system, e.g. data sent between gaming machines and users wherein the operator is informed about the players, e.g. profiling, responsible gaming, strategy/behavior of players, location of players
    • G07F17/3239Tracking of individual players
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers

Definitions

  • the present invention relates in general to a gaming system for operating computerized games of chance, the system comprising gaming machines communicating with a central gaming server.
  • WO03023647 discloses a method for developing gaming programs compatible with a computerized gaming operating system and apparatus.
  • WO2004051588 discloses a hosted game development environment.
  • US20030148806 discloses a method and apparatus for optimizing game design and development upon multiple game systems.
  • WO03028828 discloses a game development architecture that decouples the game logic from the graphic logics.
  • US20040180722 discloses a centralized gaming system with modifiable remote display terminals.
  • KR010007668 discloses a method and system for network game service.
  • CA2358237 discloses a gaming hardware simulator.
  • US20020028705 discloses a system and method for generating games and tests.
  • the object is achieved by providing a gaming system concept in a client-server based architecture devised to operate modular game application programs for executing a game of chance.
  • a game application program comprises a game specific client module that is executed in a client gaming machine provided with a game application program interface and a game specific server module executed in a gaming server also provided with a game application program interface.
  • the gaming machine as well as the gaming server comprises general gaming functions that are available as services for different games executed by the respective gaming specific client and server modules.
  • client gaming machine there are general client gaming functions such as a graphical user interface, a cashbox, sound presentation means, buttons and data communications means typically devised for providing an interface between the player and the specific game as well an interface between the specific game and the server.
  • the gaming server there are general server gaming functions in particular a random number generator, a database and a gaming application program interface via which the gaming specific server module calls the general gaming functions upon a request from the client module.
  • the client game module of the game application program interacts with a player via input/output interfaces, typically a set of buttons and a display screen, and determines game parameters dependent on a set of logical rules for the game defined in the client game module and dependent on player input signals.
  • Game parameters are for example symbols, positions, card values or card colours dependent on the nature of the game as well as a value for a current bet.
  • selected game parameters are communicated together with a request to the server game module.
  • the server game module is executed and thereby determines a random outcome dependent on a set of logical rules that define conditions for outcomes, dependent on said selected game parameters and dependent on a random number that the server game module receives on request from the random number generator provided in the server.
  • the determined outcome typically comprising a win or lose outcome and possibly a prize, is communicated back to the client game module which after receipt determines and outputs a game presentation dependent on the outcome.
  • the bet values and the prize values are preferably further dependent on configuration parameters that are centrally pre-settable and made available to the game application program. In this manner the game logics is separated from security sensitive, reliability sensitive and configuration related functions and information that are provided in the central server.
  • the game application program modules are embedded behind the application program interfaces that provide a well defined interface for communication with functions external from game application program.
  • the gaming machine is for this purpose provided with a client game application program interface devised for communication with the game application program module.
  • General client gaming functions e.g. the mentioned input/output interface, are provided in the client gaming machine and are available for the client game module via the client game application program interface.
  • the gaming server comprises general server gaming functions, e.g. the mentioned random number generator and a database, and a server game application program interface via which the server game module communicates with the general server gaming functions.
  • the game application program interfaces comprise means for managing the respective game modules. These game manager functions comprise configuration handling and provisions of data structures that carries game parameters, game requests and game responses.
  • the system is configured to record in the server database, inputs to the game software during execution. More specifically, at least user inputs and all random numbers that occur during the execution of a game are stored in the server database with an associated game session identity code.
  • the stored user input should be understood to mean a selection of the actual user input, the received user input signal, a representation of the user input or the response by the game application program on a user input. This enables the reconstruction of a game session as well as verification of correctness as well as statistics and monitoring functions.
  • Fig 1 shows a schematic outline of a client-server based gaming system according to an embodiment of the invention.
  • Fig 2 shows a flow chart of a simple example of a gaming application.
  • Fig 3 shows a variety of the gaming system in accordance with the invention.
  • Fig 4 shows a schematic view of different phases of a game.
  • Fig 5 shows a schematic sequence diagram.
  • Fig 6 shows a schematic illustration of an embodiment of a game development tool.
  • the Figures illustrate the configuration of a gaming system as well as a method for operating a gaming application, a method for developing a gaming application and a computer program product in accordance with the invention.
  • Fig 1 shows schematically a client and server based computerised gaming system with a gaming machine 2, herein also called a video lottery terminal, set up as a client gaming machine 2 and a gaming server 4 that are communicatively coupled.
  • the gaming machine 2 and the gaming server 4 are provided with data processors, memory means, data communications interfaces, control programs, user input/output interfaces etc. in a per se well known manner.
  • Different functions and features that are specific for the present invention are preferably realised by means of software computer program code executed on data processing means comprised in the server and in the client respectively, or by means of specifically designed electronic components, or by means of combinations of software and electronic components.
  • a server generally means hardware and software units in a central system that comprises and provides server functions, database functions and other centralised functions to connectable client gaming machines.
  • the server 4 is provided with a game application program interface, in short called server game API 6, enabling communication between a server module of a specific game application program 8 and general server gaming functions 10,12,14,16 installed on the server.
  • the general server gaming functions are provided to be available for any specific game application program independently of the specific game content. These general server gaming functions are typically critical functions such as a database 10, a random number generator 12, an account service function 14, a log service function 16, or other functions that beneficially are shared and used by different specific game application programs.
  • the client gaming machine 2 is also provided with a game application program interface, in short called client game API 20, enabling communication between a client game module 18 of the specific game application program and general client gaming functions 22,24,26,28 installed on the client gaming machine 2 and used by different client game modules.
  • the general client gaming functions are designed for assisting in implementing and executing a specific game on the client gaming machine 2 and are available for the client game module 18.
  • These general client gaming functions are in different embodiments a selection of a graphical user interface GUI 22, a cashbox function 24, a sound function 26, user input interface function, for example buttons, 28, data storage 29, a printer 3, a bar code reader 33 and other functions that are related to the performance of a game.
  • the client game module 18 is communicatively coupled to the corresponding server game module 8 for communicating requests 9 and responses 11 in order to utilize the general gaming functions provided in the server.
  • a message protocol for communication between the client module and the server module is generated, the protocol is for example based on XML and is shared by the client and the server.
  • a specific game application program in accordance with the invention thus comprises a server game module 8 and a client game module 18 that communicate either directly or via an application program interface on the client side and the server side respectively as shown in Fig 1 and Fig 3.
  • the client game module 18 uses a selection of general client gaming functions that are available in the client gaming machine
  • the server module 8 uses a selection of general server gaming functions 10,12,14,16 that are commonly used by different game applications and that are provided and available centrally in the server 4.
  • interruption or abnormal termination of a player session during playing a game is handled by means of a reconnect function.
  • the reconnect function is managed by storing the previous game configuration in the database at the beginning of each game round. AU user interactions and inputs that occur during the game round as well as the random numbers that were generated are stored in the server database.
  • a reconnect voucher is created by the client gaming machine and output to the user.
  • the voucher comprises account balance information and a voucher identity code used to identify the interrupted game.
  • the player can thereafter request a reconnect by inputting the voucher to the same or another gaming machine.
  • the game is initialised with the game session properties that were stored at the beginning of the round and retrieved from the database by means of the voucher identity code.
  • the reconnect function enables the player to continue the game at the same stage as when interrupted.
  • Fig 3 shows a more detailed view of the configuration of a client and a server in a gaming system in accordance with an embodiment of the invention and similar to that of Fig 1.
  • the server game module 8 is embedded behind an application program interface called server game API 6 through which all communication of the server game module 8 takes place.
  • the gaming server 4 further comprises a server application program interface in short called server API 40 through which all communication with the general server gaming functions 10,12,14,16 from the part of the server game API 6 as well as from the part of other server functions and external communication takes place.
  • the server 4 is further provided with a server reconnect handler 32 that in a preferred embodiment is integrated with the server game API 6.
  • the server reconnect handler 32 comprises functional means devised to manage game session information relating to a reconnect identity code and devised to communicate inputs to and outputs from the server game module 8 for the purpose of re-executing the game session up to the point of interruption. This functionality realises a replay function and substitutes the client functionality during reconstruction of a game session.
  • the gaming server 4 is also provided with further server function modules, in the exemplifying embodiment more specifically comprising a client handler 36 that is communicatively coupled to the server API 40.
  • the client handler 36 manages, inter alia handles and serves, communications and functions of the client 2 other than the specific game applications. As illustrated in the drawing with a double arrow, communications with the client gaming machine 2 takes place via the server API 40 and a similar client API 38 provided in the client gaming machine 2.
  • the client gaming machine 2 comprises a client control module 34 that controls communications and general functions of the client gaming machine other than the specific game applications and communicates via the client API 38.
  • the client game module 18 is, similar to the configuration of the server, embedded behind an application program interface called client game API 20 through which all communication of the client game module 18 takes place.
  • the client 2 is further provided with a client reconnect handler 30 that in a preferred embodiment is integrated with the client game API 6.
  • the client reconnect handler 30 comprises functional means devised to manage game session information relating to a reconnect identity code and devised to communicate inputs to and outputs from the client game module 8 for the purpose of re-executing the game session up to the point of interruption.
  • This functionality realises a replay function and substitutes the client functionality during reconstruction of a game session.
  • the replay is executed in the server after having retrieved stored game session information from the database to the server reconnect handler.
  • the replay is executed in the client after having retrieved the stored game session information from the database and communicated said information to the client reconnect handler.
  • a part of the replay is executed in the server and a part is executed in the client.
  • FIG 2 shows schematically a simple example of a portion of a gaming application in accordance with the invention, more particularly a flip coin game of chance.
  • the game is run by executing the client game module 18 and the general client gaming functions of the flip coin gaming application in a client gaming machine in step 202.
  • the player is presented a message asking the player to bet on heads or tails.
  • the player places a bet 206 and a result is calculated in 208.
  • Step 208 involves the client game module 18 sending a request to the server game module 8 to generate an outcome of the game.
  • the server game module in its turn calls the random number generator 12 and receives a random number in return.
  • the server game module calculates an outcome according to predetermined rules for the game and dependent on the returned random number. Thereafter, a response with the outcome Win or Lose is communicated back to the client game module. If the outcome is Lose 210 the player is presented a message showing that player lost 212, and the game is ended in 214. If, on the other hand the outcome is Win 216 the player is presented a message asking player to collect the prize or double a bet again 218. If the player inputs a request to Double 224, a new result is calculated in 208 in the above manner.
  • the prize usually in the form of cash or credit money, is paid to the player and the game ends in 222.
  • the payout of a prize again preferably involves requesting services from the server game module and for example utilizing the general server gaming functions account function 16 and database function 10.
  • the client game module comprises computer program code portions devised to control the data processing system in the client gaming machine to determine game parameters in response to player input signals and dependent on logical rules for the game defined in said client module.
  • the server module comprises computer program code portions devised to control the data processing system to determine an outcome dependent on conditions for the game defined in said server module, dependent on said game parameters being communicated from the client module and dependent on a random number received from the random number generator 12 that is provided in the server and available for the server game module.
  • the client module and the server module of the game application are thus isolated from functions other man game specific features by means of game APLs.
  • game APLs For the purpose of further isolating and de-coupling the game application program from sensitive functions a previous game configuration is stored in the server database at the beginning of each game round. All user interactions and inputs that occur during the game round as well as the random numbers that were generated are stored in the server database. This enables reconstruction and verification of interrupted game sessions.
  • FIG 4 illustrates schematically the lifecycle of a game in accordance with an embodiment of the invention drawn in relation to a timeline 424.
  • a player session 401 is initiated by a player by inputting start commands via a user interface of the gaming machine.
  • the player initiates a game and inputs a bet in terms of a monetary value by means of some kind of payment method such as coins or an account transaction and thereby starts a first game session 402.
  • the game session progresses in discrete steps herein called game rounds and exemplified with a first round 404 and a second round 410.
  • Each round in turn progresses in discrete steps called game phases.
  • round 404 comprises three game phases 406,407 and 408.
  • the transition between game phases is driven by game round events which in different embodiments may have different content and different triggering mechanisms.
  • a game round event is triggered by an input that starts the generation of a set of associated elements of critical game session data that defines a game result preferably comprising the current bet value, a current generated random number and a current win value.
  • the game round event would usually be triggered by a player making an input through an FO interface such as a push button that conveys game commands like "Deal cards! in a poker game.
  • a game round event is triggered usually by an input from the player and game parameters that define a game state are determined by means of logical rules realised in the client game module.
  • the client game module contacts the server game module with a request in response to the triggering of a game round event.
  • the server game module executes the request and creates game result defining game session data for the current game phase. This data is stored in the server database and a response comprising the game result defining data is transmitted to the client whereupon a presentation of the game result is output to the player and the game phase is ended.
  • the presentation of the game result to the player typically comprises updating a screen display of the gaming machine.
  • the gaming machine e.g. the client game module
  • the gaming machine is set in a waiting mode waiting for input from the player.
  • the gaming machine e.g. the client game module and the server game module executes the game rules, moves the game process to the beginning of the next phase, stops and again goes into the waiting mode to wait for player input. From a gaming system macro perspective the execution of a game progresses in discrete steps where the game phases are the smallest units of execution.
  • Fig 5 shows a schematic sequence diagram that illustrates communications between a client game module 502 of a gaming machine and a remote data storage and server game module 504, as well as executed steps occurring during a game phase depicted in relation to time lines 520.
  • the current game phase starts at 506 Time A and a waiting mode is entered and lasts until there is a game round event 512 comprising transmitting a request 512 from the gaming machine/client game module 502.
  • the request is received at the remote data storage/server game module 504 whereupon in step 514 the request is executed and resulting game session data is stored in a database residing in the data storage.
  • a procedure call to generate the game result defining data would correspond to the request.
  • the execute and storage step 514 is completed at 508 Time Al and thereafter in step 516 a response comprising resulting game session data is transmitted from the remote data storage/server game module 504 to the gaming machine/client game module 502. After receipt of the response the gaming machine/client game module 502 presents an output, e.g. an animation of a game outcome via the display screen dependent on the result of the execution in the game round event, which is terminated at 510 Time B with a transition into the next game phase.
  • the execution and storage step 514 is treated to be atomic in the sense that either it is completed or it is entirely failed.
  • a game phase is considered to be complete when the execution and storage step 514 has been completed, i.e. at 508 Time Al, whether or not the following steps 516,518 up to 510 Time B have been completed when an interruption occurs.
  • a player initiates a player session 401 on the client gaming machine 2 by inputting a start command to the client game module 18 via an I/O-interface (22,24,28) which may be a traditional button or a button field on a touch screen.
  • the initiation of a player session would preferably also comprise a monetary transaction for bets in the game, for example by the player adding a coin to a cash box 24 or by means of an account transaction.
  • the client reconnect handler 30 comprised in the client gaming machine 2 transmits a request for the reservation of a reconnect identity code together with a client identification code for identification of the specific gaming machine to the server. This request is received by the server reconnect handler 32 similarly comprised in the gaming server 4.
  • the request is executed by the server reconnect handler 32 whereby a reconnect identity code is generated and stored associated with the client identification code in a database 10.
  • a player session identity code is generated and associated with the reconnect identity code in the database 10, and a player session 402 is established.
  • the reconnect identity code is transmitted to the client reconnect handler 30 and is stored in local data storage 29 in the client gaming machine 2 for the purpose of enabling communication of the reconnect identity code to the player.
  • a selected game is started by the player inputting a game start command to the game client module 18 via the game application program interface 20 of the client gaming machine 2, and a request to start a game session is transmitted to the gaming server 4.
  • a game session identity code is generated and stored associated with the player session identity code, a game session 402 is established and a game phase 406 of a game round 404 is entered.
  • the player triggers a game round event by giving a game related input to the client game module 18 whereupon a request for a service is transmitted to the server game module 8.
  • An input signal from the player is received by the client game module and a function determines game parameters dependent on logical rules based on the nature of the game and generates a request to send to the server game module.
  • the client game API provides an instance of a data structure, preferably in the shape of a data object, for the client game module to access and store game context parameters comprising said determined game parameters.
  • the determined game context parameters and the generated request are then communicated to the game server module.
  • the server game API receives the game context parameters and the request, and provides an instance of a data structure, preferably in the shape of a data object, for the server game module to access and store.
  • the data structure comprises allocations for game context parameters, the game request and the game response.
  • the game response is the response of the server game module of to the game request generated by the client game module.
  • the server game module thus accesses and receives or reads the game parameters and the request from the data structure.
  • the request is executed by the server game module 8 with the aid of the service functions of the server.
  • the execution of this request would typically comprise the generation of a random number RNG and the determination of an outcome dependent on the RNG.
  • Outcome parameters are thus determined and a response is generated and stored in the game response allocation of the data structure.
  • the game response and possibly also the game context parameters are then communicated back to the client game module. Possibly also game configuration parameters are communicated to the client game module with the response.
  • An embodiment of the invention comprises a cashing mechanism for intermediary storage of a game state.
  • the game state information would comprise game context parameters, configuration parameters, previous requests, and previous responses. This feature is useful in multistate games.
  • a consistency or error check may occur in the server before the response is sent to the client. This would for example include calculating bet values and win values and compare with a resulting monetary balance of the player.
  • Game session data generally comprises game parameters generated by the client game module s well as parameters generated by the server game module. The selection may vary in different execution cases and embodiments, and would preferably comprise: the bet value, the random number and the win value that are valid for the current game phase.
  • the selection of game session data is stored in the database 10 and is transmitted with a response to the client gaming machine 2.
  • the received selection of game session data is cashed, i.e. temporarily stored in data storage of the client gaming machine 2.
  • the response including information about the outcome, is received by the client game module.
  • the outcome of the game round event is presented to the player for example via image output on a presentation screen of the client gaming machine 2 and possibly a win value being added to a monetary balance of the player.
  • the steps 8-12 are normally repeated until a game round is ended for example by the fact that a bet monetary balance has been consumed, or the player selects a new game to play.
  • the reconnect identity code for the current game execution instance is in the server database associated with a status indicator indicating that the game execution has been interrupted.
  • the reconstruction of an interrupted game can be implemented in various manners.
  • One embodiment comprises of the following steps.
  • the reconnect identity code as a key
  • the associated game session data is retrieved from the server database under the control of the server reconnect handler 30.
  • the server reconnect handler 30 uses the retrieved game session data as input to the server game module 8 and generates the last response from the server game module that should have been transmitted to the client gaming machine unless the interruption had occurred.
  • Reconnect information comprising game session data is compiled and transmitted to the client reconnect handler 30 of the client gaming machine.
  • this reconnect information comprises the game identifications for the server game module and the client game module, game session data including an initial monetary balance, all requests and all responses of the event history.
  • the client game module is initiated and the game is executed by the client reconnect handler 30 using the game session data as input up to the last completed game phase before the point of interruption, called the reconnect target point.
  • the requests that are generated in the reconnect execution are discarded and after each request the game is presented with the corresponding response from the game session data. Since the client reconnect handler 30 has access to all the requests as well as the responses to the requests it is enabled that a check of a proper reconstruction of the game session can be performed.
  • the game is executed up to the reconnect target point without presenting the intermediate results to the player in order to speed up the execution and avoid confusing the player.
  • the corresponding result and state of the game is presented to the player via the graphical user interface and the game enters a waiting mode waiting for the next input from the player.
  • the invention has the effect that the game application program and its developers do not have to and is not allowed to deal with other functions than the logical rules for the game.
  • These other functions comprise input/output interfaces, functions relating to statistics parameters and configuration parameters, as well as problems and functions relating to the interruption, reconnect and reconstruction of a game.
  • the framework around the game application program controls its execution and the input for reconstruction of a game.
  • the invention has been described by way of exemplifying embodiments, but naturally there are various manners of realising the invention within the scope of the claims.
  • An embodiment of the invention comprises a method and a computer program product for realising a game development tool.
  • a method of developing a computer based gaming application in accordance with the inventive concept comprises providing software adapted to simulate a client gaming machine and a server adapted to simulate a gaming server.
  • the client and the server are adapted to be executed in a common data processing system and are preferably implemented in a computer program product as computer executable code stored on a data carrier or a memory.
  • This computer program product embodies a game developer's kit enabling game developer to develop games for a gaming system in accordance with the inventive concept and provides a simulated game system configuration as described above but executable on a local stand alone computer.
  • This aspect of the invention thus comprises providing in the server a general gaming function that is executable in response to a call; providing in the server a gaming application program interface enabling communication with said general gaming function; and providing in the client a gaming application program interface enabling communication with said client.
  • the gaming application program interface the game developer generates and installs in the server a server module of a specific gaming application program; generates and installs in the client a client module of the specific gaming application program; generates and installs in the client gaming specific functions that are executable in response to a call from the client module via the gaming application program interface of the client.
  • the client that thus simulates a gaming machine that operates as a container for the games, the graphics and the audio subsystems, respectively, and is responsible for loading, start-up, shut-down and communication with server and the player.
  • Utility libraries for example in XML or string format are provided as tools for generating reusable functions such as buttons, dice, movements of graphical items and the like.
  • the developer uses general gaming functions provided in the simulated server, for example a simulated database and a random number generator.
  • the database is simulated by reading and writing XML files.
  • Dynamic data that is normally, i.e. in real system operation, stored in the database, such as player sessions and player account balance, is simulated in the server.
  • the random number generator preferably comprises hardware, e.g. in the shape of a hardware based random number generator to be connected to a serial port of the developer's computer and software components. In the possible absence of a hardware random number generator, a random number can be emulated.
  • an embodiment of a computer program product for developing a computer based gaming application for a gaming system comprises computer program code portions devised to a control a data processing system to realise number of emulators.
  • a client gaming machine emulator 604 is devised to emulate a client gaming machine having means for executing a client module 610 of a game application program in the client gaming machine, and means for determining game parameters in response to player input signals and dependent on logical rules for the game defined in said client game module 610.
  • the game development tool 602 further comprises a gaming server emulator 612 devised to emulate a gaming server having means for executing a server game module 616 of said game application program in the gaming server in response to said game parameters being communicated to said server module, and means for determining an outcome dependent on conditions for the game defined in said server game module 616, dependent on said communicated game parameters and dependent on a random number.
  • the random number is preferably generated in the gaming server emulator 612 by means of an emulated random number generator comprised in a general server gaming functions emulator 618.
  • a database emulator is comprised to emulate a database of the emulated server 612.
  • the computer program product further comprises a client input/output interface emulator 606 devised to emulate an input/output interface of a client gaming machine for communicating with a player as well as other general client gaming functions (not shown) as previously described. Since the structure coincides with the client and server as described above numeral reference is also made to Fig 1 and Fig3. Means are further provided for emulating the following functions:
  • -a client control module (34) devised to control the execution of functions and communications of the emulated client gaming machine 604, said client control module (34) being devised to control the execution of said client game module (18,610) of a game application program provided for the emulated client gaming machine (604); -general client functions (22,24,26,28) providing input and output functions for communication between a user and functions of said gaming system;
  • client game application program interface (client game API, 20) enabling communication with a client game module of a game application program;
  • client API client application program interface
  • server game application program interface (server game API, 6, 614) provided in the emulated server (4, 612) and enabling communication with the server module (8, 616) of said game application program;
  • -a client handler (36) devised to manage communications and functions of the emulated client gaming machine (2, 604);
  • server API, 40 a server application program interface provided in the emulated server (4) and enabling internal communication between functional units (6,8,10,12,32,36) of the emulated server (4, 612 ) and external communication with functional units of the emulated client gaming machine (2, 604).
  • the effect of the game development tool is that a game developer can work, develop and test his game application program in an environment that reproduces a real runtime environment for the game.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Pinball Game Machines (AREA)

Abstract

A method and a system for operating a gaming application in a computer based gaming system having a client gaming machine connected to a gaming server, wherein: a client module of a game application program is executed in the client gaming machine; game parameters are determined in response to player input signals and dependent on logical rules for the game defined in said client module; a server module of said game application program is executed in the gaming server in response to said game parameters being communicated to said server module; outcome parameters are determined dependent on conditions for the game defined in said server module, dependent on said communicated game parameters and dependent on a random number generated in the gaming server. (Fig 1)

Description

Gaming System
Technical Field
The present invention relates in general to a gaming system for operating computerized games of chance, the system comprising gaming machines communicating with a central gaming server.
Background
Traditionally, computerized games of chance have mainly been developed by providers of gaming machines and gaming systems, whereas independent game developers largely have been barred from this market. The reasons are inter alia found in regulatory barriers with regard to betting, paying out winning prizes, security and the like. Another reason is the reluctance of the main providers of gaming machines to expose themselves to increased competition. This has resulted in a rigid tradition that games as well as control and operation information has been implemented in decentralized systems provided by manufacturers of gaming machines, also called interactive video terminals abbreviated IVT:s. However, this manner of manufacturing and operating gaming systems is inefficient, costly, difficult to update and offers a limited control of functionality and security. There is therefore a demand for more flexible gaming systems.
Prior Art
Examples of prior art is found in the following patent publications, which for the sake of enablement of per se known parts of the invention are incorporated by reference in this specification. WO03023647 discloses a method for developing gaming programs compatible with a computerized gaming operating system and apparatus.
WO2004051588 discloses a hosted game development environment.
US20030148806 discloses a method and apparatus for optimizing game design and development upon multiple game systems. WO03028828 discloses a game development architecture that decouples the game logic from the graphic logics.
US20040180722 discloses a centralized gaming system with modifiable remote display terminals.
KR010007668 discloses a method and system for network game service. CA2358237 discloses a gaming hardware simulator.
US20020028705 discloses a system and method for generating games and tests.
Object of the Invention It is an object of the present invention to provide a system for operating games in a computer based gaming system, which enables game application production for an open gaming system architecture.
Summary of the Invention The object is achieved by providing a gaming system concept in a client-server based architecture devised to operate modular game application programs for executing a game of chance.
A game application program comprises a game specific client module that is executed in a client gaming machine provided with a game application program interface and a game specific server module executed in a gaming server also provided with a game application program interface. The gaming machine as well as the gaming server comprises general gaming functions that are available as services for different games executed by the respective gaming specific client and server modules. In the client gaming machine there are general client gaming functions such as a graphical user interface, a cashbox, sound presentation means, buttons and data communications means typically devised for providing an interface between the player and the specific game as well an interface between the specific game and the server. In the gaming server there are general server gaming functions in particular a random number generator, a database and a gaming application program interface via which the gaming specific server module calls the general gaming functions upon a request from the client module.
During execution of a game the client game module of the game application program interacts with a player via input/output interfaces, typically a set of buttons and a display screen, and determines game parameters dependent on a set of logical rules for the game defined in the client game module and dependent on player input signals. Game parameters are for example symbols, positions, card values or card colours dependent on the nature of the game as well as a value for a current bet. At game stages that involve the deterrnining of a random outcome, selected game parameters are communicated together with a request to the server game module. The server game module is executed and thereby determines a random outcome dependent on a set of logical rules that define conditions for outcomes, dependent on said selected game parameters and dependent on a random number that the server game module receives on request from the random number generator provided in the server. The determined outcome, typically comprising a win or lose outcome and possibly a prize, is communicated back to the client game module which after receipt determines and outputs a game presentation dependent on the outcome. The bet values and the prize values are preferably further dependent on configuration parameters that are centrally pre-settable and made available to the game application program. In this manner the game logics is separated from security sensitive, reliability sensitive and configuration related functions and information that are provided in the central server. In accordance with an aspect of the invention the game application program modules are embedded behind the application program interfaces that provide a well defined interface for communication with functions external from game application program. The gaming machine is for this purpose provided with a client game application program interface devised for communication with the game application program module. General client gaming functions, e.g. the mentioned input/output interface, are provided in the client gaming machine and are available for the client game module via the client game application program interface. Similarly, the gaming server comprises general server gaming functions, e.g. the mentioned random number generator and a database, and a server game application program interface via which the server game module communicates with the general server gaming functions.
In accordance with another aspect of the invention, the game application program interfaces comprise means for managing the respective game modules. These game manager functions comprise configuration handling and provisions of data structures that carries game parameters, game requests and game responses. In accordance with yet another aspect of the invention, the system is configured to record in the server database, inputs to the game software during execution. More specifically, at least user inputs and all random numbers that occur during the execution of a game are stored in the server database with an associated game session identity code. In this context, the stored user input should be understood to mean a selection of the actual user input, the received user input signal, a representation of the user input or the response by the game application program on a user input. This enables the reconstruction of a game session as well as verification of correctness as well as statistics and monitoring functions. Brief Description of Accompanying Drawings
The inventive concept is further explained by means of examples and in conjunction with the accompanying drawings, in which:
Fig 1 shows a schematic outline of a client-server based gaming system according to an embodiment of the invention.
Fig 2 shows a flow chart of a simple example of a gaming application.
Fig 3 shows a variety of the gaming system in accordance with the invention.
Fig 4 shows a schematic view of different phases of a game.
Fig 5 shows a schematic sequence diagram. Fig 6 shows a schematic illustration of an embodiment of a game development tool.
Detailed Description of Embodiments of the Invention
The Figures illustrate the configuration of a gaming system as well as a method for operating a gaming application, a method for developing a gaming application and a computer program product in accordance with the invention.
Fig 1 shows schematically a client and server based computerised gaming system with a gaming machine 2, herein also called a video lottery terminal, set up as a client gaming machine 2 and a gaming server 4 that are communicatively coupled. The gaming machine 2 and the gaming server 4 are provided with data processors, memory means, data communications interfaces, control programs, user input/output interfaces etc. in a per se well known manner. Different functions and features that are specific for the present invention are preferably realised by means of software computer program code executed on data processing means comprised in the server and in the client respectively, or by means of specifically designed electronic components, or by means of combinations of software and electronic components. In the example of Fig 1 there is only a single client gaming machine but of course a number of client gaming machines can be and is normally connected to a server. In this context a server generally means hardware and software units in a central system that comprises and provides server functions, database functions and other centralised functions to connectable client gaming machines. The server 4 is provided with a game application program interface, in short called server game API 6, enabling communication between a server module of a specific game application program 8 and general server gaming functions 10,12,14,16 installed on the server. The general server gaming functions are provided to be available for any specific game application program independently of the specific game content. These general server gaming functions are typically critical functions such as a database 10, a random number generator 12, an account service function 14, a log service function 16, or other functions that beneficially are shared and used by different specific game application programs.
The client gaming machine 2 is also provided with a game application program interface, in short called client game API 20, enabling communication between a client game module 18 of the specific game application program and general client gaming functions 22,24,26,28 installed on the client gaming machine 2 and used by different client game modules. The general client gaming functions are designed for assisting in implementing and executing a specific game on the client gaming machine 2 and are available for the client game module 18. These general client gaming functions are in different embodiments a selection of a graphical user interface GUI 22, a cashbox function 24, a sound function 26, user input interface function, for example buttons, 28, data storage 29, a printer 3, a bar code reader 33 and other functions that are related to the performance of a game. The client game module 18 is communicatively coupled to the corresponding server game module 8 for communicating requests 9 and responses 11 in order to utilize the general gaming functions provided in the server. For each game a message protocol for communication between the client module and the server module is generated, the protocol is for example based on XML and is shared by the client and the server.
A specific game application program in accordance with the invention thus comprises a server game module 8 and a client game module 18 that communicate either directly or via an application program interface on the client side and the server side respectively as shown in Fig 1 and Fig 3. The client game module 18 uses a selection of general client gaming functions that are available in the client gaming machine, whereas the server module 8 uses a selection of general server gaming functions 10,12,14,16 that are commonly used by different game applications and that are provided and available centrally in the server 4.
In accordance with an embodiment of the invention, interruption or abnormal termination of a player session during playing a game is handled by means of a reconnect function. The reconnect function is managed by storing the previous game configuration in the database at the beginning of each game round. AU user interactions and inputs that occur during the game round as well as the random numbers that were generated are stored in the server database. When a player session is terminated abnormally a reconnect voucher is created by the client gaming machine and output to the user. The voucher comprises account balance information and a voucher identity code used to identify the interrupted game. The player can thereafter request a reconnect by inputting the voucher to the same or another gaming machine. The game is initialised with the game session properties that were stored at the beginning of the round and retrieved from the database by means of the voucher identity code. Thus the reconnect function enables the player to continue the game at the same stage as when interrupted.
Fig 3 shows a more detailed view of the configuration of a client and a server in a gaming system in accordance with an embodiment of the invention and similar to that of Fig 1. In the gaming server 4 the server game module 8 is embedded behind an application program interface called server game API 6 through which all communication of the server game module 8 takes place. The gaming server 4 further comprises a server application program interface in short called server API 40 through which all communication with the general server gaming functions 10,12,14,16 from the part of the server game API 6 as well as from the part of other server functions and external communication takes place. The server 4 is further provided with a server reconnect handler 32 that in a preferred embodiment is integrated with the server game API 6. The server reconnect handler 32 comprises functional means devised to manage game session information relating to a reconnect identity code and devised to communicate inputs to and outputs from the server game module 8 for the purpose of re-executing the game session up to the point of interruption. This functionality realises a replay function and substitutes the client functionality during reconstruction of a game session.
The gaming server 4 is also provided with further server function modules, in the exemplifying embodiment more specifically comprising a client handler 36 that is communicatively coupled to the server API 40. The client handler 36 manages, inter alia handles and serves, communications and functions of the client 2 other than the specific game applications. As illustrated in the drawing with a double arrow, communications with the client gaming machine 2 takes place via the server API 40 and a similar client API 38 provided in the client gaming machine 2.
In a manner similar to that described above, the communication with the general client gaming functions is carried out via the client API 38. The client gaming machine 2 comprises a client control module 34 that controls communications and general functions of the client gaming machine other than the specific game applications and communicates via the client API 38. In the gaming client 2 the client game module 18 is, similar to the configuration of the server, embedded behind an application program interface called client game API 20 through which all communication of the client game module 18 takes place. The client 2 is further provided with a client reconnect handler 30 that in a preferred embodiment is integrated with the client game API 6. The client reconnect handler 30 comprises functional means devised to manage game session information relating to a reconnect identity code and devised to communicate inputs to and outputs from the client game module 8 for the purpose of re-executing the game session up to the point of interruption. This functionality realises a replay function and substitutes the client functionality during reconstruction of a game session. In one embodiment, the replay is executed in the server after having retrieved stored game session information from the database to the server reconnect handler. In another embodiment, the replay is executed in the client after having retrieved the stored game session information from the database and communicated said information to the client reconnect handler. In yet another embodiment, a part of the replay is executed in the server and a part is executed in the client. The latter variety allows for replaying overlapping or entire parts of the replay in the server and in the client, and to verify that the respective replay execution is correct. Fig 2 shows schematically a simple example of a portion of a gaming application in accordance with the invention, more particularly a flip coin game of chance. The game is run by executing the client game module 18 and the general client gaming functions of the flip coin gaming application in a client gaming machine in step 202. In step 204 the player is presented a message asking the player to bet on heads or tails. The player places a bet 206 and a result is calculated in 208. Step 208 involves the client game module 18 sending a request to the server game module 8 to generate an outcome of the game. The server game module in its turn calls the random number generator 12 and receives a random number in return. The server game module calculates an outcome according to predetermined rules for the game and dependent on the returned random number. Thereafter, a response with the outcome Win or Lose is communicated back to the client game module. If the outcome is Lose 210 the player is presented a message showing that player lost 212, and the game is ended in 214. If, on the other hand the outcome is Win 216 the player is presented a message asking player to collect the prize or double a bet again 218. If the player inputs a request to Double 224, a new result is calculated in 208 in the above manner. If on the other hand the player inputs a request to Collect 219, the prize, usually in the form of cash or credit money, is paid to the player and the game ends in 222. The payout of a prize again preferably involves requesting services from the server game module and for example utilizing the general server gaming functions account function 16 and database function 10.
In accordance with the inventive concept, the client game module comprises computer program code portions devised to control the data processing system in the client gaming machine to determine game parameters in response to player input signals and dependent on logical rules for the game defined in said client module. The server module comprises computer program code portions devised to control the data processing system to determine an outcome dependent on conditions for the game defined in said server module, dependent on said game parameters being communicated from the client module and dependent on a random number received from the random number generator 12 that is provided in the server and available for the server game module.
The client module and the server module of the game application are thus isolated from functions other man game specific features by means of game APLs. For the purpose of further isolating and de-coupling the game application program from sensitive functions a previous game configuration is stored in the server database at the beginning of each game round. All user interactions and inputs that occur during the game round as well as the random numbers that were generated are stored in the server database. This enables reconstruction and verification of interrupted game sessions.
Fig 4 illustrates schematically the lifecycle of a game in accordance with an embodiment of the invention drawn in relation to a timeline 424. A player session 401 is initiated by a player by inputting start commands via a user interface of the gaming machine. The player initiates a game and inputs a bet in terms of a monetary value by means of some kind of payment method such as coins or an account transaction and thereby starts a first game session 402. The game session progresses in discrete steps herein called game rounds and exemplified with a first round 404 and a second round 410. Each round in turn progresses in discrete steps called game phases. So for example, round 404 comprises three game phases 406,407 and 408. The transition between game phases is driven by game round events which in different embodiments may have different content and different triggering mechanisms.
A game round event is triggered by an input that starts the generation of a set of associated elements of critical game session data that defines a game result preferably comprising the current bet value, a current generated random number and a current win value. The game round event would usually be triggered by a player making an input through an FO interface such as a push button that conveys game commands like "Deal cards!" in a poker game.
In an embodiment of the invention, a game round event is triggered usually by an input from the player and game parameters that define a game state are determined by means of logical rules realised in the client game module. The client game module contacts the server game module with a request in response to the triggering of a game round event. The server game module executes the request and creates game result defining game session data for the current game phase. This data is stored in the server database and a response comprising the game result defining data is transmitted to the client whereupon a presentation of the game result is output to the player and the game phase is ended. The presentation of the game result to the player typically comprises updating a screen display of the gaming machine.
At the beginning of each game phase, in Fig 4 illustrated with time indicators A5 B5 C5 D, the gaming machine, e.g. the client game module, is set in a waiting mode waiting for input from the player. When a game round event is triggered by the player, the gaming machine, e.g. the client game module and the server game module executes the game rules, moves the game process to the beginning of the next phase, stops and again goes into the waiting mode to wait for player input. From a gaming system macro perspective the execution of a game progresses in discrete steps where the game phases are the smallest units of execution.
Fig 5 shows a schematic sequence diagram that illustrates communications between a client game module 502 of a gaming machine and a remote data storage and server game module 504, as well as executed steps occurring during a game phase depicted in relation to time lines 520. The current game phase starts at 506 Time A and a waiting mode is entered and lasts until there is a game round event 512 comprising transmitting a request 512 from the gaming machine/client game module 502. The request is received at the remote data storage/server game module 504 whereupon in step 514 the request is executed and resulting game session data is stored in a database residing in the data storage. In the simpler embodiment not involving a client-server configuration, a procedure call to generate the game result defining data would correspond to the request. The execute and storage step 514 is completed at 508 Time Al and thereafter in step 516 a response comprising resulting game session data is transmitted from the remote data storage/server game module 504 to the gaming machine/client game module 502. After receipt of the response the gaming machine/client game module 502 presents an output, e.g. an animation of a game outcome via the display screen dependent on the result of the execution in the game round event, which is terminated at 510 Time B with a transition into the next game phase. The execution and storage step 514 is treated to be atomic in the sense that either it is completed or it is entirely failed. A game phase is considered to be complete when the execution and storage step 514 has been completed, i.e. at 508 Time Al, whether or not the following steps 516,518 up to 510 Time B have been completed when an interruption occurs.
The communication between the gaming machine and the server as well as other steps that are performed for realising the invention are described in the following exemplifying embodiment based on the client-server configuration. Reference is made to Fig 1-4. The numbered list below is merely for reference purpose and does not necessarily mean that the steps are performed in a sequence corresponding to the indicated numerical order.
1. A player initiates a player session 401 on the client gaming machine 2 by inputting a start command to the client game module 18 via an I/O-interface (22,24,28) which may be a traditional button or a button field on a touch screen. The initiation of a player session would preferably also comprise a monetary transaction for bets in the game, for example by the player adding a coin to a cash box 24 or by means of an account transaction.
2. The client reconnect handler 30 comprised in the client gaming machine 2 transmits a request for the reservation of a reconnect identity code together with a client identification code for identification of the specific gaming machine to the server. This request is received by the server reconnect handler 32 similarly comprised in the gaming server 4.
3. The request is executed by the server reconnect handler 32 whereby a reconnect identity code is generated and stored associated with the client identification code in a database 10.
4. A player session identity code is generated and associated with the reconnect identity code in the database 10, and a player session 402 is established.
5. The reconnect identity code is transmitted to the client reconnect handler 30 and is stored in local data storage 29 in the client gaming machine 2 for the purpose of enabling communication of the reconnect identity code to the player.
6. A selected game is started by the player inputting a game start command to the game client module 18 via the game application program interface 20 of the client gaming machine 2, and a request to start a game session is transmitted to the gaming server 4.
7. A game session identity code is generated and stored associated with the player session identity code, a game session 402 is established and a game phase 406 of a game round 404 is entered.
8. The player triggers a game round event by giving a game related input to the client game module 18 whereupon a request for a service is transmitted to the server game module 8. An input signal from the player is received by the client game module and a function determines game parameters dependent on logical rules based on the nature of the game and generates a request to send to the server game module. The client game API provides an instance of a data structure, preferably in the shape of a data object, for the client game module to access and store game context parameters comprising said determined game parameters. The determined game context parameters and the generated request are then communicated to the game server module.
9. The server game API receives the game context parameters and the request, and provides an instance of a data structure, preferably in the shape of a data object, for the server game module to access and store. The data structure comprises allocations for game context parameters, the game request and the game response. The game response is the response of the server game module of to the game request generated by the client game module. The server game module thus accesses and receives or reads the game parameters and the request from the data structure. The request is executed by the server game module 8 with the aid of the service functions of the server. The execution of this request would typically comprise the generation of a random number RNG and the determination of an outcome dependent on the RNG. Outcome parameters are thus determined and a response is generated and stored in the game response allocation of the data structure. The game response and possibly also the game context parameters are then communicated back to the client game module. Possibly also game configuration parameters are communicated to the client game module with the response.
10. An embodiment of the invention comprises a cashing mechanism for intermediary storage of a game state. The game state information would comprise game context parameters, configuration parameters, previous requests, and previous responses. This feature is useful in multistate games. 11. A consistency or error check may occur in the server before the response is sent to the client. This would for example include calculating bet values and win values and compare with a resulting monetary balance of the player.
12. Execution steps that are performed by the server game module 8 for each request as well as results and outcomes of the execution make up game session data, i.e. information that applies to the currently ongoing game session. A subset of the game session data is the result of a game round event and applies to the current game phase. A selection of these game session data are compiled and cashed, i.e. temporarily stored in data storage of the server 8. Game session data generally comprises game parameters generated by the client game module s well as parameters generated by the server game module. The selection may vary in different execution cases and embodiments, and would preferably comprise: the bet value, the random number and the win value that are valid for the current game phase. The selection of game session data may also comprise optional pieces of information regarding the sequence of events called event history, each request and response, a pot at stake, the request, the response to the client gaming machine, game configuration information and a status indicator devised to indicate whether the game session has been completed or interrupted e.g. indicating last event = true/false.
13. The selection of game session data is stored in the database 10 and is transmitted with a response to the client gaming machine 2. The received selection of game session data is cashed, i.e. temporarily stored in data storage of the client gaming machine 2.
14. The response, including information about the outcome, is received by the client game module. The outcome of the game round event is presented to the player for example via image output on a presentation screen of the client gaming machine 2 and possibly a win value being added to a monetary balance of the player. 15. The steps 8-12 are normally repeated until a game round is ended for example by the fact that a bet monetary balance has been consumed, or the player selects a new game to play.
16. If an interruption occurs, for example triggered when the client looses contact with the server, then the reconnect identity code for the current game execution instance is in the server database associated with a status indicator indicating that the game execution has been interrupted.
17. The reconstruction of an interrupted game can be implemented in various manners. One embodiment comprises of the following steps. With the reconnect identity code as a key, the associated game session data is retrieved from the server database under the control of the server reconnect handler 30. The server reconnect handler 30 uses the retrieved game session data as input to the server game module 8 and generates the last response from the server game module that should have been transmitted to the client gaming machine unless the interruption had occurred. In different embodiments Reconnect information comprising game session data is compiled and transmitted to the client reconnect handler 30 of the client gaming machine. In one embodiment this reconnect information comprises the game identifications for the server game module and the client game module, game session data including an initial monetary balance, all requests and all responses of the event history. In the client gaming machine, the client game module is initiated and the game is executed by the client reconnect handler 30 using the game session data as input up to the last completed game phase before the point of interruption, called the reconnect target point. In contrast with the normal execution of a game, the requests that are generated in the reconnect execution are discarded and after each request the game is presented with the corresponding response from the game session data. Since the client reconnect handler 30 has access to all the requests as well as the responses to the requests it is enabled that a check of a proper reconstruction of the game session can be performed. Preferably, the game is executed up to the reconnect target point without presenting the intermediate results to the player in order to speed up the execution and avoid confusing the player.
18. After the last event and thereby the last completed game phase has been executed, the corresponding result and state of the game is presented to the player via the graphical user interface and the game enters a waiting mode waiting for the next input from the player.
The invention has the effect that the game application program and its developers do not have to and is not allowed to deal with other functions than the logical rules for the game. These other functions comprise input/output interfaces, functions relating to statistics parameters and configuration parameters, as well as problems and functions relating to the interruption, reconnect and reconstruction of a game. Instead the framework around the game application program controls its execution and the input for reconstruction of a game. The invention has been described by way of exemplifying embodiments, but naturally there are various manners of realising the invention within the scope of the claims.
Game Development Tool
An embodiment of the invention comprises a method and a computer program product for realising a game development tool. A method of developing a computer based gaming application in accordance with the inventive concept comprises providing software adapted to simulate a client gaming machine and a server adapted to simulate a gaming server. The client and the server are adapted to be executed in a common data processing system and are preferably implemented in a computer program product as computer executable code stored on a data carrier or a memory. This computer program product embodies a game developer's kit enabling game developer to develop games for a gaming system in accordance with the inventive concept and provides a simulated game system configuration as described above but executable on a local stand alone computer.
This aspect of the invention thus comprises providing in the server a general gaming function that is executable in response to a call; providing in the server a gaming application program interface enabling communication with said general gaming function; and providing in the client a gaming application program interface enabling communication with said client. By means of the gaming application program interfaces the game developer generates and installs in the server a server module of a specific gaming application program; generates and installs in the client a client module of the specific gaming application program; generates and installs in the client gaming specific functions that are executable in response to a call from the client module via the gaming application program interface of the client.
The client that thus simulates a gaming machine that operates as a container for the games, the graphics and the audio subsystems, respectively, and is responsible for loading, start-up, shut-down and communication with server and the player. Utility libraries, for example in XML or string format are provided as tools for generating reusable functions such as buttons, dice, movements of graphical items and the like.
In the development process the developer uses general gaming functions provided in the simulated server, for example a simulated database and a random number generator. The database is simulated by reading and writing XML files. Dynamic data that is normally, i.e. in real system operation, stored in the database, such as player sessions and player account balance, is simulated in the server. The random number generator preferably comprises hardware, e.g. in the shape of a hardware based random number generator to be connected to a serial port of the developer's computer and software components. In the possible absence of a hardware random number generator, a random number can be emulated.
After having developed the program functionality the developer compiles the generated server module, the generated client module and the generated gaming specific functions of the specific gaming application program into a data format that is executable on a gaming system in accordance with the inventive concept. The game development tool is devised to emulate all the client and server functions that are described above in the description of client and server functionality. Fig 6 schematically illustrates an overview of functional units and mechanisms that are emulated in the game development tool 602. Thus, an embodiment of a computer program product for developing a computer based gaming application for a gaming system comprises computer program code portions devised to a control a data processing system to realise number of emulators. A client gaming machine emulator 604 is devised to emulate a client gaming machine having means for executing a client module 610 of a game application program in the client gaming machine, and means for determining game parameters in response to player input signals and dependent on logical rules for the game defined in said client game module 610. The game development tool 602 further comprises a gaming server emulator 612 devised to emulate a gaming server having means for executing a server game module 616 of said game application program in the gaming server in response to said game parameters being communicated to said server module, and means for determining an outcome dependent on conditions for the game defined in said server game module 616, dependent on said communicated game parameters and dependent on a random number. The random number is preferably generated in the gaming server emulator 612 by means of an emulated random number generator comprised in a general server gaming functions emulator 618. Similarly, a database emulator is comprised to emulate a database of the emulated server 612. The computer program product further comprises a client input/output interface emulator 606 devised to emulate an input/output interface of a client gaming machine for communicating with a player as well as other general client gaming functions (not shown) as previously described. Since the structure coincides with the client and server as described above numeral reference is also made to Fig 1 and Fig3. Means are further provided for emulating the following functions:
-a client control module (34) devised to control the execution of functions and communications of the emulated client gaming machine 604, said client control module (34) being devised to control the execution of said client game module (18,610) of a game application program provided for the emulated client gaming machine (604); -general client functions (22,24,26,28) providing input and output functions for communication between a user and functions of said gaming system;
-a client game application program interface (client game API, 20) enabling communication with a client game module of a game application program;
-a client application program interface (client API, 38) enabling communication between functions within the emulated client gaming machine 604 and between the emulated client gaming machine 604 and the emulated gaming server 612;
-general server functions (618) providing a random number generator (12) and a database (10) in the emulated server (4,612);
-a server game application program interface (server game API, 6, 614) provided in the emulated server (4, 612) and enabling communication with the server module (8, 616) of said game application program;
-a client handler (36) devised to manage communications and functions of the emulated client gaming machine (2, 604);
-a server application program interface (server API, 40) provided in the emulated server (4) and enabling internal communication between functional units (6,8,10,12,32,36) of the emulated server (4, 612 ) and external communication with functional units of the emulated client gaming machine (2, 604).
The effect of the game development tool is that a game developer can work, develop and test his game application program in an environment that reproduces a real runtime environment for the game.

Claims

Claims
1. A method for operating a gaming application in a computer based gaming system having a client gaming machine connected to a gaming server, wherein: a client module of a game application program is executed in the client gaming machine; game parameters are determined in response to player input signals and dependent on logical rules for the game defined in said client module; a server module of said game application program is executed in the gaming server in response to said game parameters being communicated to said server module; outcome parameters are determined dependent on conditions for the game defined in said server module, dependent on said communicated game parameters and dependent on a random number generated in the gaming server.
2. The method of claim 1 , wherein said outcome parameters are communicated to the client game module and output signals dependent on the outcome parameters are generated and output to realise a presentation of the outcome to the player.
3. The method of any of the preceding claims, wherein all communication with the client game module is carried out via a client game application program interface.
4. The method of the preceding claims, wherein game context parameters are provided to the client game module by means of said client game application program interface.
5. The method of any of the preceding claims, wherein game configuration parameters are provided to the client game module by means of said client game application program interface.
6. The method of any of the preceding claims, wherein all communication with the server game module is carried out via a server game application program interface.
7. The method of any of the preceding claims, wherein game context information is provided to the server game module by means of said server game application program interface.
8. The method of any of the preceding claims, wherein game context information comprises said determined game parameters.
9. The method of any of the preceding claims, wherein said game parameters comprises a bet value.
10. The method of any of the preceding claims, wherein said outcome parameters comprises a win value.
11. The method of any of the preceding claims, wherein game configuration parameters are provided to the server game module by means of said server game application program interface.
12. A computer program product comprising computer program code portions devised to control a data processing means to perform the steps and functions of any of the preceding claims.
13. A gaming system for operating a gaming application, the system having a computer based client gaming machine connected to a gaming server, comprising computer based data processing means devised to perform the steps and functions of: executing a client module of a game application program in the client gaming machine; determining game parameters in response to player input signals and dependent on logical rules for the game defined in said client module; executing a server module of said game application program in the gaming server in response to said game parameters being communicated to said server module; determining an outcome dependent on conditions for the game defined in said server module, dependent on said communicated game parameters and dependent on a random number generated in the gaming server.
14. The gaming system of the preceding claim, comprising: general server functions providing a random number generator (12) and a database (10) in the server (4); a server game application program interface (server game API5 6) provided in the server (4) and enabling communication with the server module (8) of said game application program; a client handler (36) devised to manage communications and functions of the client gaming machine (2); a server application program interface (server API, 40) provided in the server (4) and enabling internal communication between functional units (6,8,10,12,32,36) of the server (4) and external communication with functional units of the client gaming machine (2); general client functions (22,24,26,28) providing input and output functions for communication between the user and functions of the gaming system; a client game application program interface (client game API5 20) provided in the client gaming machine (2) and enabling communication with the client game module of said specific game application program; a client control module (34) devised to control communications and functions of the client gaming machine.
15. The gaming system of any of the claims 13-14, comprising: a server game module (8) of a game application program provided in the server (4) and devised to execute functions of a game; a client game module (18) of said game application program provided in the client gaming machine (2) and devised to execute functions of said game.
16. The gaming system of any of the claims 13-15, comprising means devised to provide said server game module and/or said client game module with a data structure for storing and accessing game context parameters.
17. The gaming system of any of the claims 13-16, wherein said game context data structure is an instance of a data object provided by said game application program interfaces respectively.
18. The gaming system of any of the claims 13-17, comprising means devised to provide said server game module and/or said client game module with a data structure for storing and accessing game configuration parameters.
19. A computer program product comprising computer program code portions devised to control a data processing means to perform the functions of any of the claims 13-18.
20. A game application program product, comprising: a client module having computer program code portions devised to control a data processing system to determine game parameters in response to player input signals and dependent on logical rules for the game defined in said client module; a server module having computer program code portions devised to control a data processing system to determine an outcome dependent on conditions for the game defined in said server module, dependent on said game parameters being communicated from the client module and dependent on a random number received from a random number generator.
21. A computer program product for developing a computer based gaming application for a gaming system comprising computer program code portions devised to control a data processing system to: emulate a client gaming machine having means for executing a client module of a game application program in the client gaming machine, and means for determining game parameters in response to player input signals and dependent on logical rules for the game defined in said client module; emulate a gaming server having means for executing a server module of said game application program in the gaming server in response to said game parameters being communicated to said server module, and means for determining an outcome dependent on conditions for the game defined in said server module, dependent on said communicated game parameters and dependent on a random number generated in the gaming server.
22. The computer program product of the preceding claim, further comprising computer program code portions devised to control a data processing system to emulate an input/output interface of a client gaming machine devised for communicating with a player.
23. The computer program product of any of the claims 21-22, further comprising computer program code portions devised to control a data processing system to emulate a random number generator of the emulated server.
24. The computer program product of any of the claims 21-23, further comprising computer program code portions devised to emulate a database of the emulated server.
25. The computer program product of any of the claims 21-24, further comprising computer program code portions devised to emulate a client gaming machine (2) being connectable as a client to an emulated gaming server (4), comprising means for emulating: a client control module (34) devised to control the execution of functions and communications of the client gaming machine, said client control module (34) being devised to control the execution of said client game module (18) of a game application program provided for the client gaming machine (2); general client functions (22,24,26,28) providing input and output functions for communication between a user and functions of said gaming system; a client game application program interface (client game API, 20) enabling communication with a client game module of a game application program; a client application program interface (client API, 38) enabling communication between functions within the emulated client gaming machine and between the emulated client gaming machine and the emulated gaming server.
26. The computer program product of any of the claims 21-25, further comprising computer program code portions devised to emulate a gaming server (4) being connectable to an emulated client gaming machine (2), comprising means for emulating: general server functions providing a random number generator (12) and a database (10) in the emulated server (4); a server game application program interface (server game API, 6) provided in the emulated server (4) and enabling communication with the server module (8) of said game application program; a client handler (36) devised to manage communications and functions of the emulated client gaming machine (2); a server application program interface (server API, 40) provided in the emulated server (4) and enabling internal communication between functional units (6,8,10,12,32,36) of the server (4) and external communication with functional units of the emulated client gaming machine (2).
27. A gaming machine (2) being connectable as a client to a gaming server (4), comprising: a client control module (34) devised to control the execution of functions and communications of the client gaming machine, said client control module (34) being devised to control the execution of a client game module (18) of a game application program provided in the client gaming machine (2); general client functions (22,24,26,28) providing input and output functions for communication between the user and functions of the gaming system; a client game application program interface (client game API, 20) enabling communication with a client game module of a game application program; a client application program interface (client API, 38) enabling communication between functions within the gaming machine and between the client gaming machine and a gaming server.
28. A gaming server (4) being connectable to a client gaming machine (2), comprising: a server game module (8) of a game application program provided in the server (4) and devised to execute functions of a game; general server functions providing a random number generator (12) and a database
(10) in the server (4); a server game application program interface (server game API, 6) provided in the server (4) and enabling communication with the server module (8) of said game application program; a client handler (36) devised to manage communications and functions of the client gaming machine (2); a server application program interface (server API, 40) provided in the server (4) and enabling internal communication between functional units (6,8,10,12,32,36) of the server (4) and external communication with functional units of the client gaming machine (2).
29. A method for operating a gaming application in a computer based gaming system having at least one client gaming machine connected to a gaming server comprising: providing in the server a server module of a specific gaming application program; providing in the server a general gaming function; providing in the server a gaming application program interface enabling communication between the server module of said specific gaming application program and said general gaming function; providing in the gaming machine a client module of said specific gaming application program; providing in the gaming machine a gaming specific function that is executable in response to a call from said client module; providing in the gaming machine a gaming application program interface enabling communication between the client module of said specific gaming application program and said gaming specific program function; executing said specific gaming application program by: said client module calling the gaming specific function via the gaming application program interface in the gaming machine; said client module communicating a request to the server module for calling the general gaming function; said server module calling the general gaming function via the application program interface in the server; said server module communicating a response to the client module dependent on the called general gaming function.
30. A computer based gaming system for operating a gaming application, the system having at least one client gaming machine connected to a gaming server, comprising: a server module of a specific gaming application program provided in the server; a general gaming function provided in the server; a gaming application program interface provided in the server and enabling communication between the server module of said specific gaming application program and said general gaming function; a client module of said specific gaming application program provided in the client gaming machine; a gaming specific function provided in the gaming machine and being executable in response to a call from said client module; a gaming application program interface provided in the gaming machine and enabling communication between the client module of said specific gaming application program and said gaming specific program function.
31. The gaming system of the preceding claim, wherein said specific gaming application program is executed by: said client module calling the gaming specific function via the gaming application program interface in the gaming machine; said client module communicating a request to the server module for calling the general gaming function; said server module calling the general gaming function via the application program interface in the server; said server module cornmunicating a response to the client module dependent on the called general gaming function.
32. A method of developing a computer based gaming application comprising: providing a client adapted to simulate a gaming machine and a server adapted to simulate a gaming server, said client and server being adapted to be executed in a common data processing system; providing in the server a general gaming function that is executable in response to a call; providing in the server a gaming application program interface enabling communication with said general gaming function; providing in the client a gaming application program interface enabling communication with said client; generating and installing in the server a server module of a specific gaming application program; generating and installing in the client a client module of said specific gaming application program; generating and installing in the client a gaming specific function that is executable in response to a call from said client module via said gaming application program interface of the client; compiling said generated server module, said generated client module and said generated gaming specific function of said specific gaming application program into an executable data format.
33. A method or system according to any of the preceding claims, wherein the general gaming function comprises a function selected from the group of database, random number generator, account service function and log service function.
34. A method or system according to any of the preceding claims, wherein the gaming specific function comprises a function selected from the group of graphical user interface, cashbox, sound and buttons.
35. A method or system according to any of the preceding claims, wherein an interrupted gaming session is resumed by storing a game configuration in said database at the beginning of each gaming round; in the client gaming machine creating and outputting a voucher in response to an interrupted gaming session, said voucher comprising a gaming session identification code; in a client gaming machine starting a new gaming session and inputting the gaming session identification code; retrieving from the database the game configuration of the interrupted gaming session dependent on said identification code; and executing the new gaming session in accordance with said retrieved game configuration.
36. A computer program product comprising computer program portions devised to control a data processing system to perform the steps and functions of any of the preceding claims.
PCT/SE2005/001717 2004-11-12 2005-11-14 Gaming system WO2006052213A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
AU2005305408A AU2005305408A1 (en) 2004-11-12 2005-11-14 Gaming system
EP05804136A EP1814641A4 (en) 2004-11-12 2005-11-14 Gaming system
US12/433,615 US20100087255A1 (en) 2004-11-12 2009-04-30 Gaming system
US12/497,330 US9697673B2 (en) 2004-11-12 2009-07-02 Gaming interruption and reconnection management
US13/413,180 US20120172135A1 (en) 2004-11-12 2012-03-06 Gaming System
US15/641,829 US20170301174A1 (en) 2004-11-12 2017-07-05 Gaming interruption and reconnection management

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US52284304P 2004-11-12 2004-11-12
US60/522,843 2004-11-12

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US11719059 A-371-Of-International 2005-11-14
US12/433,615 Continuation US20100087255A1 (en) 2004-11-12 2009-04-30 Gaming system

Publications (1)

Publication Number Publication Date
WO2006052213A1 true WO2006052213A1 (en) 2006-05-18

Family

ID=36336786

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/SE2005/001716 WO2006052212A1 (en) 2004-11-12 2005-11-14 Game interruption and reconnection management
PCT/SE2005/001717 WO2006052213A1 (en) 2004-11-12 2005-11-14 Gaming system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/SE2005/001716 WO2006052212A1 (en) 2004-11-12 2005-11-14 Game interruption and reconnection management

Country Status (4)

Country Link
US (2) US20100087255A1 (en)
EP (2) EP1814642A4 (en)
AU (3) AU2005305407B2 (en)
WO (2) WO2006052212A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2019376A2 (en) 2007-07-24 2009-01-28 Acei Ab A jackpot server, a method of processing a jackpot win and a gaming system
EP2022551A2 (en) 2007-06-19 2009-02-11 Acei Ab A method of controlling an update of game code in a gaming system
US20100151947A1 (en) * 2005-11-30 2010-06-17 Konami Digital Entertainment Co., Ltd. Game system, server and terminal
US8616954B2 (en) 2008-11-24 2013-12-31 Aristocrat Technologies Australia Pty Limited Method of gaming, a gaming system and a game controller
US8851965B2 (en) 2012-04-23 2014-10-07 C2 Gaming Llc Video gaming equipments with alternative purchasable bonus events
US9412234B2 (en) 2009-04-08 2016-08-09 Video B Holdings Limited Chain reaction
US9697673B2 (en) 2004-11-12 2017-07-04 Henrik Kniberg Gaming interruption and reconnection management

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2008261125A1 (en) 2008-01-09 2009-07-23 Aristocrat Technologies Australia Pty Limited A jackpot system
US8793398B2 (en) * 2008-08-29 2014-07-29 Red Hat, Inc. Facilitating client server interaction
US8961314B2 (en) * 2009-12-18 2015-02-24 Electronics And Telecommunications Research Institute Device for providing virtual client managing module, apparatus for managing virtual client, and method for testing a game by using virtual client managing module
US9345965B2 (en) 2012-09-17 2016-05-24 King.Com Ltd. Method for implementing a computer game
US9547957B2 (en) * 2012-10-11 2017-01-17 Scientific Games International, Inc. System and method for implementing internet-based games wherein a plurality of different games share a common prize structure
US9539501B2 (en) * 2012-10-11 2017-01-10 Scientific Games International, Inc. System for implementing internet-based games with a core platform, game modules, and protected game outcome generator
US9592441B2 (en) 2013-02-19 2017-03-14 King.Com Ltd. Controlling a user interface of a computer device
US10828558B2 (en) 2013-02-19 2020-11-10 King.Com Ltd. Video game with spreading tile backgrounds for matched tiles
US9079097B2 (en) 2013-02-19 2015-07-14 King.Com Ltd. Video game with replaceable tiles having selectable physics
US9937418B2 (en) 2013-06-07 2018-04-10 King.Com Ltd. Computing device, game, and methods therefor
US10521255B2 (en) 2016-05-19 2019-12-31 International Business Machines Corporation Interface and interruption management
JP6037257B1 (en) * 2016-06-21 2016-12-07 株式会社セガゲームス Information processing apparatus and program
CN107376353B (en) * 2017-07-14 2018-09-04 腾讯科技(深圳)有限公司 Outpost of the tax office configuration method and device
KR102327587B1 (en) * 2020-02-14 2021-11-17 엔에이치엔 주식회사 Method and system for monitoring user who use mobile game macro

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003023647A1 (en) * 2001-09-10 2003-03-20 Igt Method for developing gaming programs compatible with a computerized gaming operating system and apparatus
US20030148806A1 (en) * 2002-02-07 2003-08-07 Weiss Steven A. Method and apparatus for optimizing game design and development upon multiple game systems
US20040106452A1 (en) * 2002-12-02 2004-06-03 Igt Hosted game development environment

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4752068A (en) * 1985-11-07 1988-06-21 Namco Ltd. Video game machine for business use
US6272223B1 (en) * 1997-10-28 2001-08-07 Rolf Carlson System for supplying screened random numbers for use in recreational gaming in a casino or over the internet
DE19502613A1 (en) * 1995-01-27 1996-08-01 Peter Eiba Play equipment system
US6280328B1 (en) * 1996-09-25 2001-08-28 Oneida Indian Nation Cashless computerized video game system and method
US6050898A (en) * 1996-05-15 2000-04-18 Vr-1, Inc. Initiating and scaling massive concurrent data transaction
US6099408A (en) * 1996-12-31 2000-08-08 Walker Digital, Llc Method and apparatus for securing electronic games
WO1998035309A1 (en) * 1997-02-10 1998-08-13 Aristocrat Leisure Industries Pty. Ltd. Distributed game accelerator
US7351142B2 (en) * 1997-03-21 2008-04-01 Walker Digital, Llc Method and apparatus for facilitating play of fractional value lottery games
US6165071A (en) * 1997-05-20 2000-12-26 Casino Data Systems Method and apparatus for gaming in a series of sessions
US6030288A (en) * 1997-09-02 2000-02-29 Quixotic Solutions Inc. Apparatus and process for verifying honest gaming transactions over a communications network
AUPP149998A0 (en) * 1998-01-27 1998-02-19 Aristocrat Leisure Industries Pty Ltd Multi-platform gaming architecture
JP2000288238A (en) * 1999-04-02 2000-10-17 Konami Co Ltd Game system
AU4485600A (en) * 1999-04-29 2000-11-17 Thomas E. Haste III Gaming system with central control
US6592457B1 (en) * 1999-05-26 2003-07-15 Wms Gaming Inc. Gaming machine with player selected events
AU768349B2 (en) * 2000-09-07 2003-12-11 Canon Kabushiki Kaisha Method of recording and replaying a game
US6805629B1 (en) * 2000-09-13 2004-10-19 Casino Data System Gaming device and method
US6811486B1 (en) * 2000-12-20 2004-11-02 Sierra Design Group Method and apparatus for enhancing game play through savable game play state
US7722453B2 (en) * 2001-03-27 2010-05-25 Igt Interactive game playing preferences
GB0203519D0 (en) * 2002-02-14 2002-04-03 Waterleaf Ltd Control system
WO2003093921A2 (en) * 2002-04-30 2003-11-13 Waterleaf Limited System for playing a game
AU2003282576A1 (en) * 2002-10-09 2004-05-04 Legal Igaming, Inc. System and method for connecting gaming devices to a network for remote play
EP1473682A3 (en) * 2003-04-28 2004-12-01 Rok Corporation Ltd Gaming system with remote user interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003023647A1 (en) * 2001-09-10 2003-03-20 Igt Method for developing gaming programs compatible with a computerized gaming operating system and apparatus
US20030148806A1 (en) * 2002-02-07 2003-08-07 Weiss Steven A. Method and apparatus for optimizing game design and development upon multiple game systems
US20040106452A1 (en) * 2002-12-02 2004-06-03 Igt Hosted game development environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1814641A4 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9697673B2 (en) 2004-11-12 2017-07-04 Henrik Kniberg Gaming interruption and reconnection management
US20100151947A1 (en) * 2005-11-30 2010-06-17 Konami Digital Entertainment Co., Ltd. Game system, server and terminal
US8113957B2 (en) * 2005-11-30 2012-02-14 Konami Digital Entertainment Co., Ltd. Game system, server and terminal
EP2022551A2 (en) 2007-06-19 2009-02-11 Acei Ab A method of controlling an update of game code in a gaming system
EP2019376A2 (en) 2007-07-24 2009-01-28 Acei Ab A jackpot server, a method of processing a jackpot win and a gaming system
US8616954B2 (en) 2008-11-24 2013-12-31 Aristocrat Technologies Australia Pty Limited Method of gaming, a gaming system and a game controller
US9711000B2 (en) 2008-11-24 2017-07-18 Aristocrat Technologies Australia Pty Limited Method of gaming, a gaming system and a game controller
US9412234B2 (en) 2009-04-08 2016-08-09 Video B Holdings Limited Chain reaction
US8851965B2 (en) 2012-04-23 2014-10-07 C2 Gaming Llc Video gaming equipments with alternative purchasable bonus events

Also Published As

Publication number Publication date
EP1814642A4 (en) 2011-06-22
WO2006052212A1 (en) 2006-05-18
AU2010202848A1 (en) 2010-07-22
US20120172135A1 (en) 2012-07-05
AU2005305408A1 (en) 2006-05-18
AU2010202848B2 (en) 2011-10-20
EP1814641A4 (en) 2011-06-15
AU2005305407B2 (en) 2010-05-27
US20100087255A1 (en) 2010-04-08
EP1814641A1 (en) 2007-08-08
EP1814642A1 (en) 2007-08-08
AU2005305407A1 (en) 2006-05-18

Similar Documents

Publication Publication Date Title
US20120172135A1 (en) Gaming System
US11967212B2 (en) Electronic gaming machine with base games and upgraded free feature games with multiple versions displayed
US9697673B2 (en) Gaming interruption and reconnection management
US7618317B2 (en) Method for developing gaming programs compatible with a computerized gaming operating system and apparatus
US8777736B2 (en) Self configuring progressive jackpot award system
US10964155B2 (en) Techniques and apparatuses for providing blended graphical content for gaming applications using a single graphics context and multiple application programming interfaces
AU2006336486A1 (en) Game session management
US9053607B2 (en) Emulator for production software outcome validation
AU2016201896B2 (en) Gaming system
AU2013201511B2 (en) Gaming system
AU2012200893B2 (en) Gaming system
AU2015203886B2 (en) Game interruption and reconnection management
AU2016250486B2 (en) Game interruption and reconnection management
US9240099B2 (en) Game outcome validator
AU2012200137B2 (en) Game interruption and reconnection management
AU2014200113A1 (en) Game interruption and reconnection management
US10147272B2 (en) Proxy layer for game input abstraction

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005305408

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2005305408

Country of ref document: AU

Date of ref document: 20051114

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2005804136

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005804136

Country of ref document: EP