U.S. patent application number 11/533281 was filed with the patent office on 2008-03-20 for regulated gaming - compartmented freelance code.
This patent application is currently assigned to CYBERSCAN TECHNOLOGY, INC.. Invention is credited to Thierry Brunet de Courssou, Jean-Marie Gatto.
Application Number | 20080070665 11/533281 |
Document ID | / |
Family ID | 39189293 |
Filed Date | 2008-03-20 |
United States Patent
Application |
20080070665 |
Kind Code |
A1 |
Gatto; Jean-Marie ; et
al. |
March 20, 2008 |
Regulated gaming - compartmented freelance code
Abstract
Compartmented system architecture and methods for enabling
freelance game developers to (a) integrate their game software
together with the slot manufacturer software and (b) tag their
software such as to receive compensation based on the success of
their games. The combined tagged freelance software and gaming
manufacturer software may rapidly pass through certification
testing and be downloaded overnight to a large number of gaming
machines such as to offer players in casinos an unprecedented
choice of new generation electronic games within a short timetable.
Compartmenting for totally isolating the freelance graphics-rich
game code from the slot supplier code may be carried by adopting
the blue-screen paradigm in which the freelance code executes in a
process sandbox and renders its entertainment outcome-free graphics
in a totally isolated virtual background display plane while the
slot supplier code renders its accounting graphics and outcome
graphics in a virtual foreground display plane as small graphics
gadgets animated over a transparent plane. The foreground and
background display planes may then be mixed together and foreground
moving outcome graphics gadgets may be synchronized in real-time
with the moving outcome-free background graphics.
Inventors: |
Gatto; Jean-Marie; (London,
GB) ; Brunet de Courssou; Thierry; (Henderson,
NV) |
Correspondence
Address: |
YOUNG LAW FIRM, P.C.;ALAN W. YOUNG
4370 ALPINE ROAD, SUITE 106
PORTOLA VALLEY
CA
94028
US
|
Assignee: |
CYBERSCAN TECHNOLOGY, INC.
Palo Alto
CA
|
Family ID: |
39189293 |
Appl. No.: |
11/533281 |
Filed: |
September 19, 2006 |
Current U.S.
Class: |
463/16 |
Current CPC
Class: |
G07F 17/3211
20130101 |
Class at
Publication: |
463/16 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. A game for execution on a regulated gaming machine, comprising:
a first process that executes outcome-free game software and that
renders graphic animation in a first video plane; a second process
that executes outcome-providing game software and that renders at
least one outcome graphics gadget over the first video plane, the
at least one outcome graphics gadget being operative to move in
synchronism with at least one selected element of the rendered
graphic animation and to indicate at least part of a wagering
outcome of the game.
2. The game of claim 1, wherein the outcome-free game software is
configured to be independent of the wagering outcome of the
game.
3. The game of claim 1, wherein the outcome-free game software is
configured to execute independently of the outcome-providing game
software.
4. The game of claim 1, wherein the outcome-free game software is
uncertified by a gaming software certification lab.
5. The game of claim 1, wherein the outcome-providing game software
is certified by a gaming software certification lab.
6. The game of claim 1, wherein the outcome-free game software is
uncertified by a gaming software certification lab and the
outcome-providing game software is certified by the gaming software
certification lab.
7. The game of claim 1, wherein the first and second processes
execute concurrently.
8. The game of claim 1, wherein the at least one outcome graphics
gadget is configured to be rendered over the at least one selected
element of the graphic animation rendered in the first plane.
9. The game of claim 1, wherein the at least one outcome graphics
gadget is operative to move in synchronism with the at least one
selected element using motion capture software, the motion capture
executing software being isolated from the first process.
10. The game of claim 1, wherein a motion of the at least one
outcome graphics gadget is synchronized with the at least one
selected element frame-by-frame.
11. The game of claim 1, wherein a motion of the at least one
outcome graphics gadget is synchronized with the at least one
selected element using at least one of: a 2D trajectory path
method, a 3D trajectory path method, a camera angle method, a light
source characterization method, and a 3D trajectory path method
that includes location, scale, rotation and velocity attribute
characterization.
12. The game of claim 1, wherein a motion of the at least one
outcome graphics gadget is synchronized with the at least one
selected element via at least one of remote procedure call (RPC),
Microsoft .NET Remoting, an IP service and a software isolated
process (SIP) channel between the first process and second
process.
13. The game of claim 1, wherein a motion of the at least one
outcome graphics gadget tracks a motion of the at least one
selected element via at least one of an asynchronous remote
procedure call (RPC), asynchronous Microsoft .NET Remoting and an
asynchronous IP service between the first process and second
process.
14. The game of claim 1, wherein the first process is configured to
execute in a first process sandbox in which the first process is
given at least one of restricted memory access and restricted
execution permissions.
15. The game of claim 1, wherein the second process is configured
to execute in a second process sandbox in which the second process
is given at least one of restricted memory access and restricted
execution permissions.
16. The game of claim 1, wherein the first process is configured to
execute in a first process sandbox in which the first process is
given at least one of compartmented memory access and compartmented
execution permissions.
17. The game of claim 1, wherein the second process is configured
to execute in a second process sandbox in which the second process
is given at least one of compartmented memory access and
compartmented execution permissions.
18. The game of claim 1, wherein the first process is configured to
execute in a first process sandbox, the first process sandbox
including a least one of strong process isolation, DoD 5200.28-STD
multilevel security, Microsoft Software Isolation Process (SIP) and
JAVA sandbox.
19. The game of claim 1, wherein the second process is configured
to execute in a second process sandbox, the second process sandbox
including a least one of strong process isolation, DoD 5200.28-STD
multilevel security, Microsoft Software Isolation Process (SIP) and
JAVA sandbox.
20. The game of claim 1, wherein the first process is configured to
render its graphics in a video sandbox in which the graphic
animation is prevented from being hidden or overlapped by an
unauthorized process attempting to write to a display or a video
cache of the regulated gaming machine, and in which unauthorized
processes are prevented from reading the display or the video
cache.
21. The game of claim 1, wherein the second process is configured
to render its graphics in a video sandbox in which the at least one
graphics gadget is prevented from being hidden or overlapped by an
unauthorized process attempting to write to a display or a video
cache of the regulated gaming machine and in which unauthorized
processes are prevented from reading the display or the video cache
such as to determine a wagering outcome of the game.
22. The game of claim 1, wherein the at least one outcome graphics
gadget includes at least one of: a scalable static 2D object; a
rotatable static 2D object; a scalable static 3D object; a
rotatable static 3D object; a real-time animated 2D object, and a
real-time animated 3D object.
23. The game of claim 1, wherein the at least one selected element
of the rendered graphic animation including at least one target
that is rendered in the graphic animation such that a motion of the
at least one outcome graphics gadget is synchronized to a motion of
the at least one target.
24. The game of claim 23, wherein the at least one outcome graphics
gadget is synchronized to the motion of the at least one target
using motion capture software that is isolated from the first
process.
25. The game of claim 1, wherein the first process is configured to
execute in a first computer and wherein the second process is
configured to execute in a second computer that is separate and
independent of the first computer.
26. The game of claim 25, wherein the first computer includes means
for rendering graphic animation to a first video output interface
and wherein the second computer includes means for rendering the at
least one outcome graphics gadget over a neutral background to a
second video output interface, a first video signal from the first
video output interface being combined with a second video signal
from second video output interface in a video display of the gaming
machine using a blue-screen technique.
27. The game of claim 1, wherein the at least one selected element
is designated by a target that is recognizable by image analysis
software.
28. The game of claim 27, wherein one of the at least one outcome
graphics gadget is overlaid onto the target.
29. The game of claim 1, wherein the graphic animation rendered by
the first process includes a video playback.
30. A method for operating a regulated gaming machine to enable a
player to play a game, comprising: providing outcome-free game
software, the outcome-free game software being configured to render
graphic animation of the game; executing the outcome-free game
software in the gaming machine and rendering the graphic animation
in a first video plane; providing outcome-providing game software,
the outcome-providing game software being configured to render at
least one outcome graphics gadget that is operative to indicate at
least part of a wagering outcome of the game, and executing the
outcome-providing game software in the gaming machine and rendering
the at least one outcome graphics gadget over the first video plane
such that the at least one outcome graphics gadget is rendered over
and moves in synchronism with at least one selected element of the
graphic animation.
31. The method of claim 30, wherein the outcome-free game software
providing step is carried out with the graphic animation being
independent of the wagering outcome of the game.
32. The method of claim 30, wherein the outcome-free game software
providing step is carried out with the outcome-free game software
being configured to execute independently of an execution of the
outcome-providing game software.
33. The method of claim 30, wherein the outcome-free game software
providing and executing steps are carried out with a source code of
the outcome-free game software being uncertified by a gaming
software certification lab.
34. The method of claim 30, wherein the outcome-providing game
software providing and executing steps are carried out with a
source code of the outcome-providing game software being certified
by a gaming software certification lab.
35. The method of claim 30, wherein the outcome-free game software
providing and executing steps are carried out with a source code of
the outcome-free game software being uncertified by a gaming
software certification lab and wherein the outcome-providing game
software providing and executing steps are carried out with a
source code of the outcome-providing game software being certified
by the gaming software certification lab.
36. The method of claim 30, wherein the outcome-free game software
executing step and the outcome-providing game software executing
step are carried out concurrently.
37. The method of claim 30, wherein the at least one outcome
graphics gadget is configured to be rendered over the at least one
selected element of the graphic animation rendered in the first
plane.
38. The method of claim 30, wherein the outcome graphics gadget
rendering step is carried out with the at least one outcome
graphics gadget being operative to move in synchronism with the at
least one selected element using motion capture software, the
motion capture software being isolated from the outcome-free game
software.
39. The method of claim 30, wherein the outcome-providing game
software executing step is carried out with the outcome graphics
gadget being synchronized with the at least one selected element on
a frame-by-frame basis.
40. The method of claim 30, wherein the outcome-providing game
software executing step is carried out with a motion of the outcome
graphics gadget being synchronized with the at least one selected
element using at least one of: a 2D trajectory path method, a 3D
trajectory path method, a camera angle method, a light source
characterization method, and a 3D trajectory path method that
includes location, scale, rotation and velocity attribute
characterization.
41. The method of claim 30, wherein the outcome-providing game
software executing step is carried out with a motion of the at
least one outcome graphics gadget being synchronized with the at
least one selected element via at least one of a remote procedure
call (RPC), Microsoft .NET Remoting, an IP service and a software
isolated process (SIP) channel between outcome-free game software
and the outcome-providing game software.
42. The method of claim 30, wherein the outcome-providing game
software executing step is carried out with a motion of the at
least one outcome graphics gadget being synchronized with the at
least one selected element via at least one of an asynchronous
remote procedure call (RPC), asynchronous Microsoft .NET Remoting
and an asynchronous IP service between outcome-free game software
and the outcome-providing game software.
43. The method of claim 30, wherein the outcome-free game software
executing step is carried out in a process sandbox in which the
outcome-free game software is given at least one of restricted
memory access and restricted execution permissions.
44. The method of claim 30, wherein the outcome-providing game
software executing step is carried out in a process sandbox in
which the outcome-providing game software is given at least one of
restricted memory access and restricted execution permissions.
45. The method of claim 30, wherein the outcome-free game software
is configured to execute in a first process sandbox in which the
first process is given at least one of compartmented memory access
and compartmented execution permissions.
46. The method of claim 30, wherein the outcome-providing game
software is configured to execute in a second process sandbox in
which the second process is given at least one of compartmented
memory access and compartmented execution permissions.
47. The method of claim 30, wherein the outcome-free game software
is configured to execute in a first process sandbox, the process
sandbox including a least one of strong process isolation, DoD
5200.28-STD multilevel security, Microsoft Software Isolation
Process (SIP) and JAVA sandbox.
48. The method of claim 30, wherein the outcome-providing game
software is configured to execute in a second process sandbox, the
process sandbox including a least one of strong process isolation,
DoD 5200.28-STD multilevel security, Microsoft Software Isolation
Process (SIP) and JAVA sandbox.
49. The method of claim 30, wherein the outcome-free game software
executing step is carried out to render its graphics in a video
sandbox in which the graphic animation is prevented from being
hidden or overlapped by an unauthorized process attempting to write
to a display or a video cache of the regulated gaming machine, and
in which unauthorized processes are prevented from reading the
display or the video cache.
50. The method of claim 30, wherein the outcome-providing game
software executing step is carried out to render its graphics in a
video sandbox in which the at least one outcome graphics gadget is
prevented from being hidden or overlapped by an unauthorized
process attempting to write to a display or a video cache of the
regulated gaming machine and in which unauthorized processes are
prevented from reading the display or the video cache such as to
determine the outcome of the game.
51. The method of claim 30, wherein the outcome-providing game
software executing step is carried out with the at least one
outcome graphics gadget including at least one of: a scalable
static 2D object; a rotatable static 2D object; a scalable static
3D object; a rotatable static 3D object; a real-time animated 2D
object, and a real-time animated 3D object.
52. The method of claim 30, wherein the outcome-providing game
software executing step is carried out with the at least one
selected element of the graphic animation including at least one
target, a motion of the at least one outcome graphics gadget being
synchronized to a motion of the at least one target.
53. The method of claim 30, wherein the outcome-free game software
executing step is carried out in a first computer and wherein the
outcome-providing game software executing step is carried out in a
second computer that is separate and independent of the first
computer.
54. The method of claim 53, wherein the outcome-free game software
executing step is carried out with the first computer including
means for rendering graphic animation to a first video output
interface and wherein the outcome-providing game software executing
step is carried out with the second computer including means for
rendering the at least one outcome graphics gadget over a neutral
background to a second video output interface.
55. The method of claim 54, further including a step of combining a
first video signal from the first video output interface with a
second video signal from the second video output interface in a
video display of the gaming machine using a blue-screen
technique.
56. The method of claim 30, further comprising steps of:
designating at least one selected element of the graphic animation
by a target that is recognizable by image analysis software, and
overlaying one of the at least one outcome graphics gadget onto the
target.
57. The game of claim 30, wherein the graphic animation rendered by
the outcome-free game software includes a video playback.
58. A method of developing a game for a regulated gaming machine,
comprising the steps of: adapting a game to render graphic
animation in a first video plane and to include a plurality of
targets on the graphic animation, the game being of a non-wagering
type which does not require certification by a gaming software
certification lab; developing outcome-providing game software that
renders a plurality of outcome graphics gadgets, each of the
plurality of outcome graphics gadget being operative to overlay the
first video plane and move in synchronism with a respective one of
the plurality of targets and to indicate at least part of a
wagering outcome of the game, and obtaining certification from a
gaming software certification lab only for the outcome-providing
game software.
59. The method of claim 58, wherein the adapting step is carried
out with the graphic animation being independent of the wagering
outcome of the game.
60. The method of claim 58, wherein the adapting step is carried
out with the graphic animation being configured to execute
independently of an execution of the outcome-providing game
software.
61. The method of claim 58, wherein the adapting step is carried
out with a source code of the outcome-free game software being
uncertified by a gaming software certification lab.
62. The method of claim 58, wherein the developing step is carried
out with a source code of the outcome-providing game software being
certified by a gaming software certification lab.
63. The method of claim 58, wherein the adapting step is carried
out with a source code of the game being uncertified by the gaming
software certification lab and wherein the developing step is
carried out with the outcome-providing game software being
certified by the gaming software certification lab.
64. The method of claim 58, wherein the adapting step is carried
out with executable code of the game being certified by the gaming
software certification lab and wherein the developing step is
carried out with the outcome-providing game software being
certified by the gaming software certification lab.
65. The method of claim 58, wherein the developing step is carried
out such that each of the plurality of outcome graphics gadgets is
operative to move in synchronism with a respective one of the
plurality of targets using motion capture software, the motion
capture executing software being isolated from the adapted
game.
66. The method of claim 58, wherein the developing step is carried
out with each of the plurality of outcome graphics gadgets being
synchronized with a selected one of the plurality of targets on a
frame-by-frame basis.
67. The method of claim 58, wherein the developing step is carried
out with each of the plurality of outcome graphics gadgets being
synchronized with a selected one of the plurality of targets using
at least one of: a 2D trajectory path method, a 3D trajectory path
method, a camera angle method, a light source characterization
method, and a 3D trajectory path method that includes location,
scale, rotation and velocity attribute characterization.
68. The method of claim 58, wherein the developing step is carried
out with each of the plurality of outcome graphics gadgets being
synchronized with a selected one of the plurality of targets via at
least one of a remote procedure call (RPC), Microsoft .NET
Remoting, an IP service and a software isolated process (SIP)
channel between the game and the outcome-providing game
software.
69. The method of claim 58, wherein the developing step is carried
out with each of the plurality of outcome graphics gadgets being
synchronized with a selected one of the plurality of targets via at
least one of an asynchronous remote procedure call (RPC),
asynchronous Microsoft .NET Remoting and an asynchronous IP service
between the first process and second process.
70. The method of claim 58, wherein the adapting step is carried
out with the game executing in a process sandbox in which a
software of the game software is given at least one of restricted
memory access and restricted execution permissions.
71. The method of claim 58, wherein the developing step is carried
out such that the outcome-providing game software executes in a
process sandbox in which the outcome-providing game software is
given at least one of restricted memory access and restricted
execution permissions.
72. The method of claim 58, wherein the adapting step is carried
out with the game executing in a process sandbox which is given at
least one of compartmented memory access and compartmented
execution permissions.
73. The method of claim 58, wherein the developing step is carried
out such that the outcome-providing game software executes in a
process sandbox which is given at least one of compartmented memory
access and compartmented execution permissions.
74. The method of claim 58, wherein the adapting step is carried
out with the game executing in a process sandbox, the process
sandbox including a least one of strong process isolation, DoD
5200.28-STD multilevel security, Microsoft Software Isolation
Process (SIP) and JAVA sandbox.
75. The method of claim 58, wherein the developing step is carried
out such that the outcome-providing game software executes in a
process sandbox, the process sandbox including a least one of
strong process isolation, DoD 5200.28-STD multilevel security,
Microsoft Software Isolation Process (SIP) and JAVA sandbox.
76. The method of claim 58, wherein the developing step is carried
out such that the outcome-free game software is configured to
render its graphics in a video sandbox in which the graphic
animation is prevented from being hidden or overlapped by an
unauthorized process attempting to write to a display or a video
cache of the regulated gaming machine, and in which unauthorized
processes are prevented from reading the display or the video
cache.
77. The method of claim 58, wherein the developing step is carried
out with the outcome-providing game software is configured to
render its graphics in a video sandbox in which the plurality of
outcome graphics gadgets are prevented from being hidden or
overlapped by an unauthorized process attempting to write to a
display or a video cache of the regulated gaming machine and in
which unauthorized processes are prevented from reading the display
or the video cache such as to determine the outcome of the
game.
78. The method of claim 58, wherein the developing step is carried
out with the plurality of outcome graphics gadgets including at
least one of: a scalable static 2D object; a rotatable static 2D
object; a scalable static 3D object; a rotatable static 3D object;
a real-time animated 2D object, and a real-time animated 3D
object.
79. The method of claim 58, wherein the adapting and developing
steps are carried out such that each of the plurality of outcome
graphic targets is synchronized using motion capture software to a
motion of at least one of the plurality of targets, the motion
capture software being isolated from the adapted game.
80. The method of claim 58, wherein the adapting and developing
steps are carried out such that the game is executed in a first
computer and wherein the outcome-providing gaming software executes
in a second computer that is separate and independent of the first
computer.
81. The method of claim 80, wherein the adapting and developing
steps are carried out such that first computer in which the game
executes includes means for rendering graphic animation to a first
video output interface and wherein the second computer in which the
outcome-providing game software executes includes means for
rendering the plurality of outcome graphics gadgets over a neutral
background to a second video output interface.
82. The method of claim 81, further including a step of combining a
first video signal from the first video output interface with a
second video signal from the second video output interface in a
video display of the regulated gaming machine using a blue-screen
technique.
83. The method of claim 58, wherein the graphic animation rendered
by the game includes a video playback.
Description
BACKGROUND OF THE INVENTION
COPYRIGHT NOTICE/PERMISSION
[0001] A portion of the disclosure of this patent document contains
material which is subject to copyright protection. The copyright
owner has no objection to the facsimile reproduction by anyone of
the patent document or the patent disclosure as it appears in the
Patent and Trademark Office patent file or records, but otherwise
reserves all copyright rights whatsoever. The following notice
applies to the software and data as described below and in the
drawings referred to herein: Copyright 2006, Cyberscan Technology,
Inc., All Rights Reserved.
CROSS-REFERENCE TO RELATED CASES
[0002] The subject matter of the present application is related to
the subject matter of commonly assigned and co-pending patent
application entitled "Regulated Gaming--Virtual Display", Atty.
Docket No. CYBS6004B, and is also related to the subject matter of
commonly assigned and co-pending patent application entitled
"Regulated Gaming Exchange", Atty. Docket No. CYBS6004C, each
application of which is being filed on even date herewith.
FIELD OF THE INVENTION
[0003] This invention relates generally to the field of regulated
pay computer-controlled games, either games of skills or games of
chance and more particularly to the field of integrating,
certifying and downloading games developed by multi-parties and of
building relationships between players and game operators to
promote the games.
DESCRIPTION OF THE PRIOR ART AND RELATED INFORMATION
[0004] Presently game regulation essentially considers a slot
machine as a standalone piece of equipment supplied entirely by a
single vendor (e.g. IGT, WMS, Bally). Although standards now allow
for some vendor interoperability between peripheral devices (e.g.
hopper, bill accepter, ticket printer) and a central accounting
system (e.g. IGT/GSA SAS Standard Accounting System protocol), a
slot machine as delivered comprises essentially proprietary
components developed and manufactured by a single supplier. In
particular, game regulators have made no attempt to adapt their
standards to enable the suppliers to leverage on the extraordinary
multimedia capabilities of the PC platform and the advances in
distributed network security. Consequently, the operating system
and game software controlling a slot machine are proprietary and
almost entirely developed by the supplier's software programmers,
such as to meet regulatory requirements that are out of sync with
main stream computing. It is worrying to see that current gaming
regulation leaves no choice to the suppliers but to modify the
source code of their operating system (e.g. Linux). This prevents
them from continually benefiting from security peer review and from
associated security upgrades developed by operating system experts.
Consequently, the operating system of such gaming machines is
considerably weakened and fractured, exposing the suppliers and
game operators to stealth and focused hacking attacks.
[0005] It is reasonable to believe that sooner or later the
standards formulated by the Trusted Computer Group (TCG) to secure
distributed computer network will be adopted by game regulators.
Therefore, well architectured and security-hardened commercial
multimedia operating systems may be used by slot machine vendors,
without needing to hack the kernel source code.
[0006] As an immediate result of adopting industry security
standards, the vendors may allocate more resources to develop more
attractive games and enable their download from a central system.
However, present game regulation is such that the entire game
software may only be developed by the slot supplier himself, thus
significantly impeding suppliers from offering games inspired or
derived from the best-of-breed and phenomenally popular game titles
available on Xbox and PlayStation, or other games developed by
freelance game developers. It is unlikely that the culture inside a
slot manufacturer's game software engineering department would ever
attract creative minds to create games on par with what is and will
be available in the main stream gaming arena.
[0007] The path for freelance game development companies that would
be looking at introducing their games and game technologies into
the highly regulated casino marketplace has traditionally been a
narrow and tortuous one. Historically, such companies have held
only three real options: (a) to partner with an established casino
game manufacturer such as IGT, Bally or WMS, (b) to sell their
designs to an established game manufacturer, or (c) to attempt to
create their own casino game manufacturing company. All of these
paths are difficult to tread. For example, large legacy gaming
companies have their own game creation studio, fully staffed with
trained artists and trained software developers. As such, they are
generally reluctant to introduce truly visionary game designs into
their gaming libraries, as they have achieved a longstanding
history of profitability with more conservative games revolving
essentially around boring fruit-machine-like games, poker games and
secondary games such as Wheel of Fortune and Mystery Jackpot.
[0008] A further limitation of the existing casino gaming
marketplace is that game developers looking to start their own
casino game manufacturing companies face several key obstacles, the
most important of which being the lengthy and prohibitively
expensive regulatory process that must be navigated to gain even a
precarious foothold in the casino gaming market.
[0009] Most of all and sadly enough, there is no dialog between the
game regulators and innovative gaming companies that would
otherwise enter the regulated gaming market. This is because such
innovative gaming companies most often do not have the coveted game
license, which is required in every state. Therefore, promising
freelance game development companies (such as those developing
dazzling games for console-type platforms such as the Xbox and
PlayStation for example or those developing PC-based games) that
would be looking at introducing variants of their games into the
highly regulated casino marketplace are, in effect, completely shut
out. Indeed, the dazzling graphics rendered in such games rely upon
constantly evolving PC and game console hardware and software
technologies, including operating systems such as Microsoft Windows
XP and forthcoming Vista. To their defense, the attitude of gaming
regulators is understandable, as these game technologies are not
well adapted for the highly regulated gaming environment, mainly
because of security issues.
[0010] The Gaming Standard Association (GSA) is not helping the
situation as it is formed by members that are in majority
representatives of the influential established casino game
manufacturers that have little interest in changing whatsoever. The
gaming certification labs that are subcontracted by equipment
suppliers to test and certify that their equipment meets applicable
game regulation do indeed set gaming standards. These gaming
certification labs also do not attempt to assume a leadership role
to adapt their standards to lay the foundations on which new
computer technologies could meet the security standards for the
regulated gaming market. For these reasons, the progress that has
been achieved in general computer security has gone largely
unnoticed and innovative gaming companies are still barred from
offering innovative gaming technologies. The legacy game
manufacturers' stranglehold on casino gaming has excluded visionary
game designers from fully participating in this market and has
prevented game operators from offering the public the best possible
games.
SUMMARY OF THE INVENTION
[0011] In is an object of the present invention to enable freelance
game developers to offer dazzling electronic games to the regulated
casino gaming marketplace. It is another object of the present
invention to ensure that the freelance game developers receive
compensation that is commensurate with the success of their games.
A still further object of the present invention is to provide game
operators with timely information to enable them to tailor their
regulated game offerings based on demand and/or popularity of
identical trial games that use only simulated money and that are
made available to the public over an Internet portal. It is a
further object of the present invention to provide players with the
location of the casinos offering their favorite game(s) for playing
with real money, together with the promotions offered if any. It is
yet another object of the present invention to provide game
operators with the contact information of the players and their
list of favorite trial games, to enable them to offer incentives
and to attract them to their casino. Another object of the present
invention is to offer freelance game developers a method for
developing, integrating licensing tags, testing and certifying
secure downloadable electronic games, such that an unprecedented
generation of advanced electronic games may be offered to players
in casinos on a relatively short timetable.
[0012] It is another object of the invention to offer players,
operators, licensed developers and freelance developers search
means to query the regulated gaming exchange and obtain results
structured according to the formulated query and related results
(popularity ratings, most often requested queries, general
promotional offers and specifically targeted promotional offers,
for example).
[0013] In is another object of the present invention to offer the
freelance game developers a compartmented architecture for
developing, integrating licensing tags, testing and certifying
secure downloadable electronic games such that an unprecedented
generation of dazzling electronic games may be offered to players
in regulated gaming places on a relatively short timetable. In is a
further object of the present invention to ensure that the
freelance game developers receive compensation based on the success
of their games.
[0014] Accordingly, an embodiment of the present invention is
compartmented system architecture and associated methods for
enabling freelance game developers to (a) integrate their game
software together with the gaming manufacturer software and (b) tag
their software such as to receive compensation based on the success
of their games. The combined tagged freelance software and gaming
manufacturer software may rapidly pass through certification
testing and be downloaded overnight to a large number of gaming
machines such as to offer players in casinos an unprecedented
choice of new generation electronic games within a relatively short
timetable.
[0015] Compartmenting for totally isolating the graphics-rich
freelance (and outcome-free) code from the slot supplier (and
outcome-determining) code is obtained, according to an embodiment
of the present invention, by adopting a blue-screening paradigm
wherein the freelance code executes in a process sandbox and
renders its entertainment outcome-free graphics in a totally
isolated background display plane while the slot supplier code
renders its accounting graphics and outcome graphics in a
foreground display plane as small graphics gadgets over a neutral
plane. The foreground and background display planes are mixed
together using the pervasive blue-screening paradigm used in TV
studio programs, and foreground moving outcome graphics gadgets are
synchronized in real-time with the moving outcome-free background
graphics.
Outcome-Free Graphics Background
[0016] The entertainment "outcome-free graphics" background (A) and
the synchronized moving "outcome graphics gadgets" foreground (B)
is best understood using a horse racing game as an example. The
horse racing animation may be rendered in a background plane by the
freelance code executing in a process sandbox using pre-recorded
video or realistic real-time 3D animation. The rendering is such
that each horse number indicia usually printed on the horse's
saddle blanket is totally obfuscated or otherwise obscured.
Consequently, it impossible when watching the rendered horse race
to determine which horse is leading and will likely win the race,
and what the order of the other horses will be across the finish
line. In addition, other features that may help in identifying the
horse such as the jockey's jacket color and horse skin color may
also be obfuscated. Moreover, the voice-over or sound may not give
any indication of the leading horses. Thus, the background plane
may constitute a dazzling entertaining scene, complete with
realistic sound of hooves and cheering crowds, that is free from
any markings (i.e. numbers, colors, shapes) that would reveal or
otherwise suggest the outcome of the race.
[0017] According to an embodiment of the present invention, the
horse (or other race or entrant or team player) number indicia
(which gives an indication of the outcome of the game) may be
rendered in a foreground plane as graphic gadgets by the certified
slot supplier code executing in a process sandbox isolated from the
uncertified freelance process running in another sandbox. In
addition, according to embodiments of the present invention, the
motion, displacement and animation of each graphic gadget is
synchronized with the freelance background such that each graphic
gadget is rendered over a predetermined target (in the horse race
example developed herein, a predetermined horse saddle blanket).
The combined background and foreground scene then gives the viewer
the capability to identify the leading horses. Similarly, the
jockey's jacket colors, horses' true color and other features may
be rendered in the same synchronized manner. A game outcome process
seeded by a random number generator may provide the graphics
gadgets with the random numbers that will be used to render the
random indicia on the horse saddle blanket.
Motion Synchronization
[0018] The motion synchronization of outcome gadgets over the
associated obfuscated area in the outcome-free animation background
scene may be carried out, according to embodiments of the present
invention, via pre-computed trajectory paths or frame-by-frame. The
motion synchronization may utilize, without limitation, one or more
of the following technologies and/or methods: a 2D trajectory path,
a 3D trajectory path, location, scale, rotation, velocity and/or
camera angle, for example. The computer processing and rendering of
the outcome-free animation background (e.g. an XBOX or other game
console or a PC) may be separate from the slot machine controller
(e.g. a PC) processing the game outcome and rendering the outcome
gadgets. A dual-ported video-mixer may combine the outcome-free
animation background and the outcome graphic gadgets, the motion
synchronization being carried out (a) via a suitable direct
interface between the two computers using remote procedure call
(RPC), Microsoft .NET Remoting (for example) or an IP service, or
(b) by real-time image analysis and tracking under the control of
the slot machine supplier software using the motion capture
paradigm used in cinematography, for example. The dual-ported
video-mixer may be a custom ASIC.
Outcome Graphic Gadget Rendering
[0019] The graphic gadget may render the horse number and other
outcome related features using direct (a) 2D polyline/bezier draw
and color fill, (b) triangles and color fill and/or (c) texturing.
Path, location, scaling, rotation, 2D projection, illumination
sources and other viewing attributes may be provided directly by
the freelance software through a secure interface or may be derived
from the freelance graphics by motion capture and capture of other
scene attributes. Other overlay rendering technique may be used.
Rendering of an outcome onto a 2D target is called hereafter a "2D
outcome asset."
[0020] An embodiment of the invention includes a freelance software
that exposes through a secure interface a "neutral" 3D animated
geometry (via a surface, NURBS curves or other 3D modeling
technique) on which the graphic gadget would project a 3D skin.
Rendering of an outcome onto a 3D target is hereafter called a "3D
outcome asset." For example, the freelance software may expose a
neutral sphere located in space together with scale and rotation
attributes, and the graphic gadget may render a skin projection
representing the planet earth, the moon, mars, or any other planet
as determined by a game outcome. A given planet, in this example,
would be 3D asset. Similarly, the freelance software may expose a
"cavity" surface located in space together with scale, rotation,
etc . . . in which the gadget may render a 3D fruit such as a
cherry, a strawberry, a banana etc., as determined by a game
outcome. A given fruit is a 3D asset. Rendering a skin over a
surface is commonly practiced in 3D modeling for industrial design
(refer to www.rhino3d.com), for example.
Accounting Meters
[0021] Other video assets such as the accounting meters may be
controlled and rendered by the slot machine supplier software.
Interactive video assets having a role in the outcome determination
such as wager selections, line selection, chip selection and the
bet button may also be controlled and rendered by the slot machine
supplier software. Graphic gadgets may be used to render the
accounting meters and the interactive video assets, and to activate
the interactive video assets.
Space Controller
[0022] The rendering of all the animated outcome graphic gadgets
may be controlled by a space controller ensuring that they appears
at the proper location with the proper viewing attributes for a
seamless integration with the dazzling entertainment
background.
Playback
[0023] For each bet session, the identifiers of all the associated
outcome assets together with their paths and viewing attributes as
well as the identifier of the background animation may be recorded
such that a playback of the complete bet session may be replayed.
This may be used for dispute resolution during a player
complaint.
Regulatory
[0024] The freelance binary code may execute in a process sandbox
and may render its entertainment outcome-free graphics in a totally
isolated background video plane. The software code that is
responsible for producing the game outcome and rendering the game
outcome assets is totally under the control of the slot supplier
and may not be interfered with by unauthorized processes.
Consequently, the freelance code need not be subjected to a full
regulatory certification cycle, in which traditionally the entire
source code is submitted to the lab, examined, compiled and tested
according to stringent test cases. The freelance code may be
classified similarly to a commercial operating system that is not
subjected to full regulatory certification cycle.
Gaming Exchange
[0025] The present Regulated Gaming Exchange or Gaming Exchange
Portal enables freelance game developers to offer new and dazzling
electronic games to the regulated gaming marketplace and to receive
compensation based on the success of their games. The games may be
available as an unregulated trial download that allows wagering
using only simulated or virtual money. Operators of regulated
gaming machines may also download regulated versions of the same
games from the Regulated Gaming Exchange for execution on regulated
gaming machines. Usage metrics may be collected to determine the
popularity of the unregulated trial games. The regulated gaming
exchange may include a first repository that is selectively
accessible to home players over a computer network, and a second
repository that is selectively available over the computer network
to operators of regulated gaming machines. The first repository may
store an unregulated first version of a game that is configured for
game play on a home computing device such as a computer or gaming
console, for example. The unregulated first version of the game may
be uncertified by a gaming software certification laboratory and
may include a first outcome-free game portion and a first
outcome-bearing game portion. The unregulated first version of the
game is configured, according to embodiments of the present
invention, to enable wagering only with virtual money.
[0026] The second repository may store a regulated second version
of the game that is configured for game play on a regulated gaming
machine and that is certified by the gaming software certification
laboratory. The regulated second version of the game may include a
second outcome-free game portion and a second outcome-bearing game
portion. In contrast to the first version of the game, the second
version of the game being may be configured to enable wagering with
real money. The second outcome-free game portion may be
substantially identical to the first outcome-free game portion.
Search Portal
[0027] The regulated gaming Exchange portal may include search
functionalities, enabling players, freelance developers or game
operators to formulate and receive answers for their search
queries. A master index of information within the Regulated Gaming
Exchange Portal may be generated, to offer search results in a
speedy manner. For example, some of the information that may be
indexed may include game attributes such as the game type (e.g.
fruit type X, poker type Y, etc . . . ), the game theme (e.g.
English, Chinese, Christmas, Easter, Birthday, Marriage, beginner,
advanced, etc.), the return to player (RTP) factor (e.g. 92%, 94%,
98%), the denomination (e.g. 1 , 5 , 10 , 50 , $1, $10, $50) and
the volatility (e.g. high, low, medium, that is win small amounts
frequently or win larger amounts less often). In addition to usage
metrics, the statistics may be kept on the frequency of download
for each game and the geographic distribution of such
downloads.
[0028] Advertising sensing technology may be implemented in the
Regulated Gaming Exchange to enable game operators and freelance
developers to display relevant ads on their content pages to offer
home players an opportunity to follow links to examine casino
promotions and freelance full size unregulated version of the
games. The history of the queries of each player combined with
their usage metrics may be analyzed to derive intelligence
therefrom relative to their preferences, to enable the ads and
associated links to be tailored to the players.
[0029] Accordingly, an embodiment of the present invention is a
game for execution on a regulated gaming machine. The game may
include a first process and a second process. The first process may
execute outcome-free game software that renders graphic animation
in a first video plane. The second process may execute
outcome-providing game software that renders at least one outcome
graphics gadget over the first video plane. The outcome graphics
gadget(s) are operative to move in synchronism with at least one
selected element of the rendered graphic animation and to indicate
at least part of a wagering outcome of the game.
[0030] The outcome-free game software may be configured to be
independent of the wagering outcome of the game. The outcome-free
game software may be configured to execute independently of the
outcome-providing game software. The outcome-free game software may
be uncertified by a gaming software certification lab. The
outcome-providing game software may be certified by a gaming
software certification lab. According to one embodiment, the
outcome-free game software may be uncertified by a gaming software
certification lab and the outcome-providing game software may be
certified by the gaming software certification lab.
[0031] The first and second processes may execute concurrently. The
outcome graphics gadget(s) may be configured to be rendered over
the selected element(s) of the graphic animation rendered in the
first plane. The outcome graphics gadget(s) may be operative to
move in synchronism with the selected element(s) using motion
capture software, and the motion capture executing software may be
isolated from the first process.
[0032] A motion of the outcome graphics gadget(s) may be
synchronized with the selected element(s) on a frame-by-frame
basis, for example. For example, the motion of the outcome graphics
gadget(s) may be synchronized with the at least one selected
element using one or more of the following: a 2D trajectory path
method, a 3D trajectory path method, a camera angle method, a light
source characterization method, and a 3D trajectory path method
that includes location, scale, rotation and velocity attribute
characterization, for example. The motion of the outcome graphics
gadget(s) may be synchronized with the selected element(s) via
remote procedure call (RPC), Microsoft .NET Remoting, an IP service
and/or a software isolated process (SIP) channel between the first
process and second process, to name but a few possibilities. The
motion of the outcome graphics gadget(s) may track the motion of
selected element(s) via an asynchronous remote procedure call
(RPC), asynchronous Microsoft .NET Remoting and/or an asynchronous
IP service between the first process and second process, for
example.
[0033] The first process may be configured to execute in a first
process sandbox in which the first process may be given restricted
memory access and/or restricted execution permissions. Similarly,
the second process may be configured to execute in a second process
sandbox in which the second process may be given restricted memory
access and/or restricted execution permissions. The first process
may be configured to execute in a first process sandbox in which
the first process may be given compartmented memory access and/or
compartmented execution permissions, for example. The second
process may be configured to execute in a second process sandbox in
which the second process may be given compartmented memory access
and/or compartmented execution permissions. The first process may
be configured to execute in a first process sandbox, the first
process sandbox including strong process isolation, DoD 5200.28-STD
multilevel security, Microsoft Software Isolation Process (SIP)
and/or a JAVA sandbox, for example. Likewise, the second process
may be configured to execute in a second process sandbox, the
second process sandbox including strong process isolation, DoD
5200.28-STD multilevel security, Microsoft Software Isolation
Process (SIP) and/or a JAVA sandbox, for example.
[0034] The first process may be configured to render its graphics
in a video sandbox in which the graphic animation is prevented from
being hidden or overlapped by an unauthorized process attempting to
write to a display or a video cache of the regulated gaming
machine, and in which unauthorized processes are prevented from
reading the display or the video cache. Similarly, the second
process may be configured to render its graphics in a video sandbox
in which the graphics gadget(s) is prevented from being hidden or
overlapped by an unauthorized process attempting to write to a
display or a video cache of the regulated gaming machine and in
which unauthorized processes are prevented from reading the display
or the video cache to determine a wagering outcome of the game.
[0035] The outcome graphics gadget(s) may include one or more of
the following: a scalable static 2D object; a rotatable static 2D
object; a scalable static 3D object; a rotatable static 3D object;
a real-time animated 2D object, and a real-time animated 3D object,
for example. The selected element(s) of the rendered graphic
animation may include one or more targets that may be rendered in
the graphic animation such that a motion of the outcome graphics
gadget(s) may be synchronized to the motion of the target(s). The
outcome graphics gadget(s) may be synchronized to the motion of the
target(s) using motion capture software that may be isolated from
the first process.
[0036] The first process may be configured to execute in a first
computer and the second process may be configured to execute in a
second computer that may be separate and independent of the first
computer. The first computer may include means for rendering
graphic animation to a first video output interface and the second
computer may include means for rendering the outcome graphics
gadget(s) over a neutral background to a second video output
interface, a first video signal from the first video output
interface being combined with a second video signal from second
video output interface in a video display of the gaming machine
using a blue-screen or equivalent technique. The selected
element(s) may be designated by a target that may be recognizable
by image analysis software. One of the outcome graphics gadget(s)
may be overlaid onto the target(s). The graphic animation rendered
by the first process may include video playback.
[0037] According to another embodiment, the present invention is a
method for operating a regulated gaming machine to enable a player
to play a game. Such a method may include providing outcome-free
game software, the outcome-free game software being configured to
render graphic animation of the game; executing the outcome-free
game software in the gaming machine and rendering the graphic
animation in a first video plane; providing outcome-providing game
software, the outcome-providing game software being configured to
render at least one outcome graphics gadget that is operative to
indicate at least part of a wagering outcome of the game, and
executing the outcome-providing game software in the gaming machine
and rendering the outcome graphics gadget(s) over the first video
plane such that the outcome graphics gadget(s) is rendered over and
moves in synchronism with at least one selected element of the
graphic animation.
[0038] The outcome-free game software providing step may be carried
out with the graphic animation being independent of the wagering
outcome of the game. The outcome-free game software providing step
may be carried out with the outcome-free game software being
configured to execute independently of an execution of the
outcome-providing game software. The outcome-free game software
providing and executing steps may be carried out with the source
code of the outcome-free game software being uncertified by a
gaming software certification lab. Conversely, the
outcome-providing game software providing and executing steps may
be carried out with the source code of the outcome-providing game
software being certified by a gaming software certification lab.
The outcome-free game software providing and executing steps may be
carried out with the source code of the outcome-free game software
being uncertified by a gaming software certification lab and the
outcome-providing game software providing and executing steps may
be carried out with the source code of the outcome-providing game
software being certified by the gaming software certification lab.
The outcome-free game software executing step and the
outcome-providing game software executing step may be carried out
concurrently. The outcome graphics gadget(s) may be configured to
be rendered over the selected element(s) of the graphic animation
rendered in the first plane. The outcome graphics gadget rendering
step may be carried out with the outcome graphics gadget(s) being
operative to move in synchronism with the selected element(s) using
(e.g.) motion capture software, the motion capture software being
isolated from the outcome-free game software. The outcome-providing
game software executing step may be carried out with the outcome
graphics gadget being synchronized with the selected element(s) on
a frame-by-frame basis, for example. The outcome-providing game
software executing step may be carried out with the motion of the
outcome graphics gadget(s) being synchronized with the selected
element(s) using one or more of the following: a 2D trajectory path
method, a 3D trajectory path method, a camera angle method, light
source characterization method, and a 3D trajectory path method
that may include location, scale, rotation and velocity attribute
characterization, to identify but a few of the possible
technologies for synchronizing the outcome graphics gadget(s) with
the selected element(s). The outcome-providing game software
executing step may be carried out with the motion of the outcome
graphics gadget(s) being synchronized with the selected element(s)
via, for example, a remote procedure call (RPC), Microsoft .NET
Remoting, an IP service and/or a software isolated process (SIP)
channel between outcome-free game software and the
outcome-providing game software. The outcome-providing game
software executing step may be carried out with the motion of the
outcome graphics gadget(s) being synchronized with the element(s)
via an asynchronous remote procedure call (RPC), asynchronous
Microsoft .NET Remoting and/or an asynchronous IP service between
outcome-free game software and the outcome-providing game software,
for example.
[0039] The outcome-free game software executing step may be carried
out in a process sandbox in which the outcome-free game software
may be given restricted memory access and/or restricted execution
permissions. Similarly, the outcome-providing game software
executing step may be carried out in a process sandbox in which the
outcome-providing game software may be given restricted memory
access and/or restricted execution permissions. The outcome-free
game software may be configured to execute in a first process
sandbox in which the first process may be given compartmented
memory access and/or compartmented execution permissions. The
outcome-providing game software may be configured to execute in a
second process sandbox in which the second process may be given
compartmented memory access and/or compartmented execution
permissions. The outcome-free game software may be configured to
execute in a first process sandbox, the process sandbox including
strong process isolation, DoD 5200.28-STD multilevel security,
Microsoft Software Isolation Process (SIP) and/or a JAVA sandbox,
for example. The outcome-providing game software may also be
configured to execute in a second process sandbox, the process
sandbox including strong process isolation, DoD 5200.28-STD
multilevel security, Microsoft Software Isolation Process (SIP)
and/or a JAVA sandbox. The outcome-free game software executing
step may be carried out to render its graphics in a video sandbox
in which the graphic animation may be prevented from being hidden
or overlapped by an unauthorized process attempting to write to a
display or a video cache of the regulated gaming machine, and in
which unauthorized processes may be prevented from reading the
display or the video cache. Similarly, the outcome-providing game
software executing step may be carried out to render its graphics
in a video sandbox in which the outcome graphics gadget(s) may be
prevented from being hidden or overlapped by an unauthorized
process attempting to write to a display or a video cache of the
regulated gaming machine and in which unauthorized processes may be
prevented from reading the display or the video cache such as to
determine the outcome of the game.
[0040] The outcome-providing game software executing step may be
carried out with the outcome graphics gadget(s) including one or
more of the following: a scalable static 2D object; a rotatable
static 2D object; a scalable static 3D object; a rotatable static
3D object; a real-time animated 2D object, and a real-time animated
3D object, for example. The outcome-providing game software
executing step may be carried out with the selected element(s) of
the graphic animation including one or more targets, the motion of
the outcome graphics gadget(s) being synchronized to the motion of
the target(s). The outcome-free game software executing step may be
carried out in a first computer and the outcome-providing game
software executing step may be carried out in a second computer
that may be separate and independent of the first computer. The
outcome-free game software executing step may be carried out with
the first computer including means for rendering graphic animation
to a first video output interface and the outcome-providing game
software executing step may be carried out with the second computer
including means for rendering the at least one outcome graphics
gadget over a neutral background to a second video output
interface. The method may further include a step of combining a
first video signal from the first video output interface with a
second video signal from the second video output interface in a
video display of the gaming machine using a blue-screen or
functionally similar technique. The method may also include steps
of designating at least one selected element of the graphic
animation by a target that may be recognizable by image analysis
software, and overlaying one of the outcome graphics gadget(s) onto
the target. The graphic animation rendered by the outcome-free game
software may include a video playback.
[0041] Another embodiment of the present invention is a method of
developing a game for a regulated gaming machine, comprising the
steps of adapting a game to render graphic animation in a first
video plane and to include a plurality of targets on the graphic
animation, the game being of a non-wagering type which does not
require certification by a gaming software certification lab;
developing outcome-providing game software that renders a plurality
of outcome graphics gadgets, each of the plurality of outcome
graphics gadget being operative to overlay the first video plane
and move in synchronism with a respective one of the plurality of
targets and to indicate at least part of a wagering outcome of the
game, and obtaining certification from a gaming software
certification lab only for the outcome-providing game software.
[0042] The adapting step may be carried out with the graphic
animation being independent of the wagering outcome of the game.
The adapting step may be carried out with the graphic animation
being configured to execute independently of the execution of the
outcome-providing game software. The adapting step may be carried
out with the source code of the outcome-free game software being
uncertified by a gaming software certification lab. The developing
step may be carried out with the source code of the
outcome-providing game software being certified by a gaming
software certification lab. The adapting step may be carried out
with the source code of the game being uncertified by the gaming
software certification lab and the developing step may be carried
out with the outcome-providing game software being certified by the
gaming software certification lab. The adapting step may be carried
out with executable code of the game being certified by the gaming
software certification lab and the developing step may be carried
out with the outcome-providing game software being certified by the
gaming software certification lab. The developing step may be
carried out such that each of the plurality of outcome graphics
gadgets may be operative to move in synchronism with a respective
one of the plurality of targets using motion capture software, the
motion capture executing software being isolated from the adapted
game. The developing step may be carried out with each of the
plurality of outcome graphics gadgets being synchronized with a
selected one of the plurality of targets on a frame-by-frame basis
(for example). The developing step may be carried out with each of
the plurality of outcome graphics gadgets being synchronized with a
selected one of the plurality of targets using at least one of a 2D
trajectory path method, a 3D trajectory path method, a camera angle
method, a light source characterization method, and a 3D trajectory
path method that may include location, scale, rotation and velocity
attribute characterization, for example. The developing step may be
carried out with each of the plurality of outcome graphics gadgets
being synchronized with a selected one of the plurality of targets
via one or more of a remote procedure call (RPC), Microsoft .NET
Remoting, an IP service and/or a software isolated process (SIP)
channel between the game and the outcome-providing game software,
for example. The developing step may be carried out with each of
the plurality of outcome graphics gadgets being synchronized with a
selected one of the plurality of targets via one or more of an
asynchronous remote procedure call (RPC), asynchronous Microsoft
.NET Remoting and/or an asynchronous IP service between the first
process and second process, for example.
[0043] The adapting step may be carried out with the game executing
in a process sandbox in which the software of the game software may
be given restricted memory access and/or restricted execution
permissions. The developing step may be carried out such that the
outcome-providing game software executes in a process sandbox in
which the outcome-providing game software may be given restricted
memory access and/or restricted execution permissions. The adapting
step may be carried out with the game executing in a process
sandbox that may be given compartmented memory access and/or
compartmented execution permission. The developing step may be
carried out such that the outcome-providing game software executes
in a process sandbox that may be given compartmented memory access
and/or compartmented execution permissions. The adapting step may
be carried out with the game executing in a process sandbox, the
process sandbox including one or more of strong process isolation,
DoD 5200.28-STD multilevel security, Microsoft Software Isolation
Process (SIP) and/or a JAVA sandbox, for example. The developing
step may be carried out such that the outcome-providing game
software executes in a process sandbox, the process sandbox
including strong process isolation, DoD 5200.28-STD multilevel
security, Microsoft Software Isolation Process (SIP) and/or a JAVA
sandbox, for example. The developing step may be carried out such
that the outcome-free game software is may be configured to render
its graphics in a video sandbox in which the graphic animation may
be prevented from being hidden or overlapped by an unauthorized
process attempting to write to a display or a video cache of the
regulated gaming machine, and in which unauthorized processes may
be prevented from reading the display or the video cache. The
developing step may be carried out with the outcome-providing game
software may be configured to render its graphics in a video
sandbox in which the plurality of outcome graphics gadgets may be
prevented from being hidden or overlapped by an unauthorized
process attempting to write to a display or a video cache of the
regulated gaming machine and in which unauthorized processes may be
prevented from reading the display or the video cache such as to
determine the outcome of the game. The developing step may be
carried out with the plurality of outcome graphics gadgets
including one or more of a scalable static 2D object; a rotatable
static 2D object; a scalable static 3D object; a rotatable static
3D object; a real-time animated 2D object, and a real-time animated
3D object, for example.
[0044] The adapting and developing steps may be carried out such
that each of the plurality of outcome graphic targets may be
synchronized using motion capture software to the motion of one or
more of the plurality of targets, the motion capture software being
isolated from the adapted game. The adapting and developing steps
may be carried out such that the game may be executed in a first
computer and the outcome-providing gaming software may be executed
in a second computer that may be separate and independent of the
first computer. The adapting and developing steps may be carried
out such that first computer in which the game executes may include
means for rendering graphic animation to a first video output
interface and the second computer in which the outcome-providing
game software executes may include means for rendering the
plurality of outcome graphics gadgets over a neutral background to
a second video output interface. The method may further include a
step of combining a first video signal from the first video output
interface with a second video signal from the second video output
interface in a video display of the regulated gaming machine using
a blue-screen or equivalent technique. The graphic animation
rendered by the game may include a video playback.
BRIEF DESCRIPTION OF THE DRAWINGS
[0045] FIG. 1 illustrates the rendering of the entertainment
graphics developed by a freelance game software developer and the
process of producing outcome graphic assets developed by the casino
supplier, according to an embodiment of the present invention.
[0046] FIG. 2 illustrates the overlay of the entertainment graphics
and of the rendered outcome graphic assets, according to an
embodiment of the present invention.
[0047] FIG. 3 illustrates the synchronization of the rendered
outcome graphic gadgets using the motion capture from the
entertainment rendering graphics, according to an embodiment of the
present invention.
[0048] FIG. 4 illustrates the synchronization of the rendered
outcome gadgets using a programming interface from the
entertainment rendering process, according to an embodiment of the
present invention.
[0049] FIG. 5 illustrates an overall game architecture, according
to an embodiment of the invention.
[0050] FIG. 6 illustrates the merging of 3D surface targets and 3D
outcome skins, according to an embodiment of the invention.
[0051] FIG. 7 illustrates 2D outcome objects being replaced with 3D
animated outcome graphic gadgets, according to an embodiment of the
invention.
[0052] FIG. 8 illustrates conventional gaming machine meters
[0053] FIG. 9 illustrates the concept of meters being grouped in a
docking windows, according to an embodiment of the invention.
[0054] FIG. 10 illustrates meters docking on a game display and
partitioning of controlling software, according to an embodiment of
the invention.
[0055] FIG. 11 illustrates the possible docking arrangements that
player may choose, according to an embodiment of the invention.
[0056] FIG. 12 illustrates meters rendered with controlled
transparency, according to an embodiment of the invention.
[0057] FIG. 13 illustrates gaming area and meters docked on
different windows panels, according to an embodiment of the
invention.
[0058] FIG. 14 illustrates individual docking of meters, according
to an embodiment of the invention.
[0059] FIG. 15 illustrates the architecture of a game exchange
portal, according to an embodiment of the invention.
[0060] FIG. 16 illustrates the architecture of a search portal,
according to an embodiment of the invention.
DETAILED DESCRIPTION
[0061] Reference will now be made in detail to the construction and
operation of preferred implementations of the present invention
illustrated in the accompanying drawings. The following description
of the preferred implementations of the present invention is only
exemplary of the invention. The present invention is not limited to
these implementations, but may be realized by other
implementations.
[0062] FIG. 1 illustrates the rendering of the entertainment
"outcome free" graphics developed by a freelance game software
developer and the process of producing outcome graphic assets
developed by the casino supplier, according to an embodiment of the
present invention. Embodiments of the present invention are
presented herein using a horse racing game as an exemplary
embodiment. However, it is to be understood that the present
inventions are not to be so limited, as most any type of game may
be used to great advantage.
[0063] Keeping the foregoing in mind, according to an embodiment of
the invention, a horse racing graphic animation (which may be
and/or include, for example, a video playback) controlled by a
process 104 may be rendered in a video plane 102. The animation
scene in FIG. 1 includes four horses 106, 108, 110 and 1 12. The
horse racing animation may be rendered in a video plane by the
freelance code executing in a process sandbox using pre-recorded
video or realistic real-time 3D animation, the rendering being such
that each horse number indicia usually printed on a blanket 114,
116, 118 and 120 attached to the saddle is totally obfuscated.
Consequently it is impossible, from viewing the animation of the
freelance code, to know or otherwise determine which horse is
leading and will eventually win the race, as well as the order of
the other horses across the finish line. In addition, other
identifying features that may help in identifying horses (such as
the jockey's jacket color and the horse's color or other
identifying markings, for example) may also be obfuscated.
Moreover, the voice-over or sound should not give any indication of
the leading horses. Thus, the background plane may constitute a
dazzling entertaining scene that is free from any markings (i.e.
numbers, colors, shapes) that would reveal the outcome of the game,
together with realistic sound.
[0064] A process sandbox is a term commonly employed in computer
technology to denote that the running process is given restricted
memory access and restricted execution permissions such as not to
interfere with other resources (e.g. processes, memory, disk
storage, video, etc . . . ) outside defined boundaries. (The
process sandbox technique is also commonly known in the US army
software requirement as secure compartmenting for a multilevel
secure operating system as defined in the DoD 5200.28-STD standard
and the associated Orange book and the rainbow series. The process
sandbox technique is being further researched at Microsoft Research
under the "Singularities" and "Virtualization" initiatives wherein
Software Isolated Processes (SIPs) communicate and interact via
"channels" and "contracts" which provide a fully defined and
protected security partitioning for inter-process communication and
wherein virtualization of the Windows operating system will be
controlled by the "HyperVisor" virtualization engine; these
technologies are likely to be released after Windows Vista. The
process sandbox technique is also commonly referred as strong
process isolation). This may be achieved using advanced and secure
resource management such as, but not limited to, hardware enforced
memory management, ACL (Access Control List), trusted computing
base (i.e. implementing security initiatives of the TCG Trusted
Computing Group: TPM, TNC, secure BIOS, secure storage, etc . . .
or equivalent technologies), software restriction policy,
anti-virus, kernel virtualization, I/O virtualization, and other
security mechanisms embedded in advanced 64-bit CPU. In addition,
forthcoming graphics controllers comprising embedded hardware
security module may ensure that no process may access unauthorized
video resources. Consequently, the executing freelance software
cannot interfere with the regulated software installed or executing
on the gaming controller, including unauthorized writing and
reading of information to/from the video display and hidden video
display cache.
[0065] Accordingly and according to an embodiment of the present
invention, the outcome-free game software or processes may be
configured to execute in a first process sandbox in which it is
given compartmented memory access and/or compartmented execution
permissions. The outcome-free game software or processes may be
configured to execute in a first process sandbox that may include,
for example, strong process isolation, DoD 5200.28-STD multilevel
security, Microsoft Software Isolation Process (SIP) and/or JAVA
sandbox. Likewise, the outcome-providing game software or processes
may be configured to execute in a second process sandbox in which
it is given compartmented memory access and/or compartmented
execution permissions. For example, the outcome-providing game
software may be configured to execute in a second process sandbox
that may include, for example, process isolation, DoD 5200.28-STD
multilevel security, Microsoft Software Isolation Process (SIP)
and/or JAVA sandbox.
[0066] As shown in FIG. 1, the horse number indicia 126, 128, 130
and 132 may be generated by an outcome engine process 122 seeded by
a random number generator (RNG) 124 subsequent to the BET button
125 being pressed. The code for the outcome engine process 122 is
under the control of the slot supplier and is certified--in
contradistinction from the executing freelance code, which need not
be certified or under the control of the slot supplier. Note that
the freelance code may, in fact, originate from the slot supplier.
This would, in effect, streamline the slot supplier's software
certification process, as only the relatively lean code for the
outcome engine process 122 need be submitted to the certification
lab for certification -as this is the only code that is in any way
involved in the outcome of the game.
[0067] FIG. 2 illustrates the overlay of the entertainment graphics
and of the rendered outcome graphics, according to an embodiment of
the present invention. In the illustrated horse racing scene
controlled by process 1 at reference numeral 202 and rendered in a
video plane 200, a single video frame comprising two horses 204 and
206 are displayed with their associated numbers obfuscated, as
shown at 208 and 210. The horse numbers 224 and 226 (which may
constitute at least part of the outcome of the game), according to
an embodiment of the present invention, may be generated by the
outcome process 122 (shown in FIG. 1) and rendered in a single
corresponding video frame in the video plane 220 by process 2,
shown at reference numeral 222. The two video planes 200 and 220
may then be combined as indicated by reference numerals 230, 232,
234 and 236 into a merged video plane 240. The single merged video
frame shows the two horses 242 and 244 with the corresponding horse
numbers 246 and 248 visible on the saddle blanket.
[0068] The horse number indicia 126, 128 may be rendered in a video
plane 220 as graphic gadgets (in the exemplary embodiment shown in
FIGS. 1 and 2, horse numbers) 224, 226 controlled by the certified
slot supplier code 222 executing in a process sandbox isolated from
the uncertified freelance process 202 running in another sandbox.
Graphic gadgets, according to embodiments of the present invention,
are small graphic objects behaving much like small windows that may
be rendered and moved individually over a background scene.
However, graphics gadgets are not necessary limited to a
rectangular shape. Graphic gadgets may be circular for rendering a
clock for example and of arbitrary outline. Other shapes for such
graphic gadgets are possible. Graphic gadgets may also be semi
transparent using alpha-blending technology and may have a
controllable transparency. Furthermore, graphic gadgets may be 3D
animated graphic objects and thus the outline of the 3D object over
the background scene may be cut in real-time accordingly. The term
"graphics gadget" is used herein to emphasize the fact that the
controlling process behind the graphics gadget is structured to be
isolated by a process sandbox and a corresponding video sandbox,
the video sandbox ensuring that (a) the gadget cannot be hidden or
overlapped by an unauthorized process trying to write to the
display or the video cache, and that (b) an unauthorized process
cannot read the display or the video cache of the graphics gadget
such as to determine the outcome that is rendered.
[0069] FIG. 2 shows the merging of a single frame of entertainment
graphics and of a corresponding single frame containing rendered
outcome gadgets. FIG. 3 illustrates the synchronization of the
rendered outcome gadgets using the motion capture from the
entertainment graphics such as to obtain a continuous merged video
sequence, according to embodiments of the present invention. For
motion capture, targets may be inserted in the video sequence, such
that they may be recognized by image analysis software. An example
of target is shown at numeral 306. According to an embodiment of
the present invention, targets may, therefore, be inserted in the
freelance entertainment horse race graphics animation at the
location(s) where the outcome assets are to be overlaid. In the
exemplary scene 300 in FIG. 3, the target 308 is inserted on the
saddle blanket of horse 302, and the target 310 is inserted on the
saddle blanket of horse 304. Each of the video frames composing the
animated outcome-free horse race may be analyzed as suggested by
312 by a motion capture process 314 that identifies the targets 308
and 310 and then derives their exact location on each frame. The
target locations may then be forwarded as shown at 322 and 326 to
the gadget processes 316 and 318 that will render 323, 327 the
horse numbers 324 and 328 at the corresponding target locations,
frame-by-frame, such that a seamless merged horse race animation is
displayed to the player. Indeed, the motion capture software may
derive other scene attributes such as without limitation, location,
path, velocity, scale, orientation, rotation, lighting parameters,
camera angle, such that the rendered outcome gadget may render the
outcome assets more realistically. Moreover, the target may
comprise a plurality of video attributes that may be more easily
decoded by the motion capture software for deriving scene
attributes such as without limitation, location, path, velocity,
scale, orientation, rotation, lighting parameters, camera angle,
such that the rendered outcome gadget may render the outcome assets
more realistically. Hidden video attributes may advantageously be
used.
[0070] FIG. 4 illustrates the synchronization of the rendered
outcome graphic gadgets using a programming interface from the
entertainment graphics such as to obtain a continuous merged video
sequence, according to an embodiment of the present invention. In
the exemplary scene 400, the location of target 404 on the saddle
blanket of horse 402, and the location of target 408 on the saddle
blanket of horse 406 are forwarded directly, as indicated at 412
and 414 by freelance process 410 to the gadget processes 416 and
418 that will render, at 422 and 426, the horse numbers 424 and 428
at the corresponding respective target locations frame-by-frame
such that a seamless merged horse race animation is displayed to
the player. Indeed, the freelance process 410 may provide other
scene attributes such as, without limitation, location, path,
velocity, scale, orientation, rotation, lighting parameters, camera
angle, such that the rendered outcome gadget may render the outcome
assets more realistically.
[0071] As may be apparent to those of skill in the art of video
graphics animation and synchronization, other synchronization
schemes may be employed that rely on a direct programming
interface, either frame-by-frame, by sequence of frames or for the
entire animation sequence. For example, if the animation is a
replay of a pre-recorded animation, the overall path for each
target may be provided via the programming interface.
[0072] FIG. 5 illustrates a game architecture according to an
embodiment of the invention in which a space controller coordinates
the various animations and interactions. The gaming machine video
display 500 (which may include one, two or more video display
panels) may display essentially four categories of graphic objects:
(a) outcome-free entertainment graphic objects 502, (b) outcome
graphic object 504, (c) meters objects 506 and (d) interaction
objects 508. There may be more categories of graphic objects
depending on the type and complexity of the game (multiplayer,
multi-screen, for example). These graphic objects may be each
controlled by an individual process and the combination graphic
object and controlling process is named "gadget" hereafter. Graphic
gadgets 504, 506 and 508 may be resizable and located anywhere on
any of the display panels. The entertainment graphic object 502 may
be or include a background scene taking the entirety of one or
several video display panels or alternatively taking a portion of a
single display only. The entertainment graphic object 502 may
include one or a plurality of resizable gadgets that may be located
anywhere on any of the display panels. The entertainment graphic
objects do not display any outcome-bearing information,
identification, shapes or colors (which is why it need not be
submitted to or certified by a software certification lab). The
process controlling the entertainment graphics may be, according to
an embodiment of the present invention, be totally isolated in a
sandbox process or may execute on a separate computing
controller.
[0073] The outcome gadgets may display outcome-bearing information
such as, but not limited to, identification marks, numerals, shapes
and colors. The meters gadgets may display the meters of the games
such as but not limited to credit, last win and denomination. The
interaction gadgets may be the visible or invisible graphic objects
with which the player may interact such as, but not limited to, a
bet button, wager selection, denomination selection, lines
selection, chips, help button and cash-out button. Help and prize
matrix may be interaction gadgets.
[0074] The graphics objects and gadgets may be displayed anywhere
on the video display(s) of the gaming machine with any viewing
attributes such as location, scale, orientation, illumination (one
or several light sources), opacity and plane position (on top, in
back, in between, etc.). Gadgets may be rendered in rectangular or
non-rectangular windows, or in sprites. Gadgets may be rendered as
full 3D animated objects.
[0075] The display rendering of all the gadgets on the video
display is controlled by a space controller 510 that is configured
to coordinate all the 2D/3D viewing attributes of each of the
graphic objects and gadgets such as to enable the player to
experience a seamless game session. Hereafter, the 2D/3D viewing
attribute of each gadget or graphic object is referenced as "path"
530, 534, 540 and 542 in FIG. 5. The path of each gadget may be
controlled frame-by-frame, by aggregate of frames, or for the
entire viewing sequence, whichever is more appropriate for each
gadget. The space controller 510 may receive the outcome data 548
from the outcome engine 516 and forward 534 the outcome information
together with the path to each of the associated outcome gadgets
504 that will in turn render the graphic animation of the outcome
in synchronization with the game entertainment scene. The outcome
engine 516 may receive the wager size, bet selections and bet
activation as a "command" message 544 from the interaction
gadgets.
[0076] The presentation style or "skin" of the entertainment
gadgets, meter gadgets and the interaction gadgets may be
customized by the player and/or by the game operator without
requiring any regulatory software re-testing. The customization
available to the players and/or to the game operator is limited, to
remain in regulatory compliance. Young computer users and gamers
who are used to be provided with "skin-able" programs and games
such as music players and even the entire Microsoft Windows visual
appearance (i.e. Aero in Windows Vista) may, therefore, customize
the skin of all the display windows and gadgets (entertainment,
meters, interactive) and choose their size, location, opacity and
dynamic zoom-in/zoom-out (the meters may be visible in small size
or with high transparency during game action and may appear in
large size and high opacity when the outcome is given). The gadgets
may be dock-able via a push-pin icon, and/or de-docked and removed
when the pin is removed. In a multi-display gaming machine, the
player or the operator may freely choose on which panel to display
the various graphics objects or alternatively may choose to combine
the panels to make a larger virtual display. Interactive controls
(suggested at 1312 in FIG. 13) may be offered to the player to
change the skin and/or location, size and any other attribute of
the gadgets, and the new skin parameters 532, 538, 544 may be
provided to the space controller 5 10. Such interactive controls
may take the form of buttons, joysticks, trackball, touch-sensitive
display, for example, as those of skill in this art may appreciate.
Accordingly, the space controller 510 may coordinate the path of
each of all the gadgets in order to generate a seamless game
session.
[0077] The space controller 510 may receive the outcome targets
path and viewing parameters 532 directly from the entertainment
graphics objects 502 or alternatively may derive them via a motion
capture process 512. The entertainment graphics objects 502 may
receive a start command 530 from the space controller 510 to start
viewing the entertainment animation, when the bet button is
pressed, for example.
[0078] The outcome engine 516 may receive a bet command 550 from
the space controller and obtain the raw random numbers 560 from the
random number generator 518. The outcome engine may receive player
credits via Ticket-In 522 or any other common payment instrument
and cash-out via Ticket-Out 524 or other payment instrument. An
audit engine 520 may securely store a trace of all regulatory data
558, in NVRAM for example. A history process 526 may record all
graphic activity 552 and associated outcome data 554 during a game
session, and forward them at 556 to a history playback process 514
such that the space controller may playback a complete game session
when required in order to resolve player disputes.
[0079] For illustration, FIG. 6 shows the concept of projecting a
3D outcome skin 602 onto a simple neutral spherical 3D outcome
target 600, according to further aspects of embodiments of the
present invention. In a video pool game example, balls bearing
numbers may be rendered as blind 3D spheres 604 by the freelance
entertainment graphics objects 502. The 3D spheres 604 are 3D
outcome targets that are each being passed (as shown at 532 in FIG.
5) as a 3D model to the space controller 510 together with their
associated viewing attributes. In the example of FIG. 6 wherein
only one pool ball is illustrated, the number 12 is being drawn by
the outcome engine 516 and is forwarded 548 to the space
controller. The outcome gadget 504 having the capability to
generate and control animated 3D spheres renders a sphere 604 on
which a texture or a skin representing the number 12 drawn by the
RNG 605 is dynamically projected, as shown at 606. The player will
see a seamless rolling ball 608 bearing number 12.
[0080] Similarly, in a cosmic voyager game wherein a spacecraft
exits light speed travel as it approaches its destination, the
planet where it would land is revealed. The planets may be rendered
as neutral/blind 3D spheres 610 by the freelance entertainment
graphics objects 502. The 3D spheres 610 are 3D outcome targets
that are each being passed 532 as a 3D model to the space
controller 510 together with their associated viewing attributes.
In the example of FIG. 6 wherein only one planet is illustrated,
planet earth is being drawn by the outcome engine 516 and is
forwarded 548 to the space controller. The outcome gadget 504
having the capability to generate and control animated 3D spheres
renders a sphere 610 on which a texture or a skin representing
planet earth drawn by the RNG 611 is dynamically projected 612. The
player will see a seamless spinning earth planet. Projected outcome
skin or textures may be a single fixed image (a number for example)
or a video image (a running horse for example) that is warped such
as to seamlessly cover the 3D outcome target. Other effects may be
applied to the projected outcome skin, such as different textures,
shimmering, rippling, bump mapping and all manner of modern graphic
manipulations, as those of skill in this art may appreciate.
[0081] FIG. 7 illustrates 2D outcome objects of legacy fruit games
being replaced with 3D animated outcome gadgets, according to
further aspects of embodiments of the present invention. Legacy
fruit games traditionally display 2D fixed or animated 2D outcome
objects 706, 712 and 718. It is anticipated that freelance creative
minds would rather directly create 3D fruit games in which each
individual fruit would appear as animated 3D characters lodged in a
virtual cavity located near the surface of a reel that revolves
when the player spins the reel. In this instance, the center of a
cavity within the reel may be passed by the freelance entertainment
graphics objects 502 as an outcome target to the space controller
510. The relevant outcome gadget may render the fruit corresponding
to the draw generated by the outcome engine 516. The player will
see a dazzling seamless spinning reel, which will then stop to
reveal animated 3D fruit.
[0082] FIG. 8 illustrates a conventional fruit game in which
regulatory meters are displayed at a fixed location. Traditionally,
the entire layout 800 is designed such that the reels 802 and the
regulatory meters 804 are placed at fixed location. The meters are
hand customized by a graphic artist to blend with the game and the
overall composition never changes. Some later games use window
effects to bring some portion of the screen and meters into focus
by enlargement during particular moments of the game session but
these effects are limited by what the graphic artist decided at
design time and they may not be changed at later time when the game
is deployed in a casino.
[0083] Accordingly, it is believed desirable to allow casino
players to change various aspects of the displayed games to suit
their mood, preferences and the available video display real-estate
(i.e. single display, multi-display, ultra-high resolution display,
plasma display, etc . . . ). Players, according to further aspects
of embodiments of the present invention, may change the style or
skin interactively of various game elements and operators may
control the parameters centrally or locally via configuration files
or centrally federated policies. Player's individually chosen
styles may be saved and later recovered and retrieved using,
without limitation, a player card or from a central player account.
As discussed below and according to further embodiments of the
present invention, players may configure their favorite styles and
skins on their computers at home and may thereafter retrieve such
parameters on the casino floor.
[0084] According to an embodiment of the present invention
illustrated in FIG. 9, the meters 900 may be grouped in a window
902. The window may be of the pop-up or roll-out type that is
brought into focus at a particular moment during the game action.
Traditionally the meters are placed at a fixed location and are
always visible. According to an embodiment of the present
invention, however, the player may close the meters window or
reduce it to a minimum or smaller size required by regulation by
pressing the "close" (or "minimize") button 904. The meters window
may return to its initial or previous size upon the occurrence of a
particular event during the game session, such as when a win
occurs. The player may move the meters window to another location
on the current display panel or to another display panel fitted to
the gaming machine by pressing and dragging the "move" button 912.
The player may resize the meters window by pressing the "Size"
button 908, whereupon a menu may pop-up offering various menu
sizes. Alternatively, each time the button 908 is pressed, the
meters window may assume a different size. Alternatively again, the
player may drag one corner of the window for resizing it. The
player may change the transparency of the meters window by pressing
the "Opacity" button 910, whereupon a menu may pop-up offering
various opacity values. Alternatively, the meters window may assume
a different opacity each time the button 910 is pressed. Similarly,
other buttons or interaction means may be offered for changing the
presentation style or skin of the meters window. The meters windows
may be docked (i.e. locked anchored or pinned) at a particular
location and be prevented from being closed or minimized by
pressing the "pin" button 906. Other interaction means may be
provided, to afford both players and operators great latitude in
customizing the appearance of the game. For example it may be
desirable to apply the same window control concepts to other types
of windows and gadgets available to the player during a game
session; consequently all graphics objects may be given the same
capabilities, without limitation, of moving, docking, resizing,
opacity, minimizing and skin/style change.
[0085] It is to be noted that one or more of the interaction means
and elements of FIG. 9 may form part of a management console of a
central computer system (1556 in FIG. 15). Such a management
console may be configured to enable policies to be interactively
set (by a game operator, regulatory official, an employee of a
gaming facility in which the gaming machine is located, by another
person or programmatically) for controlling the layout of one or
more of the plurality of graphic objects on the display(s) of the
gaming machine. Such interactively set policies may be enforced by
the central system 1556 to one or more gaming machines coupled
thereto. Such a management console may be operative to control the
layout, appearance (and optionally other attributes) of one or more
of the graphic objects displayed on the display(s) of selected ones
or all of the gaming machines that are connected to the remote
central computer system 1556.
[0086] FIG. 10 shows two groups of graphic objects on a single
video panel 1000 that may be controlled interactively by the player
or centrally by the game operator, according to further embodiments
of the present invention. The appearance of spinning wheels 1002
may be controlled by the buttons 1008. The appearance for the
meters window 1004 may be controlled by the buttons 1006.
[0087] Each group of graphic objects may be controlled by a
separate controlling process executing in a process sandbox. As an
immediate benefit, the software controlling each group of graphic
objects may be controlled by a partitioned software having a well
defined application programming interface (API) developed by an
independent software group or software vendor. The end-to-end
security principles described in the commonly assigned and
co-pending patent application Ser. No. 10/520,831, filed Jan. 5,
2005, entitled "Secure Game Download," and commonly assigned and
co-pending patent application Ser. No. 10/789,975, filed Feb. 27,
2004, entitled "Dynamic Configuration of a Gaming System" may be
fully applied. Both of the aforementioned patent applications are
hereby incorporated herein by reference in their entirety. In
addition, the modular principles described in commonly assigned
U.S. Pat. No. 6,916,247, entitled "Modular Entertainment And Gaming
Systems", commonly assigned U.S. Pat. No. 6,908,391, entitled
"Modular Entertainment And Gaming System Configured To Boot Its
Operating System And/Or Application Software From A Remote Device,"
commonly assigned and co-pending application Ser. No. 10/120,635,
filed Apr. 10, 2002, entitled "Modular Entertainment And Gaming
Systems Configured To Consume And Provide Network Services," and
U.S. Pat. No. 6,945,870, entitled "Modular Entertainment And Gaming
System Configured To Capture Raw Biometric Data And Responsive To
Directives From A Remote Server," may be applied to great advantage
and the controlling process for a particular group of graphic
objects may be controlled by a process located in a central
computer (such as shown at reference numeral 1556 in FIG. 15) or
another peer computer (such as shown at 1558 in FIG. 15) that is
coupled to the gaming machine. Peer-to-peer principles as such
detailed in commonly assigned and co-pending patent application
Ser. No. 11/172,518, filed Jun. 29, 2005, entitled "Universal
Peer-To-Peer Game Download," application Ser. No. 11/456,528, filed
Jul. 10, 2006, entitled "Multi-Player Regulated Gaming With
Consolidated Accounting," application Ser. No. 11/354,568, filed
Feb. 14, 2006, entitled "Methods And Systems For Implementing A
Secondary Game Across A Plurality Of Gaming Machines," application
Ser. No. 10/520,831, filed Apr. 10, 2002, entitled "Secure Game
Download," and in commonly assigned U.S. Pat. No. 6,645,075,
entitled "Cashless Time Gaming," and U.S. Pat. No. 6,916,244,
entitled "Server-Less Cashless Gaming Systems And Methods," all
applications and patents of which are hereby incorporated by
reference herein in their entireties, may also be applied to great
advantage. This modular approach may encourage freelance software
developers to specialize in some sophisticated and engaging game
add-ons or plug-ins and offer them to gaming machine vendors to add
to their game software. For example, a player tracking module
developed by company X may comprise a central control module
located in a central server (such as shown at 1556 in FIG. 15) on
the gaming network that directly and securely controls a graphics
gadget on each gaming machine via .NET Remoting, RPC or other IP
service. Likewise, company Y may specialize in offering "skin-able
meters" plug-ins that provides a wide range of presentation themes
and dazzling 3D animations and sounds. The game designer may decide
at game design time on a suitable meters presentation, or
alternatively, the player and the game operator may be given the
option to select a presentation or skin, without requiring the game
software to undergo a lab test and recertification.
[0088] FIG. 11 illustrates exemplary arrangements of the graphic
objects that a player or an operator may choose, according to
further aspects of embodiments of the present invention. On display
1102, the group of spinning wheels 1104 is on the top and the
meters 1106 are on the bottom. On display 1108, the group of
spinning wheels 1110 is on the right and the meters 1112 are on the
left. On display 1114, the group of spinning wheels 1116 is on the
top and the meters 1118 are on the bottom left in reduced size. On
display 1120, the group of spinning wheels 1122 is on the bottom
and the meters 1124 are on the top.
[0089] Alternatively and as shown in FIG. 12, the group of spinning
wheels 1202 may occupy the overall space across the video display
1200 and the meters 1204 are rendered with a predetermined
transparency over the wheels. Indeed, the transparency may vary
from full transparency to fully opaque. Moreover, the size thereof
may vary from large to small, under software control at different
moments within the gaming session.
[0090] FIG. 13 shows an exemplary player-selectable arrangement of
the graphic objects on a dual display gaming machine 1300. As
shown, the group of spinning wheels 1306 takes the overall space
across the lower video display 1302 and the meters 1308 may be
combined with a player tracking interface 1310 across the upper
video display 1304. The player or the game operator may choose
other arrangements depending on the number of configurable or
skin-able graphics objects and the number and sizes of the video
displays available on the gaming machine.
[0091] FIG. 14 illustrates a further partitioning of the graphic
objects of video display 1400 according to further aspects of
embodiments of the present invention. As shown, the group of meters
may be divided in individual meters 1402, 1404 and 1406, each
having the capability to have its appearance controlled by the
player via interactive controls means 1408, 1410 and 1412 or via
recalling previously stored player profile settings or
alternatively by the game operator via central configuration via a
suitable management console on a central system 1556.
[0092] Later generation graphic platform such as Microsoft Windows
Platform Foundation (WPF), WinFX, .NET Framework 3.0 and XNA Game
Studio Express for Windows Vista and Windows XP, together with
associated new generation of graphic design tools such as Microsoft
Expression suite (in which graphics are no longer bound by raster
technology but are fully scalable using vector graphics), may allow
creative minds to develop dazzling graphics. Microsoft's Visual
Studio Express is aiming to democratize application development by
putting development tools into the hands of novice and hobbyist
programmers. Microsoft officials hope XNA Game Studio Express will
democratize game development by delivering the necessary tools to
hobbyists, students, independent developers and studios to help
them more readily create games for the Xbox 360. This
democratization will enable game players to more easily become game
developers, company officials said. And by joining a "creators
club" for an annual subscription fee of $99, developers will be
able to build, test and share their games on Xbox 360 and access
other materials to help them develop games for the Microsoft
platform, Microsoft said. Code signing each module with an
individual certificate would enable end-to-end security throughout
the life cycle of the game and ensure that freelance developers are
rewarded in accordance with the success of their games or plug-ins.
This may be accomplished by examining the audit logs containing a
trace of the certificate ID for each module executed. Individual
modules of the games (and not the entire game) may be replaced via
central download to speed up and reduce cost of ownership.
[0093] The virtual display architecture detailed herein
accommodates any number and size of display panels that may be
fitted or connected to a gaming machine including, but not limited
to, large format plasma displays, 3D displays, projection displays
and interactive 3D projection displays such as Microsoft
"Touchlight" technology that lets users move and manipulate
three-dimensional images with their hands. The virtual display
architecture detailed herein may also accommodate technologies such
as Microsoft's "PhotoSynth", which constructs a user navigable 3-D
environment from a plurality of 2-D pictures or technologies such
as Total Immersion's D'Fusion technology, which seamlessly blends
video and 3-D computer generated constructs and animation together.
One or a plurality of displays may be remote from the gaming
machine, the remote display being controlled by a network connected
controller. Such a display may advantageously be a large size
plasma display controlled by a PC or an XBOX 360 game console, for
example. The network inter-process communication between the gaming
machine and the remote display controlled by a XBOX 360 may use the
Microsoft MCML language (Media Center Markup Language) or the
Microsoft XNA (http://msdn.microsoft.com/directx/xna/). The network
connected remote display may be shared between a plurality of
gaming machines, each gaming machine controlling at least one
graphic objects via network inter-process connection. The
end-to-end secure code download principles using code signing and
software restriction policy may be advantageously applied to
download the necessary network inter-process code. The
virtualization of remote large size advanced technology displays
shared between a plurality of gaming machines may allow freelance
developers to offer dazzling interactive video billboards driven
directly by the games played on the gaming machines. One or a
plurality of displays may be remote from the gaming machine, the
remote display being controlled by a network connected controller.
Such a display may advantageously be a large size plasma display
controlled by a PC or, an XBOX 360 game console, a Microsoft media
extender or equivalent, for example. The network inter-process
communication between the gaming machine and the remote display
controlled by a XBOX 360 or media extender may use the Microsoft
MCML language (Media Center Markup Language), the Microsoft XNA
(http://msdn.microsoft.com/directx/xna/) or the Microsoft "Media
Extender" framework, for example. The network connected Media
Extender device may an XBOX, a PC, a tablet device, a mobile PC, a
palmtop PC, a Windows Smartphone or a wired/wireless media player
such the Microsoft "Zune" media player. The network connected
remote display may be shared between a plurality of gaming
machines, each gaming machine controlling at least one graphic
objects via network inter-process connection. The end-to-end secure
code download principles using code signing and software
restriction policy may be advantageously applied to download the
necessary network inter-process code. The virtualization of remote
large size advanced technology displays shared between a plurality
of gaming machines may allow freelance developers to offer dazzling
interactive video billboards driven directly by the games played on
the gaming machines. The display virtualization to remote hand-held
personal computer devices (e.g. SmartPhone, Zune, etc.) connected
to a single gaming machine or shared between a plurality of gaming
machines may allow freelance developers to offer visually enticing
interactive distributed video billboards driven directly by the
games played on the gaming machines.
[0094] FIG. 15 is a high-level illustration of a Regulated Gaming
Exchange according to an embodiment of the present invention. The
present Regulated Gaming Exchange or Gaming Exchange Portal enables
(a) freelance game developers 1502 gather intelligence data (e.g.,
usage metrics) 1534 from players 1526 and other acquired data as
described later relative to FIG. 16 such as to offer new and
dazzling electronic games 1506 to the gaming marketplace of the
regulated casino 1510 and receive compensation as shown at 1522
based on the success of their games based on measured auditing/play
metrics 1520 of players 1512 playing the games on the casino gaming
machines 1514, and (b) game operators gather intelligence data
(such as usage and/or popularity metrics, and other acquired data
as described later relative to FIG. 16 for example) 1516 to enables
them to tailor their regulated game offerings 1518. Intelligence
data (e.g., usage metrics) 1534, 1516 for both the freelance game
developers and the game operators are, according to embodiments of
the present invention, based on demand/popularity of identical
trial games 1506 1538 available to the players 1526 over an
Internet portal 1500 through a trial download 1530. As the trial
downloaded games (the unregulated first versions of the games) 1530
may use simulated or virtual money only (or no money at all), they
are unregulated, as suggested at 1532 by gaming certification lab
1542. In addition, players may be provided, as shown at 1554, with
the location of casinos that offer their favorite game(s) and/or
other promotions. The games available at the casino (the certified
second versions of the games) may include games that may be
identical or similar to the downloaded trial games, except the game
play thereof may allow for playing with real money or other forms
of wagering, may use a certified source of random outcome, may
store critical meters on certified non-volatile memory, may provide
functionality for player dispute resolution and/or may communicate
with a central game management system (such as shown at 1556 in
FIG. 15). Such games offered within the casinos or other gaming
establishments, contrary to the unregulated downloaded trial games,
must be certified by the gaming certification lab 1542. One such
certification lab is Gaming Laboratories International, Inc., which
certifies submitted game software for compliance against one or
more of the following standards: GLI-11 Gaming Devices in Casinos,
GLI-12 Progressive Gaming Devices in Casinos or GLI-13 On-Line
Monitoring, Control Systems (MCS) and Validation Systems in Casinos
and GLI-21 Game Download System.
[0095] According to an embodiment of the present invention, players
1526 of the unregulated downloaded trial games may opt to provide
information (such as a list of the players' favorite games, for
example) to the Gaming Exchange Portal 1500 to enable casino
operators and/or select others to offer incentives to attract them
to their casino. Alternatively, consent to providing such
information may be a pre-condition to downloading and/or playing
the trial unregulated games 1536.
[0096] Freelance game developers 1502 may enrich the gaming
exchange portal 1500 by adapting popular gaming titles 1506 played
on PCs or game consoles such as 1508 GameCube, PlayStation and XBOX
for play on the floor 1511 of the casino 1510 or by using their
experience and expertise to create new unregulated games
specifically for the casinos. In this manner, freelance game
developers 1502 drive the exchange portal 1500 by adapting popular
gaming titles for play on the casino floor or by using their
experience and expertise to create new games 1506 specifically for
the casino (all games are preferably configured with a standard
API). The existing games adapted (with permission) by the freelance
developers may originate from the game library of popular console
type gaming platforms, such as Microsoft's XBOX or XBOX 360, Sony's
Playstation or Nintendo's GameCube (for example), as shown at 1506
or any future gaming system. Games specifically developed for,
e.g., the PC or Apple platforms may also be adapted as described
above. Alternatively, wholly new games may be developed by the
freelance developers. Alternatively still, the makers (or
licensees) of such gaming consoles may adapt existing games within
their games library in-house in the manner described herein. Once
such new or adapted (modified) games are created, the freelance (or
in-house) game developers may submit a copy of the new or adapted
game along two paths; namely, an unregulated path 1538 and, in
cooperation with a licensed game developer 1504 (e.g. Cyberscan,
WMS, Bally, etc.), a regulated path 1540.
[0097] Such unregulated first versions of games developed by the
freelance game developers or others are preferably such that they
do not make use of Internet communication and Internet display
technologies to execute and play on the home computing device 1528.
That is, the unregulated first versions of the games (in
contradistinction to the regulated and certified second versions of
the same games) preferably do not use Internet communication
technologies such as (for example, and without limitation) HTTP
Requests, HTTP Replies, cookies and/or Secure Socket Layers (SSL)
to play or execute on the player's home computing device 1528
(whether before or after the player has downloaded a copy thereof).
Similarly, the unregulated first versions of the games (in
contradistinction to the regulated and certified second versions of
the same games) preferably do not use Internet display technologies
such as (for example and also without limitation) the use of
Internet browsers, HTML, Java Scrips, Java applets, Scriptlets,
ActiveX controls, plug-ins, pop-ups and/or cookies to ply or
operate the games.
[0098] In particular, the first outcome-free portion of the
unregulated first version of the game is preferably configured to
not make use of Internet communication and/or Internet display
technologies to execute and play on the home computing device.
Similarly, the graphics portions of the unregulated first version
of the game is preferably configured to also not make use of
Internet communication and/or Internet display technologies to
execute and play on the home computing device.
[0099] Downloading (but not execution and playing) of the
unregulated first versions of games developed by the freelance may,
however, make use of Internet communication technologies and
Internet display technologies.
[0100] Returning now to FIG. 15, once new games are adapted and/or
created, game developers 1502 may submit (e.g., upload) a copy of
each developed game to the gaming exchange portal 1500 along two
paths, an unregulated path 1538, 1536 and a regulated path 1539,
1540, 1544, in cooperation with a licensed game developer 1504
(e.g. Cyberscan, WMS, Bally, etc.) via the appropriate gaming
certification laboratory 1542, as required in the appropriate
jurisdiction. The freelance game developer may upload separate
versions of the developed game for each of a plurality of targeted
types of home computing devices. Such computing devices may
include, for example, personal computers (which may include, for
example, both Windows-based devices and those running a version of
an operating system from Apple Computers), game consoles (e.g.
XBOX360), portable computers and portable telephones.
[0101] According to an embodiment of the present invention, the
regulated version of the game submitted along path 1539 1540
comprises the merging of the outcome-free game software of the
freelance game developer and the outcome-bearing game software of
the licensed game developer that is then submitted to an
independent certification lab 1542 to ensure that it meets all
gaming and security standards. Once certification is granted, the
now certified game 1544 may be loaded into a regulated games
repository 1550 of a selectively accessible predetermined computer
site (such as a Web site, for example). Gaming machines 1514
located on the floor 1511 of the casino 1510 may then access the
certified and regulated games loaded in the regulated games
repository 1550 and such games offered to the casino players 1512.
As may be required by regulation, the regulated games of the
regulated games repository 1550 may be first downloaded to the
central system 1556 before being made available to the gaming
machines 1514 to allow for a centrally federated enforcement of
policies. Alternatively, such certified and regulated games may be
made available over a computer network to other computing devices
located in other venues (such as hotel rooms or cruise ship
staterooms, for example), subject to appropriate security measures
and regulatory approval. Suitable means for providing regulated
gaming to guest rooms in the hospitality industry are described in
commonly assigned and co-pending patent application Ser. No.
11/456,763, filed Jul. 11, 2006, entitled "In-Room Gaming", which
is hereby incorporated herein by reference in its entirety.
[0102] As shown in FIG. 15, the unregulated version of the game
1538 may be loaded as a shadow copy in a shadow repository 1548 of
the regulated games repository 1550 from which players 1526 at home
may download it as shown at 1530 for trial play on their home
computers 1528 using an internet connection. Such games may be
similar or substantially identical to the games submitted for
certification, but for the aspects thereof concerned with money
(including the source of randomization used to determine the
outcome of the game which may be different in the regulated version
of the game than it is in the unregulated version thereof). For
example, the two versions of the game may look and play exactly (or
nearly exactly) the same. In a preferred embodiment of the
invention, the source code of the freelance code for the regulated
version of the software and for the unregulated version of the
software are substantially identical at least for the code related
to providing the dazzling entertaining scenes. For example, if both
the gaming machine and the home computer use the PC architecture
running under Microsoft Windows, then the source code for both
versions of the freelance software (for the regulated game software
and for the unregulated game software) may be substantially
identical using the same (for example) C# code. Alternatively, if
the gaming machine uses the PC architecture running under Microsoft
Windows and the home computer uses the XBOX 360, then the source
code of the freelance software for both versions (for the regulated
game software and for the unregulated game software) may be
substantially identical using Visual Studio and XNA Game Studio
Express. Alternatively again, if the gaming machine outcome-free
entertaining software executes on the XBOX 360 and the home
computer uses the PC architecture runs under Microsoft Windows,
then the source code of the freelance software for both versions
(for the regulated game software and for the unregulated game
software) may be substantially identical using (for example) Visual
Studio and XNA Game Studio Express. In contrast, some conventional
gaming systems make gaming software available for download by
players on their home PC. However, such gaming software that is
available for download is for evaluation only and does not use the
same source code for the non-regulated version of the gaming
software as for the regulated version thereof. For example, the
non-regulated version of such conventional downloaded evaluation
gaming software may execute in a web-browser, while the regulated
version of conventional gaming software may execute in a
proprietary graphic shell.
[0103] In direct contrast, a player of an unregulated game
according to embodiments of the present invention downloaded from
the exchange 1500 onto his or her home computer or home computing
device 1528 (which may include a branded gaming console) will have
much the same gaming experience when he or she plays at home as
when he or she plays the regulated and certified version of the
same game on a regulated gaming machine in a casino or other gaming
establishment (but for the wagering aspects of the game which, on
the regulated gaming machine, include playing for real money or
other tangible value). Usage metrics 1534 from this process may be
used to structure game offering menus on the casino floor 1511 such
that the most popular gaming titles are front-loaded.
[0104] On the floor 1511 of the casino 1510, each gaming machine
1514 records its regulatory meters from which usage metrics 1520 of
gaming titles may be derived. An embodiment of the invention may
rely on code-signing of game code according to the principles set
out in the commonly assigned and co-pending patent application Ser.
No. 10/520,831, filed Aug. 12, 2005, entitled "Secure Game
Download", which is hereby incorporated herein by reference in its
entirety. A trusted audit trail may also be splashed in the event
log. Embodiments of the present invention may allocate an
individual PKI certificate to each executable software component of
the certified and regulated games and to each of their versions,
binding the PKI certificate to the executable software and
associating a distinctive policy for each PKI certificate. The PKI
certificate's "Subject Name" (or "Issued to" field, or "CommonName"
field) may be a concatenation of the software component
identification, its version number and optionally other
identification characters, for example. In this manner, the
"subject name" may also comprise an embedded secure license
identifier of the developer for license tracking. Therefore,
examination of the game audits reveals the detailed metrics 1520 of
each played game and statistics may be generated in order to reward
the freelance game developers 1502 with financial compensation as
shown at 1522 in accordance with the popularity of their games.
Thanks to End-to-End Download Security and Embedded Secure License
Identifiers, developers will receive financial compensation in
accordance with game success.
[0105] A new game submitted along path 1540 may include
outcome-free code and outcome-bearing code. The outcome-free code
may be developed by the freelance game developers 1502 and the
outcome-bearing code may be developed by the supplier game
developers 1504, as detailed above. It is to be understood that
variations are possible, as those of skill in this art may
appreciate. For example, embodiments of the present invention
provide for both the outcome-free code and the outcome-bearing code
being developed by the same entity, be it the freelance code
developers or the supplier game developers. In order to be
permitted to enter the regulatory certification cycles, the
supplier game developers may take delivery of the outcome-free code
developed by the freelance game developers 1502 and may submit the
entire code that makes up the new game submitted along path 1540
(i.e., the outcome-free code and the outcome-bearing code) to the
certification lab 1542. The outcome-free code may include code that
need not be submitted to the certification lab 1542 in source code
form. The outcome-bearing code (and the outcome-free code, if
needed) may be submitted to the certification lab 1542 in any
manner or may be submitted as disclosed in commonly assigned and
co-pending patent application Ser. No. 11/251,628, filed Oct. 14,
2005, entitled "Universal Method For Submitting Gaming Machine
Source Code Software To A Game Certification Laboratory", which is
hereby incorporated herein by reference in its entirety.
[0106] Although less secure than the "compartmented" freelance code
described earlier in this specification, another embodiment of the
present invention may include submitting to the certification lab
an outcome-determining-free game software that includes only
graphic rendering code, such as macromedia .swf files for example.
Although .swf files do render outcome graphically (i.e. may render
a winning number on the video display in response to a provided
outcome code) via a Macromedia flash players installed in the
gaming machines and in the home computer devices, they do not
determine the outcome. The outcome determining game software is a
separate code that is developed by the licensed game developer and
that is submitted to the gaming software certification laboratory
in source code form. The .swf files are derived from the Macromedia
Director Studio (a graphic animation studio), are not produced
directly by a human programmer and are not directly executable (can
only be rendered via a Flash player, noting that the Flash player
does not necessary require an Internet web browser to render
graphic animations). Consequently, the gaming software
certification laboratory may not examine any
outcome-determining-free source code. A freelance developer may
provide .swf outcome-determining-free files (or equivalent from a
different graphic animation studio) for the purpose of the
regulated gaming exchange invention described herein. The
outcome-determining-free approach is notably adopted by Cyberscan
in UK and early deployments in USA for their regulated gaming
machines.
[0107] The regulated new game 1544 certified by the lab 1542 may be
transferred to the gaming exchange portal 1500 in a "regulated
games repository" 1550 that contains a plurality of regulated games
available for download to authorized parties. A copy of a regulated
game 1518 may be downloaded from the regulated games repository
1550 by an operator of the casino 1510 for deployment in the gaming
machines 1514 of the casino 1510 after determining (from the usage
and popularity metrics 1516, for example) that this game is likely
a good fit in his casino for a predetermined profile of players. In
turn, the operator of the casino 1510 may send promotional
information 1554 (such as casino locations carrying the new game
and vouchers) to the gaming exchange portal 1500, to enable the
promotional information to be forwarded to the appropriate players
1526 via email or other channels in accordance, for example, with
the usage metrics 1534 obtained from the registered players 1526
and their contacts details and preferences 1552, as such players
have previously played the unregulated trial version of the game
1530 1532, on their home computers 1528, for example.
[0108] The gaming exchange portal 1500 may be configured to deploy
policies such as active directory policies (or equivalent ADM
policy scripts) to the player's home computer 1528 such as to
enforce software installation policies (SIP) and software
restriction policies (SRP) in accordance with the principles
detailed in commonly assigned and co-pending patent application
Ser. No. 10/789,975, filed Feb. 27, 2004, entitled "Dynamic
Configuration Of A Gaming System", which is hereby incorporated
herein by reference in its entirety, in order to offer the player
some confidence that the origin of the software is from a reputable
source, to ensure proper updating of new game software components
and to revoke obsolete game software components. Policies may be
used to ensure the proper localization variant of the game is
executed by the player in accordance with local regulation. Indeed,
the player may choose the localization variant of the applicable
state where he wishes to try the game or play (for real money or
other value) at his or her preferred casino.
[0109] A player 1526 playing his or her favorite game on his home
computer 1528 may select various presentation preferences such as
those described above for "Virtual Display" and store his or her
preferences in a player profile, on a local storage or on the
gaming exchange portal 1500. When the player 1526 travels to a
casino 1510, the player may play his favorite game on a gaming
machine 1514 and may also retrieve his or her preferences from the
stored player profile. In this manner, the game played on the
gaming machine 1514 within the casino 1510 (or other location)
appears as it did on his or her home computer 1528--that is, with
his or her preferences incorporated in the displayed graphics of
the game and/or game play.
[0110] FIG. 16 is a high-level illustration of search means for the
Regulated Gaming Exchange Portal, according to an embodiment of the
present invention. Thanks to the compartmented approach described
above in this document that allows freelance developers to offer
dazzling games, it is anticipated that the regulated gaming
exchange portal will rapidly contain thousand of games and game
variants. Therefore, search means are desirable. The Gaming
Exchange Portal 1600 may further include a database and search
engine means 1606 similar to the ubiquitous Google. In fact, the
database and search engine means may be a "Search Appliance"
purchased for example from Google
(http://www.google.com/enterprise/gsa/index.html) or from another
party. The Search Appliance may crawl and scan the content of the
gaming exchange portal and create a master index of information
that is ready for instant retrieval using Google-like (for example)
search technology whenever a player 1624, a freelance developer
1644 or a game operator 1610 types in a search query. The Search
Appliance can index millions documents, and its security features
ensure that users can only access the information that they have
permission to view. The scanned documents may be the player help
files that contain the information displayed to the player 1616 on
the regulated gaming machines 1614 upon pressing the help menu,
associated information available in XML files or other specifically
prepared game specification documents. For each game software, the
information may comprise attributes 1638 1640 such as the game type
(e.g. fruit type X, poker type Y, etc . . . ), the game theme (e.g.
English, Chinese, Christmas, Easter, Birthday, Marriage, beginner,
advanced, etc.), the return to player (RTP) factor (e.g. 92%, 94%,
98%), the denomination (e.g. 1 , 5 , 10 , 50 , $1, $10, $50) and
the volatility (e.g. high, low, medium, that is win small amounts
frequently or win larger amounts less often). In addition to the
usage metrics 1534 1626, the database may keep statistics on the
frequency of download for each game 1634 1640 and the geographic
distribution (using geographic intelligence based on the IP number
of the home PC 1622).
[0111] Advertising sensing technology may be implemented such as
Google AdSense as a fast and easy way for game operators and
freelance developers to display relevant ads on their result
content pages to offer home players an opportunity to follow links
to examine casino promotions 1618 and freelance full size
unregulated version of the games 1652. The history of the queries
1630 of each player combined with their usage metrics 1626 may be
analyzed to derive intelligence therefrom relative to their
preferences, such that the ads and associated links may be tailored
according to what the visiting players are looking for.
[0112] The database and search engine 1606 may also contain the
player profiles 1552 and queries may be formulated to derive
intelligence on the most popular player profiles.
[0113] The players at home 1624 may formulate a search query 1630
by entering selected game attributes via a search page which is
forwarded to the database and search engine 1606. The search engine
1606 may then return a search response 1632 to the player.
Freelance developers 1644 may also formulate a search query 1648 by
entering selected game attributes via a search page which is
forwarded to the database and search engine 1606. The search engine
1606 would then returns a search response 1650. Similarly, the game
operator 1610 may formulate search queries and get search
responses. A player 1616 on the casino floor 1612 may formulate
search queries and obtain search responses whenever the casino
operator 1610 provides facilities to access the game exchange
portal search engine 1606. Access may be provided to the players
directly via the gaming machine 1614 or via auxiliary consoles
disposed on the casino floor.
[0114] The gaming operator 1610 may, for security reasons, provide
an internal database and search engine 1656 connected to the
central management system 1654 that provides the same functions as
the external database and search engine 1606, and allow the players
1616 to formulate queries related to games and promotions.
[0115] While the foregoing detailed description has described
preferred embodiments of the present invention, it is to be
understood that the above description is illustrative only and not
limiting of the disclosed invention. Those of skill in this art
will recognize other alternative embodiments and all such
embodiments are deemed to fall within the scope of the present
invention. Thus, the present invention should be limited only by
the claims as set forth below.
* * * * *
References