# Patent

## Title
System and method for cross platform persistent gaming sessions using a mobile device

## Abstract

Various embodiments directed to systems and methods that enable cross platform persistent gaming sessions using a mobile device in a mobile device-enhanced system are disclosed herein. In one embodiment, a method may include enabling a cross platform gaming session in a system that includes a gaming machine that presents a game, and a computing device distinct from the gaming machine, both in communication with one another. The method may include associating the computing device with the gaming machine. The computing device may have one or more displays. The method may include receiving, by the computing device, reformatted graphical data from the gaming machine. The method may include presenting the game on the one or more displays of the computing device using the reformatted graphical data.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation application of U.S. patent application Ser. No. 13/839,854, filed Mar. 15, 2013, and titled System and Method for Cross Platform Persistent Gaming Sessions Using a Mobile Device, which is a continuation-in-part application of U.S. patent application Ser. No. 13/631,691, filed on Sep. 28, 2012, and titled System and Method for Cross Platform Persistent Gaming Sessions Using a Mobile Device, both of which are hereby incorporated in its entirety by reference. U.S. patent application Ser. No. 13/839,854 is also a continuation-in-part application of U.S. patent application Ser. No. 13/273,555, filed on Oct. 14, 2011, titled Streaming Bitrate Control and Management, and U.S. patent application Ser. No. 13/273,611, filed on Oct. 14, 2011, titled Graphics Processing Unit Memory Usage Reduction, both of which are hereby incorporated in their entirety by reference.


COPYRIGHT NOTICE
A portion of the disclosure of this patent document contains material that 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 files or records, but otherwise reserves all copyright rights whatsoever.
TECHNICAL FIELD
The present disclosure is directed to wagering games, gaming machines, networked gaming systems and methods, and in particular to cross platform persistent gaming sessions using a mobile device.
BACKGROUND
In the past, various types of gaming machines have been developed with different features to captivate and maintain player interest. In general, a gaming machine allows a player to play a game in exchange for a wager. Depending on the outcome of the game, the player may be entitled to an award which is paid to the player by the gaming machine, normally in the form of currency or game credits. Gaming machines may include flashing displays, lighted displays, or sound effects to capture a player's interest in a gaming device. There is also the desire to incorporate mobile devices for game play; however, there are numerous obstacles to the use of mobile devices for game play, including the lack of ticket printers and bill acceptors.
Historically, there has been “Ticket-in-Ticket-Out” functionality in gaming machines. Briefly explained, when using “Ticket-in-Ticket-Out” functionality a player inserts cash into a gaming machine, but does not receive cash when pressing “cash out.” Instead, he or she receives a paper ticket that may be further inserted into the present or any other gaming machine, or redeemed for cash by inserting into a kiosk.
While there is a desire to use mobile devices such as smart phones as gaming devices, there remains the problem that these mobile devices do not have access to traditional gaming peripherals such as ticket printers or bill acceptors. It would be desirable to allow mobile devices to participate in playing games with real money in a casino environment, leveraging existing infrastructure in a way that makes sense to a player. There is a continuing need in the art to address these and other issues. For example, some establishments ban or otherwise limit indoor smoking. At gaming establishments, gaming machines are typically operated indoors. In this regard, bans on smoking may directly impact revenue at gaming establishments since active or participating players may leave their gaming machines to smoke. One study suggests that smoking bans may lead to a reduction in revenue of around 30%. While gaming machines could be operated outdoors, regulations generally limit gaming establishments to a certain number of machines that may be operated or otherwise ready for play. In this regard, situating gaming machines outdoors (i.e., in smoking-friendly areas) affects the number of gaming machines that may be operated indoors, and also carries with it inclement weather concerns that may force gaming establishments to expend time and money moving gaming machines indoors. Therefore, there remains a need to enable a player to use a gaming machine vis-à-vis a second mobile computing device to address these and other issues.
SUMMARY
Briefly, and in general terms, various embodiments are directed to systems and methods that enable cross platform persistent gaming sessions using a mobile device in a mobile device-enhanced system.
In some embodiments, a method may include enabling a cross platform gaming session in a system that includes a gaming machine that presents a game, and a computing device distinct from the gaming machine, both in communication with one another. The method may include associating the computing device with the gaming machine. The computing device may have one or more displays. The method may include receiving, by the computing device, reformatted graphical data from the gaming machine. The method may include presenting the game on the one or more displays of the computing device using the reformatted graphical data.
In some embodiments, a system for enabling a cross platform gaming session for presentment of a game may include a gaming machine. The system may include a computing device having one or more displays. The computing device may be distinct from the gaming machine and may be operable to associate with the gaming machine. The computing device may be operable to receive reformatted graphical data from the gaming machine. The computing device may be operable to present the game on the one or more displays of the computing device using the reformatted graphical data. The gaming machine may be operable to associate with the computing device. The gaming machine may be operable to receive user input data from the computing device. The gaming machine may be operable to control the game while the game is being presented on the computing device.
In some embodiments, a system for enabling a cross platform gaming session may include one or more memories in communication with one or more hardware processors of one or more computing devices. The one or more memories may have instructions stored thereon that, in response to execution by the one or more computing devices, may cause the one or more computing devices to perform operations that may include associating a first computing device with a second computing device. The second computing device may have one or more displays. The first computing device may be a gaming machine distinct from the second computing device. The operations may include transmitting, by the first computing device, reformatted graphical data to the second computing device. The operations may include presenting the reformatted graphical data on the one or more displays of the second computing device using the reformatted graphical data thereby resulting in display of a game.
In some embodiments, a method for reformatting original graphical content designed for presentation on a gaming machine for presentation on a mobile computing device for which the original graphical content was not originally designed may include transmitting, by the mobile computing device, display information associated with a display on the mobile computing device to the gaming machine. The gaming machine may be separate from the mobile computing device. The method may include receiving, by the gaming machine, the display information transmitted by the mobile computing device. The method may include determining, by the gaming machine, a resolution or aspect ratio associated with the original graphical content. The method may include reformatting the original graphical content based on the resolution or aspect ratio associated with the original graphical content and the display information received from the mobile computing device.
In some embodiments, a system for reformatting original graphical content designed for a gaming machine for presentation on a mobile computing device for which the original graphical content was not originally designed may include a gaming machine design to present the original graphical content. The gaming machine may be separate from the mobile computing device. The system may include at least one display on the mobile computing device. The gaming machine and the mobile computing device may be operable to be in communication with one another. The mobile computing device may be operable to transmit display information associated with the at least one display on the mobile computing device to the gaming machine. The gaming machine may be operable to receive the display information transmitted by the mobile computing device. The gaming machine may be operable to determine a resolution or aspect ratio associated with the original graphical content. The gaming machine may be operable to reformat the original graphical content based on the resolution or aspect ratio associated with the original graphical content and the display information received from the mobile computing device.
In some embodiments, a method for reformatting original graphical content designed for presentation on a gaming machine for presentation on a mobile computing device for which the original graphical content was not originally designed may include transmitting, by the mobile computing device, display information associated with a display on the mobile computing device to the gaming machine. The gaming machine may be separate from the mobile computing device. The method may include receiving, by the gaming machine, the display information transmitted by the mobile computing device. The method may include determining, by the gaming machine, display information associated with a display on the gaming machine. The method may include reformatting the original graphical content based on the display information associated with the display on the gaming machine and the display information received from the mobile computing device.
In some embodiments, a system for reformatting original graphical content designed for a gaming machine for presentation on a mobile computing device for which the original graphical content was not originally designed may include a gaming machine design to present the original graphical content. The gaming machine may be separate from the mobile computing device. The system may include at least one display on the mobile computing device. The gaming machine and the mobile computing device may be operable to be in communication with one another. The mobile computing device may be operable to transmit display information associated with the at least one display on the mobile computing device to the gaming machine. The gaming machine may be operable to receive the display information transmitted by the mobile computing device. The gaming machine may be operable to determine a resolution or aspect ratio associated with a display on the gaming machine. The gaming machine may be operable to reformat the original graphical content based on the resolution or aspect ratio associated with the display on the gaming machine and the display information received from the mobile computing device.
Features and advantages will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate by way of example, the features of the various embodiments. Of course, the foregoing summary does not encompass the claimed invention in its entirety, nor are the embodiments intended to be limiting. Rather, the embodiments are provided as mere examples.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an Alpha cabinet running the game “Total Blast.”
FIG. 1A illustrates one embodiment of a gaming machine running the game “Ole Jalapenos” in a normal play mode.
FIG. 1B illustrates one embodiment of a gaming machine running the game “Ole Jalapenos” in a streamed play mode.
FIG. 1C illustrates one embodiment of a gaming machine running the game “Ole Jalapenos” in a normal play mode.
FIG. 1D illustrates one embodiment of a gaming machine running the game “Ole Jalapenos” in a streamed play mode.
FIG. 2 illustrates the game Total Blast as served by streaming server to an electronic gaming machine.
FIG. 3 illustrates a logic flow diagram of a process for a player leaving an electronic gaming machine.
FIG. 3A illustrates one embodiment of a process that readies a mobile device for a remote gaming session.
FIG. 3B illustrates one embodiment of a process that enables initiation of a remote gaming session on a mobile device.
FIG. 3C illustrates one embodiment of a process that enables termination of a remote gaming session on a mobile device.
FIG. 4 illustrates an example output shown to player on mobile device at end of electronic gaming machine session.
FIG. 5 illustrates a main screen and iDeck (e.g., virtual button deck) streamed to mobile device.
FIG. 6 illustrates the game Total Blast as served by streaming server to a mobile device.
FIG. 7 illustrates a process for player with mobile game session approaching an electronic gaming machine.
FIG. 8 illustrates an iView display message for player.
FIG. 9 illustrates the game Total Blast as served by streaming server to an electronic gaming machine and mobile device for replicated iDeck.
FIG. 10 illustrates an embodiment of the Mobile Wallet application.
FIG. 11 illustrates a player's perspective of the operation of a preferred embodiment.
FIG. 12 illustrates a system overview.
FIG. 13 illustrates an example of a Kiosk implementation.
FIG. 14 illustrates Kiosk integration using the Mobile Wallet Application for funding.
FIG. 15 illustrates a Kiosk Mobile device funding without player card.
FIG. 16 illustrates a Kiosk Mobile device funding with player card.
FIG. 17 illustrates an electronic gaming machine receiving funding from a mobile device without using a player card.
FIG. 18 illustrates an electronic gaming machine receiving funding from a player card.
FIG. 19 illustrates a Mobile application to perform association with an electronic gaming machine.
FIG. 20 illustrates an electronic gaming machine artwork with QR code for mobile association.
FIG. 21 illustrates a mobile version of game with mobile wallet integration.
FIG. 22 illustrates an overall process for combined game play between a mobile device and an electronic gaming machine without using a player card.
FIG. 23 illustrates an overall process for combined game play between a mobile device and an electronic gaming machine with a player card.
FIG. 24 illustrates a Kiosk redemption embodiment from a mobile device without player card.
FIG. 25 illustrates a Kiosk redemption embodiment with a player card.
FIG. 26 is a perspective view of a gaming machine in accordance with one or more embodiments.
FIG. 27 is a perspective view of another embodiment of a gaming machine.
FIGS. 28a and 28b are block diagrams of the physical and logical components of the gaming machine of FIG. 26.
FIG. 29 is a block diagram of the logical components of a gaming kernel in accordance with one or more embodiments of the invention.
FIGS. 30a and 30b are schematic block diagrams showing the hardware elements of a networked gaming system in accordance with one or more embodiments.
FIG. 31A illustrates a screen shot of game content associated with a Bally V22 game (“Ole Jalapenos”), which is displayed across two landscape oriented 1.77 aspect ratio displays in the embodiment shown.
FIG. 31B illustrates a screen shot of game content associated with a Bally V32 game (“All That Jazz”), which is displayed across one portrait oriented 1.77 aspect ratio display in the embodiment shown.
FIG. 31C illustrates a screen shot of game content associated with a Bally iDeck display having an aspect ratio of 5.29 in the embodiment shown.
FIGS. 32A-B show two mobile device displays presenting reformatted content corresponding to the original content shown in FIGS. 31A-C according to one embodiment.
FIGS. 32C-D show the two mobile devices shown in FIGS. 32A-B presenting reformatted content corresponding to the original content shown in FIGS. 31A-C according to another embodiment.
FIGS. 32E-F show the two mobile devices shown in FIGS. 32A-B presenting reformatted content corresponding to the original content shown in FIGS. 31A-C according to another embodiment.
FIG. 33 illustrates one example of a process associated with the reformatting of content according to one embodiment.
FIG. 34 illustrates one example of a display on a mobile device presenting reformatted content corresponding to the original content shown in FIGS. 31A and 31C according to one embodiment.
FIGS. 35A-D illustrate two different mobile devices having different display characteristics displaying two different games in the portrait orientation using the process illustrated in FIG. 33 according to one embodiment.
FIG. 36 illustrates one example of a process for determining optimum orientation according to one embodiment.
FIGS. 37A-B illustrate a mobile device display presenting reformatted content in a landscape orientation corresponding to the original content shown in FIGS. 31A and 31C according to one embodiment.



