FIELD OF THE INVENTION
[0001] The present invention relates to a system and method for managing game specific meters
in a gaming system.
BACKGROUND OF THE INVENTION
[0002] It is often necessary to collect and record data with regard to the number and/or
type of events which occur within a device or machine.
[0003] For example, it is often desirable or necessary to require the collection and recording
of a number of events and measurement parameters that occur when a user interacts
with a gaming machine or a gaming system. Such events or parameters are also called
meters or meter information.
[0004] One example of a meter is a physical hardware device, which in one form may be a
non-resettable (i.e. absolute) counter that registers events such as the input and
output of a monetary value (e.g. the payment of bills or coins), the number of win
events and the amount of each stake or bet.
[0005] Another example is a meter that is created by software in a computing system or computing
module within a gaming machine. Such meters are generally 'held' in volatile or non-volatile
memory, such as RAM (random access memory).
[0006] In some systems a client/server architecture is employed and meters are managed by
the software architecture surrounding the server game software. At least an embodiment
of the present invention relates to an improved meter technique for a client/server
architecture.
SUMMARY OF INVENTION
[0007] In a first aspect, the present invention provides a method for managing game specific
meters in a gaming system, comprising the steps of:
providing a game specific meter module arranged to receive game meter information
from a specific game instance; and
providing the game meter information to a gaming manager application capable of interfacing
with the gaming system.
[0008] On receipt of the game specific information, a database transaction may be initiated
to store the game specific meter information.
[0009] Predefined meter information may also be requested from the gaming application, and
the information may be written to the storage location.
[0010] The information may be deemed as committed on the successful storage of the game
specific meter information.
[0011] On deeming the information as committed, a message may be returned to the gaming
manager application, reporting the successful storage of at least one of the game
specific and meter information.
[0012] The gaming manager application may report successful storage of the game specific
meter information to the gaming application.
[0013] The game specific meter information may also be utilised to calculate a compensated
win, which may include the step of receiving a random number from a random number
generator, and utilising the random number as part of the calculation for a compensated
win.
[0014] The storage location may be a database and the gaming application may reside on a
gaming machine.
[0015] In a second aspect, the present invention provides a system for managing game specific
meters in a gaming system, comprising a game specific meter interface arranged to
receive game meter information of a specific game instance from a gaming application
and provide the game meter information to a gaming manager application capable of
interfacing with the gaming system.
[0016] In a third aspect, the present invention provides a computer program arranged to,
when executed on a computing system, carry out the method steps in accordance with
a first aspect of the invention.
[0017] In a fourth aspect, the present invention provides a computer readable medium incorporating
a computer program in accordance with a third aspect of the invention.
[0018] In a fifth aspect, the present invention provides a data signal comprising the computer
program code in accordance with the third aspect.
[0019] In a sixth aspect, the present invention provides transmitting the data signal in
accordance with the fifth aspect.
DETAILED DESCRIPTION OF THE DRAWINGS
[0020] Embodiments of the present invention will now be described, by way of example only,
with reference to the accompanying drawings in which:
Figure 1 is an example computing system capable of implementing an embodiment of the
invention;
Figure 2 is an example network environment capable of interacting with an embodiment
of the invention;
Figure 3 is a schematic diagram illustrating the component parts of a system in accordance
with an embodiment of the invention; and
Figures 4 and 5 are flow charts depicting the method steps performed by embodiments
of the invention.
DESCRIPTION OF AN EMBODIMENT
[0021] The system, method and associated software application in accordance with an embodiment
of the invention may be executed on a computing system such as the example computing
system shown in Figure 1.
[0022] At Figure 1 there is shown a schematic diagram of a computing system 100 suitable
for use with an embodiment of the present invention. The computing system 100 may
be used to execute applications and/or system services such as the collection, aggregation,
processing and reporting of data in accordance with an embodiment of the present invention.
[0023] The computing system 100 preferably comprises a processor 102, read only memory (ROM)
104, random access memory (RAM) 106, and input/output devices such as disk drives
108, keyboard 110 (or other input peripherals such as a mouse, not shown), display
112 (or other output peripherals such as a printer, not shown) and communications
link 114. The computer includes programs that may be stored in ROM 104, RAM 106, or
disk drives 108 and may be executed by the processor 102.
[0024] The communications link 114 connects to a computer network but could be connected
to a telephone line, an antenna, a gateway or any other type of communications link.
Disk drives 108 may include any suitable storage media, such as, for example, floppy
disk drives, hard disk drives, CD ROM drives or magnetic tape drives. The computing
system 100 may use a single disk drive or multiple disk drives. The computing system
100 may use any suitable operating system, such as Windows
™ or Unix
™.
[0025] The computing system 100 may be a gaming server arranged to be networked to a plurality
of gaming machines, such that information may be sent from the gaming server to one
or more gaming machines, or from the one or more gaming machines to the gaming server.
[0026] The computing system 100 may be capable of executing a software application 116 (which
may be in the form of an API) in accordance with an embodiment of the invention.
[0027] It will be understood that the computing system described in the preceding paragraphs
is illustrative only and that the presently described embodiment or other embodiments
which fall within the scope of the claims of the present application may be executed
on any suitable computing system, which in turn may be realized utilizing any suitable
hardware and/or software.
[0028] Other computing systems that may be suitable include server computers, hand-held
or portable computing devices, consumer electronics, and other devices capable of
receiving electronic information, including automated 'teller' machines and vending
machines.
[0029] Figure 2 illustrates an example network environment 200, with a server computer 202
in communication with client computers 204a, 204b, 204c, etc., via a network (or a
bus) 206, in which an embodiment of the present invention may be employed.
[0030] In more detail, the server 202 may be a gaming server, arranged to interconnect a
number of gaming machines 204a, 204b, 204c, etc., via the communications network 206,
which may be a local or wide area network, such as an intranet, the Internet, etc.
[0031] It will be understood that the client computers need not be gaming machines, but
may be a terminal, another computing system, a portable communications device, such
as a mobile telephone, or any other device capable of receiving information from the
server.
[0032] The server 202, and the client devices 204a, 204b, 204c, etc., may communicate with
each other over the communications network 206 by use of any suitable networking protocol,
such as TCP/IP, GSA G2S (Gaming Standards Association Game-to-System protocol), GSA
S2S (Gaming Standards Association System-to-System protocol) or any other suitable
protocol for the exchange of information 208.
[0033] The exchange of information may include the provision of XML files, the XML files
providing information to be utilized by any or all of the servers and client devices.
[0034] Referring now to Figure 3, there is shown a schematic diagram illustrating the components
of a system in accordance with an embodiment of the present invention.
[0035] Figure 3 is a schematic diagram that depicts a system in accordance with an embodiment
of the present invention. A gaming machine 300 is connected to a game application
server 302. The game application server 302 is connected to (or includes) a game server
database 304. The game server database 304 utilises a database logic layer 306 to
interact with the game application server 302. While the embodiment described with
reference to Figure 3 only shows one gaming machine 300 connected to one game application
server 302, it will be understood that a plurality of gaming machines may be connected
to the game application server 302.
[0036] The gaming machine 300 contains and is capable of executing client game software,
which may allow a number of games, 308a, 308b, 308c, etc. to be played on the gaming
machine.
[0037] The game application server 302 includes a plurality of software modules, including
manager modules 310, wherein each manager module is arranged to manage a different
function of the game application server 302.
[0038] It will be understood that each module may also contain sub-modules, arranged to
perform particular functions.
[0039] In the embodiment described herein, there is included the following modules:
- a gaming machine manager 312;
- a game manager 314 which includes combined game application interface (GDK) 315 and
server game software modules 316 for each of games Game 1 to Game #;
- a jackpot manager 318;
- a meter manager 320 comprising meter logic 322, a platform meter cache 324 and a game
meter cache 326.
[0040] In this respect, meters may be broadly classified into at least two types, according
to the type of information held by the meter. One type of meter is the platform meter,
which is a meter that collects information pertaining to a gaming machine or gaming
system (e.g. the input or output of money). Another type of meter is the game meter,
which is a meter that monitors events that occur within a particular game (e.g. the
number of win events in a game that resulted in a payout). That is, particular games
in a gaming system may include further meters specific to the game type. The game
meter cache 326, in the embodiment described herein, is dynamically created in the
gaming application server 302, by any appropriate method, such as, for example, the
allocation or 'blocking' of a portion of memory in RAM or ROM.
[0041] In the specific embodiment described herein, there is provided one platform meter
cache instance per gaming machine 300 that is connected to the game application server
302. In other words, there is one game meter cache per gaming machine and also per
game.
[0042] It will be understood that while, in the embodiment described, the cache 326 resides
in the game application server, an alternate embodiment may include the cache in the
gaming machine 300.
[0043] In the client-server based gaming system all events occurring in the course of executing
a game are registered in the game server database 304. Predefined meters are also
registered in the database. The meters are handled separately from but tightly coupled
with the normal event registration.
[0044] The meter registration is handled in a sequence with the normal event registration
as a part of an "atomic" transaction in the sense that either all steps are performed
or the transaction is considered not to have occurred. The transaction is managed
by the logic layer 306 of the database 304.
[0045] The transaction includes two separate database storage operations that are required
to have occurred before the transaction can be committed.
[0046] The game application interface (GDK) 315 is provided with an interface for game specific
meters, namely a Game Specific Meter Interface (GSMI) 328. The GSMI 328 is arranged
to communicate meter control commands and meter values between the server game software
316 (i.e. for each available Game 1 through to Game #) and the meter manager 320.
[0047] Providing this arrangement allows the server game software 316 to access the meter
management functionality of the gaming system, and further allows a game developer
to define and utilise meters pertaining to internal game events that occur in the
game sequence but which do not give any detectable output from the server game software.
[0048] The game application server is further provided with a random number generator RNG
330, which via the game manager provides the game with a random number upon request
(which can be utilised in the calculation of various game outcomes).
[0049] The game application server may further include a compensated gaming controller CGC
332. The compensated gaming controller CGC 332 is capable of receiving game specific
meter information from the game specific meter interface GSMI 328 and a random number
from the RNG 330. The compensated gaming controller CGC 332 utilises the information
to generate win/lose information. This process is described in more detail below.
[0050] The GSMI 328 is designed such that the server game software is capable of:
- 1. Defining its own game specific meters;
- 2. Naming the meters;
- 3. Writing to a meter record in the game meter cache 326;
- 4. Set a meter to any suitable value (this may be required where it is useful for
a meter to indicate a predetermined value, rather than an incremental value);
- 5. Incrementing the meter values; and
- 6. Retrieving the meter values from the meter record (which may be useful where a
first meter value is required to calculate a second meter value).
[0051] Referring to Figure 4, there is described the method steps by which a transaction
is committed to the database 304.
[0052] In the client-server based gaming system all events occurring in the course of executing
a game are registered in the game database. Predefined meters are also registered
in the database. The meters are handled separately from but tightly coupled with normal
event registration.
[0053] The meter registration is handled in a sequence with the normal event registration
as a part of an "atomic" transaction in the sense that either all steps are performed
or the transaction is considered not to have occurred. The transaction is managed
by the logic layer 306 of the database 304. In the normal event and meter registration
the transaction includes two separate database storage operations that are required
to have occurred before the transaction can be committed.
[0054] The general structure of the information flow (with reference to Figure 4) includes
the following steps:
1. An internal game event that entails game specific meter updating according to predefined
rules in the server game software occurs in the server game software (400).
2. A request with associated meter information is sent from the server game software
to the game manager 314 via the game specific meter interface GSMI 328 (402).
3. A database transaction T1 is started by the game manager 314 (404).
4. The GSMI 328 sends the game specific meter information to the meter logic 322 of
the meter manager 320 (406).
5. The meter logic 322 increments (or updates, as required) current game specific
meters associated with the game in the game meter cache 326 (408).
6. The meter logic 322 retrieves a current set of meter values from the game meter
cache 326 (410).
7. The meter logic 322 stores the set of retrieved meter values in the game server
database 304 (412).
8. The transaction T1 is committed and a commit message is sent by the database logic
layer 306 to the game manager 314 (414).
9. The game manager 314 generates a response message and sends the message to the
server game software (Game #) via the GSMI 328 (416).
11. The server game software (Game #) continues execution (418).
[0055] The utilisation of the GSMI allows for the following functionality to be implemented
in the gaming system:
- 1. The monitoring of system defined meters that depend on game specific internal game
events but which are required to be monitored. Such meters are typically related to
the balance of economy and finance in the gaming system. An example of a game specific
internal event is the occurrence of Double Up in the game Super 7.
- 2. The utilisation of information derived from game specific meters to be used for
statistical use. That is, game specific internal game events defined by the game developer
can be monitored. An example is the occurrence of a hand in Black Jack which allows
a player to split and the actual usage of the split option by a player.
- 3. Compensated gaming, which is used in certain jurisdictions, such as the United
Kingdom and the Netherlands, to compensate a game venue dependent on a share of the
total income from gaming during a specific time period. In such a case, there is often
a guaranteed level of return to player (RTP) for a specific time period, e.g. a week
or a day. To calculate the compensation due it is necessary to adapt the probability
of a win at any given point in time based on the win history during the lapsed time
of a defined time period. Game specific meters provide important control information
to enabling compensated gaming to be calculated in an accurate manner.
[0056] In the case where compensated gambling is utilised, the game application server further
comprises a compensated gaming controller CGC 332. Referring to the flow chart of
Figure 5 and the schematic diagram of Figure 3, the compensated gaming controller
CGC 332 receives (as input) game specific meter information from the game specific
meter interface GSMI 328 and a random number from the RNG 330 generated upon request
from the game (step 500). The compensated gaming controller CGC 332 then calculates
appropriate win/lose information utilising the random number, the game specific meter
information and a set of predetermined rules for determining a win/loss based on win
history (Step 502). This information may then be returned to the game manager 314
(Step 504), which may then alter the outcome of the games 308a, 308b, 308c on the
gaming machine 300 (Step 506). This manner of managing games of chance is thus not
truly random, but rather random over a certain time period.
[0057] Although not required, the embodiments described above may be implemented via an
application programming interface (API), for use by a developer, and can be included
within another software application, such as a gaming machine operating system or
a gaming server operating system.
[0058] Generally, as program modules include routines, programs, objects, components, and
data files that perform or assist in the performance of particular functions, it will
be understood that a software application which carries out method steps in accordance
with an embodiment of the invention may be distributed across a plurality of routines,
objects and components, which correspondingly may be located across a plurality of
physical hardware devices. Such variations and modifications are within the purview
of those skilled in the art.
1. A method for managing game specific meters in a gaming system, comprising the steps
of:
receiving game meter information of a specific game instance from a gaming application;
and
providing the game meter information to a gaming manager application capable of interfacing
with the gaming system.
2. A method in accordance with claim 1, comprising the further step of, on receipt of
the game specific information, initiating a database transaction to store the game
specific meter information.
3. A method in accordance with claim 1 or 2, comprising the further step of, requesting
predefined meter information from the gaming application, and writing the predefined
information to the storage location.
4. A method in accordance with any one of the preceding claims, comprising the further
step of deeming the information as committed on the successful storage of the game
specific meter information.
5. A method in accordance with claim 4, comprising the further step of, on deeming the
information as committed, returning a message to the gaming manager application reporting
the successful storage of at least one of the game specific and meter information.
6. A method in accordance with claim 5, comprising the further step of the gaming manager
application reporting successful storage of the game specific meter information to
the gaming application.
7. A method in accordance with claim 1, comprising the further step of utilising the
game specific meter information to calculate a compensated win.
8. A method in accordance with claim 7, comprising the further step of receiving a random
number from a random number generator, and utilising the random number as part of
the calculation for a compensated win.
9. A method in accordance with any one of the preceding claims, wherein the storage location
is a database.
10. A method in accordance with any one of the preceding claims, wherein the gaming application
resides on a gaming machine.
11. A system for managing game specific meters in a gaming system, comprising a game specific
meter interface arranged to perform the method according to any of the preceding claims
12. A system in accordance with any one of claims 11 to 18, wherein the storage location
is a database.
13. A system in accordance with any one of claims 11 to 19, wherein the gaming application
resides on a gaming machine.
14. A computer program arranged to, when executed on a computing system, carry out the
method steps of any one of claims 1 to 10.
15. A computer readable medium incorporating a computer program in accordance with claim
14.
16. A data signal comprising the computer program according to claim 14.
17. A method of transmitting the data signal according to claim 16.