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.
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
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.
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.
As shown in
The horse number indicia 126, 128 may be rendered in a video plane 220 as graphic gadgets (in the exemplary embodiment shown in
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.
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.
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.
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
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
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.
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.
For illustration,
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
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.
According to an embodiment of the present invention illustrated in
It is to be noted that one or more of the interaction means and elements of
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
Alternatively and as shown in
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.
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.
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.
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.
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.
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.
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.
Returning now to
According to an embodiment of the present invention, the regulated version of the game submitted along path 15391540 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.
As shown in
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.
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.
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.
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.
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 15301532, on their home computers 1528, for example.
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.
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.
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.
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.
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.
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.
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.