DETAILED DESCRIPTION
Various embodiments are directed to a game, gaming machine, gaming systems and method for playing a game, wherein the gaming system includes cross platform persistent gaming sessions using a mobile device. The embodiments are illustrated and described herein, by way of example only, and not by way of limitation. Referring now to the drawings, and more particularly to FIGS. 1-30b, there are shown illustrative examples of games, gaming machines, gaming systems and methods for playing a game in accordance with various aspects of the gaming system which includes cross platform persistent gaming sessions using a mobile device.
An example in accordance with one or more aspects of a disclosed embodiment is shown in FIGS. 1-9. A preferred embodiment of a gaming system 100 (shown in FIGS. 2, 6 and 9) includes cross platform persistent gaming sessions using a mobile device 110 (shown in FIGS. 4-6 and 9). One aspect of a preferred embodiment is directed towards leveraging mobile devices 110 to enable players to continue playing a game 120 (shown in FIG. 1) beyond when it is convenient for them to be located at an electronic gaming machine (EGM) 130 (shown in FIGS. 1 and 8). Otherwise stated, a player may use a mobile device 110 to continue playing a game 120 after the player has left the proximity of an EGM 130 by transferring (e.g., streaming from the EGM over a network to the mobile device, from a server over a network to the mobile device, or from another streaming source) the game from the EGM to the mobile device (i.e., a cross platform persistent gaming session). In some embodiments, the game 120 can also be transferred back from the mobile device 110 to the EGM 130.
In another aspect of a preferred embodiment, the mobile device-enhanced system 100 enables superior interaction with an EGM 130 via a player-held mobile device 110 such as a smartphone. A preferred embodiment of this mobile device-enhanced system 100 uses streaming video technology to deliver the game content 120; however, other embodiments of this system may also use conventional thick-client technology (i.e., all or most of the required content and processing are located and performed at the client instead of being transmitted from another source).
A preferred embodiment of the mobile device-enhanced system 100 provides significant types of functionality that were not previously possible. As shown in FIGS. 3 and 7, the mobile device-enhanced system 100 enables a player may continue playing a game 120 after leaving an EGM 130 by transferring the game to the player's mobile device 110. Second, the mobile device-enhanced system 100 enables a player who is playing a game 120 on a mobile device 110 to seamlessly transfer their game 120 to an EGM 130 for an enhanced gaming experience. In this regard, the systems and methods disclosed herein enable the streaming of game content from EGMs to secondary computing devices, such as computing devices (e.g., any computing device, such as a laptop, tablet computer, smartphone, or the like) controlled by or otherwise used by a player. The secondary computing devices may be removed from an EGM by a player (e.g., to outside a gaming establishment, near a bathroom, in a bathroom, at a bar, to a different EGM, or any other location away from the EGM within or outside a gaming establishment). In some embodiments, the EGM from which the player transfers his or her game enters a non-playable state (e.g., “reserved” or “remotely in use” state) rendering it inoperable by another player until, for example, the gaming session on the secondary computing device is ended. In another embodiment, the non-playable state terminates after a set period of inactivity.
FIG. 1 shows an example of an Alpha 2 EGM 130 executing the game “Total Blast,” which was developed by Bally Gaming, Inc. This game drives three video displays: the main screen, the top screen, and an iDeck (or other virtual button deck). The EGM 130 also has a display driven by an iView (or other player tracking module) and associated peripherals, such as a player tracking card reader.
In one embodiment of the mobile device-enhanced system 100, a player inserts a player tracking card into the card reader before commencing wagering. This action of inserting the player tracking card associates the wagering session with their player account. In this embodiment of the mobile device-enhanced system 100, the player also has in their possession a mobile device 110, preferably a smartphone. This smartphone has an application loaded into it that is capable of receiving and displaying a video stream over a network 140 (shown in FIGS. 6 and 9) and passing player input back over the network in reaction to events displayed in the video stream. The application is also capable of communicating with a game server 160 (shown in FIGS. 2, 6 and 9) over a network 140 to establish game sessions. Moreover, in this embodiment of the mobile device-enhanced system 100, the EGM 130 is also running application software capable of receiving video streams and displaying the video streams, along with software to control passing player input back over the network 140 to a game server 160.
Referring now to FIG. 2, a system configuration is shown that illustrates how the video streams from the game “Total Blast” may be directed to the EGM 130 using the mobile device-enhanced system 100. In this embodiment of the mobile device-enhanced system 100, there is a Stream Redirector module 150 (shown in FIGS. 2, 6 and 9) interposed between the game server 160 and the EGM 130. In some embodiments, the Stream Redirector module 150 is employed as a display manager that manages the game display on the gaming machine. This Stream Redirector module 150 may not be a physical module (i.e., the Stream Redirector module 150 may be a software (or virtual) module). In this embodiment, the Stream Redirector module 150 is depicted as a separate module. Also for the purposes of clarity, player input is not shown in FIG. 2. In this embodiment of the mobile device-enhanced system 100, player input passes in the opposite direction from touchscreen displays to the Stream Redirector module 150 and into the virtual game instance.
As disclosed herein, one or more games may be streamed to a gaming machine 130 or a mobile device 110 over a network 160 such as the internet, a wireless network, or the like. The gaming machine 130 and/or mobile device 110 which is bound to receive graphical data from the server 160, may include a network interface, a decompression module for each display and/or each compressed data stream, video memory, a video encoder for each display, and displays.
The server 160 may include software executable on one or more processors, one or more graphics processors, video memory associated with the one or more graphics processors, one or more compression modules, and a network interface. In other embodiments, the server 160 streams a plurality of games to a plurality of gaming machines 130 and/or mobile devices 110 connected to the network 140.
The software may include software for one or more games 120. In some embodiments, a processor, graphics processor, video memory, and compression module may be dedicated for each instance of gaming software. In other embodiments, one or more of the following may be dedicated for each instance of gaming software: a processor, graphics processor, video memory, and compression. For example, in some embodiments, a single processor may execute each instance of gaming software, but transmit graphical data to one or more graphics processors reserved for each of the games (i.e., four graphics processors, one for each game). Other embodiments may have different configurations of these and other components.
The one or more graphics processors receive graphical data generated as a result of the software being executed on the one or more processors. Upon receiving graphical data, at least one graphics processor renders the data into a frame of a particular format and may store the rendered frame in video memory. At least one compression module may then receive the frame for compression, and compresses (i.e., encode) the frame. Once the frame is compressed, the compressed frame may be sent to the network interface for transmission via a transport protocol over the communication network to the gaming machine 130 and/or mobile device 110.
In some embodiments, one or more system components may be added or removed from the system. For example, in some embodiments, some or all of the graphical data generated at the server 160 may not be compressed by a compression module prior to transmission to the gaming machine 130 or mobile device 110. Therefore, the server 160 may not include one or more compression modules. Otherwise stated, some or all of the graphical data may not be compressed after being rendered by a graphics processor.
In the embodiment, the gaming machine includes a display manager (e.g., stream redirector 150). In other embodiments, the server 160 may include one or more stream redirector 150 instead of the gaming machine 130 (e.g., one for each gaming machine). In yet other embodiments, a network component such as a router may include a stream redirector 150 instead of the server 160 or gaming machine 130. In yet further embodiments, the server 160, gaming machine 130, a network component, or combinations thereof may include a stream redirector 150.
The stream redirector 150 conducts display management processing on graphical data, which may include rescaling (e.g., resizing) and repositioning (e.g., changing display area coordinates) the graphical data while maintaining the aspect ratio of the graphical data. For example, the display management processing may assemble or composite two or more streams of graphical data into a single stream of graphical data. Otherwise stated, the display management processing may take two frames of data and convert them into a single frame of data. In addition, the stream redirector 150 may receive touch data (i.e., touch signals) from the displays, route the touch data, and conduct coordinate transformations if necessary, to the processor executing the game 120 with which the touch data is associated.
For example, shown in FIG. 1A is a gaming machine 100a for presenting a game. The gaming machine 100a has a first display 102a for displaying content 104a, a second display 102b for displaying content 104b, and a third display 102c for displaying content 104c. It will be appreciated that any number of displays may be used. As shown, gaming machine 100a is in normal play mode. It is understood that one or more of these displays may be a touchscreen display and function as a player input device. In the embodiment shown, content 104a depicts the title graphics corresponding to the game being displayed by the gaming machine 100a, content 104b depicts reel graphics corresponding to the game being displayed, and content 104c depicts virtual button display deck (e.g., iDeck) graphics. In normal mode, the game and operating system operate as would normally be expected. For example, a first player may approach the gaming machine 100a to play the game displayed thereon.
FIG. 1C is another representation of the normal play mode of gaming machine 100a shown in FIG. 1A. FIG. 1C also shows one embodiment of the gaming machine 100a (e.g., the interaction and communication pathways between displays and the operating system. In the embodiment shown, the game or game module 110a may be installed on a memory accessible to one or more processors of the gaming machine 100a. Of course, in other embodiments, the game or game module 110a may not be installed locally on the gaming machine 100a. Instead, the game or game module 110a may be processed by a server (e.g., game server), which may send data (e.g., graphical, audio, and any other data) over a network for presentment by the gaming machine 100a. Referring back to FIG. 1C, in the embodiment shown, the gaming machine 100a may include an operating system 112a. The game module 110a may communicate with the operating system 112a, the latter of which may perform calls to graphics hardware via standard application interfaces such as OpenGL. The graphics hardware (e.g., a GPU) may include two distinct video adapters such as a primary adapter and a secondary adapter. In one embodiment, the primary adapter may be an NVidia video adapter and the secondary adapter may be an Intel video adapter. The Intel video adapter may be onboard the graphics hardware (e.g., GPU). In the embodiment shown, three video outputs are shown—two from the primary video adapter and one from the secondary video adapter. The primary video adapter card is shown outputting DVI video signals to the first display 102a and the second display 102b. The secondary video adapter is shown outputting VGA video signals to the third display 102c. Of course, other embodiments may only include one video adapter, may include one or more displays, and may include a video output for each display. Though not shown, some embodiments of the gaming machine 100a may include a fourth video output that is supplied by, for example, the secondary video adapter to driver a topper. Because a topper may not necessarily display important gaming content, the fourth video signal may not be streamed to a secondary computing device during remote play.
In the embodiment shown in FIG. 1B, the game software 110a interacts with the displays of the gaming machine 100a through the operating system 112a. By modifying the operation of the operating system 112a, redirection of video content or other gaming content (e.g., audio content, haptic feedback content, or any other game content) is enabled without the game software 110a being aware of the redirection. Therefore, regulations controlling the game software 110a do not come into play nor are considered since the game itself, according to the regulations, is not being altered.
Continuing with the example shown in FIGS. 1A and 1C, and now referring to FIG. 1B, the gaming machine 100a is shown in a streamed mode with other system components. In this embodiment, the gaming machine 100a is in communication with the secondary device 106a (shown as an iPad in this specific embodiment) over a network using one or more communication protocols. In this specific embodiment, the gaming machine 100a is in communication with a wireless network access point 108a via an Ethernet connection, and the secondary device 106a is in communication with the wireless network access point 108a such that the secondary computing device 106a may receive data from the gaming machine 100a. Otherwise stated, the rendered output from the game display on the gaming machine 100a may instead be encoded and streamed over Ethernet and then WiFi to a secondary computing device 106a (e.g., any mobile device, such as an iPad). The player may press or otherwise touch the iPad display (or provide any appropriate input on any computing device using any input device such as a keyboard, mouse, touchpad) on the streamed representation. In some embodiments, a streamed representation of a virtual button deck may be displayed to the player on his or her secondary computing device 106a. Data representative of the player's inputs on the secondary computing device 106a is sent from the secondary computing device to the gaming machine 100a to simulate activation of inputs thereon (e.g., simulating a player activating a virtual bet button on a virtual button deck).
In other embodiments, a server in communication with the gaming machine 100a may transmit data to the wireless network access point 108 instead of the gaming machine 100a itself. For example, instead of the gaming machine 100a re-transmitting data (whether modified or not by, for example, a stream redirector module) that it received from the server, the gaming machine 100a may transmit data to the server representative of a player input indicative of a player's desire to play the game on his or her secondary computing device. Upon receiving and processing such data, the server may transmit game data to the secondary computing device 106a directly, without using the gaming machine 100a as a router. In such an embodiment, the server may transmit game data to the gaming machine 100a and the secondary computing device 106a. For example, the game data transmitted to the gaming machine 100a may result in one or more of the displays of the gaming machine 100a displaying that the gaming machine is being used remotely. The game data transmitted to the secondary computing device 106a may be transmitted through a stream redirector module (e.g., a display manager) to, for example, rescale and reposition one or more graphical streams of data for presentment on one or more displays of the secondary computing device.
Whether connecting to the gaming machine 100a, the server, or any other system component, the secondary computing device may transmit device specific information (i.e., device specific characteristics) for processing and analysis. For example, the secondary computing device may transmit information regarding how many displays it has, the physical size of its one or more displays, the resolutions available on its one or more displays, whether one or more displays have touchscreen capabilities, the processing capabilities of the secondary computing device (e.g., CPU info, GPU info, and any other processing capability info), and any other information associated with the secondary computing device that the gaming machine 100a, the server, or any other system component may receive and/or analyze. The device specific information may be used by the gaming machine 100a, the server, or any other system component to rescale and reposition one or more streams of data accordingly.
In streamed mode, the displays on the gaming machine 100a may no longer display the game. Rather, in some embodiments, the gaming machine 100a may display messages indicating that the game is reserved and in use by a player. For example, the first player that approached the gaming machine 100a may decide to leave the immediate proximity of the gaming machine 100a, but may desire to continue play thereon via his or her secondary computing device 106a. Once play of the game is initiated on the first player's secondary computing device 106a, the first player may leave the gaming machine 100a without fear that a second player will approach the gaming machine and engage in play of the game (e.g., wagering the first player's credits, cashing out, or any other play or action not authorized by the first player). This is because a second player approaching the gaming machine 100a would perceive a “game in use” message or other equivalent message or criteria on one or more of the displays of the gaming machine 100a. As disclosed herein, one or more timers may be displayed on one or more of the displays of the gaming machine 100a that may indicate to the second player one or more of the following: (1) when the remote play on the first player's secondary computing device 106a will automatically be suspended (e.g., remote play may be limited to a time period according to some embodiments—the time period may be high or low depending on the amount of money the player is willing to wager, the credit denominations being used, and how much money the player has already lost or won), (2) when the gaming machine 100a (or server in communication with the gaming machine 100a) will query whether the first player wishes to continue remote play via the secondary computing device 106a (e.g., by displaying a message on a display of the device 106), or (3) how long the player playing the game typically presented on the gaming machine 100a has been playing remotely.
FIG. 1D is another representation of the streamed play mode of gaming machine 100a shown in FIG. 1B. FIG. 1D also shows one embodiment of the gaming machine 100a (e.g., the interaction and communication pathways between displays and the operating system). In the embodiment shown, a suitable “game reserved” image or the like is presented on each display of the gaming machine 100a. The content that would normally be displayed is instead redirected to a reformatting module 114a (e.g., a display manager) that combines the content typically displayed on the displays of the gaming machine 100a such as the top box frame graphical data, main screen graphical data, and virtual button deck graphical data. The module 114a passes the combined content to a stream encoder 116a (e.g., a compression module). The stream encoder 116a may also receive audio associated with the game 110a, as shown. Encoded data (e.g., audio content and combined video content) may be sent to the secondary computing device 106a from the stream encoder 116a over a network.
The systems and methods disclosed herein may utilize or otherwise be complemented by the teachings disclosed in commonly owned U.S. patent application Ser. No. 13/273,555, titled Streaming Bitrate Control and Management. Accordingly, U.S. patent application Ser. No. 13/273,555 is hereby incorporated in its entirety by reference. The systems and methods disclosed herein may utilize or otherwise be complemented by the teachings disclosed in commonly owned U.S. patent application Ser. No. 13/273,611, titled Graphics Processing Unit Memory Usage Reduction. Accordingly, U.S. patent application Ser. No. 13/273,611 is hereby incorporated in its entirety by reference.
In one embodiment, the content sent to the reformatting module 114a is uncompressed frame buffers generated by execution of OpenGL libraries. The output from the reformatting module may be an image that is appropriate for the secondary computing device 106a. For example, the image may be reformatted to have the correct aspect ratio in view of the size and other characteristics of the one or more displays of the secondary computing device 106a. In some embodiments, the stream encoder 116a may receive a smaller image to encode than if a raw unformatted image was encoded because the module 114a may combine and reduce the image size of the content. Therefore, the systems and methods disclosed herein not only enable streaming of content to a secondary computing device and compressing that content before delivery, but also enable reduction in bandwidth consumption due a reduction in image size, and in some embodiments, a reduction in the number of frame buffers being compressed (e.g., three frame buffers are combined into one frame buffer before compression thereof).
In the embodiment shown, the stream encoder module 116a encodes image data according to an H.264 encoding scheme (i.e., encoding algorithm) resulting in an H.264 data stream. Latency may be further reduced by tuning the H.264 codec to not use B frames or look-ahead techniques. The audio content may be encoded according to MP3 or AAC encoding schemes. In other embodiments, different video and audio encoding schemes may be used. The encoded data may be multiplexed and encapsulated into a transport stream such as MPEG2-TS, Xiph OGG, or Adobe FLV. Of course, other transport streams may be used.
The transport stream may be sent over the network to the secondary computing device 106a. In the embodiment shown, the transport stream is sent over the Ethernet port connected to the gaming machine 100a using a suitable protocol such as RTSP. The secondary computing device 106a may receive the transport stream over WiFi, decode the transport stream, and display the data output corresponding thereto (e.g., video content and audio content). If the player touches one or more displays of the secondary computing device 106a, a touch coordinate may be transmitted back over the network (e.g., the WiFi/Ethernet link) to the gaming machine 100a for coordinate translation processing. In one embodiment, touch data may be transmitted back to the operating system 112a for the coordinate translation processing. The coordinate translation processing translates the coordinates of the touch data received and determines which display of the gaming machine 100a is being used and where on the display to map it to. The mapped (i.e., translated coordinate) may then be used to determine whether the touch data is a valid input and calls for certain functionality (e.g., a bet, change number of pay lines, spin reels, hit in Black Jack, spin the wheel in Roulette, or any other function related to any input for any game). For example, if the player touches the bottom of the iPad display, the touch data may be translated or otherwise mapped to the appropriate point on the touch screen on the virtual button deck. Continuing with the example, the translated touch data may then be sent to the virtual button deck (e.g., iDeck) driver module for processing.
In other embodiments, data other than “game in use” messages or similar messages may be presented on one or more displays of the gaming machine 100a. The other data may include the game data itself. In one embodiment, for example, the game may be presented on the gaming machine 100a as it is played by the player using his or her secondary computing device 106a. In such an embodiment, the gaming machine 100a may generate excitement in the establishment, which may lead prospective players (e.g., people walking by the gaming machine 100a) to be drawn in to watch the action (and possibly start playing gaming machines next to or in the vicinity of the gaming machine 100a). For example, a slot machine style gaming machine may spin the reels on one or more displays of a gaming machine based on the play of the game on the secondary computing device (i.e., when the virtual reels spin on the secondary computing device, they also spin on the gaming machine associated with the remote play). The input devices on the gaming machine 100a may be inoperable to ensure that the remote gaming session is not sabotaged by an unknown player.
In some embodiments, the systems and methods disclosed herein enable a player, such as the second player in the example above, to schedule a remote gaming session to follow an active remote gaming session. For example, the second player in the example above may be disappointed to find that his favorite gaming machine is not only in use, but is being remotely played. In one embodiment, the second player may be forced to check back at a later time. However, in some embodiments, the second player may schedule or otherwise reserve the gaming machine for a second remote gaming session that would follow the first player's remote session once it ends. In such embodiments, the second player's secondary computing device may receive a message (e.g., from the gaming machine 100a, a server, or any other computing device) indicating that the gaming machine 100a is available for remote play. If another player is “in line” or otherwise scheduled for remote play before the second player (i.e., now third player), the third player's secondary computing device may receive a message (e.g., from the gaming machine 100a, a server, or any other computing device) indicating that the gaming machine 100a is available for remote play by the second player, which serves as a status update to the third player.
In some embodiments, once a player that has reserved a remote gaming session receives a message on his secondary computing device indicating that the gaming machine 100a is available, the player may be presented with options. One option may be that he or she can choose to forgo the reservation and choose not to initiate a remote gaming session, in which case the next player “in line” may be queried. Another option may be that he or she may choose a “local play” option where the player is afforded enough time to go to the actual gaming machine 100a to play. In some embodiments, the player may be afforded 1 minute, 2 minutes, 5 minutes, 10 minutes, or any amount of time deemed appropriate. If the “local play” option is selected by the player, the player may be required to pay for every minute of play that the gaming machine 100a is not in use (i.e., for every minute that elapses without the player activating any inputs at the gaming machine 100a). Of course, another option may be that he or she may choose to initiate the remote gaming session thereby rendering the actual gaming machine 100a inoperable by another player in view of the remote use thereof.
As disclosed herein, the systems and methods enable a safe streaming mode for a player to confidently leave a gaming machine while playing the corresponding game on his or her secondary computing device. In some embodiments, a safe streaming mode includes ensuring no other player may interact with the gaming machine while the gaming machine is remotely being played. For example, in one embodiment, a bill acceptor or ticket acceptor is configured such that it will not receive a bill/ticket while the gaming machine is engaged in remote play. The gaming machine is also configured to not enable initiation of game play while the gaming machine is engaged in remote play. The gaming machine may also be configured to not allow a cash-out event (e.g., issuance of a TITO voucher) while engaged in remote play unless the system verifies the cash-out event is being initiated by the player engaged in the remote play. Thus, it is understood that the systems and methods disclosed herein enable a secure gaming environment by preventing another player from illegitimately commandeering the gaming machine without the consent of the player who is engaged in remote play. In some embodiments, a secondary computing device of the player may be associated with any gaming machine and any venue.
Referring now to FIG. 3, a process is shown using the mobile device-enhanced system 100 that illustrates what occurs when a player needs to leave an EGM 130, yet would rather continue playing. Examples of why a player may wish to continue playing could include, by way of example only, and not by way of limitation: (1) Qualification for a goal such as a bonus round, (2) A perceived lucky streak; and (3) A high progressive jackpot that the player feels is obtainable.
Despite wishing to continue, a player may nevertheless have no option but to leave the vicinity of the EGM 130 for a pre-existing engagement or even to catch a flight home. By using the mobile device-enhanced system 100, a player may continue playing the gaming session until the player is out of network range.
In one embodiment, when a player leaves an EGM 130 while using the mobile device-enhanced system 100, the player removes their player tracking card from the player tracking card reader. If the player wishes to continue playing the gaming session on their mobile device 110, the player may signal appropriately by selecting an icon or other command on the EGM 130 or iView display (or other player tracking module display).
In yet another embodiment, the mobile device-enhanced system 100 may employ an EGM 130 that incorporates a Bluetooth transmission system. In such an embodiment, when a player is seated at the EGM 130, an application running on their mobile device 110 is also Bluetooth-enabled and is in communication with the EGM. This establishes a link between the game session and the mobile device 110. When the player moves out of Bluetooth transmission range from the EGM 130, or the Bluetooth transmission link is otherwise broken, the game session link may continue to be active from the game server 160, even though it is not continuously connected.
Continuing now with respect to FIG. 3, as a player leaves the EGM 130 their account is disassociated with the EGM 130. If a game session is not currently in progress (e.g., if no credits are active), and there is no progress state associated with the game session, then the gaming session is terminated and no action is performed.
However, when using mobile device-enhanced system 100, if a gaming session is in progress when a player leaves the EGM 130, the player is presented with an option to move their experience to their mobile device. This presentation may take place on either or both of the EGM 130 and mobile device 110. In another aspect of the mobile device-enhanced system 100, to further notify the player of the mobile gaming options, the player's mobile device 110 may vibrate or play a sound to bring attention the possibility of continuing the game. Such a notification is shown in FIG. 4.
If a player doesn't wish to continue playing the session, the game session is terminated. Any credits or game state are preserved in the player account for later use. Otherwise, the Stream Redirector module 150 modifies the output of the video streams to suit the mobile device 110, and begins sending the video streams to the mobile device via a network 140 (e.g., which is preferably WiFi, but is also possible over a cellular data connection if gaming regulations permit).
Referring now to FIG. 5, an embodiment is shown using the mobile device-enhanced system 100 that illustrates how the “Total Blast” game may be presented to the player on the player's mobile device 110. It should be noted that this display on the player's mobile device 110 typically consists of two video streams (or audio-video streams) mixed together into one; the Main Screen stream, along with the iDeck (virtual button deck) stream.
Referring now to FIG. 6, a configuration of the mobile device-enhanced system 100 is shown that illustrates how the mobile connection is established. From the perspective of the virtual game instance, nothing has changed with respect to executing the game logic and rendering the graphics of the game. The operation of the Stream Redirector module 150 has changed however. The Stream Redirector module 150 now re-encodes both the main screen streaming content and iDeck streaming content into one combined stream of content. This re-encode process may also adjust the screen resolution and bitrate of the resulting stream of content to better suit the capabilities of the mobile device 110 and/or network 140. In embodiment of the mobile device-enhanced system 100 that employ games in which all three screens are necessary (e.g., the top screen is functional) for a game to perform correctly, the Stream Redirector 150 may perform more complex logic to support the merging of all three streams of content.
In another aspect of the mobile device-enhanced system 100, when a player touches a relevant point of the display on the player's mobile device 110, the coordinates are remapped by the Stream Redirector module 150 into the original resolution of the display, and passed back to the relevant touchscreen input of the virtual game instance. This remapping of the touchscreen coordinates assists in compensating for varying screen sizes and proportions between the display(s) of the EGM 130 and the display of the player's mobile device 110.
When using the mobile device-enhanced system 100, once a virtual game's content streams are redirected towards a mobile device 110, the EGM 130 begins a new gaming session. In some embodiments, this gaming session is of an identical game 120 (but different instance) to the game 120 that was redirected to mobile device 110. In other embodiments, another game may be chosen by the game server 160 to be executed on the EGM 130 (that is different than the game being shown on the mobile device 110), dependent upon heuristics such as the time of day, number of patrons in casino, or other data.
Another aspect of the mobile device-enhanced system 100 enables a player to use a mobile device 110 to facilitate a gaming session platform transfer. In one example, shown in FIG. 7, a player approaches an EGM 130 with an existing game session running on their mobile device 110. This may be a game session that originated on that EGM 130 at an earlier time, but this is not necessary. Using the mobile device-enhanced system 100, the player associates their account with the EGM 130. Preferably, this action is performed by the player inserting their player tracking card. Alternatively, the player may activate a command icon on the display of the EGM 130, or as discussed above, a Bluetooth pairing between the EGM 130 and the mobile device 110 may be used to establish a link.
In some embodiments, a software application may be loaded onto the mobile device 110 (or any secondary computing device) that readies the mobile device for connection to an EGM by enabling the mobile device to retrieve information regarding a connection management server. In one embodiment, the software application may be acquired via an app store, such as the Apple App Store or the Google Play Store. FIG. 3A depicts one embodiment of a process (e.g., a process caused by execution of software instructions of the software application) that readies the mobile device for connection to an EGM. For example, the process may ensure that that the mobile device (i.e., client device) can authenticate a connection management server, and that only valid client accounts may access the connection management server.
In some embodiments, the process depicted in FIG. 3A may leverage the WiFi API's (i.e., Application Programming Interfaces) present in mobile devices. When WiFi is enabled on a mobile device, the operating system of the mobile device may use WiFi adapter hardware to maintain a list of Access Points (APs) that are within radio range. As shown in FIG. 3A, this step may be performed at block 120a. Each of the AP has an associated Service Set Identifier (SSID) (i.e., a string of text) that is broadcast by the AP. This list is updated as the mobile devices moves around entering and leaving the range of Access Points. Once, the software application is initiated, the mobile device retrieves the list of available WiFi APs and their corresponding SSIDs (block 120a). The mobile device then determines whether any APs are associated with a venue running the streaming system at block 122a. If an AP is associated with a venue running the streaming system, the mobile device attempts to connect to the AP using, for example, a PKI method. In one embodiment, a PKI method may include using pre-stored keys (PSK) and certificates to ensure the AP is legitimate such as that shown at block 124a. Once connected to an AP, the mobile device may need to obtain the IP address of a connection management server. In one embodiment, the mobile device may obtain this IP address by using a NoCatAuth gateway server, as depicted at block 126a. The NoCatAuth server may intercept all http requests and respond with a login webpage. The login webpage may be presented on the mobile device. In some embodiments, stored credentials (possibly associated with a CMS player tracking account) may be used to log into the NoCatAuth gateway server. The general use of the NoCatAuth gateway server authorization process is depicted at block 128a. Once logged in, the NoCatAuth gateway server may send the current connection management server address to the mobile device, as shown at block 130a. 
Referring now to FIG. 3B, one embodiment of a process is depicted that enables the mobile device to be associated with a particular EGM and initiate a remote play session. It is understood that the client device may not connect to the EGM for a remote gaming session in other embodiments as disclosed herein. Instead, according to other embodiments, the client device may connect to a game server to receive game data therefrom during a remote gaming session. In some embodiments, a connection server may not be used. In such embodiments, the client device may maintain a list of IP addresses associated with EGM-specific identifiers, or the client device may obtain the IP address of the EGM from, for example, a QR code displayed on the EGM. In such embodiments, connection requests may go directly from the client device to the EGM.
Referring back to the embodiment shown in FIG. 3B, at block 132a, the player may request association with a particular EGM using his or her mobile device (i.e., one type of client device). In some embodiments, the mobile device may have already completed the process depicted in FIG. 3A prior to the request for association. Following block 132a, the player is queried to identify the EGM that the player seeks to associate with his or her mobile device at block 134a. In some embodiments, the player may associate his or her mobile device with a particular EGM by scanning an EGM-specific identifier such as a barcode or QR code located on the EGM (e.g., presented on a display or not on a display). The EGM-specific identifier may uniquely identify the EGM in the venue. In other embodiments, the player may input an EGM-specific identifier that is not a QR code or barcode (e.g., combination of numbers or letters) located on the EGM (e.g., presented on a display or not on a display). In some embodiments, the EGM-specific code may temporally change (e.g., every minute, every 5 minutes, every hour, every day, or any other time period) or change after every remote play session. Such embodiments ensure that players do not troll or otherwise needlessly tie up the associated EGM with illegitimate play. Such embodiments also ensure that the player requesting a remote play session is present at the EGM at the time of the request. For example, a player may write an EGM-specific code or take a picture of a QR code for later use. Of course, in some embodiments, such action may be allowed. GPS or other locational data may also be used to verify that a player is physically located at the EGM or within a particular venue before initiating streaming play.
As disclosed herein, alternatives to printed barcodes or QR codes may be used. Barcodes could be presented on a display of the EGM as an overlay for example. In other embodiments, Bluetooth, RFID, or other technologies may be used to transmit the EGM-specific identifier or IP address instead of optical codes.
In addition, according to some embodiments, the processes disclosed herein may be reversed with respect to the player requesting a remote gaming session. For example, the player may utilize a graphical user interface presented on a display of the EGM to scan for mobile devices within range (e.g., within Bluetooth range or other wireless technology range) that are available for connection. The player may select one of the mobile devices from the list to connect to connect or otherwise establish a communication link between the EGM and the selected mobile device. A confirmation request may be displayed on a display of the mobile device asking the player to confirm that he or she wishes to associate his or her mobile device with the EGM.
As shown at block 136a, the process may wait for the EGM-specific identifier to be scanned or otherwise entered. Once the EGM-specific identifier has been input, it is determined whether the input is a valid EGM-specific identifier at block 138a. If not, the process may return to block 132a. If the input is a valid EGM-specific identifier, then the process may continue to block 140a where the EGM-specific identifier (e.g., data representative of the EGM-specific identifier) may be sent to the connection server for further processing. The connection server may maintain a list of EGM-specific identifiers (whether static or dynamic) and corresponding current IP addresses. Accordingly, in embodiments utilizing a connection server, the connection server may retrieve an IP address of the EGM associated with the EGM-specific identifier at block 150a. At block 152a, the connection server may send a connection request to the EGM identified by the EGM-specific identifier. It is understood that the processes performed by the client device (e.g., mobile device), connection server, and EGM run in parallel with various information in the form of data being transmitted between the client device, connection server, and EGM.
Upon receiving the connection request at block 158a, the EGM may determine whether the requested connection is possible or otherwise available at block 160a. For example, the requested connection may be denied if the game is tilted or out-of-service. As another example, the requested connection may be denied if there are insufficient credits on the EGM to enable a meaningful gaming session (i.e., a session measured by, for example, the number games that may be played based on the available credits). In this regard, the process according to some embodiments may require that a certain number of credits be available for play. In such embodiments, the process may determine whether enough credits have been input to play a minimum of 1, 5, 10, 25, or any number of games based on the minimum bet, maximum bet, or any other bet amount. Of course, other embodiments may not require a certain number of credits to initiate a remote gaming session because the player may be enabled to input credits via the device on which he or she is playing the game in the remote gaming session.
If the requested connection is denied, the EGM may inform the connection server and the client device of the denial at blocks 154a and 142a, respectively. In embodiments where the EGM sends such information to the connection server and the client device, processing resources may be saved because, for example, the connection denial information may serve as an interrupt and stop any processing being performed by the connection server and the client device with the client device returning to block 132a upon receiving such an interrupt. For example, such an instance may occur where a connection request was initially allowed or otherwise approved but later denied due to later processing.
Likewise, if the requested connection is approved or otherwise allowed, the EGM may inform the connection server and the client device of the denial at blocks 154a and 142a, respectively. The client device may present a notification to the player that the connection request has been allowed and that the remote gaming session may commence shortly. Following the approval of the connection request, the EGM may, at blocks 162a and 164a, confirm that the player requesting the remote gaming session is actually at the EGM.
In one embodiment, the EGM may present a confirmation request on one or more displays of the EGM that may be touched positively by the player before the remote gaming session can commence. For example, the confirmation request may be a pop-up window that may read “Do you want to move your game and credits to be played on your mobile device?” As another example, the confirmation request may be a message that reads: “Do you want to move the game and credits to be played on mobile device: DEVICE NAME'S IPAD?” The player may select “Yes” or “No” on the confirmation request. If a player confirms that he or she wishes to initiate a remote gaming session, a connection allowed message is sent at block 166a and may be received by the connection server and the client device. Following block 166a, the EGM waits for client connection at block 168a. 
Upon receiving the connection allowed message, the connection server may, at block 156a, send remote gaming session data to the client device. Remote gaming session data may include the IP address and other data associated with the EGM. At block 144a, the client device may receive the remote gaming session data from the connection server and accordingly connect to the EGM over IP or any other communication protocol. As part of the remote gaming session initiation process, negotiation may take place as to the correct format for the data to be received in based on the client device characteristics (e.g., screen size, resolution, processing capabilities, and the like).
In some embodiments, before the remote gaming session commences, certain hardware devices (e.g., player input devices) or software modules of the EGM may be disabled so that they may not be used during the remote gaming session. For example, all touchscreens, physical buttons, the bill acceptor, and ticket printer may be disabled. According to one embodiment, the touchscreen capabilities of any display screens may be disabled, but the displays may still present information thereon. In one embodiment, touch screen data may still be transmitted from a display to a processor; however, the processor does not accept the input. In other embodiments, the disabling of the capabilities may mean that the display does not transmit touch data upon being touched. According to the embodiment shown in FIG. 3B, this may occur at block 170a. Following the disablement of certain hardware or software modules of the EGM, the remote gaming session may commence. In the embodiment shown, the EGM may stream gaming data to the client device and receive input data from the client device once the remote gaming session commences. This functionality is represented at block 172a. Likewise, the client device may display the streamed gaming data received from the EGM and relay activation of any input devices (e.g., a touchscreen) via input data to the EGM. This functionality is represented at block 148a. 
As disclosed herein, the EGM may replace the dynamic output of the game with static “Game Reserved” images or the like. Such images may be shown on the displays of the EGM throughout the remote gaming session with the actual output of the game instead being sent through the reformatting module and stream encoder according to one embodiment.
The confirmation request helps prevent someone from subverting the process by making a copy of the EGM-specific identifier and attempting to initiate a remote gaming session away from the EGM using a current player's funds because the current player at the EGM would be made aware of the attempt and would be able to stop it (e.g., by selecting “No”). As disclosed herein, the EGM-specific identifiers may be dynamic in that they change after, for example, every gaming session, a period of time, or any other measure. Dynamic EGM-specific identifiers may further help prevent illegitimate initiation of a remote gaming session.
In some embodiments, the system may automatically select “No” for the player after a predetermined length of time has elapsed (e.g., 5 second, 10 seconds, 30 seconds, 1 minute, or any other time period). The default selection of “No” after a predetermined period of time ensures that a player who leaves the EGM while the confirmation request is displayed does not have a remote gaming session initiated by another player (albeit on the client device of the player who left the EGM).
In some embodiments, the operating system on the EGM may permanently display an icon at a suitable location on a display (e.g., main display or iDeck) that would only allow streaming to be enabled if pressed with the default position being “off” as a further safeguard. In such embodiments, if streaming is disabled, a connection request by a secondary computing device is ignored. If a user has enabled streaming, the availability of streaming may return to the disabled state after a period of time if a remote gaming session is not enabled within that time (e.g., 1 minute, 5 minutes, or any amount of time). In some embodiments, the availability of streaming may return to the disabled state after a cash-out event occurs on the EGM. As another example, the availability of streaming may return to the disabled state if no credits are present on the EGM for a period of time.
Referring now to FIG. 3C, one embodiment of a process is depicted that enables a mobile device (e.g., any secondary computing device) to be disconnected from a remote gaming session. A remote gaming disconnection may be player-initiated or system-initiated (e.g., initiated by the EGM). For example, if a player's credit balance is at or below a certain threshold for a period of time, the venue may wish to return the EGM to its normal status so that another player may use it. In this way, the systems herein are enabled to measure inactivity. In some embodiments, the credit threshold may be 0 credits or a number of credits less than the number of credits required for one or more minimum bets on the EGM. In such embodiments, the time period may be 1 minute, 5 minutes, 10 minutes, or any other time period.
The system-initiated disconnection time period may be based on different credit thresholds and the player's credit balanced in relation thereto. For example, if a player's credit balance is at or below a certain threshold, then the time period may be a first time period, whereas if a player's credit balance is at or above a certain threshold, then the time period may be a second time period. In one embodiment, the first time period may be less than the second time period. For example, if a player's credit balance falls below the number of credits required for a single minimum bet for 2 minutes, the remote gaming session may be terminated. Likewise, if a player's credit balance would allow for two or more minimum bets and the credit balance has not increased or decreased (i.e., no bets have been made) for 10 minutes, the remote gaming session may be terminated. It is understood that the player's credit balance may be monitored just as the player input devices may be monitored. For example, the system may terminate the gaming session if player input data has not been received from the player's mobile device for a period of time.
In some embodiments, any remaining credit balance remains on the EGM after the remote gaming session is terminated. In other embodiments, any remaining credit balance may be returned to the player after the remote gaming session is terminated if the player's identity is known. In other embodiments, the EGM may enter a tilt mode if there are remaining credits on the EGM after a remote gaming session is terminated. In some embodiments, initiation of a remote gaming session may require a player to agree to properly cash-out remaining credits at the end of the remote gaming session or else agree that he or she will lose those credits since they may, for example, remain on the EGM. In still other embodiments, the remaining credits may be transferred to a player account stored on a server. Still further, a “code” or other indicia may be generated and stored by the mobile device that when entered by the player during a subsequent remote gaming session on a mobile device or local gaming session at a gaming machine, restores the remaining credits for further play.
In some embodiments, the mobile device of the player engaging in a remote gaming session may receive from, for example, the EGM a prompt requiring the player to affirmatively respond to continue the remote gaming session. Such a prompt may read “Are you still playing?” The player may select “Yes” or “No.” “No” may automatically be selected after a time period has elapsed. A player may be required to affirmatively respond to such a prompt after a time period elapses (e.g., every 10 minutes, every 15 minutes, every 30 minutes, or any defined period of time).
A player-initiated disconnection or termination of the remote gaming session may begin by the player initiating a cash-out event (e.g., by pressing “Cash-Out” on the screen on the mobile device). In some embodiments, a player may initiate a cash-out event using the EGM to receive a credit voucher. However, to ensure that the player actually engaged in the remote gaming session is the player requesting the cash-out at the physical EGM, the EGM may send a confirmation message to the mobile device requiring the user to confirm whether a cash-out event has been requested by him or her. Some embodiments may use biometrics and/or GPS or other locational data to verify the player is physically located at the EGM. In some embodiments, the mobile device may present a cash-out code that the player must input at the EGM for the cash-out event to be processed. Of course, the player may turn off such messages to prevent another player from harassing him or her during the remote gaming session (e.g., constantly attempting to cash-out an EGM involved in a remote gaming session).
In embodiments where a player initiates termination of the remote gaming session using the mobile device, a confirmation window may be presented to the player. This window may be generated by the EGM and streamed to the mobile device, or be performed natively by the mobile application if it is aware of the location of the virtual cash-out button on the mobile device display. The window may ask the player to confirm that the cash-out request is valid. If the player confirms the request is valid, then the player may be informed by, for example, another pop-up window (again, generated by the EGM and streamed to the mobile device, or be performed natively by the mobile application) to return to the EGM. The second pop-up window asking the player to return to the EGM may present a cash-out code to the player that someone at the EGM would not know. For example, the secret cash-out code may be a randomly chosen word or combination of letters or numbers.
In some embodiments, the EGM may display the proper cash-out code among other non-functional cash-out codes. The EGM may ask the player to touch the cash-out code shown on the mobile device, and if correctly chosen, the mobile device is disconnected and the EGM is re-enabled for normal play to continue (e.g., re-enabling player input devices on the EGM). Of course, in other embodiments, the player is asked to select the right code from a plurality of wrong codes. Instead, the player is asked to input the code by, for example, entering each letter, number, or symbol of the code using a virtual keyboard presented on a display of a gaming machine. In some embodiments, once the cash-out code is entered, a ticket voucher is printed by the EGM. In other embodiments, once the cash-out code is entered (e.g., at the gaming machine associated with the remote gaming session or a cash-out kiosk), the credits (or money corresponding thereto) may be sent directly to a player account. In other embodiments, the cash-out code need not be entered at the EGM for the player to receive his or her funds. Instead, the player may enter the cash-out code at a cash-out kiosk (e.g., ATM/bill breaking machine) or provide the cash-out code to a cashier. The cash-out kiosk may be connected to a network and receive cash-out codes along with the corresponding credits and cash value of the credits from mobile devices over the network. In this way, a player may input the cash-out code at the cash-out kiosk without having to find the EGM associated with the player's remote gaming session. In some embodiments, once the cash-out code is presented to the player, the remote gaming session is terminated since the player need not approach the EGM associated with the remote gaming session to effectively cash-out. This enables the EGM to return to normal play mode sooner because the EGM does not need to wait for the player to travel back to the EGM to terminate the remote gaming session. In some embodiments, Bluetooth, RFID technology, biometrics, or GPS technology may be used to ensure the player is at the EGM with the mobile device before the EGM was returned to normal play.
One purpose of the cash-out code is to ensure that a player pressing “Cash-Out” on the mobile device is not beaten to the EGM by another person who could then steal the credits by pressing the “Cash-Out” button on, for example, the virtual button deck once the EGM was returned to normal play. In some embodiments, the cash-out code may be made available to the player via the mobile device, but not presented thereon until the player requests the actual presentment of the code itself.
In some embodiments, the cash-out code may be a barcode, a QR code, or any other unique indicia related only to the remote gaming session from which the cash-out event is initiated may be presented on the mobile device. The player may take this session-specific code, just as the other cash-out codes discussed, to the EGM or a cash-out kiosk. However, instead of the player manually entering the code or selecting the code, the EGM or the cash-out kiosk is enabled to read the code with a scanner (e.g., barcode reader or QR code reader).
In some embodiments, a secret code may be used to establish a connection to the EGM as an alternative to barcodes. In such embodiments, the player may first touch a streaming icon on the EGM display causing a code (e.g., secret word) to be displayed. Next, the player may start or otherwise initiate the mobile streaming application, and be presented with a short list of random codes (e.g., random words) to choose from with each word being supplied by the connection server or the EGM. Selecting the matching word may identify the EGM that the player is nearest to and the process may then continue with the confirmation window. This way, any EGM may be used for “cash-out” so the player need not seek out a specific EGM (e.g., the EGM from which the player's remote gaming session was associated).
According to some embodiments, the systems and methods disclosed herein may use a Bally Alpha 2 EGM, a standard Ethernet infrastructure (wired and WiFi), and an optional connection server which may be a standard PC running a Windows operating system. According to some embodiments, video stream encoding may be performed using the H.264 codec and MPEG TS encapsulation over a protocol such as RTSP. Audio encoding may be performed using the AAC codec. Also according to some embodiments, the mobile device may be an Apple iPad 2 or iPad 3, or an Android tablet computer running Ice Cream Sandwich 4.0.3 or later. It will be appreciated that any combination of system components, hardware components, and communication protocols may be used.
Referring now specifically to the process shown in FIG. 3C, one embodiment of a process is depicted that enables a mobile device (e.g., any secondary computing device) to be disconnected from a remote gaming session. At block 180a, the mobile device may wait for disconnection or termination request (whether player-initiated or system-initiated). In the embodiment shown, the mobile device is shown waiting for a disconnection or termination request from the player. Once a termination request is received, the process may proceed to block 182a where the mobile device sends the termination request to the EGM. At block 184a, the mobile device determines whether termination is allowed. In some embodiments, block 184a determines whether the termination is allowed based on, for example, data received form the EGM such as a disconnection or termination allowed message.
At block 188a, the EGM is shown receiving, as input, the termination request from the mobile device. Following block 188a, the process may proceed to blocks 190a and 192a where it may be determined whether a timeout period has elapsed based on, for example, player inactivity, and whether the received data is in fact a termination request. In some embodiments, player inactivity may include neither confirming nor denying the termination request. The timeout period may be any time period.
If the timeout period has not elapsed and the received data is a termination request, then the process may proceed to block 194a where the EGM may display a confirmation request to the player asking the player to confirm whether he or she had in fact requested termination of the remote gaming session. At block 196a, the player may respond to the confirmation request. If the player does not confirm the termination request, data representative of such an input may be sent to the mobile device from the EGM (block 198a). The mobile device may then proceed to block 180a instead of 186a in such a circumstance. Otherwise stated, the mobile device does not suspend or otherwise disconnect itself from the remote gaming session. However, if the player does confirm the termination request, data representative of such an input may be sent to the mobile device from the EGM. The mobile device may then proceed to block 186a instead of block 180a in such a circumstance. Otherwise stated, the remote gaming session is terminated. At block 200a, the EGM may wait for data from the mobile device indicating that the mobile device has disconnected from the remote gaming session. Once such data is received, the EGM may, at block 202a, enable input and output devices (or otherwise return them from a partial-functionality state to a full-functionality state) so that normal play may be initiated on the gaming machine. At block 204a, the remote gaming session may be considered terminated since the gaming machine may now be available for normal play (e.g., normal play mode).
As disclosed herein the secondary computing device (e.g., mobile device) may have different characteristics from a gaming machine (e.g., EGM). Therefore, the systems and methods disclosed herein enable the deployment of a game on a secondary computing device that has different characteristics than the EGM to which the game is associated. The systems and methods herein enable a wide range of games to be deployed on a wide range of mobile devices.
For example, an EGM may have one, two, three, four, or more displays of varying sizes, resolutions, and aspect ratios. Mobile devices may have more than one display, but generally have just one display. In some embodiments, the display(s) of a mobile device may be oriented in either a portrait or landscape mode. For example, a user may rotate his or her mobile device to view the display(s) on the mobile device in a portrait orientation or a landscape orientation. The displays of various mobile devices generally have different display characteristics. For example, the following mobile devices are currently sold in the U.S. with associated resolutions and aspect ratios. In landscape orientation, the Apple iPad 2 has a resolution of 1024 pixels (width) by 768 pixels (height), and has an aspect ratio of 1.33. In landscape orientation, the Apple iPhone 4 has a resolution of 960 pixels (width) by 640 pixels (height), and has an aspect ratio of 1.5. In landscape orientation, the Apple iPhone 5 has a resolution of 1136 pixels (width) by 640 pixels (height), and has an aspect ratio of 1.78. In landscape orientation, the Asus TF700 has a resolution of 1920 pixels (width) by 1200 pixels (height), and has an aspect ratio of 1.6. In landscape orientation, the BlackBerry Playbook has a resolution of 1024 pixels (width) by 600 pixels (height), and has an aspect ratio of 1.7.
The systems and methods disclosed herein enable reformatting of any existing game so that it may be presented on one or more displays of a mobile device. In some embodiments, the entire real estate of a display (i.e., all pixels) on a mobile device may be used in presenting a reformatted game on the mobile device. In other embodiments, less than the entire real estate of a display (i.e., all pixels) on a mobile device may be used in presenting a reformatted game on the mobile device. For example, 50%-99% of the pixels may be used.
In some embodiments, a virtual button deck (e.g., iDeck) graphical user interface may be represented in a large enough portion of the mobile device display to enable a player to easily operate it. For example, a gaming machine with a main screen display and a virtual button deck display may have graphical data associated with each display, which may be combined and shown on a single display of a mobile device. The graphical data associated with the virtual button deck may be reformatted (e.g., resized) and presented on a portion of the mobile device display (e.g., the lower 20% in a landscape orientation), whereas the graphical data associated with the main screen may be reformatted and presented on another portion of the mobile device display (e.g., the upper 80% in a landscape orientation). Of course, in other embodiments, the graphical data associated with the virtual button deck may be reformatted (e.g., resized) and presented on the entire mobile device display. After a player, for example, selects a bet amount on the mobile device display using the reformatted graphical user interface, the mobile device may switch to displaying graphical data associated with the main screen display that has been reformatted and presented on the entire mobile device display.
In some embodiments, reformatting the graphical data presented on a gaming machine may result in deformation of content (e.g., stretching, shrinking, or otherwise skewing the content such that the original aspect ratio of the content is not maintained). However, the systems and methods disclosed herein may determine that if deformation of content occurs, such deformation may be acceptable provided that the deformed content is perceivable as being related to the source content (i.e., the content as it is presented on the gaming machine) with, for example, minimal deformation. In some embodiments, the level of deformation may be determined based on the aspect ratio of the content before reformatting and after reformatting. For example, if the original content has an aspect ratio of 2, and after reformatting the content has an aspect ratio of 1, then the content may be perceivably stretched height-wise. However, if the content has an aspect ratio of 2.1 or 1.9, the deformation of the content may not be perceivable, readily perceivable, or the like. This is because the 2.1 or 1.9 aspect ratio is closer to the original aspect ratio than that of 1.
Accordingly, in some embodiments, this relationship is leveraged to set up acceptable and unacceptable levels of deformation. In one embodiment, acceptable levels of deformation may include when the aspect ratio of the reformatted content is within 1%, 5%, 10%, 20%, or any other percentage of the aspect ratio of the original content. For example, if the original content has an aspect ratio of 1.6, deformation in reformatted content related thereto may be acceptable if it is within the range of 1.584-1.616 (e.g., if the aspect ratio of the reformatted content is required to be within 1% of the aspect ratio of the original content), 1.52-1.68 (e.g., if the aspect ratio of the reformatted content is required to be within 5% of the aspect ratio of the original content), 1.44-1.76 (e.g., if the aspect ratio of the reformatted content is required to be within 10% of the aspect ratio of the original content), or 1.28-1.92 (e.g., if the aspect ratio of the reformatted content is required to be within 20% of the aspect ratio of the original content). In one embodiment, unacceptable levels of deformation may include when the aspect ratio of the reformatted content is not within 1%, 5%, 10%, 20%, or any other percentage of the aspect ratio of the original content.
As disclosed herein, content from multiple displays on one device may be combined into a single stream or frame for another device. While content may be reformatted based on the aspect ratio of the display and deformed accordingly, the deformation measurement disclosed herein is based on the aspect ratio for each piece of content against its associated original content.
In some embodiments, the systems and methods disclosed herein leverage the different orientations available (i.e., landscape or portrait) of a display. For example, some games may play better in a portrait orientation on a mobile device while other games may play better in a landscape orientation on the same mobile device.
Referring now to FIGS. 31A-C, examples of content taken from Bally Alpha 2 products is shown for illustrative purposes. Of course, the content may change based on the game and the gaming machine for which it is designed.
FIG. 31A shows a screen shot of graphical data associated with a Bally V22 game (“Ole Jalapenos”), which is displayed across two landscape-oriented 1.77 aspect ratio displays. Each of these displays has a resolution of 1360 pixels by 768 pixels. Combined together, as shown, they produce a composite image having a resolution of 1360 pixels by 1536 pixels and an aspect ratio of 0.88. FIG. 31B shows a screen shot of graphical data associated with a Bally V32 game (“All That Jazz”), which is displayed across one portrait oriented 0.56 aspect ratio display having a resolution therefore of 768 pixels by 1360 pixels. FIG. 31C shows a screen shot of graphical data associated with a Bally iDeck display that is utilized by both the Bally V22 “Ole Jalapenos” game and the Bally V32 “All That Jazz” game. The Bally iDeck display in this embodiment has a resolution of 1280 pixels by 242 pixels and an aspect ratio of 5.29.
Continuing with the examples shown in FIGS. 31A-C, FIGS. 32A-B show two mobile displays presenting the graphical data corresponding to the graphical data shown in FIGS. 31A-C according to one embodiment. In the embodiment shown, the display 300a in FIG. 32A has an aspect ratio of 16:10 (1.6), and is displaying the V22 game “Ole Jalapenos” reformatted to fit on the display 300a using the correct aspect ratio. In the embodiment shown, the way the graphical data associated with the “Ole Jalapenos” game has been reformatted has resulted in large unused areas 302a of the mobile device display. The embodiment shown in FIG. 32A illustrates an instance of letterboxing that may occur when content is reformatted to preserve the aspect ratio of the game.
In the embodiment shown, the display 304a in FIG. 32B has an aspect ratio of 4:3 (1.33), and is displaying the V32 game “All That Jazz” reformatted to fit on the display 304a at the correct aspect ratio. In the embodiment shown, the way the graphical data associated with the “All That Jazz” game has been reformatted has resulted in large, unused areas 306a of the mobile device display. The embodiment shown in FIG. 32B illustrates an instance of pillarboxing that may occur when content is reformatted to preserve the aspect ratio of the game.
Failing to utilize more of the display in the embodiments as shown in FIGS. 32A-B, content, such as the graphical user interface displayed on a virtual button deck, is rendered smaller in size than otherwise may be possible. Otherwise stated, the systems and methods disclosed herein may eliminate unused areas on a display by enlarging or otherwise stretching content to fit the entire display. For example, in some embodiments, the content may be stretched (e.g., deviate away from the correct aspect ratio of the game) such that the entire display is used (i.e., there are no unused areas or portions). FIG. 32C illustrates one embodiment of the display 300a presenting the V22 game “Ole Jalapenos” reformatted to fit on the display 300a without any unused areas. As shown, the game is stretched to ensure that there are no unused areas in this embodiment. Likewise, FIG. 32D illustrates one embodiment of the display 304a presenting the V32 game “All That Jazz” reformatted to fit on the display 304a without any unused areas. As shown, the game is stretched to ensure that there are no unused areas in this embodiment. In some embodiments, the amount of stretching depicted in FIGS. 32C-D may be deemed unacceptable to some users or the game designer because it may no longer closely represent the game as presented on the gaming machine itself. Therefore, in some embodiments, the systems and methods disclosed herein may reduce the amount of deformation by reformatting content so that it does not utilize the entire display of the mobile device. In such embodiments, the content may or may not be deformed within an acceptable limit.
In some embodiments, the systems and methods disclosed herein may reduce the size of any unused areas on a display by enlarging or otherwise deforming (e.g., stretching or shrinking) content within acceptable limits. Otherwise stated, the content may be reformatted so that the aspect ratio of the reformatted content is within a certain percentage of the aspect ratio of the original content. For example, content may be stretched, but within acceptable limits that may reduce but may not eliminate unused portions of the display. In some embodiments, advertisements may be presented in any unused portions of a display on the mobile device. FIG. 32E illustrates one embodiment of the display 300a presenting the V22 game “Ole Jalapenos” reformatted to fit on the display 300a with unused areas 308a. As shown, the unused areas 308a are smaller than the unused areas 302a shown in FIG. 32A thereby reducing the letterbox effect within acceptable reformatting limits (i.e., the letterbox effect is reduced by reformatting the original content so that when displayed, the reformatted content has an aspect ratio within a certain percentage of, for example, the aspect ratio of the original content). Likewise, FIG. 32D illustrates one embodiment of the display 304a presenting the V32 game “All That Jazz” reformatted to fit on the display 304a with unused areas 310a. As shown, the unused areas 310a are smaller than the unused areas 306a shown in FIG. 32B thereby reducing the pillarbox effect within acceptable reformatting limits (i.e., the pillarbox effect is reduced by reformatting the original content so that when displayed, the reformatted content has an aspect ratio within a certain percentage of, for example, the aspect ratio of the original content).
Referring now to FIG. 33, one example of one embodiment of a method to determine optimal output for a given input resolution and given display is shown. For example, the video output presented on the displays shown in FIGS. 32E-F may have been optimized (i.e., reduced the amount of any unused areas on a display by reformatting original content so that when displayed, the reformatted content has an aspect ratio within a certain percentage of, for example, the aspect ratio of the original content) using the method shown in FIG. 33. The method shown in FIG. 33 may be performed by a mobile device, a gaming machine, a game server, any other computing device, or a combination thereof. As shown, each block on the left is shown in more detail on the right.
At block 320a, parameters may be initialized. In one embodiment, initializing the parameters may include setting variables to equal the width and height of the mobile device display and the width and height of the gaming machine displays that present game content that will be reformatted for display on the mobile device (e.g., the combined main game and top box displays of a V22 gaming machine, the main display of a V32 gaming machine, and the virtual button deck display). Width and height may be in terms of pixels or any other unit of measurement.
In embodiments where graphical data is compressed (e.g., according to the H.264 codec) prior to transmission to the mobile device, a variable (shown as M) may also be initialized for the encoder modulo. The encoder modulo may be used to adjust implementations where the content may be streamed to the mobile device. Encoding methods, such as H.264, generally impose a requirement that the source content be a multiple of some value (i.e., the modulo) in both width and height. A typical value M may be 8. If streaming is not required, M may be set to 1 (i.e., setting M to 1 informs the system that the graphical data is not compressed upon reception by the mobile device or otherwise before transmission to the mobile device).
If the mobile device initializes the display parameters, the mobile device may transmit data to the gaming machine requesting display information. In response to this request, the gaming machine may transmit display data back to the mobile device that includes information on, for example, the width and height of each display on the gaming machine. In some embodiments, only information on displays that present content that will be reformatted for presentation on the mobile device may be transmitted to the mobile device. If the gaming machine initializes the display parameters, the gaming machine may transmit data to the mobile device requesting display information. In response to this request, the mobile device may transmit display data back to the gaming device that includes information, for example, relating to the width and height of each display of the mobile device that is available for presenting graphical data. If another computing device, such as a game server, initializes the display parameters, display data may be received from the mobile device and the gaming machine following a request for such information.
In some embodiments, the width and height of each display may be different or the same as the width and height of the content displayed in each display. Therefore, in some embodiments, the width and height of the content associated with each display of the gaming machine may be initialized in addition to the width and height of each display. However, in other embodiments, the width and height of the content associated with each display of the gaming machine may be initialized instead of using the width and height of displays. This may occur, for example, when the content is reformatted to fit displays of the gaming machine so it may correspond more accurately to user resolution and aspect ratio data of the original content before it is reformatted to fit the displays of the gaming machine in such embodiments.
After the parameters are initialized at block 320a, the method may proceed to block 322a where the resolution of the virtual button deck display (or the resolution of the content presented on the display in some embodiments) may be scaled (e.g., reduced in size if the resolution of the virtual button deck display is too large for the mobile device) based on the parameters of a display on the mobile device. In one embodiment, an optimal target resolution may be determined based on the resolution of the virtual button deck display with respect to the resolution of the display on the mobile device. For example, the resolution of the virtual button deck display may be 1280 pixels by 242 pixels and the display on the mobile device may be 768 pixels. The content typically displayed on the virtual button deck display may be scaled so that it is 768 pixels in width instead of 1280 pixels in width, and correspondingly 144 pixels in height instead of 242 pixels in height to maintain the aspect ratio. It is understood that the actual perfect aspect ratio would yield a height of 145 pixels, but this value is adjusted for encoder modulo requirements. Throughout the method shown in FIG. 33, this adjustment may take place when required.
In some embodiments, if block 322a results in the scaled content associated with the virtual button deck display exceeding some percentage of the display area on the mobile device (e.g., 10%-25%), then block 322a may further scale (e.g., reduce in size) the content associated with the virtual button deck display. This may occur for example, where scaling the content associated with the virtual button deck display would produce an unacceptably large representation of the virtual button deck on the mobile device.
At block 324a, any remaining area on the display of the mobile device may be calculated. In one embodiment, the remaining area may be calculated by subtracting the vertical resolution (i.e., the height in pixels) of the scaled content associated with the virtual button deck display from the available vertical resolution of the mobile device. The remaining pixels from this subtraction multiplied by the width of the display of the mobile device may indicate the available area that may be used to display other game content other than the virtual button deck content. In some embodiments, the entire area may be used (e.g., as shown in FIGS. 32C-D) whereas in other embodiments, less than the entire area may be used (e.g., as shown in FIGS. 32E-F).
At block 326a, the optimum resolution of the remaining game content may be determined similar to how the optimum resolution was determined for the content associated with the virtual button deck. In some embodiments, optimum or optimized resolution refers to maintaining an optimized aspect ratio. As disclosed herein, an optimized aspect ratio may be considered optimized when the aspect ratio of the reformatted content is within 1%, 5%, 10%, 20%, or any other desired percentage of the aspect ratio of the original content. For example, an adjustment may be made if the optimal vertical resolution of the remaining game content would lead to a horizontal resolution (i.e., the width in pixels) requiring content to be cropped in either width or height. Rather than crop content, if the horizontal resolution would be too large for example, the vertical resolution of the remaining game content may be further scaled so that the horizontal resolution is not wider than the width of the display on the mobile device (i.e., the width of the display on the mobile device being the target resolution).
At block 328a, the maximum possible correct aspect ratio resolution may be determined based on the calculations performed in blocks 320a, 322a, 324a, and 326a. Content scaled according to the maximum possible correct aspect ratio resolution may look like the content shown in FIGS. 32A-B but may too much unused display area.
At block 330a, the maximum possible stretched aspect ratio resolution may be determined. For example, the scaled width of the content will be the width of the display on the mobile device. The scaled height of the content will be based on the height relationship between the different content combined and displayed together. Content scaled according to the maximum possible stretched aspect ratio resolution may look like the content shown in FIGS. 32C-D, but may appear too stretched or otherwise distorted.
At block 332a, the resolutions determined at blocks 328 and 330a may be used to produce a compromise between the two blocks 328a and 330a resulting in a not too stretched and not too letterboxed/pillarboxed image presented on the mobile device display. If the content associated with the virtual button deck was previously adjusted then the content may be rescaled so that the content does not end up too small. While rescaling the content associated with the virtual button deck may result in perceivable stretching of the image, such stretching may be within acceptable limits and is illustrated in the embodiment shown in FIG. 34. Specifically, FIG. 34 shows a V22 game presented on a single mobile device screen with game content associated with the main screen of the V22 game displayed at the correct aspect ratio, but with the virtual button deck content of the V22 game being stretched according to a compromise stretch/aspect ratio. In addition, FIG. 34 also shows an embodiment where it has been determined that title screen content associated with the V22 game was not to be displayed to enable the displayed content to be larger.
Referring to FIGS. 35A-D, two different mobile devices having different display characteristics are shown displaying two different games in the portrait orientation using the compromise method disclosed herein. The mobile device shown in FIGS. 35A and 35C has a 16:10 aspect ratio display, and the mobile device shown in FIGS. 35B and 35D has a 4:3 aspect ratio display. FIGS. 35A and 35B illustrate that the compromise method disclosed herein enables a game (e.g., the V32 game) to be reformatted to fit various displays having different characteristics. Similarly, FIGS. 35C and 35D illustrate that the compromise method disclosed herein enables a game (e.g., the V22 game) to be reformatted to fit various displays having different characteristics. While the unused areas on the 16:10 display and the 4:3 display may be different, the commonality between the two different presentations of each game is that the content is displayed at a compromise between displaying the correct aspect ratio (and possibly leaving large, unused areas of the display), and displaying too much deformation (while possible using the entire display).
In some embodiments, the systems and methods disclosed herein may determine if a game should be represented in either a landscape orientation or mode, or a portrait orientation or mode. FIG. 36 depicts one example of one embodiment of an orientation determination process 350a. At block 352a, the process may determine the width (in pixels) and height (in pixels) of the mobile device display in portrait mode. At block 354a, the process may determine the optimal portrait resolution based on the width and height of the mobile device display determined at block 352a. In some embodiments, the optimal portrait resolution may simply be the width in pixels and the height in pixels determined are found at block 352a. At block 356a, the process may determine the portrait mode aspect ratio based on the optimal portrait resolution determined at block 354a. 
At block 358a, the process may determine the width (in pixels) and height (in pixels) of the mobile device display in landscape mode. At block 360a, the process may determine the optimal landscape resolution based on the width and height of the mobile device display determined at block 358a. In some embodiments, the optimal portrait resolution may simply be the width in pixels and the height in pixels determined are found at block 358a. At block 362a, the process may determine the landscape mode aspect ratio based on the optimal landscape resolution determined at block 360a. Of course, in some embodiments, calculation of the resolution and aspect ratio of the mobile device display may be based on the portrait resolution and aspect ratio. For example, if the process determines (by, for example, querying a processing unit in the mobile device) that the portrait resolution is 640 pixels (W) by 960 pixels (H) and the portrait aspect ratio is 640/960 (0.67), then the landscape resolution may be determined by switching the width and height values (960 pixels (W)×640 pixels (H) and reversing the calculation for the aspect ratio (960/640 which equals 1.5). In such an embodiment, the processing unit in the mobile device may not be queried a second time. Likewise, the aspect ratio for the
Once the resolution or aspect ratio of the mobile device display for the portrait orientation and landscape orientation is known, these values may be used to determine whether the game content should be presented using the landscape or portrait orientation of the mobile device display. In some embodiments, the resolution or aspect ratio of the two different orientations of the mobile device display may be compared against the resolution or aspect ratio of the game content (i.e., the original game content before reformatting thereof). For example, at block 364a, the process may determine the resolution and aspect ratio of the game content (i.e., the original game content before reformatting thereof) by, for example, querying the gaming machine or a game server associated with the game content. It may then be determined which aspect ratio or resolution (i.e., landscape or portrait) of the mobile device is closest to the aspect ratio or resolution of the game content at block 366a. Whichever aspect ratio or resolution is closest, the corresponding orientation is determined to be the correct mode of display. For example, if it is determined at block 366a that the aspect ratio of the portrait mode of the mobile device display is less than or equal to the aspect ratio of the game content, then the process may determine that the game content should be displayed using the portrait mode of the mobile device display at block 368a. However, if it is determined at block 366a that the aspect ratio of the portrait mode of the mobile device display is greater than or equal to the aspect ratio of the game content, then the process may determine that the game content should be displayed using the landscape mode of the mobile device display at block 370a. In some embodiments, the process 350a may perform absolute subtraction, but computing the magnitude of a normalized vector subtraction may be used for better accuracy in other embodiments.
FIGS. 37A-B shows a mobile device with the display in the landscape orientation presenting content. The display in FIG. 37A may have a 1.6 aspect ratio and the display in FIG. 37B may have a 4:3 aspect ratio.
As disclosed herein, the systems and methods enable existing content (e.g., a game) designed for a first computing device (e.g., a gaming machine) to be displayed on a second device (e.g., a mobile device) for which the content was not originally designed. The systems and methods do not require user intervention for determining optimal resolutions and aspect ratios for any mobile device and any content (e.g., any games). The systems and methods may maintain a consistent presentation of virtual button deck content across a range of mobile devices and content (e.g., any games). The systems and methods enable content to be displayed on a mobile device, for which it was not designed, in the correct orientation automatically. In some embodiments, the correct orientation may be the orientation that results in less deformation of the image data presented there (e.g., less stretching).
Once the EGM 130 and the mobile device 110 have been associated with each other, the game server 160 checks to see if a game session is in progress. If a game session is in progress, an option is presented on the EGM 130 and/or the mobile device 110 to move the gaming experience to the EGM 130. FIG. 8 shows the mobile device-enhanced system 100 presenting this option to the player.
Notably, as shown in FIG. 8, the game currently being played on the EGM 130 may not be the same game as on the mobile device 110. In this example, the EGM 130 was previously playing the “Lightning Sevens” game, but the game that is presented on the mobile device 100 is the “Total Blast” game. If the player chooses to continue playing “Total Blast” game, the virtual instance of the “Lightning Sevens” game is shut down or may be hibernated. Using the mobile device-enhanced system 100, a hibernated game may be later “woken up” by the player when the player again needs to leave the vicinity of the EGM 130, but would still like to continue to play a game. In this manner, the player can use the mobile device-enhanced system 100 to pick up where he or she left off with the previous gaming session on the mobile device 110.
In another embodiment of the mobile device-enhanced system 100, a further enhancement is possible when the game on the mobile device 110 is re-directed to an EGM 130. Since the player typically has a mobile device 110 in their possession containing software that is capable of receiving a video stream and sending back touchscreen player input, the player's mobile device 100 can be used to enhance the gaming experience at the EGM 130.
An example of such an enhancement using the mobile device-enhanced system 100 is shown in FIG. 9. In this example, the mobile device-enhanced system 100 is configured such that the Stream Redirector module 150 is sending outputs from the virtual game instance onto the displays of the EGM 130. In addition, the Stream Redirector module 150 is also sending a reformatted and re-encoded copy of the iDeck display (or other virtual button deck display) over the network 140 to the mobile device 110. In this example, this copy enables the player to use the mobile device 110 as a replacement iDeck. In this manner, a player can sit back and comfortably interact with the game using their mobile device 110 rather than leaning forward towards the EGM 130.
Further enhancements are also possible with this configuration. The mobile device 110 could have additional content displayed upon it, which could also interact with the displays of the EGM, as described with respect to Augmented Reality Gaming, U.S. application Ser. No. 12/969,462, which is hereby incorporated in its entirety by reference.
Notably, the mobile device-enhanced system 100 lends itself to personalized gaming experiences. Since a gaming session is tied to a mobile device 110 and/or player account, games may be designed that have longer storylines than a single spin. If a player closes the mobile application, the virtual game instance may remain active or hibernated, ready for the player to resume at a later time on the mobile device 110 or an EGM 130. Also, in some embodiments, the games 120 may be designed to operate differently depending upon the display device. For example, a dice game may be operated at an EGM 130 by a button press or a touchscreen gesture, but when running on the mobile device 110, the accelerometer of the mobile device 110 (if available), may be used to “shake” the mobile device, and thus the virtual dice, to initiate a wager.
While the above embodiments of the mobile device-enhanced system 100 have been discussed with respect to the use streaming technology to deliver the content to the display devices (e.g., the mobile device 110, the EGM 130, and the like), other embodiments of the mobile device-enhanced system 100 use conventional ‘thick-client’ technology. In some such implementations, the mobile device may not be “trusted” (by gaming regulation standards), so a persistent network link would be used to host the game outcome in a secure server-based environment.
In such an embodiment, instead of stream redirection, both the EGM 130 and the mobile device 110 would host software applications implementing the game presentation. At the point where the game is “transferred” from EGM 130 to mobile device 110 or vice-versa, the game state instead would be transferred along with meter values to the new client. In the case of moving to the mobile device 110 (if the EGM 130 has been actually performing all of the game logic without a server), a new game virtual instance would be created at the server 160 for hosting the game 120 on the “insecure” mobile device 110. When moving from the mobile device 110 to a non-server based EGM 130, the data from the virtual instance would be passed to the EGM, and then the virtual instance of the game 120 would be shut down.
Additionally, preferred embodiments of the mobile device-enhanced system 100 typically enable: (1) players to continue playing games even when they are not at an EGM 130; (2) players to have an EGM-like experience on mobile devices 110; (3) games to be enhanced to take into account the availability of a mobile device 110, without the extra costs associated with providing mobile devices 110 to the players; and (4) game play to be limited to only operate within Wi-Fi range of EGMs 130, which may be advantageous for gaming regulations.
Moreover, preferred embodiments of the mobile device-enhanced system 100 typically include structural and/or operational features such as: (1) seamless transfer of game play between mobile devices 110 and EGMs 130 (and vice-versa); (2) saving of gaming session for resumption later, either on a mobile device 110 or on an EGM 130, and (3) use of mobile device 110 as alternative input device to EGM 130.
A preferred embodiment of this mobile device-enhanced system 100 enables players to play game sessions across mobile and conventional EGM platforms as shown in FIG. 10. Additionally, some aspects of this mobile device-enhanced system 100 are directed towards the transfer of funding between electronic gaming machines, mobile devices, and paper tickets, as well as cash/credit cards.
The Mobile Wallet:
In embodiment of this mobile device-enhanced system 100, the mobile device 110 acts (from the player's perspective) as a mobile wallet. However, in actual implementation and functionality, the mobile device 110 does not store the funds. These financial transactions are stored in a database on a server. The mobile device 110 must therefore have network connectivity to be functional. This is a configuration that may be achieved through the use of smart phones and ubiquitous nature of network infrastructure, such as 3G or WiFi mobile phone networks. In a preferred embodiment of the mobile device-enhanced system 100, the mobile device 110 also has a rear-facing camera that is capable of acquiring QR codes or barcodes. Specifically, FIG. 11 illustrates how a player may interact with the mobile device-enhanced system 100.
In one embodiment of the mobile device-enhanced system 100, the mobile wallet is configured to interface with via an application that is loaded onto the mobile device 110 (as well as on kiosks and EGMs 130). Accordingly to one embodiment, FIG. 12 shows how this helper application interacts with other elements of the mobile device-enhanced system 100, such as kiosks and EGMs 130.
In one embodiment of the mobile device-enhanced system 100, security levels are utilized for identification and/or authentication during the association process. These security components include identification and/or authentication of the device ID of the gaming machine and mobile device, the user name of the player, and the password of the player. In some embodiments of the mobile device-enhanced system 100, biometrics are used to assist in the security efforts of the employed to access the mobile device and the player's financial account. In such an embodiment, a biometric reader may be used which may take a variety of forms, for instance, a fingerprint reader, iris scan, microphone and voice recognition software, hand vein pattern detection, or combinations thereof. In alternate embodiments, a patron's written signature may be digitized and verified against a signature database. For example, a player may sign on a surface computer display with finger or stylus). Biometric analysis may be performed at the gaming system (e.g. table or arcade style gaming systems) or may be performed by remotely located remote system computer system.
Also, for example, a player's identity and proximity may be detected by the sensor subsystem or other subsystem of the gaming system. For instance, a transponder carried by a piece of media or a wireless communication device which is carried by or otherwise associated with a player may be wireless detected via wireless interrogation. The piece of media may take any of a variety of forms, for instance a loyalty program card, driver's license, credit, debit or prepaid card. Proximity data acquired by the gaming system may, for example, include a location in the casino (e.g., x, y, and z coordinates or GPS data). The gaming system or some other system may associate the proximity data with a player identifier. Based at least one part on the location coordinates, the system may create a logical relationship between the player identifier and a particular gaming system, a table identifier, seat identifier and/or player position identifier.
A player may identify him or herself at the gaming system by placing a piece of media (e.g. loyalty program or patron club card, driver's license, credit, debit or prepaid card) on the playing surface. A sensor subsystem may read the media, and a CMP/CMS system may identify the player from the read information. The display subsystem may display indicia representing cash and/or point balances one or more accounts associated with the player. The player may employ a user interface to transfer funds from their account, for example, to a credit meter of the gaming system or as virtual chips. The transfer may require entry and approval of a personal identification number (PIN), biometric data, and/or password. The user interface may include one or more user selectable icons displayed on or below the playing surface, or some separate device such as a PIN pad, keypad or keyboard, for example located at each seat. Transfers may employ appropriate security protocols and encryption, for example AFT or WAT transfer protocols of SAS or the GSA G2S class, respectively.
In some embodiments, the mobile device-enhanced system 100 facilitates wireless transfer of funds from a personal computing device and/or wireless communication device capable of performing funds transfer using the Mobile Wallet inside the device, from a remote financial institution, or from other points or cash funds account. Personal computing and/or wireless communication devices may take a variety of forms, for example a cell phone, iPhone, personal digital assistant (PDA), laptop computer, BLACKBERRY, TREO and other such devices. The device may establish wireless communication with the table or arcade style gaming system or with a casino patron account. Funds may be debited from or credited to the device or a remote financial account. The communication protocol may take a variety of forms, for example, Bluetooth or Wi-Fi, but other standard networking protocols are envisioned as long as the protocols support security via authentication and/or encryption of the transmissions and transactions.
Funding Game Play Using the Kiosk:
Another embodiment of the mobile device-enhanced system 100 facilitates a kiosk to be used to enable a player to add or release funds from their play game. This is performed in a manner somewhat similar to a conventional Ticket-In-Ticket-Out (TITO) system, but without the use of tickets, ticket printers, or ticket readers. The kiosk does not require a ticket printer (or bill validator) for other funding sources, such as credit cards, debit cards, and the like.
Referring now to FIG. 13 and FIG. 14, in one embodiment of a kiosk in the mobile device-enhanced system 100 is shown. A player may swipe their credit card or debit card to access funds, or insert cash via a bill acceptor. These funding sources may be applied to a mobile wallet using the mobile device-enhanced system 100.
To apply funds to a mobile wallet using the mobile device-enhanced system 100, the player must either associate a mobile device 110 or player tracking card with the kiosk. As shown in FIG. 16, to associate a player tracking card with the kiosk, the player simply swipes the card when prompted. To associate with a mobile device 110 with the kiosk, the kiosk preferably uses a QR/barcode reader. The mobile wallet application has the capability to display a QR code on the display of the mobile device 110. In response to prompting, the player activates the association function of the mobile application and places the mobile device 110 (e.g., smart phone) under the barcode reader. As shown in FIG. 15, in such an embodiment, the kiosk application then reads the QR code and from the display of the mobile device 110 and uniquely identifies the mobile device, and thus, its mobile wallet account in the database.
In either case when the association is complete, funds are in the mobile wallet and can be used at an EGM 130 or on a mobile device 110 for game play. In a further enhancement, for mobile device play, the player can choose the initial game or available game suite from the kiosk as well.
Funding Game Play at an EGM:
As shown in FIGS. 17 and 18, using the mobile device-enhanced system 100, a player may also fund game play at an EGM 130 using a mobile device 110 or player card. Specifically, FIG. 17 and FIG. 18 each show possible transaction flows. In one of the scenarios shown, a player card is not used, while in the other scenario shown, a player card is in use.
In one embodiment of the mobile device-enhanced system 100 where a mobile device 110 is being used, the player associates the mobile device 110 with the EGM 130. This is achieved by bringing up an association function of the mobile device 110, as shown in FIG. 19. In this embodiment, the player then points the camera of the mobile device 110 at the EGM 130, which is modified to display a QR code on its artwork as seen in FIG. 20. This QR code uniquely identifies the EGM 130 and enables the mobile wallet helper application to direct the funds being withdrawn to be correctly deposited on the EGM. As shown in FIG. 21, the user interface for this transaction may be presented on the mobile device 110. Conversely, funds won or inserted into the bill acceptor of the EGM 130 may be delivered to the mobile wallet upon cashout, for use on the mobile device 110 or at a kiosk, as described below.
Multi-Platform Game Play:
In some preferred embodiments, a player may switch their game play from an EGM to a mobile device and back again. This type of game transfer between platforms is referred to herein as “Games on the Go.” Once a mobile device 110 and an EGM 130 are associated with each other, a gaming session can be moved from one to the other. Additionally, once a mobile device 110 and an EGM 130 are associated with each other, funding also can be moved from one to the other. In one embodiment of the mobile device-enhanced system 100, this association may be preferably performed by the QR code acquisition described above with respect to FIG. 20, or via the insertion of a player tracking card to associate a player tracking account with both the EGM 130 and mobile device 110. In addition to these preferred methods, alternative methods could include manual input of an account name/PIN at the EGM 130 or communication over Bluetooth or NFC between the EGM and the mobile device 110.
Transactions which may trigger the movement of the session could include a QR scan by the player, which would move the gaming session from a mobile device 110 to the EGM 130. As shown in FIG. 22, pressing the cashout button at the EGM 130 would initiate (or prompt) movement of the gaming session from the EGM to the mobile device 110 (i.e., in the opposite direction). As shown in FIG. 23, in the case of a transaction in which a player card is being used, carding out would also prompt movement (i.e., transfer) of the gaming session.
Kiosk Credit Redemption:
As noted above, in some preferred embodiments of the mobile device-enhanced system 100, the kiosk may be used to redeem credits as cash or direct funding into an external (bank/credit card) account. The transaction flows for these embodiments are shown in FIG. 24 and FIG. 25. Specifically, in FIG. 24 the players use their mobile devices 110 to identify the correct mobile wallet account to the kiosk. In one preferred embodiment, the players do this by pressing “Redeem ticket” on their mobile device 110. This causes a mobile device 110 to display a QR code which can be scanned by the QR/barcode scanner affixed to the kiosk. Importantly, this transaction corresponds to the redemption process of a conventional physical ticket (which may be redeemed by being scanned by the same scanner).
Alternatively, as shown in FIG. 25, if a player has a player tracking card, the player can insert this card in the kiosk. This allows the kiosk to identify the mobile wallet account and present options to the player for withdrawal of cash.
Physical Ticket Acquisition by a Mobile Device:
An additional feature of the mobile device-enhanced system 100 enables a player to convert existing physical tickets into mobile wallet funds by the use of a barcode scanner application built into the mobile application. This scanner application uses the rear camera on the mobile device 110 to read the barcode on the ticket and deposit the funds into the mobile wallet account. The physical ticket can then be discarded.
In one embodiment of the mobile device-enhanced system 100, the system enables players to easily consolidate tickets and also convert tickets into funds even after they have left the casino, which is conventionally difficult. Such funds may be used for online game play, or at a later date in the casino without having to keep possession of physical tickets.
In some embodiments, the mobile device-enhanced system 100 provides features that include: (1) integration with existing ticket printer and bill acceptor infrastructure, (2) handling both player tracked accounts and anonymous players, (3) ease of use for player comfortable with TITO (inserting their phone into a scanner rather than a ticket, similar to the way supermarket self-serve checkouts or boarding pass terminals at airports may work), (4) not requiring extra peripherals at the EGM (since association is achieved by display of QR code on artwork and only a software change is needed), and (5) enabling players to fund an EGM from their mobile device or vice versa.
Preferred embodiments of the mobile device-enhanced system 100 typically include: (1) a smartphone or tablet with rear facing camera and network connectivity (e.g., WiFi or 3G), (2) QR code technology as the preferred visual encoding of identifiers, and (3) a Kiosk with an optical scanner for reading barcodes/QR codes. Moreover, preferred embodiments of the mobile device-enhanced system 100 typically include structural and/or operational features such as: (1) use of mobile device as a way of transferring funds between multiple EGMs or EGMs and kiosks, (2) conversion of paper tickets into mobile wallet funds, and (3) seamless transfer of funds along with game session.
A preferred embodiment of this gaming system, which includes cross platform persistent gaming sessions using a mobile device, leverages existing mobile “smart phones.” By way of example only, and not by way of limitation, such smart phones include Apple's iPhone series, Google's Droid and Nexus One series, Palm's Pre series, and RIM's Blackberry series of smart phones. Most, if not all, of these smart phones include a built-in camera that can be controlled by software applications. Accordingly, preferred embodiments of this gaming system “move” the camera from the gaming machine to a smart phone. In more detail, the components that make up the gaming system having cross platform persistent gaming sessions using a mobile device may be seen in FIGS. 10-25.
The captured image is also sent up to the CMS via the secure cellular internet connection. As an alternative to the use of secure connections over the internet, a WiFi local network may also be used if it is present in the casino. At the CMS, the image analysis software passes the self-portrait to the facial recognition system.
In addition to the credentials described above, in another aspect of some embodiments, the smart phone itself may be “married” to a particular user. In such embodiments, in every transaction a unique identifier for the phone may also be transmitted. This identifier is set at the time of installation, and cannot be changed by the technician. Alternatively, the phone's IMEI (International Mobile Equipment Identity) number or other cellular identifier may be used.
In addition to a barcode on the exterior of the gaming machine, each peripheral within the machine may also have a barcode. By scanning the barcode with the camera on the mobile phone using the mobile phone application, context sensitive help may also be retrieved for maintaining the peripheral, or for determining the asset status or configuration of a peripheral.
In such embodiments of the disclosed gaming system, smart phones are utilized that include a built in gyroscope, as well as location tracking technology such as a digital compass and a GPS system (Global Positioning System). These features enable the accurate position and orientation of the smart phones and its user to be derived. Additionally, some other embodiments of the disclosed gaming system use object recognition and OCR (Optical character recognition) techniques combined with location/orientation derivation to provide players in casinos easy ways of finding games, progressive jackpots, particular machines, and other players of their choice.
In another aspect of some embodiments, gaming systems are utilized that include mobile gaming capabilities. In such embodiments of the disclosed gaming system, smart phones are utilized that include built in object recognition technologies and OCR (Optical character recognition) techniques combined with location/orientation derivation to provide players in casinos with additional gaming options and opportunities. In one embodiment of a gaming system that includes mobile gaming capabilities, the gaming system leverages the possession by players of smart phones to enable the manufacturer to build profiles of players and target valuable players for promotions of key products of the manufacture.
Continuing, in some embodiments of the gaming system having mobile gaming capabilities, the “Geographic Restrictions” file includes some combination of cell tower identifier, reverse DNS lookup, and GPS address to restrict the eligibility of some bonuses. In another aspect of some embodiments, the “Demographic Restrictions” file includes some bonuses that are available to players in certain demographic groups such as age-ranges. In still another aspect, the “Time Restrictions” field includes bonuses that may be only available at certain times of the week or for a fixed length of time.
Referring now to the smart phone application of the gaming system having mobile gaming capabilities, the smart phone application is comprised of a number of smaller modules. In some embodiments, the smart phone application has a user interface that interfaces with the Player Web Interface module. This enables the smart phone application to provide periodic updates with new offers which may be targeted to the player.
An alternative for players who do not have access to a smart phone is that casinos or bars may be supplied with phones capable of running the mobile phone application. In the event of a qualifying win, the player calls for assistance and has an attendant or bartender performs the photo verification process.
In some embodiments of the disclosed gaming system, players may use their smart phone to take a photo of the machine and obtain access to the following capabilities: (a) Tournament across venues (e.g., each player signs in, time limited, and the like); (b) take photo of a game (or barcode) to download a mobile application version of the game; (c) obtain a free copy of the mobile game for winning some trivial amount (which ensures players play a game a minimum amount of time); and (d) take a photo of game to see what gaming machine manufacturer offers are available.
Some preferred implementations of the disclosed embodiments use (1) a smart phone for the client, (2) any suitable web server for communication with the smart phone and registration of players, and (3) OpenCV image analysis software. Additionally, some embodiments provide features that include, by way of example only: (1) alternative player tracking, bonusing, and a marketing method for gaming manufacturers, (2) the capabilities to work with existing games without requiring any modification, and (3) leveraging existing smart mobile phone infrastructure. In other aspects, some embodiments provide: (1) detection of a win by image analysis, without any access to game code; (2) detection of fraudulent entries by analysis of symbols displayed, meters on the screen, location and time of image taken; (3) capture of multiple images to prevent fraud and also more accurately detect wins; (4) alternative method of determining player value (e.g., using win amounts instead of using coin in); (5) enabling the addition of ad-hoc tournaments to existing games; and (6) enabling the targeted marketing of new games for valuable players.
In accordance with one or more embodiments, FIGS. 26 and 27 illustrate a gaming machine 400 including cabinet housing 420, primary game display 440 upon which a primary game and feature game may be displayed, top box 450 which may display multiple progressives that may be won during play of the primary or feature game, player-activated buttons 460, player tracking panel 436, bill/voucher acceptor 480, and one or more speakers 490. Cabinet housing 420 is a self-standing unit that is generally rectangular in shape and may be manufactured with reinforced steel or other rigid materials which are resistant to tampering and vandalism. Cabinet housing 420 houses a processor, circuitry, and software (not shown) for receiving signals from the player-activated buttons 460, operating the games, and transmitting signals to the respective displays and speakers. Any shaped cabinet may be implemented with any embodiment of gaming machine 400 so long as it provides access to a player for playing a game. For example, cabinet 420 may comprise a slant-top, bar-top, or table-top style cabinet. The operation of gaming machine 400 is described more fully below.
In another aspect of one embodiment, the plurality of player-activated buttons 460 may be used for various functions such as, but not limited to, selecting a wager denomination, selecting a game to be played, selecting a wager amount per game, initiating a game, or cashing out money from gaming machine 400. The Buttons 460 functions to input mechanisms and may include mechanical buttons, electromechanical buttons or touch screen buttons. Optionally, a handle 485 may be rotated by a player to initiate a game.
In other embodiments, buttons 460 may be replaced with various other input mechanisms known in the art such as, but not limited to, a touch screen system, touch pad, track ball, mouse, switches, toggle switches, or other input means used to accept player input. For example, one input means is a universal button module as disclosed in U.S. application Ser. No. 11/106,212, entitled “Universal Button Module,” filed on Apr. 14, 2005, which is hereby incorporated in its entirety by reference. Generally, the universal button module provides a dynamic button system adaptable for use with various games and capable of adjusting to gaming systems having frequent game changes. More particularly, the universal button module may be used in connection with playing a game on a gaming machine and may be used for such functions as selecting the number of credits to bet per hand. In other embodiments, a virtual button deck may be used to provide similar capabilities. An example of a virtual button deck is disclosed in U.S. application Ser. No. 11/938,203, entitled, “Game Related Systems, Methods, and Articles That Combine Virtual and Physical Elements,” filed on Nov. 9, 2007, which is hereby incorporated in its entirety by reference.
Cabinet housing 420 may optionally include top box 450 which contains “top glass” 452 comprising advertising or payout information related to the game or games available on gaming machine 400. Player tracking panel 436 includes player tracking card reader 434 and player tracking display 432. Voucher printer 430 may be integrated into player tracking panel 436 or installed elsewhere in cabinet housing 420 or top box 450.
Game display 440 presents a game of chance wherein a player receives one or more outcomes from a set of potential outcomes. For example, one such game of chance is a video slot machine game. In other aspects of the invention, gaming machine 400 may present a video or mechanical reel slot machine, a video keno game, a lottery game, a bingo game, a Class II bingo game, a roulette game, a craps game, a blackjack game, a mechanical or video representation of a primary wheel game or the like.
Mechanical or video/mechanical embodiments may include game displays such as mechanical reels, wheels, or dice as required to present the game to the player. In video/mechanical or pure video embodiments, game display 440 is typically a CRT or a flat-panel display in the form of, but not limited to, liquid crystal, plasma, electroluminescent, vacuum fluorescent, field emission, or any other type of panel display known or developed in the art. Game display 440 may be mounted in either a “portrait” or “landscape” orientation and be of standard or “widescreen” dimensions (i.e., a ratio of one dimension to another of at least 16×9). For example, a widescreen display may be 32 inches wide by 18 inches tall. A widescreen display in a “portrait” orientation may be 32 inches tall by 18 inches wide. FIG. 27 illustrates an example of a portrait mode game display 440 having widescreen dimensions in accordance with one embodiment of the invention. Additionally, game display 440 preferably includes a touch screen or touch glass system (not shown) and presents player interfaces such as, but not limited to, credit meter (not shown), win meter (not shown) and touch screen buttons (not shown). An example of a touch glass system is disclosed in U.S. Pat. No. 6,942,571, entitled “Gaming Device with Direction and Speed Control of Mechanical Reels Using Touch Screen,” which is hereby incorporated in its entirety by reference. Furthermore, as described above, game display 440 may include transparent portions which cover and may interact with displays on mechanical reels, as described in U.S. application Ser. No. 12/113,112, entitled, “MECHANICAL REELS WITH INTERACTIVE DISPLAY,” filed on Apr. 30, 2008, which is hereby incorporated in its entirety by reference.
Game display 440 may also present information such as, but not limited to, player information, advertisements and casino promotions, graphic displays, news and sports updates, or may even offer an alternate game. This information may be generated through a host computer networked with gaming machine 400 on its own initiative, or it may be obtained by request of the player using either (1) one or more of the plurality of player-activated buttons 460; (2) the game display itself, if game display 440 comprises a touch screen or similar technology; (3) buttons (not shown) mounted on game display 440 which may permit selections such as those found on an ATM machine, where legends on the screen are associated with respective selecting buttons; or (4) any player input device that offers the required functionality.
Cabinet housing 420 incorporates a single game display 440. However, in alternate embodiments, cabinet housing 420 or top box 450 may house one or more additional displays 453 or components used for various purposes including additional game play screens, animated “top glass,” progressive meters or mechanical or electromechanical devices (not shown) such as, but not limited to, wheels, pointers or reels. The additional displays may or may not include a touch screen or touch glass system.
Referring to FIGS. 28a and 28b, electronic gaming machine 501 is shown in accordance with one or more embodiments. Electronic gaming machine 501 includes base game integrated circuit board 503 (EGM Processor Board) connected through serial bus line 505 to game monitoring unit (GMU) 507 (such as a Bally MC300 or ACSC NT), and player interface integrated circuit board (PIB) 509 connected to player interface devices 511 over bus lines 513, 515, 517, 519, 521, 523. Printer 525 is connected to PIB 509 and GMU 507 over bus lines 527, 529. EGM Processor Board 503, PIB 509, and GMU 507 connect to Ethernet switch 531 over bus lines 533, 535, 537. Ethernet switch 531 connects to a slot management system (SMS) and a casino management system (CMS) network over bus line 539. GMU 507 also may connect to the SMS and CMS network over bus line 541. Speakers 543 connect through audio mixer 545 and bus lines 547, 549 to EGM Processor Board 503 and PIB 509. The proximity and biometric devices and circuitry may be installed by upgrading a commercially available PIB 509, such as a Bally iVIEW unit. Coding executed on EGM Processor Board 503, PID 509, and/or GMU 507 may be upgraded to integrate a game having an interactive wheel game as is more fully described herein.
Peripherals 551 connect through bus 553 to EGM Processor Board 503. For example, a bill/ticket acceptor is typically connected to a game input-output board 553 which is, in turn, connected to a conventional central processing unit (“CPU”) board 503, such as an Intel Pentium microprocessor mounted on a gaming motherboard. I/O board 553 may be connected to CPU processor board 503 by a serial connection such as RS-232 or USB or may be attached to the processor by a bus such as, but not limited to, an ISA bus. The gaming motherboard may be mounted with other conventional components, such as are found on conventional personal computer motherboards, and loaded with a game program which may include a gaming machine operating system (OS), such as a Bally Alpha OS. Processor board 503 executes a game program that causes processor board 503 to play a game. In one embodiment, the game program provides a slot machine game having an interactive wheel feature game. The various components and included devices may be installed with conventionally and/or commercially available components, devices, and circuitry into a conventionally and/or commercially available gaming machine cabinet, examples of which are described above.
When a player has inserted a form of currency such as, for example and without limitation, paper currency, coins or tokens, cashless tickets or vouchers, electronic funds transfers or the like into the currency acceptor, a signal is sent by way of I/O board 553 to processor board 503 which, in turn, assigns an appropriate number of credits for play in accordance with the game program. The player may further control the operation of the gaming machine by way of other peripherals 551, for example, to select the amount to wager via electromechanical or touch screen buttons. The game starts in response to the player operating a start mechanism such as a handle or touch screen icon.
The game program includes a random number generator to provide a display of randomly selected indicia on one or more displays. In some embodiments, the random number generator may be physically separate from gaming machine 400. For example, it may be part of a central determination host system which provides random game outcomes to the game program. Thereafter, the player may or may not interact with the game through electromechanical or touch screen buttons to change the displayed indicia. Finally, processor board 503 under control of the game program and OS compares the final display of indicia to a pay table. The set of possible game outcomes may include a subset of outcomes related to the triggering of a feature game. In the event the displayed outcome is a member of this subset, processor board 503, under control of the game program and by way of I/O Board 553, may cause feature game play to be presented on a feature display.
Predetermined payout amounts for certain outcomes, including feature game outcomes, are stored as part of the game program. Such payout amounts are, in response to instructions from processor board 503, provided to the player in the form of coins, credits or currency via I/O board 553 and a pay mechanism, which may be one or more of a credit meter, a coin hopper, a voucher printer, an electronic funds transfer protocol or any other payout means known or developed in the art.
In various embodiments, the game program is stored in a memory device (not shown) connected to or mounted on the gaming motherboard. By way of example, but not by limitation, such memory devices include external memory devices, hard drives, CD-ROMs, DVDs, and flash memory cards. In an alternative embodiment, the game programs are stored in a remote storage device. In one embodiment, the remote storage device is housed in a remote server. The gaming machine may access the remote storage device via a network connection, including but not limited to, a local area network connection, a TCP/IP connection, a wireless connection, or any other means for operatively networking components together. Optionally, other data including graphics, sound files and other media data for use with the EGM are stored in the same or a separate memory device (not shown). Some or all of the game program and its associated data may be loaded from one memory device into another, for example, from flash memory to random access memory (RAM).
In one or more embodiments, peripherals may be connected to the system over Ethernet connections directly to the appropriate server or tied to the system controller inside the EGM using USB, serial or Ethernet connections. Each of the respective devices may have upgrades to their firmware utilizing these connections.
GMU 507 includes an integrated circuit board, a GMU processor, and memory including coding for network communications, such as the G2S (game-to-system) protocol from the Gaming Standards Association, Las Vegas, Nev., used for system communications over the network. As shown, GMU 507 may connect to card reader 555 through bus 557 and may thereby obtain player card information and transmit the information over the network through bus 541. Gaming activity information may be transferred by the EGM Processor Board 503 to GMU 507 where the information may be translated into a network protocol, such as S2S, for transmission to a server, such as a player tracking server, where information about a player's playing activity may be stored in a designated server database.
PID 509 includes an integrated circuit board, PID processor, and memory which includes an operating system, such as Windows CE, a player interface program which may be executable by the PID processor together with various input/output (I/O) drivers for respective devices which connect to PID 509, such as player interface devices 511, and which may further include various games or game components playable on PID 509 or playable on a connected network server and PID 509, which is operable as the player interface. PID 509 connects to card reader 555 through bus 523, display 559 through video decoder 561 and bus 521, such as an LVDS or VGA bus.
As part of its programming, the PID processor executes coding to drive display 559 and provides messages and information to a player. Touch screen circuitry interactively connects display 559 and video decoder 561 to PID 509, such that a player may input information and cause the information to be transmitted to PID 509 either on the player's initiative or responsive to a query by PID 509. Additionally, soft keys 565 connect through bus 517 to PID 509 and operates together with display 559 to provide information or queries to a player and receive responses or queries from the player. PID 509, in turn, communicates over the CMS/SMS network through Ethernet switch 531 and busses 535, 539 and with respective servers, such as a player tracking server.
Player interface devices 511 are linked into the virtual private network of the system components in gaming machine 501. The system components include the iVIEW processing board and game monitoring unit (GMU) processing board. These system components may connect over a network to the slot management system (such as a commercially-available Bally SDS/SMS) and/or casino management system (such as a commercially-available Bally CMP/CMS).
The GMU system component has a connection to the base game through a serial SAS connection and is connected to various servers using, for example, HTTPs over Ethernet. Through this connection, firmware, media, operating system software, or gaming machine configurations can be downloaded to the system components from the servers. This data is authenticated prior to installation on the system components.
The system components include the iVIEW processing board and game monitoring unit (GMU) processing board. The GMU and iVIEW (or other player tracking unit) can be combined into one like the commercially available Bally GTM iVIEW device. This device may have a video mixing technology to mix the EGM processor's video signals with the iVIEW display onto the top box monitor or any monitor on the gaming device.
In accordance with one or more embodiments, FIG. 29 is a functional block diagram of a gaming kernel 600 of a game program under control of processor board 503, using gaming kernel 600 by calling it into application programming interface (API) 602, which is part of game manager 603. The components of game kernel 600, as shown in FIG. 29, are only illustrative and should not be considered limiting. For example, the number of managers may be changed, additional managers may be added or some managers may be removed without deviating from the scope and spirit of the invention.
As shown in the example, there are three layers: a hardware layer 605; an operating system layer 610, such as, but not limited to, Linux; and a game kernel layer 600 having game manager 603 therein. In one or more embodiments, the use of a standard operating system 610, such as a UNIX-based or Windows-based operating system, allows game developers interfacing to the gaming kernel to use any of a number of standard development tools and environments available for the operating systems. This is in contrast to the use of proprietary, low-level interfaces which may require significant time and engineering investments for each game upgrade, hardware upgrade, or feature upgrade. The game kernel layer 600 executes at the user level of the operating system 610, and itself contains a major component called the I/O Board Server 615. To properly set the bounds of game application software (making integrity checking easier), all game applications interact with gaming kernel 600 using a single API 602 in game manager 603. This enables game applications to make use of a well-defined, consistent interface, as well as making access points to gaming kernel 600 controlled, where overall access is controlled using separate processes.
For example, game manager 603 parses an incoming command stream and, when a command dealing with I/O comes in (arrow 604), the command is sent to an applicable library routine 612. Library routine 612 decides what it needs from a device, and sends commands to I/O Board Server 615 (see arrow 608). A few specific drivers remain in operating system 610's kernel, shown as those below line 606. These are built-in, primitive, or privileged drivers that are (i) general, (ii) kept to a minimum, and (iii) easier to leave than extract. In such cases, the low-level communications are handled within operating system 610, and the contents are passed to library routines 612.
Thus, in a few cases, library routines may interact with drivers inside operating system 610, which is why arrow 608 is shown as having three directions (between library utilities 612 and I/O Board Server 615, or between library utilities 612 and certain drivers in operating system 610). No matter which path is taken, the logic needed to work with each device is coded into modules in the user layer of the diagram. Operating system 610 is kept as simple, stripped down, and common across as many hardware platforms as possible. The library utilities and user-level drivers change as dictated by the game cabinet or game machine in which it will run. Thus, each game cabinet or game machine may have an industry standard processor board 505 connected to a unique, relatively dumb, and as inexpensive as possible I/O adapter board 540, plus a gaming kernel 600 which will have the game-machine-unique library routines and I/O Board Server 615 components needed to enable game applications to interact with the gaming machine cabinet. Note that these differences are invisible to the game application software with the exception of certain functional differences (i.e., if a gaming cabinet has stereo sound, the game application will be able to make use of API 602 to use the capability over that of a cabinet having traditional monaural sound).
Game manager 603 provides an interface into game kernel 600, providing consistent, predictable, and backwards-compatible calling methods, syntax, and capabilities by way of game application API 602. This enables the game developer to be free of dealing directly with the hardware, including the freedom to not have to deal with low-level drivers as well as the freedom to not have to program lower-level managers 630, although lower-level managers 630 may be accessible through game manager 603's interface 602 if a programmer has the need. In addition to the freedom derived from not having to deal with the hardware level drivers and the freedom of having consistent, callable, object-oriented interfaces to software managers of those components (drivers), game manager 603 provides access to a set of upper level managers 620 also having the advantages of consistent callable, object-oriented interfaces, and further providing the types and kinds of base functionality required in casino-type games. Game manager 603, providing all the advantages of its consistent and richly functional interface 602 as supported by the rest of game kernel 600, thus provides a game developer with a multitude of advantages.
Game manager 603 may have several objects within itself, including an initialization object (not shown). The initialization object performs the initialization of the entire game machine, including other objects, after game manager 603 has started its internal objects and servers in appropriate order. In order to carry out this function, the kernel's configuration manager 621 is among the first objects to be started. The configuration manager 621 has the data needed to initialize and correctly configure other objects or servers.
The upper level managers 620 of game kernel 600 may include game event log manager 622 which provides, at the least, a logging or logger base class, enabling other logging objects to be derived from this base object. The logger object is a generic logger. Otherwise stated, the logger object is not aware of the contents of logged messages and events. The log manager's (622) job is to log events in non-volatile event log space. The size of the space may be fixed, although the size of the logged event is typically not. When the event space or log space fills up, one embodiment deletes the oldest logged event (each logged event has a time/date stamp, as well as other needed information such as length), providing space to record the new event. In this embodiment, the most recent events are found in the log space, regardless of their relative importance. Further provided is the capability to read the stored logs for event review.
In accordance with one embodiment, meter manager 623 manages the various meters embodied in the game kernel 600. This includes the accounting information for the game machine and game play. There are hard meters (counters) and soft meters. The soft meters may be stored in non-volatile storage such as non-volatile battery-backed RAM to prevent loss. Further, a backup copy of the soft meters may be stored in a separate non-volatile storage such as EEPROM. In one embodiment, meter manager 623 receives its initialization data for the meters, during startup, from configuration manager 621. While running, the cash-in (624) and cash-out (625) managers call the meter manager's (623) update functions to update the meters. Meter manager 623 will, on occasion, create backup copies of the soft meters by storing the soft meters' readings in EEPROM. This is accomplished by calling and using EEPROM manager 631.
In accordance with still other embodiments, progressive manager 626 manages progressive games playable from the game machine. Event manager 627 is generic, like log manager 622, and is used to manage various gaming machine events. Focus manager 628 correlates which process has control of various focus items. Tilt manager 632 is an object that receives a list of errors (if any) from configuration manager 621 at initialization, and during game play from processes, managers, drivers, and the like, that may generate errors. A random number generator manager 629 is provided to allow easy programming access to a random number generator (RNG), as an (RNG) is required in virtually all casino-style (gambling) games. The RNG manager 629 includes the capability of using multiple seeds.
In accordance with one or more embodiments, a credit manager object (not shown) manages the current state of credits (cash value or cash equivalent) in the game machine, including any available winnings, and further provides denomination conversion services. Cash out manager 625 has the responsibility of configuring and managing monetary output devices. During initialization, cash out manager 625, using data from configuration manager 621, sets the cash-out devices correctly and selects any selectable cash-out denominations. During play, a game application may post a cash-out event through the event manager 627 (the same way all events are handled), and using a callback posted by cash-out manager 625, and cash-out manager 625 is informed of the event. Cash-out manager 625 updates the credit object, updates its state in non-volatile memory, and sends an appropriate control message to the device manager that corresponds to the dispensing device. As the device dispenses dispensable media, there typically are event messages being sent back and forth between the device and cash-out manager 625 until the dispensing finishes. After the dispensing finishes, the cash-out manager 625, having updated the credit manager and any other game state (such as some associated with meter manager 623) that needs to be updated for this set of actions, sends a cash out completion event to event manager 627 and to the game application thereby. The cash in manager 624 functions similarly to cash out manager 625, addressing requirements for controlling, interfacing, and managing actions associated with cashing in events, cash in devices, and associated meters and crediting.
In a further example, in accordance with one or more embodiments, I/O server 615 may write data to the gaming machine EEPROM memory, which is located in the gaming machine cabinet and holds meter storage that must be kept even in the event of power failure. Game manager 603 calls the I/O library functions to write data to the EEPROM. The I/O server 615 receives the request and starts a low priority EEPROM thread 616 within I/O server 615 to write the data. This thread uses a sequence of an 8-bit command, and data writes to the EEPROM device to write the appropriate data in the proper location within the device. Any errors detected are sent as IPC messages to game manager 603. Preferably, all of this processing is asynchronously performed.
In accordance with one embodiment, button module 617 within I/O server 615, polls (or is sent) the state of buttons every two milliseconds. These inputs are debounced by keeping a history of input samples. Certain sequences of samples are required to detect a button was pressed, in which case the I/O server 615 sends an inter-process communication event to game manager 603 that a button was pressed or released. In some embodiments, the gaming machine may have intelligently distributed I/O which debounces the buttons, in which case button module 617 may be able to communicate with the remote intelligent button processor to retrieve the button events and simply relay them to game manager 603 via IPC messages. In still another embodiment, the I/O library may be used for pay-out requests from the game application. For example, hopper module 618 must start the hopper motor, constantly monitoring the coin sensing lines of the hopper, debounce them, and send an IPC message to the game manager 603 when each coin is paid.
Further details, including disclosure of lower level fault handling and/or processing, are included in U.S. Pat. No. 7,351,151 entitled “Gaming Board Set and Gaming Kernel for Game Cabinets” and provisional U.S. patent application No. 60/313,743, entitled “Form Fitting Upgrade Board Set For Existing Game Cabinets,” filed Aug. 20, 2001; said patent and provisional application are both fully incorporated herein in their entirety by explicit reference.
Referring to FIGS. 30a and 30b, enterprise gaming system 701 is shown in accordance with one or more embodiments. Enterprise gaming system 701 may include one casino or multiple locations and generally includes a network of gaming machines 703, floor management system (SMS) 705, and casino management system (CMS) 707. SMS 705 may include load balancer 711, network services servers 713, player interface (iVIEW) content servers 715, certificate services server 717, floor radio dispatch receiver/transmitters (RDC) 719, floor transaction servers 721 and game engines 723, each of which may connect over network bus 725 to gaming machines 703. CMS 707 may include location tracking server 731, WRG RTCEM server 733, data warehouse server 735, player tracking server 737, biometric server 739, analysis services server 741, third party interface server 743, slot accounting server 745, floor accounting server 747, progressives server 749, promo control server 751, bonus game (such as Bally Live Rewards) server 753, download control server 755, player history database 757, configuration management server 759, browser manager 761, tournament engine server 763 connecting through bus 765 to server host 767 and gaming machines 703.
The various servers and gaming machines 703 may connect to the network with various conventional network connections (such as, for example, USB, serial, parallel, RS485, and Ethernet). Additional servers which may be incorporated with CMS 707 include a responsible gaming limit server (not shown), advertisement server (not shown), and a control station server (not shown) where an operator or authorized personnel may select options and input new programming to adjust each of the respective servers and gaming machines 703. SMS 705 may also have additional servers including a control station (not shown) through which authorized personnel may select options, modify programming, and obtain reports of the connected servers and devices, and obtain reports. The various CMS and SMS servers are descriptively entitled to reflect the functional executable programming stored thereon and the nature of databases is maintained and utilized in performing their respective functions.
Gaming machines 703 include various peripheral components that may be connected with USB, serial, parallel, RS-485 or Ethernet devices/architectures to the system components within the respective gaming machine. The GMU has a connection to the base game through a serial SAS connection. The system components in the gaming cabinet may be connected to the servers using HTTPs or G2S over Ethernet. Using CMS 707 and/or SMS 305 servers and devices, firmware, media, operating systems, and configurations may be downloaded to the system components of respective gaming machines for upgrading or managing floor content and offerings in accordance with operator selections or automatically depending upon CMS 707 and SMS 705 master programming. The data and programming updates to gaming machines 703 are authenticated using conventional techniques prior to installation on the system components.
In various embodiments, any of the gaming machines 703 may be a mechanical reel spinning slot machine, video slot machine, video poker machine, video bingo machine, keno machine, or a gaming machine offering one or more of the above-described games including an interactive wheel feature. Alternately, gaming machines 703 may provide a game with an accumulation-style feature game as one of a set of multiple primary games selected for play by a random number generator, as described above. A gaming system of the type described above also allows a plurality of games in accordance with the various embodiments of the invention to be linked under the control of a group game server (not shown) for cooperative or competitive play in a particular area, carousel, casino or between casinos located in geographically separate areas. For example, one or more examples of group games under the control of a group game server are disclosed in U.S. application Ser. No. 11/938,079, entitled “Networked System and Method for Group Gaming,” filed on Nov. 9, 2007, which is hereby incorporated by reference in its entirety for all purposes.
Various aspects of the systems, methods, functions, steps, features and the like corresponding thereto disclosed herein may be implemented on one or more computer systems using hardware, software, firmware, circuits, or combinations thereof. Hardware, software, firmware, and circuits respectively refer to any hardware, software, firmware, or circuit component. Computer systems referred to herein may refer to any computing device and vice versa (e.g., smart phone, mobile computing device, personal data assistant, tablet computer, laptop computer, desktop computer, gaming machine, other computing device, and the like). For example, each computer system or computing device in the systems described herein or any embodiment of a system disclosed herein may utilize one or more of the following components: a single-core or multi-core hardware processor (e.g., central processing unit or graphics processing unit) on which software instructions are executed (e.g., instructions corresponding to an operating system, an application program, an interpreter such as a virtual machine, or a compiler); a memory associated with and in connection with the hardware processor such as cache or other system memory that stores software instructions or other data that the hardware processor may access for processing; an input device (e.g., mouse, keyboard, touchscreen, and the like); an output device (e.g., display, touchscreen, printer, and the like); a network or communication interface that enables the computer system to communicate over a network or communication protocol; an application program having corresponding software instructions that are executable by a hardware processor. Connections between different computer systems and connections between different computer system components may be wired or wireless.
Virtualization computing techniques, cloud computing techniques, web application/website computing techniques, traditional and adaptive streaming techniques, and other computing techniques may be implemented by any embodiment of a system disclosed herein to enable and/or enhance the teachings described herein. For example, in a cloud computing embodiment, one or more servers (i.e., one or more computer systems) may store and execute software instructions corresponding to an application program based on input data received from client devices. In response to the input data received, the application program is executed accordingly, which results in graphical data being processed and output to the client devices for display on a display such as a touch screen on a smart phone or tablet computer.
As another example, in a web application or website embodiment, data representative of a user input may be transmitted to a server (i.e., a computer system) hosting the website for processing and storage in memory. In an application program embodiment, the application may be stored and executed locally on a user's computer system. In other embodiments, one or more components of the application program may be stored and executed on a server and the user's computer system. For example, a user may download the application program from an app store for an Android computing device, Blackberry computing device, Apple computing device, Windows computing device, Samsung computing device, other computing device, and the like. Execution of the application program on the user's computing device may require that the device transmit and receive data to and from one or more computing devices such as a server or other user's computing device. For example, an application may be downloaded from a server to a mobile device. Upon installation, the mobile device may communicate with a server, such as a gaming server.
One or more embodiments of the systems disclosed herein may utilize streaming technology. Streaming data enables data to be presented to the user of the client device while the client device receives data from the server. Streaming data from servers to client devices (e.g., computing devices operated by users) over a network is typically limited by the bandwidth of the network, or alternatively, the physical layer net bitrate. Traditional streaming protocols, such as RTSP (Real-Time Streaming Protocol), MS-WMSP (Windows Media HTTP Streaming Protocol), and RTMP (Real Time Messaging Protocol) may be implemented, which essentially send data in small packets from the server to the client device in real-time at the encoded bitrate of the data. Adaptive streaming may also be implemented. Adaptive streaming almost exclusively relies on HTTP for the transport protocol. Similar to traditional streaming, data is encoded into discrete packets of a particular size; however, the source data is encoded at multiple bitrates rather than a single bitrate. The data packets corresponding to the same data encoded at different bitrates are then indexed based on the bitrate in memory. This streaming method works by measuring, in real-time, the available bandwidth and computer capacity of the client device, and adjusts which indexed data packet to transfer based on the encoded bitrate.
One or more aspects of the systems disclosed herein may be located on (i.e., processed, stored, executed, or the like; or include one or more hardware or software components) a single computer system or may be distributed among a plurality of computer systems attached by one or more communication networks (e.g., internet, intranet, a telecommunications network, and the like). One or more components of a computer system may be distributed across one or more computer systems in communication with the computer system over a communication network. For example, in some embodiments, the systems disclosed herein may utilize one or more servers (i.e., one or more computer systems dedicated for a particular purpose in the system) that may be dedicated to serve the needs of one or more other computer systems or components across a communication network and/or system bus. The one or more servers may provide a central processing location for one or more aspects of the systems disclosed herein.
Again, various aspects of the systems, methods, function, and steps corresponding thereto disclosed herein may be implemented on one or more computer systems using hardware, software, firmware, or combinations thereof. Those of ordinary skill in the art will appreciate that one or more circuits and/or software may be used to implement the system and methods described herein. Circuits refer to any circuit, whether integrated or external to a processing unit such as a hardware processor. Software refers to code or instructions executable by a computing device using any hardware component such as a processor to achieve the desired result. This software may be stored locally on a processing unit or stored remotely and accessed over a communication network.
As disclosed herein, a processor or hardware processor may refer to any hardware processor or software processor. A software processor may include or otherwise constitute an interpreter that is executed by a hardware processor. A computer system according to any embodiment disclosed herein is configured to perform any of the described functions related to the various embodiments of the systems disclosed herein.
As disclosed herein, any method, function, step, feature, or result may be considered a module that may include software instructions that cause, when executed by a computing device, the desired method, function, step, feature, or result. Executed by a computing device includes execution by any hardware component (e.g., CPU, GPU, network interface, integrated circuits, other hardware components, and the like) of the computing device such as a hardware processor. Any module may be executed by a computing device (e.g., by a processor of the computing device). Any method, function, step, feature, result, and the like disclosed herein may be implemented by one or more software modules whether explicitly described or not. Individual components within a computing device may work together to accomplish a desired method, function, step, feature, or result. For example, a computing device may receive data and process the data. A simple example would be that a network interface receives the data and transmits the data over a bus to a processor.
Various aspects of the systems disclosed herein may be implemented as software executing in a computer system. The computer system may include a central processing unit (i.e., a hardware processor) connected to one or more memory devices, a graphical processing unit, input devices such as a mouse and keyboard, output devices such as speakers and a display, a network interface to connect to one or more other computer systems (e.g., one or more computer systems configured to provide a service such as function as a database), an operating system, a compiler, an interpreter (i.e., a virtual machine), and the like. The memory may be used to store executable programs and data during operation of the computer system. The executable programs may be written in a high-level computer programming language, such as Java or C++. Of course, other programming languages may be used since this disclosure is not limited to a specific programming language or computer system. Further, it is to be appreciated that the systems and methods disclosed herein are not limited to being executed on any particular computer system or group of computer systems.
Some methods, functions, steps, or features have been described as being executed by corresponding software by a processor. It is understood than any methods, functions, steps, features, or anything related to the systems disclosed herein may be implemented by hardware, software (e.g., firmware), or circuits despite certain methods, functions, steps, or features having been described herein with reference to software corresponding thereto that is executable by a processor to achieve the desired method, function, or step. It is understood that software instructions may reside on a non-transitory medium such as one or more memories accessible to one or more processors in the systems disclosed herein. For example, where a computing device receives data, it is understood that the computing device processes that data whether processing the data is affirmatively stated or not. Processing the data may include storing the received data, analysing the received data, and/or processing the data to achieve the desired result, function, method, or step. It is further understood that input data from one computing device or system may be considered output data from another computing device or system, and vice versa. It is yet further understood that any methods, functions, steps, features, results, or anything related to the systems disclosed herein may be represented by data that may be stored on one or more memories, processed by one or more computing devices, received by one or more computing devices, transmitted by one or more computing devices, and the like.
The various embodiments and examples described herein are provided by way of illustration only and should not be construed to limit the claimed invention, nor the scope of the various embodiments and examples. Those skilled in the art will readily recognize various modifications and changes that may be made to the claimed invention without following the example embodiments and applications illustrated and described herein, and without departing from the true spirit and scope of the claimed invention, which is set forth in the following claims. In addition, various embodiments may be combined. Therefore, reference to an embodiment, one embodiment, in some embodiments, in other embodiments, and the like does not preclude one or more methods, functions, steps, features, results, hardware implementations, or software implementations of different embodiments from being combined. Further, reference to an embodiment, one embodiment, in some embodiments, in other embodiments, examples, and the like provides various aspects that may or may not be combined with those of one or more different embodiments and/or examples.
While the example embodiments have been described with relation to a gaming environment, it will be appreciated that the above concepts can also be used in various non-gaming environments. For example, such rewards can be used in conjunction with purchasing products, e.g., gasoline or groceries, associated with vending machines, used with mobile devices or any other form of electronic communications. Accordingly, the disclosure should not be limited strictly to gaming casinos, arcades, portal based game sites, cellular phone devices, personal digital assistant devices, laptops, personal computers, home game consoles, bar top gaming devices, table gaming devices, surface computing devices, table gaming biometric touch screen, television gaming, or in-room gaming devices.
Those skilled in the art will readily recognize various modifications and changes that may be made to the claimed invention without following the example embodiments and applications illustrated and described herein, and without departing from the true spirit and scope of the claimed invention.

## Claims

1. A method for enabling a cross platform gaming session in a system that includes a gaming machine that presents a game on a gaming machine display, and a computing device distinct from the gaming machine, both in communication with one another, the method comprising:
associating the computing device with the gaming machine, wherein the computing device has one or more displays;
receiving, by the computing device, reformatted graphical data from the gaming machine;
providing a stream redirector module that streams a gaming session to the gaming machine; and
presenting the game on the one or more displays of the computing device using the reformatted graphical data by receiving two or more video streams of graphical data at the stream redirector module, modifying the two or more video streams of graphical data to suit the computing device using the stream redirector module, assembling two or more video streams of graphical data into a single video stream of graphical data, and sending the single video stream of graphical data to the computing device.

2. The method as set forth in claim 1, wherein associating the computing device with the gaming machine includes connecting the computing device to an access point on a communication network within range of the computing device.

3. The method as set forth in claim 1, wherein associating the computing device with the gaming machine includes determining an IP address associated with the gaming machine based on an identifier unique to the gaming machine that is input using the computing device.

4. The method as set forth in claim 1, wherein associating the computing device with the gaming machine includes sending a connection request to the gaming machine over a communication network using an IP address associated with the gaming machine.

5. The method as set forth in claim 4, wherein associating the computing device with the gaming machine includes receiving input data from one or more input devices associated with the gaming machine to confirm the connection request.

6. The method as set forth in claim 1, wherein the reformatted graphical data is based on at least one characteristic specific to the computing device.

7. The method as set forth in claim 6, wherein the at least one characteristic includes physical size information associated with the one or more displays.

8. The method as set forth in claim 1, wherein the reformatted graphical data is based on at least one characteristic of graphical data presented on the gaming machine.

9. The method as set forth in claim 8, wherein the at least one characteristic of the graphical data presented on the gaming machine includes resolution information associated with the graphical data.

10. A system for enabling a cross platform gaming session for presentation of a game, the system comprising:
a gaming machine having a gaming machine display; and
a computing device having one or more displays, wherein the computing device is distinct from the gaming machine and is operable to associate with the gaming machine, to receive reformatted graphical data from the gaming machine, and to present the game on the one or more displays of the computing device using the reformatted graphical data, and wherein the gaming machine is operable to associate with the computing device, to receive user input data from the computing device, and to control the game while the game is being presented on the computing device; and
a stream redirector module that streams a gaming session to the gaming machine, the stream redirector receiving two or more video streams of graphical data at the stream redirector module;
wherein when the player touches a point on a display on the computing device, the coordinates of the touch point are remapped by the stream redirector module back to original screen parameters of the gaming machine display, and passed back as touchscreen input.

11. The system as set forth in claim 10, wherein the computing device is operable to associate with the gaming machine based on an IP address associated with the gaming machine.

12. The system as set forth in claim 11, wherein the computing device is operable to obtain the IP address associated with the gaming machine based on an identifier presented on the gaming machine, the identifier being unique to the gaming machine.

13. The system as set forth in claim 10, wherein the computing device is operable to send a connection request to the gaming machine over the communication network.

14. The system as set forth in claim 13, wherein the computing device is operable to receive input data from one or more input devices on the gaming machine to confirm the connection request.

15. The system as set forth in claim 10, wherein the reformatted graphical data is based on at least one characteristic specific to the computing device.

16. The system as set forth in claim 15, wherein the at least one characteristic includes physical size information associated with the one or more displays.

17. The system as set forth in claim 15, wherein the at least one characteristic includes contrast information associated with the one or more displays.

18. The system as set forth in claim 10, wherein the reformatted graphical data is based on at least one characteristic of graphical data presented on the gaming machine.

19. The system as set forth in claim 18, wherein the at least one characteristic of the graphical data presented on the gaming machine includes resolution information associated with the graphical data.

20. A system for enabling a cross platform gaming session, the system comprising:
one or more memories in communication with one or more hardware processors of one or more computing devices, wherein the one or more memories have instructions stored thereon that, in response to execution by the one or more computing devices, cause the one or more computing devices to perform operations, comprising:
associating a first computing device with a second computing device, wherein the second computing device has one or more displays, and wherein the first computing device is a gaming machine distinct from the second computing device, the gaming machine having a gaming machine display;
transmitting, by the first computing device, reformatted graphical data to the second computing device;
presenting the reformatted graphical data on the one or more displays of the second computing device using the reformatted graphical data thereby resulting in display of a game;
receiving two or more video streams of graphical data at a stream redirector module;
modifying the two or more video streams of graphical data to suit the second computing device using the stream redirector module;
assembling two or more video streams of graphical data into a single video stream of graphical data; and
sending the single video stream of graphical data to the second computing device.