A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. Copyright 2014, WMS Gaming, Inc.
Embodiments of the inventive subject matter relate generally to wagering game systems, and more particularly to automatically generating a display code that includes configuration information for the wagering game machine.
Wagering game machines, such as slot machines, video poker machines and the like, have been a cornerstone of the gaming industry for several years. Generally, the popularity of such machines depends on the likelihood (or perceived likelihood) of winning money at the machine and the intrinsic entertainment value of the machine relative to other available gaming options. Where the available gaming options include a number of competing wagering game machines and the expectation of winning at each machine is roughly the same (or believed to be the same), players are likely to be attracted to the most entertaining and exciting machines. Shrewd operators consequently strive to employ the most entertaining and exciting machines, features, and enhancements available because such machines attract frequent play and hence increase profitability to the operator. Configuration of a wagering game machine can have a significant impact on the ability for a wagering game machine to attract and support frequent play.
Embodiments of the invention are illustrated in the Figures of the accompanying drawings in which:
This description of the embodiments is divided into four sections. The first section provides an introduction to embodiments of the invention, while the second section describes example wagering game machine architectures. The third section describes example operations performed by some embodiments. The fourth section presents some general comments.
This section provides an introduction to some embodiments of the invention. In general, the embodiments include systems, methods and computer-readable media of varying scope in which configuration information about a wagering game machine is displayed in an encoded manner as a display code on a display of the wagering game machine. In some embodiments, the display code having the encoded configuration information is a QR (Quick Response) code. The display code may be updated in response to changes in the configuration of the wagering game machine, or in response to changes in meter data on the wagering game machine. The display code having the configuration information may be read by a portable device such as a tablet computer or other handheld device. The portable device may then compare the configuration information to a set of reference data, such as a configuration of another wagering game machine or with information held on a configuration server.
The wagering game machine 100 comprises a housing 112 and includes input devices, including value input devices 118 and a player input device 124. For output, the wagering game machine 100 includes a primary display 114 for displaying information about a basic wagering game. The primary display 114 can also display information about a bonus wagering game and a progressive wagering game. The wagering game machine 100 also includes a secondary display 116 for displaying wagering game events, wagering game outcomes, and/or signage information. While some components of the wagering game machine 100 are described herein, numerous other elements can exist and can be used in any number or combination to create varying forms of the wagering game machine 100.
The value input devices 118 can take any suitable form and can be located on the front of the housing 112. The value input devices 118 can receive currency and/or credits inserted by a player. The value input devices 118 can include coin acceptors for receiving coin currency and bill acceptors for receiving paper currency. Furthermore, the value input devices 118 can include ticket readers or barcode scanners for reading information stored on vouchers, cards, or other tangible portable storage devices. The vouchers or cards can authorize access to central accounts, which can transfer money to the wagering game machine 100.
The player input device 124 comprises a plurality of push buttons on a button panel 126 for operating the wagering game machine 100. In addition, or alternatively, the player input device 124 can comprise a touch screen 128 mounted over the primary display 114 and/or secondary display 116.
The various components of the wagering game machine 100 can be connected directly to, or contained within, the housing 112. Alternatively, some of the wagering game machine's components can be located outside of the housing 112, while being communicatively coupled with the wagering game machine 100 using any suitable wired or wireless communication technology.
The operation of the basic wagering game can be displayed to the player on the primary display 114. The primary display 114 can also display a bonus game associated with the basic wagering game. The primary display 114 can include a cathode ray tube (CRT), a high resolution liquid crystal display (LCD), a plasma display, light emitting diodes (LEDs), or any other type of display suitable for use in the wagering game machine 100. Alternatively, the primary display 114 can include a number of mechanical reels to display the outcome. In
A player begins playing a basic wagering game by making a wager via the value input device 118. The player can initiate play by using the player input device's buttons or touch screen 128. The basic game can include arranging a plurality of symbols along a payline 132, which indicates one or more outcomes of the basic game. Such outcomes can be randomly selected in response to player input. At least one of the outcomes, which can include any variation or combination of symbols, can trigger a bonus game.
In some embodiments, the wagering game machine 100 can also include an information reader 122, which can include a card reader, ticket reader, bar code scanner, RFID transceiver, or computer readable storage medium interface. In some embodiments, the information reader 122 can be used to award complimentary services, restore game assets, track player habits, etc.
Wagering game machine 100 includes a code display 150. Code display 150 is a variable electronic display unit that is capable of displaying coded information such as a QR (Quick Response) code, a bar code, or other image having encoded information. Code display 150 may be any type of display having sufficient size and resolution to display the desired encoded information. In some embodiments, code display 150 may be an LCD display. In alternative embodiments, code display 150 may be an electronic paper (e-paper) or electronic ink type of variable electronic display. Code display 150 may be powered using a power supply shared with other components of wagering game machine 100. Alternatively, code display 150 may have an independent power source such as a battery thereby providing the ability for code display 150 to maintain an image having encoded information even if the wagering game machine 100 is not connected to a power source or is in an unpowered state.
Although illustrated as a separate display in
In some embodiments, wagering game machine 100 may include a camera 152 capable of capturing images.
In the embodiments represented by
Although
The CPU 226 is also connected to an input/output (I/O) bus 222, which can include any suitable bus technologies, such as an AGTL+ frontside bus and a PCI backside bus. The I/O bus 222 is connected to a payout mechanism 208, primary display 210, secondary display 212, value input device 214, player input device 216, information reader 218, and storage unit 230. The player input device 216 can include the value input device 214 to the extent the player input device 216 is used to place wagers. The I/O bus 222 is also connected to an external system interface 224, which is connected to external systems 204 (e.g., wagering game networks).
Code display 238 and camera 240 may be coupled directly to I/O bus 222 or indirectly, for example through a USB connection.
In one embodiment, the wagering game machine 206 can include additional peripheral devices and/or more than one of each component shown in
Any component of the architecture 200 can include hardware, firmware, and/or machine-readable media including instructions for performing the operations described herein. Machine-readable media includes any mechanism that provides (i.e., stores or transmits) information in a form readable by a machine (e.g., a wagering game machine, computer, etc.). For example, tangible machine-readable storage media includes read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory machines, etc. capable of storing data and instructions. Machine-readable transmission media includes any media suitable for transmitting software over a network. For example, signals transmitted over a wired or wireless network are examples of machine-readable transmission media.
Wagering game machine 302A can be any type of wagering game machine configured to present a wagering game upon which monetary value may be wagered, and may include wagering game machine 100 (
Wagering game machine 302A includes hardware configuration data 304, software configuration data 306, meter data 308, data encoder 310, display encoder 312 and configuration decoder 322. Wagering game machine 302B may include some or all of the aforementioned elements.
Hardware configuration data 304 includes data describing hardware components present on wagering game machine 302A. The data may include identifiers identifying a type, manufacturer, model etc. of hardware component (e.g., display, buttons, ticket reader etc.) and may also include data identifying a version of the hardware component.
Software configuration data 306 includes data describing software installed on wagering game machine 302A. As used herein, software may also include firmware. Such data may include identifiers identifying a software component, the maker of the software component, and a version of the software component.
Meter data 308 includes data regarding the credits currently available for wagering on wagering game machine 302A. Meter data may also include other data. For example, meter data 308 may include coin-in amounts, payout amounts etc. The embodiments are not limited to any particular type of meter data.
Data encoder 310 reads some or all of hardware configuration data 304, software configuration data 306 and meter data 308 and transforms the data into an encoded form. In some embodiments, data encoder 310 creates a signature using a signature algorithm on some or all of the data in hardware configuration data 304, software configuration data 306 and meter data 308. Examples of such signature algorithms are various versions of SHA (Secure Hash Algorithm), MAC (Message Authentication Code), and MD2. In some embodiments, data encoder 310 may encrypt the data instead of, or in addition to, creating a signature. Various encryption algorithms such as public/private key encryption may be used. The encoded data may be in binary form or it may be converted to text form.
Display encoder 312 receives the encoded data from data encoder 310 and creates a displayable code image suitable for display on code display 150. In some embodiments, display encoder 312 creates a bar code using the data received from data encoder 310. In alternative embodiments, display encoder 312 creates a QR code using the data received from data encoder 310. In some embodiments, display encoder 312 may read data directly from any or all of hardware configuration data 304, software configuration data 306 or meter data 308 rather than receiving data from data encoder 310 to create a displayable code using the data. The displayable code is then presented on code display 150.
In some embodiments, wagering game machine 302A includes camera 152. In such embodiments, decoder 322 may receive an image from camera 152 that includes a displayable code such as a QR code or bar code. Decoder 322 decodes the displayable code and may use the data resulting from the decoding to update software configuration data 306.
Portable computing device 320 may be any type of mobile computing device. Examples of such devices include tablet computers, mobile phones, laptop computers etc. The embodiments are not limited to any particular type of portable computing device. In some embodiments, portable computing device includes a camera 152, display 330, decoder 322 and a configuration comparison unit 328.
Camera 152 may be used to capture images. For example, in some embodiments, portable computing device 320 may be placed in proximity to code display 150 of wagering game machine 302A. Camera 152 may be used to capture an image displayed by code display 150 where the image includes a displayable code such as a QR code or bar code.
Decoder 322 receives the image data from camera 152 and decodes the displayable code in the image data to produce configuration data. As discussed above, the configuration data may be in the form of a signature representing configuration data from wagering game machine 302A. Alternatively, the configuration data may be the configuration data for wagering game machine 302A in a text or binary form. The configuration data may be stored on portable computing device 320. As an example, the configuration data for wagering game machine 302A may be stored as configuration data A 324.
In some embodiments, configuration data may be received via camera 152 and decoder 322 for a second wagering game machine, e.g., wagering game machine 302B. The configuration data for the second wagering game machine may be stored, for example, as configuration data B 326.
A configuration comparison unit 328 may compare configurations received from wagering game machines and stored on portable computing device 320. In some embodiments, configuration data from two or more wagering game machines 302 (e.g., configuration data A 324 and configuration data B 326) are compared. The results of the comparison may be presented on a display 330 of the portable computing device 320.
As a first example, portable computing device 320 may scan displayable codes presented on code displays 150 for a set of wagering game machines in a bank of wagering game machines. The configurations of such machines may be expected to be the same or similar. For example, assume that wagering game machines 302A and 302B are in a same bank of wagering game machines. The configuration comparison unit 328 may compare the configuration data (e.g., configuration data A 324 and configuration data B 326) to determine if the configuration data is the same on wagering game machines 302A and 302B. The results of the comparison may be presented on display 330, thereby alerting a user if there are discrepancies with respect to the configurations.
As a second example, portable computing device 320 may scan a displayable code presented on code display 150 of wagering game machine 302A. Portable computing device 320 may further obtain an expected configuration from a configuration server 340. Configuration comparison unit 328 may compare the expected configuration with the actual configuration data (e.g., configuration data A 324) and present the results of the comparison on display 330 of portable computing device 320. In embodiments where the configuration data A 324 is received in the form of a signature of configuration data on a wagering game machine, comparison unit 328 may transform the expected configuration by generating a signature for the expected configuration using the same signature algorithm that was used to generate the configuration data A 324. Comparison unit 328 may then compare the signatures to determine if the signatures are the same.
This section describes operations associated with some embodiments of the invention. In the discussion below, the flow diagrams will be described with reference to the block diagrams presented above. However, in some embodiments, the operations can be performed by logic not described in the block diagrams.
In certain embodiments, the operations can be performed by executing instructions residing on machine-readable media (e.g., software), while in other embodiments, the operations can be performed by hardware and/or other logic (e.g., firmware). In some embodiments, the operations can be performed in series, while in other embodiments, one or more of the operations can be performed in parallel. Moreover, some embodiments can perform less than all the operations shown in any flow diagram.
The section will discuss
If the wagering game machine detects changes in hardware configuration, software configuration or meter data, then at block 404 the wagering game machine generates a displayable code from the configuration data. For example, the wagering game machine transforms some or all of the hardware configuration, software configuration or meter data into a displayable code representing the data. In some embodiments, the displayable code is a bar code. In alternative embodiments, the displayable code is a QR code.
Various other transformations may be performed prior to the transformation of the data into a displayable code. In some embodiments, the transformation may be organizing the data into a format compatible with the displayable code or in a format expected by a component that will later read the data. The transformation may include transforming binary data into a textual representation of the data. In alternative embodiments, some or all of the hardware configuration data, software configuration data or meter data may transformed into a signature representing the data. For example, an SHA, MAC (Message Authentication Code), or MD2 algorithm may be used to create a signature representing some or all of the hardware configuration data, software configuration data or meter data. In further alternative embodiments, the data may be encrypted. For example, the data may be encrypted using a public/private key encryption algorithm. Alternatively, the data may be encrypted using a shared private key.
The data included in the displayable code may depend on the quantity of data that the code is capable of including. For example, a bar code can contain less data than a QR code. Thus in embodiments using a bar code, a signature representing the configuration or meter data may be used. In embodiments using a QR code that can hold a larger quantity of data, the data may be a binary or text version of the actual configuration data rather than a signature. In still further embodiments, a combination of signatures and actual configuration data may be used. Further, the displayable code may be a reference to where the modified configuration data may be obtained. For example, the displayable code may be a URL (Uniform Resource Locator) identifying a network location where the modified configuration data resides.
Alternatively, if there has been no change in hardware configuration data, software configuration data or meter data, then at block 408 the current displayable code is maintained. That is, a previously generated displayable code representing the current configuration or meter data is used.
At block 406, the displayable code is presented in a display of a wagering game machine. In some embodiments, the displayable code is presented on a code display of the wagering game machine that is separate from displays used to present a wagering game or bonus game. In alternative embodiments, the displayable code is presented in a portion of a primary or secondary display of a wagering game machine.
It should be noted that blocks 402-408 may be executed while the wagering game machine is in a game playable state. That is, any of blocks 402-408 may be executed while the wagering game machine is ready to play a wagering game, while a user is playing a wagering game at the wagering game machine or while the wagering game machine is in an attract mode. Further, in embodiments where the code display has an independent power source (e.g., a battery), the displayable code may be presented on the code display of the wagering game machine even if the wagering game machine is not currently in a powered state.
Further, it should be noted that in some embodiments, meter data may change far more frequently than configuration data such as hardware configuration data, firmware configuration data or software configuration data. Thus in some embodiments, blocks 402-408 may be executed in response to detecting changes in configuration data, while changes in meter data do not result in regenerating the displayable code.
At block 410, a portable computing device such as a laptop computer, tablet computer, mobile phone or other handheld device reads image data for the displayable code presented at block 406 using a camera or other image sensing device on the portable computing device.
At block 412, the portable computing device decodes the displayable code. For example, the portable computing device decodes a bar code or QR code. In addition, the portable computing device may do further processing of the data in the bar code or QR code. For example, the portable computing device may decrypt the data using a public or private key.
At block 414, the portable computing device compares the decoded data to a set of reference data. The set of reference data may come from any of a variety of sources. In some embodiments, the set of reference data may be configuration data for a second wagering game machine (e.g., data read from a code display on a second wagering game machine). For example, the second wagering game machine may be a wagering game machine in a same bank of wagering game machines as the current wagering game machine. In alternative embodiments, the set of reference data may be configuration data for an expected configuration of the wagering game machine. For example, the portable computing device may obtain an expected configuration from a configuration server.
At block 416, the results of the comparison are presented on a display of the portable computing device. The results displayed will depend on the data coded into the displayable code. For example, in cases where the displayable code contains a signature representing hardware configuration, software configuration, or meter data, the results of the comparison will typically be an indication of whether or not the configuration data obtained from the wagering game machine via the code display is the same as the set of reference data or different from the reference data. In cases where the displayable code contains the actual configuration data (perhaps in an encrypted form), the results of the comparison may include data that indicates not only whether or not the configuration data and the set of reference data are the same, but also may include data that indicates the configuration elements that are different and the differing values.
The following example will be used to illustrate operation of the above-described method. Assume that the wagering game machine has determined the following signatures for configuration data associated with firmware, operating system and game software:
It should be noted that the method illustrated in
At block 504, the configuration data is transformed into a displayable code representing the set of configuration data received at block 502. For example, the configuration data may be transformed into a QR code. However, the embodiments are not limited to QR codes. Any displayable code that has a capacity to store a suitable quantity of configuration data may be used. In some embodiments, the data may be encrypted prior to transforming the data into a displayable code.
At block 506, the displayable code is presented on the wagering game machine. In some embodiments, a QR code is presented on a code display of the first wagering game machine.
At block 508, a portable computing device such as tablet computer, mobile phone, or laptop computer reads the displayable code from the first wagering game machine via a camera or other image capture device on the portable computing device. The portable computing device may interpret the displayable code and if necessary, decrypts the data using a public key, private key, or shared key.
At block 510, the data obtained from the displayable code is communicated to a second wagering game machine. In some embodiments, the data may be communicated by presenting a displayable code on a display of the portable computing device. For example, the portable computing device may display a copy of a QR code received from the first wagering game machine on a display of the portable computing device. In alternative embodiments, the data obtained from the displayable code is communicated to the second wagering game machine using a near field communication device. In further alternative embodiments, the data may be communicated wirelessly, for example, using a Bluetooth protocol or WiFi protocol. In still further embodiments, the portable computing device may be coupled to the second wagering game machine, for example, using a USB connection.
At block 512, the second wagering game machine receives the data communicated by the portable computing device. For example, the second wagering game machine may receive a QR code or other displayable code via a camera or other image capture device on the second wagering game machine. Alternatively, the second wagering game machine may receive the configuration data via a NFC device, Bluetooth device, wireless device or USB connection.
At block 514, the second wagering game machine updates its configuration based on the data received at block 512.
This detailed description refers to specific examples in the drawings and illustrations. These examples are described in sufficient detail to enable those skilled in the art to practice the inventive subject matter. These examples also serve to illustrate how the inventive subject matter can be applied to various purposes or embodiments. Other embodiments are included within the inventive subject matter, as logical, mechanical, electrical, and other changes can be made to the example embodiments described herein. Features of various embodiments described herein, however essential to the example embodiments in which they are incorporated, do not limit the inventive subject matter as a whole, and any reference to the invention, its elements, operation, and application are not limiting as a whole, but serve only to define these example embodiments. This detailed description does not, therefore, limit embodiments of the invention, which are defined only by the appended claims. Each of the embodiments described herein are contemplated as falling within the inventive subject matter, which is set forth in the following claims.
This application claims the priority benefit of U.S. Provisional Application Ser. No. 61/825,416 filed May 20, 2013.
Number | Date | Country | |
---|---|---|---|
61825416 | May 2013 | US |