# Patent

## Title
Frame capture of actual game play

## Abstract

Methods and apparatus are described for capturing a game history. Execution of a game of chance is facilitated in a network causing generation of a plurality of game presentation frames capable of being presented on a multimedia display of a first device on the network. First frame data are received from the first device via the network. The first frame data represent at least a portion of the game history and include a selected one of the game presentation frames.

## Background
RELATED APPLICATION DATA
The present application is a continuation application and claims priority under U.S.C 120 from U.S. application Ser. No. 10/758,828, filed Jan. 15, 2004, now U.S. Pat. No. 7,384,339 by LeMay, et al., and titled “FRAME BUFFER CAPTURE OF ACTUAL GAME PLAY,” which is a continuation-in-part and claimed priority under U.S.C. 120 from U.S. patent application Ser. No. 09/689,498, titled “FRAME BUFFER CAPTURE OF ACTUAL GAME PLAY,” filed on Oct. 11, 2000, by LeMay, et al., now U.S. Pat. No. 6,863,608, each of which is incorporated herein by reference and for all purposes.


BACKGROUND OF THE INVENTION
This invention relates to game history preservation for gaming machines such as slot machines and video poker machines, as well as gaming applications operating in distributed computing and network environments such as the Internet. More particularly, the present invention relates to methods of capturing game screen information and critical game information for game history preservation.
As technology in the gaming industry progresses, the traditional mechanically driven reel slot machines are being replaced with electronic counterparts having CRT, LCD video displays or the like. These video/electronic gaming advancements enable the operation of more complex games, which would not otherwise be possible on mechanical-driven gaming machines. Gaming machines such as video slot machines and video poker machines are becoming increasingly popular. Part of the reason for their increased popularity is the nearly endless variety of games that can be implemented on gaming machines utilizing advanced electronic technology.
There are a wide variety of associated devices that can be connected to video gaming machines such as a video slot machines and video poker machines. Some examples of these devices are lights, ticket printers, card readers, speakers, bill validators, ticket readers, coin acceptors, display panels, key pads, coin hoppers and button pads. Many of these devices are built into the gaming machine or components associated with the gaming machine such as a top box which usually sits on top of the gaming machine.
Typically, utilizing a master gaming controller, the gaming machine controls various combinations of devices that allow a player to play a game on the gaming machine and also encourage game play on the gaming machine. For example, a game played on a gaming machine usually requires a player to input money or indicia of credit into the gaming machine, indicate a wager amount, and initiate a game play. These steps require the gaming machine to control input devices, including bill validators and coin acceptors, to accept money into the gaming machine and recognize user inputs from devices, including key pads and button pads, to determine the wager amount and initiate game play. After game play has been initiated, the gaming machine determines a game outcome, presents the game outcome to the player and may dispense an award of some type depending on the outcome of the game.
For gaming machines, an important function is the ability to store and re-display historical game play information. The game history provided by the game history information assists in settling disputes concerning the results of game play. A dispute may occur, for instance, when a player believes an award for a game outcome was not properly credited to him by the gaming machine. The dispute may arise for a number of reasons including a malfunction of the gaming machine, a power outage causing the gaming machine to reinitialize itself and a misinterpretation of the game outcome by the player. In the case of a dispute, an attendant typically arrives at the gaming machine and places the gaming machine in a game history mode. In the game history mode, important game history information about the game in dispute can be retrieved from a non-volatile storage on the gaming machine and displayed in some manner to a display on the gaming machine. The game history information is used to reconcile the dispute.
On video gaming machines such as video poker games or video slot games, a visual display of the game history typically has been used to settle such disputes. The visual display of the game history helps the game player disputing the results on the gaming machine to recall the actual results. Usually, only a subset of the game history is played backed and not the entire game. For example, for a video poker game, the visual display of information might include a graphical presentation of the initial cards dealt to the player, a graphical presentation of the cards drawn and a graphical presentation of the final hand. After the attendant and player visually review these results, the dispute may be settled.
The recall of the graphical presentation for game history playback has traditionally been achieved by retrieving critical game data from the non-volatile memory on the gaming machine and recreating an approximation of the graphical game presentation using a subset of the game code. For each game played on the gaming machine, critical game data stored in non-volatile storage may include the number of credits on the gaming machine when the game was initiated, the wager amount on the game, the paytable used to calculate the game outcome, the game outcome, image positioning information and any other information needed to recreate the visual game history. Often because of storage limitations of the non-volatile memory, a graphical presentation corresponding to the actual game play cannot be identically recreated and only a few specially selected visual portions of the game presentation are regenerated.
Now that gaming systems are becoming more powerful with enhanced graphical presentation capabilities, traditional methods of game history recreation are becoming more difficult to implement. Since the history playback is a recreation of the actual game play, many parts of the actual game code must be subsumed into a history playback code of some type to enable this function. Many newer game systems use graphical generation schemes employing mass storage devices that utilize varied load times and stream-able media formats to generate a game presentation. With these game systems, for efficiency, many game scenes are generated during the game play using 3-dimensional rendering and video playback capabilities where the exact final positioning/timing information of the game scenes are complex and not saved. The complex nature of the positioning/timing of modern graphical game presentations makes if difficult to store in a space limited non-volatile storage device. In addition, even if the information necessary to recreate the game presentation was recorded, the process to recreate the game presentation is very complex, time consuming and costly to re-engineer in a form different from the original game code.
At present, for any game with a unique game presentation, a unique history playback code is developed to recreate a visual display of the game history. For instance, for a first type of video slot game, a second type of video slot game with a game presentation different from the first video slot game and a video poker game, three distinct history play back codes are required. After development, the three playback codes must be separately approved by each gaming jurisdiction. The playback code development process and the playback code approval process are significant costs in the design of a new gaming machine.
The popularity of gaming on the Internet has also seen a dramatic increase in recent years. This includes gaming in which wagering on the outcomes of games of chance is facilitated. The need for outcome verification and validation in this setting is at least as great as for conventional gaming environments. However, conventional approaches to meeting this need suffer from many of the same drawbacks discussed above.
In view of the above, it would be desirable to provide method and apparatus that simplify the game history capture and playback process for game history preservation in a variety of gaming system environments.
SUMMARY OF THE INVENTION
The present invention addresses the needs indicated above by providing techniques for capturing and outputting game presentation and game history frames which correspond to actual frames of a game presentation on gaming machines and devices in network contexts. According to various embodiments, a wide variety of information may be incorporated into such game history frames. During game history playback, a frame playback code may be used to retrieve and display the game presentation frames and/or game history frames.
According to specific embodiments of the invention, methods and apparatus are provided for capturing a game history. Execution of a game of chance is facilitated in a network causing generation of a plurality of game presentation frames capable of being presented on a multimedia display of a first device on the network. First frame data are received from the first device via the network. The first frame data represent at least a portion of the game history and include a selected one of the game presentation frames. According to various embodiments, the game of chance is collaboratively executed with the first device.
According to some embodiments, capture of the selected game presentation frame on the first device involves selection of the selected game presentation frame from a frame buffer in the first device. According to others, capture of the selected game presentation frame involves capturing the selected game presentation frame directly from the display of the first device.
According to some embodiments, facilitating capture of the selected game presentation frame involves uploading at least one software module to the first device which is operable to capture the selected game presentation frame. According to others, facilitating capture of the selected game presentation frame comprises transmitting a capture command to the first device.
According to a specific embodiment, second frame data corresponding to the selected game presentation frame are independently generated for comparison to the first frame data. According to a more specific embodiment, the second frame data comprises a duplicate game presentation frame corresponding to the selected game presentation frame.
According to some embodiments, the first frame data correspond to a visual representation which includes the game presentation frame and is capable of being displayed on a multimedia display. This visual representation also includes a visible authentication object. According to more specific embodiments, the visible authentication object comprises at least one of date, time, serialized game number, paytable number, user id, machine serial number, current progressive values, host id, network id, and casino water mark.
According to other embodiments, a gaming system is provided which includes a plurality of gaming machines. Each gaming machine has a network interface and a master gaming controller operable to control a game of chance played on the gaming machine, to generate a sequence of game presentation frames for use in a video game presentation of the game of chance, to select one or more game presentation frames from the sequence of game presentation frames, and to incorporate frame data from the selected game presentation frames into one or more game history frames. Each gaming machine is also operable to receive cash or indicia of credit for a wager on the game of chance, and to output cash or an indicia of credit as an award for the game of chance. The gaming system includes a network interconnecting the plurality of gaming machines via the corresponding network interfaces, and at least one server coupled to the network and operable to store the game history frames from the plurality of gaming machines.
These and other features of the present invention will be presented in more detail in the following detailed description of the invention and the associated figures.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A is a perspective drawing of a gaming machine for one embodiment of this invention.
FIG. 1B is a block diagram of a game history frame.
FIG. 2 is a block diagram of a gaming machine and gaming machine having a top box and other devices.
FIG. 3 is a block diagram of a gaming machine connected to a number of devices which may utilize captured game history frames.
FIG. 4 is a flow chart depicting a method for capturing a game history frame from a frame buffer.
FIG. 5 is a flow chart depicting a method for storing a game history frame to a storage device.
FIG. 6 is a flow chart depicting a method for game history playback using a game history frame.
FIG. 7 is a simplified block diagram of a network environment in which a specific embodiment of the present invention may be implemented.
FIG. 8 is a flow chart illustrating frame capture in a network environment according to a specific embodiment of the invention.



DESCRIPTION OF THE PREFERRED EMBODIMENTS
Turning first to FIG. 1A, a video gaming machine 2 for use with specific embodiments of the present invention is shown. Machine 2 includes a main cabinet 4, which generally surrounds the machine interior (not shown) and is viewable by users. The main cabinet includes a main door 8 on the front of the machine, which opens to provide access to the interior of the machine. Attached to the main door are player-input switches or buttons 32, a coin acceptor 28, and a bill validator 30, a coin tray 38, and a belly glass 40. Viewable through the main door is a video display monitor 34 and an information panel 36. The main display monitor 34 will typically be a cathode ray tube, high resolution flat-panel LCD, plasma/LED display or other conventional electronically controlled video monitor. The gaming machine 2 includes a top box 6, which sits on top of the main cabinet 4. A second display monitor 42 may be provided in the top box. The second display monitor may also be a cathode ray tube, high resolution flat-panel LCD or other conventional electronically controlled video monitor.
Typically, after a player has initiated a game on the gaming machine, the main display monitor 34 and the second display monitor 42 visually display a game presentation, including one or more bonus games, controlled by a master gaming controller 224 (see FIG. 2). The video component of the game presentation consists of a sequence of frames refreshed at a sufficient rate on at least one of the displays, 34 and 42, such that it appears as a continuous presentation to the player playing the game on the gaming machine. During the game presentation, select frames from the sequence of frames comprising the game presentation may be captured to a memory device located on the gaming machine. The captured frames provide a visual game history that may be utilized to settle disputes involving game play on the gaming machine.
Returning to the gaming machine in FIG. 1A, the information panel 36 may be a back-lit, silk screened glass panel with lettering to indicate general game information including, for example, the denomination of bills accepted by the gaming machine (e.g. $1, $20, and $100). The bill validator 30, player-input switches 32, video display monitor 34, and information panel are devices used to play a game on the game machine 2. The devices are controlled by the master gaming controller, housed inside the main cabinet 4 of the machine 2. During game play, information regarding the operation of one or more of these devices may be captured by the gaming machine as part of a game history on the gaming machine.
In the example, shown in FIG. 1A, the top box 6 houses a number of devices, which may be used to input player tracking information or other player identification information into the gaming machine 2, including the bill validator 30 which may read bar-coded tickets 20, a key pad 22, a florescent display 16, a camera 44 and a card reader 24 for entering a magnetic striped cards or smart cards. The camera 44 may be mounted in the top box 6 and used to record images of a player playing a game on the gaming machine. The key pad 22, the florescent display 16 and the card reader 24 may be used to enter and display player tracking information. In addition, other input devices besides those described above may be used to enter player identification information including a finger print recording device or a retina scanner.
Game history information from the input devices described above may be incorporated into a game history frame (see FIG. 1B) and/or stored as textual data. Further, the game history frame may include video data from the game presentation (e.g. one or more game presentation frames) and additional game information. For instance, a picture of the player playing the game during the game presentation and one or more frames of the game presentation captured during game play on the gaming machine may be incorporated into a game history frame. The game history frame with the player's picture may be utilized in a game dispute resolution and for promotional purposes.
In addition to the devices described above, the top box 6 may contain different or additional devices than those shown in the FIG. 1A. For example, the top box may contain a bonus wheel or a back-lit silk screened panel which may be used to add bonus features to the game being played on the gaming machine. During a game, these devices are controlled and powered, in part, by circuitry (not shown) housed within the main cabinet 4 of the machine 2.
Understand that gaming machine 2 is but one example from a wide range of gaming machine designs on which the present invention may be implemented. For example, not all suitable gaming machines have top boxes or player tracking features. Further, some gaming machines have only a single game display—mechanical or video, while others are designed for bar tables and have displays that face upwards. Those of skill in the art will understand that the present invention, as described below, can be deployed on most any gaming machine now available or hereafter developed.
Returning to the example of FIG. 1A, when a user selects a gaming machine 2, he or she inserts cash through the coin acceptor 28 or bill validator 30. Additionally, the bill validator may accept a printed ticket voucher which may be accepted by the bill validator 30 as an indicia of credit. Once cash or credit has been accepted by the gaming machine, it may be used to play a game on the gaming machine. Typically, the player may use all or part of the cash entered or credit into the gaming machine to make a wager on a game play. During the course of a game, a player may be required to make a number of decisions which affect the outcome of the game. For example, a player may vary his or her wager, select a prize, or make game-time decisions which affect the game play. These choices may be selected using the player-input switches 32, the main video display screen 34 or using some other device which enables a player to input information into the gaming machine including a key pad, a touch screen, a mouse, a joy stick, a microphone and a track ball.
During certain game events, the gaming machine 2 may display visual and auditory effects that can be perceived by the player. These effects add to the excitement of a game, which makes a player more likely to continue playing. Auditory effects include various sounds that are projected by the speakers 10, 12, 14. Visual effects include flashing lights, strobing lights or other patterns displayed from lights on the gaming machine 2 or from lights behind the belly glass 40. Typically, this type of information is not captured as part of an archived game history. After the player has completed a game, the player may receive game tokens from the coin tray 38 or the ticket 20 from the printer 18, which may be used for further games or to redeem a prize. Further, the player may receive a ticket 20 for food, merchandise, or games from the printer 18 which may be incorporated into the one or more game history frames or saved in a textual record of the game history.
FIG. 1B is a block diagram of a game history frame which may be displayed on at least one of the displays, 34 and 42, shown in FIG. 1A. In a specific embodiment, the game history frame 48 includes video data from a game presentation frame 68 selected from the sequence of game presentation frames in a video slot game presentation and additional game information. Besides the game presentation frame 68, the game history frame 48 includes game history information 60, game specific information 74 and player identification information 52. The selected game presentation frame 68 shows the final position of the “reels” in the video slot game presentation including three symbols (e.g. 72) on the payline 70. From the combination of symbols on the payline, a player may visually determine the outcome of the video slot game. Thus, when incorporated into the game history frame 48 and archived in some manner, the game presentation frame 68 may be used to provide a historical record of the game outcome.
In the game history frame 48, the game history information 60, game specific information 74 and player identification information 52 is rendered outside of the game presentation frame 68. In other embodiments, when the game presentation frame 68 is generated, parts or all of the game history information 60, game specific information 74 and the player identification information 52 may be directly rendered into the game presentation frame 68. A game presentation frame rendered with the additional information may be incorporated into the game history frame. In general, game history frames incorporating game presentation frames may be generated in many different formats and may include varying amounts of related information. For instance, a game history frame may include one or more game presentation frames. Further, a game history frame may be generated without any game history information, game specific information and player identification information or may be generated with various combinations of game history information, game specific information and player identification information.
During game play, game decisions made by a player may affect the outcome of the game and the subsequent game presentation. To provide a game history, game presentation frames and game history information representative of the player's game decisions may be captured by the gaming machine and incorporated into a game history frame. For example, in a video poker game, a number of cards are “dealt” to the player which appear as cards on the video display screen representing the initial hand. Based on the dealt cards in the initial hand, a player decides to hold or discard certain cards using one of the input mechanisms described above. The discarded cards are replaced by new cards. Based on the decisions by the game player, a series of hands may be displayed on the display screen to the player until a final hand is obtained. The final hand determines the game outcome and the award to the player.
As part of a game history, video data from game presentation frames representing the initial hand, intermediate hands (e.g. holds and discards) and final hand may be captured to one or more game history frames. For instance, a single game history frame may be generated that contains video data captured from 1) a game presentation frame displaying the initial hand, 2) a game presentation frame displaying an intermediate hand and 3) a game presentation frame displaying the final hand. Thus, the single game history frame would contain three game presentation frames. In another embodiment, three separate game history frames may be generated including: 1) a game history frame containing video data captured from the initial hand, 2) a game history frame containing video data captured from the intermediate hand and 3) a game history frame containing video data captured from the final hand. As described above, each game history frame may also include additional information besides the captured video data including game history information, game specific information and player identification information. Although multiple game history frames may be generated to represent the game history of a single game where a single game history frame may contain video data from multiple game presentation frames, in FIG. 1B, only a single game history frame containing video data from a single game presentation frame from a video slot game presentation is shown.
Game history information, including a location, a date, a time, an amount wagered, an amount won, player tracking information, an amount lost, random numbers generated to produce the cards, a game pay table, a game name, a game denomination (e.g. 5 cents, 25 cents, 1 dollar, etc.) and game specific information (e.g. cards held, cards discarded) and the like, may also be incorporated into the game history frame. In the game history frame 48 in box 74, game specific information including a “pay table A” 76 and random numbers generated corresponding to the symbols 72 are displayed. In box 60, game history information including the location 62 where the gaming machine 2 resides, the type of game, the date 64 when the game was played, the time 66 when the game was played, the denomination of the game, the credits on the gaming machine when the game was initiated, the wager amount, the award made for the game and the credits on the gaming machine after the game is completed are shown. The rendering of game history information and game specific information into a game history frame is described with reference to FIGS. 2 and 3.
Player identification information 52 may also be rendered into a game history frame. For instance, in FIG. 1B, a player's name 54, finger print 56 and image 58 have been incorporated into the game history frame 48. The player's image may have been recorded with the camera 44. The player's name 54 may have been obtained when a player entered player tracking information into the gaming machine 2 using the card reader 24.
The game history information described above may be stored separately from the game history frame to provide a textual record of the game history. Typically, the textual game history information takes up significantly less memory than graphical game history information. Memory space is a consideration because of the amount of non-volatile memory space where the game history information is stored is usually limited. The textual record of the game history information provides another record of the game history which may be used in game disputes. Except when a game malfunction has occurred, the textual game history information and the graphical game history information stored on the game history frames will be consistent. For instance, an error in the game presentation code and/or a malfunction in the gaming machine hardware may produce an erroneous graphical game presentation which differs from the textual game history information stored in the gaming machine.
In the past, since a visual record of the game play was recreated from the textual game history information stored in the gaming machine, errors where the textual data and the graphical data are in disagreement were not necessarily reproduced in the recreation of the visual game presentation. For example, a hardware malfunction such as a power surge may cause an error in the graphical presentation but not affect the textual game history information stored in the gaming machine. When the graphical game history is generated from the textual game history information, the error may not be reproduced because the hardware malfunction is not reproduced. Thus, when graphical game history information is not captured, errors of this type may not be detected. With the present invention, this type of error may be detected because graphical game history information and a textual game history information from the actual game play are both captured and stored as part of a game history.
Many possible games, including video slot games, video poker, video pachinko, video black jack and video keno, may be provided with gaming machines of this invention. In general, the invention may be applied to any type of video game implemented on a gaming machine supporting video game presentations. Some gaming machines may provide multi-game capabilities where more than one type of game may be played on the gaming machine. For instance on the gaming machine 2, a player may select video black jack using the input buttons 32, make a wager, initiate a game and view a video black jack presentation on the display screen 34 and then select a video slot game, make a wager, initiate a game and view a video slot presentation. In this game play sequence, “game history frames” from the sequence of frames comprising the game presentations for the video black jack game and the video slot game are captured to a game history database. Typically, the game history database is stored in a non-volatile memory on the gaming machine. The storage of the game history frames in a game history database is described with reference to FIGS. 2, 3 and 5.
Using a single game history playback code on the master gaming controller that is independent of the type of game from which the game history frame was captured, a game history frame may be displayed from a video poker game, video slot game, video keno game, video pachinko game or any other video game played on the gaming machine (e.g., in the sequence above, a video black jack game and a video poker game). A single game history playback code, independent of the type of game, may be utilized for different types of games because one or more frames from the actual game presentation are identified and captured as game history frames in the present invention (e.g. the frame 68 of the video slot game presentation). In the past, critical portions of the visual game presentation were recreated using game history information saved while the game was executed because of limited non-volatile memory space. The recreation of the visual game presentation required portions of the code used to generate the unique game presentation for each type of game. With the present invention, the requirement to recreate the visual game presentation is eliminated because one or more frames from the actual game presentation are captured. Thus, a game history code that is independent of the type of game may be used.
Some advantages of capturing game history frames in the manner described above are that the visual record of the game history represented by the game history frame matches the actual presentation of the game play and may be displayed without a sophisticated game history regeneration code. In the past, the graphical game history was recreated from game history information stored during game play using a history regeneration code developed for each game. The regeneration code produced at best, a rough approximation of what may have occurred during game play.
In addition, a separate game history regeneration code had to be developed, tested and approved for each type of game as well as different implementations of the same game. For example, a different history regeneration code was needed for video black jack game versus a video slot game or two different video slot games required two different regeneration codes. By capturing game history frames, a game history playback code that is independent of the type of game or the implementation of the game may be used to display the visual game history represented by the game history frames because game specific code is not needed to regenerate the game presentation. Thus, the same playback code may be used for the video slot game and the video blackjack game as well as for different of implementations of the same type of game. Thus, using the game history frame capture process, a more accurate record of the game play is recorded and significant engineering and approval time is saved in the game development process.
In FIGS. 1A and 1B, the frame capture process has primarily been described in the context of capturing game presentation frames displayed to a video display as part of a video game presentation. The invention described herein is not so limited. In general, for any type of gaming machine with video display capabilities, video data from any video frames generated by the gaming machine may be captured. The captured frames may have been generated for many purposes other than a video game presentation. For instance, frames from maintenance screens generated during maintenance on the gaming machine may be captured to provide a record of maintenance performed on the gaming machine. The video display may also be used to provide one or more game services to a player such as player tracking services, prize services, hotel services and accounting services. Video data from one or more video frames generated on the gaming machine while these gaming services are provided may also be captured by the gaming machine. For instance, when a player cashes out on a gaming machine after game play, information regarding the cash out process such as the amount of credits and the time of the cash out may be displayed on a display screen on the gaming machine. A frame containing the cash out information may be captured by the gaming machine. The captured frame may be sent to a printer to provide a record of the cash out process to the player. The frame capture process may also be utilized in other of other manners including 1) documents such as brochures and manuals that may be distributed with the gaming machine, 2) as part of testing and defect identification during gaming machine development and maintenance and 3) to capture frames that may be implemented as part of special graphics effects such as incorporating a players image into a game presentation.
FIG. 2 is a block diagram of a gaming machine having a top box, two displays and other devices in accordance with one embodiment of the present invention. Features that appear in both FIG. 1A and FIG. 2 are identified by common reference numerals. A master gaming controller 224 controls the operation of the various gaming devices and the game presentation on the gaming machine 2. Using a game code and graphic libraries stored on the gaming machine 2, the master gaming controller 224 generates a game presentation which is presented on the displays 34 and 42. The game presentation is typically a sequence of frames updated at a rate of 75 Hz (75 frames/sec). For instance, for a video slot game, the game presentation may include a sequence of frames of slot reels with a number of symbols in different positions. When the sequence of frames is presented, the slot reels appear to be spinning to a player playing a game on the gaming machine. The final game presentation frames in the sequence of the game presentation frames are the final position of the reels. Based upon the final position of the reels on the video display 34, a player is able to visually determine the outcome of the game.
Each frame in sequence of frames in a game presentation is temporarily stored in a video memory 236 located on the master gaming controller 224 or alternatively on the video controller 237. The gaming machine 2 may also include a video card (not shown) with a separate memory and processor for performing graphic functions on the gaming machine. Typically, the video memory 236 includes 1 or more frame buffers that store frame data that is sent by the video controller 237 to the display 34 or the display 42. In a preferred embodiment, the frame buffer is in video memory directly addressable by the video controller. The video memory and video controller are incorporated into a video card which is connected to the processor board containing the master gaming controller 224. The frame buffer may consist of RAM, VRAM, SRAM, SDRAM, etc. The memory size of each frame buffer is related to the resolution used on the video display and the number of colors used to render the presentation. The memory size of each frame buffer may be about 2 Megabytes or greater.
The frame data stored in the frame buffer provides pixel data (image data) specifying the pixels displayed on the display screen. In one embodiment, the video memory includes 3 frame buffers. The master gaming controller 224, according to the game code, may generate each frame in one of the frame buffers by updating the graphical components of the previous frame stored in the buffer. Thus, when only a minor change is made to the frame compared to a previous frame, only the portion of the frame that has changed from the previous frame stored in the frame buffer is updated. For example, in one position of the screen, a 2 of hearts may be substituted for a king of spades. This minimizes the amount of data that must be transferred for any given frame. The graphical component updates to one frame in the sequence of frames (e.g. a fresh card drawn in a video poker game) in the game presentation may be performed using various graphic libraries stored on the gaming machine. This approach is typically employed for the rendering of 2-D graphics. For 3-D graphics, the entire screen is typically regenerated for each frame.
Pre-recorded frames stored on the gaming machine may be displayed using video “streaming”. In video streaming, a sequence of pre-recorded frames stored on the gaming machine is streamed through frame buffer on the video controller 237 to one or more of the displays. For instance, a frame corresponding to a movie stored on the game partition 228 of the hard drive 222, on a CD-ROM or some other storage device may streamed to the displays 34 and 42 as part of game presentation. Thus, the game presentation may include frames graphically rendered in real-time using the graphics libraries stored on the gaming machine as well as pre-rendered frames stored on the gaming machine 2. A game history frame may include graphically rendered frames, streamed frames or combinations of both of these media formats.
During the game presentation, the master gaming controller 224 may select and capture certain frames to provide a game history. These decisions are made in accordance with particular game code executed by controller 224. The captured frames may be incorporated into game history frames. Typically, one or more frames critical to the game presentation are captured. For instance, in a video slot game presentation, a game presentation frame displaying the final position of the reels is captured. In a video blackjack game, a frame corresponding to the initial cards of the player and dealer, frames corresponding to intermediate hands of the player and dealer and a frame corresponding to the final hands of the player and the dealer may be selected and captured as specified by the master gaming controller.
After a game presentation frame is captured from a frame buffer, the master gaming controller renders all or part of the information stored in the frame buffer into a game history frame and copies the game history frame to one or more memory devices on the gaming machine such as the non-volatile memory 234, the hard drive 222 or other non-volatile mass storage for archival purposes. During the capture process, the game presentation frame data may be stored in an intermediate memory location on the gaming machine before it is copied to the archival storage location. While in the intermediate memory location, the master gaming controller may operate on the captured frame data. For instance, to reduce the storage requirements, the number of colors in the game presentation frame may be reduced before the game presentation frame is rendered into the game history frame. The intermediate memory location may be a portion of the non-volatile memory or the system RAM. The non-volatile memory device may include battery-backed random access memory devices and flash memory devices. On the hard drive 222, the game history frame data may be stored in a history database partition 229. In one embodiment, game history frames providing visual records of the previous ten games are stored on the gaming machine.
In one embodiment of the invention, game history frames may also be stored and archived in locations outside of the gaming machine. In such embodiments, the gaming machine 2 transmits the game history frame to the outside location via a main communication board 210 and a communication connection 214 using an appropriate communication protocol stored on the gaming machine. Details of game history frame usage outside of the gaming machine are described with reference to FIG. 3.
During game play as described with reference to FIG. 1, the gaming machine may receive inputs from various devices installed within the main cabinet 4 and top box 6, including a card reader 240, a ticket acceptor 242, the bill validator 30, the coin acceptor 28 and the camera 44. The master gaming controller 224 may incorporate selected information received from these devices into the game history frame as game history information. In addition, the master gaming controller may separately store the game history information incorporated into the game history frame in one or more storage devices. As an example, prior to initiating a video slot game, the amount of money accepted from a bill validator or the ticket value/number for a ticket accepted by the ticket acceptor may be rendered by the master gaming controller on the game history frame displaying the final position of the reels in the video slot game (See FIG. 1B). In addition, this information may also be stored separately from the game history frame. This information may be stored as simple text for instance. As another example, an image recorded by the camera 44 of the player playing the video slot game at the time when the outcome of the video slot game is presented on the display 34 may be incorporated into the game history frame presenting the final position of the reels in the video slot game.
In general, any information input into the gaming machine, output from the gaming machine or generated by the gaming machine in the process of a game presentation may be incorporated into the game history frame. The type and amount of information incorporated into a game history frame is usually predetermined via game code executed by the gaming machine. Typically, a standard set of information may be recorded into the game history frame including “critical data” such as the amount wagered on the game, the credits on the machine, the amount of award, the amount of loss, the time, the date and the type of game. In addition, the information incorporated into the game history frame may vary according to the outcome of the game or other events occurring on the gaming machine as related to game play on the machine. For example, when the player is awarded a jackpot above a certain amount, a name and a picture of the player playing the gaming on the gaming machine may only be rendered into the game history frame.
Critical data may be incorporated into the game history frame in a number of ways including: 1) rendering the critical data directly into a game presentation frame prior to capture of the frame from the frame buffer, incorporating the modified game presentation frame into the game history frame and storing the game history frame, 2) rendering the critical data into the game presentation frame after capturing it from the frame buffer (e.g. while it is stored in intermediate storage), incorporating the modified game presentation frame into a game history frame and storing the game history frame, 3) incorporating a captured game presentation frame into a game history frame, rendering critical data around it, and storing the game history frame, 4) incorporating a captured game presentation frame into a game history frame, storing the game history frame and critical data separately, and when the critical data and the game history frame are recalled, rendering critical data around the game history frame 5) combinations of 1), 2), 3) and 4).
The information incorporated into a game history frame may be affected in the gaming machine by commands sent to the gaming machine from a location outside of the gaming machine. Sometimes this is done for purposes unrelated to dispute resolution or security. For example, as part of an advertising promotion, the gaming machine may be instructed to capture a game history frame with the picture of the player playing the game on the gaming machine and print the frame using the printer 230. As shown in FIG. 3, the printer may also be in a location separate from the gaming machine. The game player receives the frame from the printer. Next, when the player whose picture is on the game history frame presents the frame at the casino where the game history frame was printed or some other casino, the printed game history frame may be exchanged for a promotional item. Further, the captured picture could also be displayed on other gaming machines to celebrate a win.
In another embodiment, captured and archived graphical and textual game history information may be incorporated into the game presentations and bonus game presentations of subsequent games. As an example, for a video slot game presentation, captured graphical information such as a player's image or game presentation frames from one or more previous games may be incorporated as video symbols in the video slot game. For instance, the image of the last player to win a jackpot on the machine may be incorporated into a jackpot symbol. When a new player wins the jackpot, their image may be incorporated into the jackpot symbol replacing the previous player's image or their image may be added as a new symbol. In one scenario, three symbols containing a player's face on a payline may trigger a jackpot or a bonus scenario. In yet another embodiment, various graphical information captured from previous game plays by the player may be incorporated as part of a bonus game scenario on the gaming machine. As a player play's consecutive games on the gaming machine, more and more information from their previous games are incorporated into the game presentation until a bonus scenario is triggered.
FIG. 3 is a block diagram of a gaming machine connected to a number of devices which may utilize captured game history frames. Two gaming machines, 345 and 355, with features described with reference to FIGS. 2 and 3, are connected together in a gaming machine loop 360 and to a Local Area Network (LAN) or Wide Area Network (WAN) 304. On the network 304, a number of devices are connected to the network including a promotional server 300, a history database server 303, a remote display 305, security services 320 and a remote printer 310. These devices may utilize and process game history information generated on the gaming machines 345 and 355.
On gaming machine 345, a promotional game history frame is displayed on the display 42. The promotional game history frame is a composite of the frame of the game presentation 390 on the main display 34 and a picture of the player playing the game recorded with the camera 44. The promotional game history frame may be printed to the printer 303. Also, the promotional game history frame may transmitted from the gaming machine to the promotional server 300 and the remote printer 310. The remote printer may print out a higher quality print than the printer 303. The promotional server may store and archive the promotional game history frame for later applications. For example, the promotional game history frame may be later mailed to the player with incentives to encourage a trip to a gaming location. The promotional game history frame may be incorporated as part of an advertisement in a general publication.
On a gaming machine 355, game history information is displayed in the context of the resolution of a game dispute. In the game dispute resolution process, an attendant will typically be called to the gaming machine. The attendant inserts a key in the side of the gaming machine that allows the gaming machine to be placed in a game history mode. In the game history mode, game history information relating to a number of past games played on the gaming machine may be recalled. For instance, the gaming machine may store game history frames relating to the past 10 games played on the gaming machine and game history information (e.g. textual data) relating to the past 100 games played on the gaming machine in a game history database (e.g. history database in partition 229 of FIG. 2). The game history frames are displayed to the display screen of the gaming machine 355 using the history playback code. The history playback code may consist of software instructions necessary to recall the game history frames from the game history database and display the game history frames to one of the gaming machine displays using the frame buffers and/or other video elements on the gaming machine.
Game history information may also be stored on the history database server 330 and accessed by the game history playback code. As described with reference to FIG. 2, when game history information including game history frames is stored in the non-volatile memory 234 of the gaming machine, it may be also be periodically transmitted to the history database server. The history database server 330 may contain a copy of the information stored on the gaming machine that may be used when data on the gaming machine has been lost or corrupted in some manner. In some embodiments, the history database server 330 may be used instead of non-volatile memory on the gaming machine to store the history database. To implement this embodiment, a fast data transmission rate between the gaming machine (e.g. 355) and the game history server 330 would likely be required.
Game history information archived in the manner described above may be redisplayed at the gaming machine where it was generated or on another remote system. The remote system may be another gaming machine or a video display attached to a personal computer. For instance, if the video display failed on a gaming machine, a game history for the gaming machine could be displayed on an adjacent gaming machine or the video display attached to the personal computer by accessing the game history server 330.
In another embodiment, archived game history information may be utilized in a current game presentation, bonus game presentation and a bonus game scenario. For instance, when a player initiates game play on a particular gaming machine, a record of game histories from previous games the player has played may be recalled from the game history server 330. The games may have been played on one or more gaming machines at various times in the past. Graphical information from previous games obtained from the game history server 330 may be incorporated into the game presentation of the current game being played on the gaming machine.
Textual game history information obtained from the game history server 330 may be used to develop a bonus game scenario and a bonus game presentation for the current game. For instance, game history records of one or more player's game play on various machines at different times may be obtained from the game history server and incorporated into a bonus game scenario. Thus, a bonus game event for the current game may be triggered from game events that occurred during previous game plays by the player on different gaming machines at different times. Further, as part of another bonus game scenario, graphical and textual game history information captured from previous game plays by a group of players may be incorporated into the game presentations of each player in the group and shared by the players.
In the game dispute resolution process, textual game history information may be displayed on the display screen 42 and the game history frame may be displayed on the main display 34. The touch screen controls 383 or player input switches 33 may be utilized to browse through different game history frames, including 390, corresponding to game histories from games stored on the gaming machine or archived in the history database 330. As described above, the game history frames may correspond to different types of games. Thus, a first game history frame may correspond to a video slot game, including 390, and a second game history frame may correspond to another video game including video poker, video pachinko, video black jack and video keno. The game history frame 390 may include a picture of the player 384 that was playing the game at the time of the game presentation or other player identification information such as player tracking information entered by the player. In addition, during the game dispute resolution process, the game history frame 390 and game history data 396 may be transmitted to security services 320 and viewed on the remote display 305. After locating and viewing the game history information, including the game history frames and textual game history data, the dispute between the game player and the casino is resolved and the gaming machine typically is restored to a game playing mode.
FIG. 4 is a flow chart depicting a method for analyzing a current frame and capturing it as a game history frame from a frame buffer for one embodiment of the present invention. In 400, the master gaming controller (See FIG. 2) updates changes to the graphical components of one the sequence of game presentation frames in the game presentation. In 410, the master gaming controller determines when game history information, such as the amount bet, the amount won/lost, the time and the date, may be added to the game presentation frame. As previously described, game history information may be archived with a game history frame in a number of manners besides directly rendering the game history information directly into the game presentation frame. In addition other frames generated in the operation of the gaming machine such as frames generated during maintenance of the gaming machine may also be captured. In 420, when game history information is to be added to the game presentation frame under consideration, the graphical components needed to incorporate the selected game history information into the game presentation frame are updated. For example, the graphical components needed to express a time and date on the game history frame using the image data comprising the frame may be generated. In 430, the frame buffer containing game presentation frame data is updated with the changes to the graphical components and if necessary with any added text per operation 420.
In 440, the master gaming controller (or other processing mechanism) determines when the game presentation frame stored in the frame buffer is to be captured. The determination may be based upon programming logic executed within the gaming machine or may be initiated from outside of the gaming machine. The captured game presentation frame is rendered in some manner into a game history frame. When the game presentation frame is unmodified, the captured game presentation frame becomes the game history frame. However, as described with reference to FIGS. 5 and 6, the game presentation frame may be processed before it is rendered into the game history frame.
In 450, when the frame buffer is to be captured, the game presentation frame data stored in the frame buffer is copied to a memory location. The memory location may be an intermediate location, such as a portion of the non-volatile memory 222 in FIG. 2, where the game history frame data may rendered into a game history frame before storage in non-volatile memory or the game presentation frame data may be copied directly to the non-volatile storage device without processing.
In 460, the machine determines whether contents stored in the frame buffer are to be discarded. When game history information is incorporated into the game history frame, it may be undesirable to display the game history frame to the player as part of the game presentation. When it is undesirable to display the game history frame to the player, the frame buffer may be discarded before it is rendered on the display device and a new frame may be drawn to the buffer in 400. Usually, the new frame in 400 will be similar to frame discarded (e.g. it may be identical to the frame discarded except that the game history information is not drawn on the frame). In 470, the video output device, which may include a video controller or a video card, displays the contents of the frame buffer to one or more of the display screens as part of the game presentation. When the frame buffer was captured as a game history frame and not discarded, the game history frame is substantially identical to one of the sequence of frames used in the game presentation.
FIG. 5 is a flow chart depicting a method for capturing and storing a game history frame to a storage device. This process may correspond to operation 450 in FIG. 4. In 500 and 510, the game history frame data and the critical game history information has been captured and copied to an intermediate memory location such as a portion of the non-volatile memory 234 in FIG. 2. The game history frame data may incorporate all or a subset of the critical game history information. In 520, the machine determines whether a color reduction algorithm should be applied to game history frame data to reduce the storage requirements of the game history frame. If so, the machine reduces colors at 530. For example, in 530, the number of colors may be reduced from 256 to 16 or the color scale may be reduced to gray scale. In 540, the master gaming controller determines if a compression algorithm should be applied to reduce the storage requirements with the non-volatile memory. If so, the compression algorithm is applied to the game history frame data in 550. In 560, the master gaming controller determines if encryption of the game history frame data should be applied. Encryption may be applied to prevent a fake game history frame from being utilized. In 570, the encryption algorithm is applied to the game history frame data. In some embodiments, one or more of the operations performed in 550, 560, and 570 may be eliminated or automatically applied. For example, compression may be applied by default, thus eliminating decision 540. Also, encryption may be applied by default thereby eliminating 560 and 570. These features may be added or removed without a dramatic impact to the existing game code.
In 580, a game history frame signature is generated that allows the game history frame data to be unambiguously identified. The game history frame signature may also be used to check the authenticity of the game history frame or determine whether the data in the frame has been corrupted. Checksum, hash value and CRC are a few examples of algorithms which may be used to generate the game history frame signature. One of these algorithms or combinations of these algorithms may be used to generate a frame history signature. For instance, when the Checksum algorithm is used, values of the bits comprising the game history data are summed to produce a number. The number becomes the game history frame signature. Typically, the game history frame signature is appended to the game history frame data (See 590). When the game history frame data is recalled from memory, a new Checksum value is calculated from the data. When the new Checksum value and the Checksum value stored with the frame match, the game history frame is identified as a valid frame.
In 592, the master gaming controller may determine the amount of memory available in the non-volatile memory and memory requirements of the game history frame and the game history information. In 594, when the memory requirements of the game history frame and the game history information exceed the memory available in non-volatile memory, the oldest history data may be removed from non-volatile memory. For instance, when game history frames from 10 previous games have been stored in non-volatile memory filling the available space, the one or more game history frames corresponding the first game added to non-volatile memory is removed so that the latest game history frame may be stored in the memory. In this procedure, it is assumed that the probability of dispute occurring decreases as the number of games played on the computer after the disputed game increases. As previously described, since game history information captured in 510 in a textual format usually requires less memory space than a game history frame, the number of games with game history information stored in a textual format may be greater than the number of games with game history frames (e.g. in a graphical format). Thus, graphical game history information may be discarded before the textual history data is discarded. Thus, when history data is recalled for a particular game where textual data exists but graphical data is unavailable, the recall page may display a message such as “picture no longer available”.
In 596, the captured and potentially modified game history frame data is stored to the non-volatile memory. The non-volatile memory may reside on the gaming machine, the non-volatile memory may reside outside of the gaming machine or combinations of memory locations located both on and off the gaming machine may be used. The captured game history frame data may be stored in a variety of graphical formats including GIF, JPEG, BITMAP, etc.
FIG. 6 is a flow chart depicting a method for game history playback using a game history frame. In 600, during the dispute resolution process (described with reference to FIG. 3), the game history mode on the gaming machine is engaged. The game history mode may also be engaged for other reasons such as when the gaming machines appears to be malfunctioning. In 610, the game history or the game histories for one or more games may be retrieved. The game histories include at least one of captured game history frames and captured game history data. In 620, the master gaming controller determines whether the data contained in the frame is encrypted. When the data is encrypted, in 630, the data is decrypted. In 640, the master gaming controller determines whether the data contained in the frame is compressed. When the data is compressed, in 650, the data is uncompressed. In 660, the master gaming controller determines whether color reduction has been applied to the game history frame data. In 670, the colors may be expanded. However, since the original color data was lost in the color reduction process, the expanded colors may not match the colors utilized in the original game presentation. However, the information in the image may be substantially similar to the original game presentation frame presented on the gaming machine.
In 680, a game history frame signature is calculated from the game history frame data and compared to a previous game history frame signature incorporated into the game history frame data. For instance, a Checksum algorithm may be applied to all or a portion of the frame data. In 690, the signatures are compared. When the signatures do not agree, in 694, an error message is displayed to the display screen. In 696, when the game history frame signatures agree, the game history frame and related game history information is displayed to the display screen. The data may be displayed in a graphical format, a textual format or combinations of graphical and textual formats. The display process may involve copying the game history frame to a frame buffer which is accessible to the video controller on the gaming machine.
It should be understood that the present invention may be practiced in a wide variety of gaming system configurations. As mentioned above with reference to FIG. 3, gaming machines deployed in a WAN may work together with other network devices, e.g., a game history database server, to effect the capture and use of relevant game history information. More generally, any type of network in which gaming applications may be executed may take advantage of the present invention to capture game presentation and game history frame data for use as described herein. Examples of such embodiments will now be described with reference to the remaining figures.
FIG. 7 is a simplified block diagram of a network environment in which embodiments of the present invention may be practiced. It should be understood that network 700 represents any of a wide variety of network topologies, only some of which correspond to the Internet and World Wide Web. For example, all or portions of network 700 may be implemented using any combination of public and private LANs or WANs which employ any of a wide variety of network communication protocols. In addition, all or portions of network 700 may be implemented using any of a wide variety of conventional or proprietary wireless, cable, or satellite network technology.
In the embodiment of FIG. 7, a client device 702 interacts with a host device 704 to effect execution of a gaming application which may comprise, for example, a game of chance. According to various embodiments, client device 702 may comprise any type of device having sufficient computing capabilities to enable a user to engage in gaming activity over a network. Examples of such devices include wireless phones, personal digital assistants, set top boxes, gaming consoles, desktop and laptop computers, etc. Client device 702 may also have varying levels of computational power, presenting the capabilities, for example, of a high powered work station or hand held thin client.
And unlike gaming machines 345 and 355 of FIG. 3, client device 702 does not operate independently to execute gaming applications and determine their outcomes. Rather, the outcomes (e.g., random number and pay table generation) are typically determined at host device 704 with the remainder of the computing load being distributed between devices 702 and 704. The manner in which this load is distributed depends on the gaming application architecture and/or the processing capabilities of client device 702.
That is, software architectures have moved toward an object oriented approach (e.g., Java and COM) where different software objects may be dynamically linked together prior to or during execution to create many different combinations of executables that perform different functions. Thus, the computing load can be distributed across multiple platforms according to their capabilities and/or the needs of a particular application. For example, according to some embodiments, most of the computing load (e.g., game logic and flow control) may be handled by host device 704, while client device 702 handles only game presentation functions, e.g., display and player feedback. Alternatively, some of the component modules relating to game logic and flow may reside and/or be executed on client device 702. In any case, it should be understood that the manner in which the computing load is divided is not central to the invention and should therefore not be considered as limiting the invention in any way.
A specific embodiment of the invention in which game history frames are captured in a network context is illustrated in the flowchart of FIG. 8. It will be understood that the details of such game history frames and the means by which they are captured may correspond to any combination of the corresponding details described above with reference to FIGS. 1-6. In addition, alternative approaches to at least some of these details may be apparent to those of skill in the art based on a particular network context and are therefore within the scope of the invention.
A user connects with a host device (e.g., 704) over a network using a client device (e.g., 702) for the purpose of participating in a gaming application (802). This connection may be achieved, for example, using the TCP/IP protocol. Alternatively, any suitable network communication protocol may be employed.
In the described embodiment, it is assumed that the logic which controls the generation of game presentation frames resides on the client device. This logic may operate as described above or use any available technology by which an image may be rendered on a computing or multimedia device. It is also assumed for illustrative purposes that the logic which controls the game flow and outcome generation resides on the host device. It will be understood, however, that the distribution of computing responsibilities between or among the network devices involved may vary considerably within the scope of the invention.
In response to some event, a corresponding game presentation frame displayed on the client device is captured (804). Such an event may correspond to a particular game outcome or state. According to various embodiments, the captured frame may be selected from a sequence of frames stored in a buffer, or taken directly from the screen of the client device. In alternative ones of these embodiments, the logic which detects the event and triggers the capture may reside on either of the client or host devices.
According to a particular embodiment, a game history frame (e.g., as shown in FIG. 1B) is then generated (806) which includes frame data corresponding to the game presentation frame and any of a variety of other data (e.g., critical game presentation data) as described herein. The game history frame may be generated at either the client device or the host device. In the latter case, the game presentation frame or even the entire frame buffer may be transmitted to host device. The game presentation frame and/or game history frame is then stored in memory associated with the host device (808).
In addition to any of the information described above which may be included in a game history frame, such frames may also include or have associated therewith information which uniquely identifies the frame in the particular network context in which it has been generated. For example, if the client and host devices have been communicating via a TCP connection which is uniquely identified by the combination of their respective network addresses, some portion of this information (e.g., the client address) may be associated with a game presentation frame to uniquely identify the frame. In general, any information relating to the network context, network communication protocol(s), and network devices themselves which can be employed to uniquely identify a game presentation or game history frame may be used to enable this aspect of the present invention.
Also in response to the event, the host device captures a game presentation frame corresponding to the one displayed and captured on the client device (810). According to specific embodiments, the host device generates its own version of the game presentation frame using its own game presentation logic which is substantially the same as the logic used by the client device to generate its game presentation frames. According to various ones of these embodiments, the host device may generate a complete or partial sequence of game presentation frames from among which it selects and captures the relevant frame. Alternatively, the host device may only generate the relevant frame in response to the occurrence of the event. A corresponding game history frame is then generated by the host device (812).
Regardless of how the game presentation or game history frames are generated, the two images may then be rendered by the host or an associated device (814) for any of a variety of purposes including, for example, verifying a particular outcome or resolving a dispute. According to a particular embodiment, the rendering and comparison of frames may be accomplished according to the process described above with reference to FIG. 6. However, the invention is not so limited, with any suitable alternatives and or modifications of the described process appropriate for the particular network environment being within the scope of the invention.
It should be understood that embodiments of the present invention are contemplated in which the host device does not necessarily generate a second version of a captured frame. That is, because the captured frame itself may be self-authenticating, it and various uses thereof may be considered to be within the scope of the invention. In addition, the captured frame may be compared with data which is not necessarily organized into a similar frame for any of the purposes described herein.
Embodiments of the invention implemented in distributed computing and network environments may include additional features to ensure secure communication between and among network devices, and to prevent unauthorized access to gaming application data. Such features are particularly important in the context of online gaming systems which incorporate wagering on game outcomes. In the context of the frame capture enabled by the present invention, it is important that the integrity of frame capture, transmission, and comparison be protected.
Therefore, according to a specific embodiment of the invention, the game presentation and game history frames may be generated in such a way so as to prevent or inhibit the unauthorized manipulation of the frames. For example, as described above with reference to FIG. 6, frame signatures (e.g., CRCs, checksums, or hashing functions) may be generated for the two frames to be compared such that the corruption or manipulation of data at the client or some intermediate device may be detected. In addition, encryption of any frame data to be transmitted over the network (e.g., using SSL) may further reduce the likelihood that such manipulation will occur.
According to a particular embodiment, game history frames may be generated such that they include some form of visual “watermark” which is indicative of the frame's authenticity. That is, when a game history frame is generated, an authenticating visual effect may be overlaid, embedded, or otherwise inserted into the frame as an indication of authenticity. Such a visual effect may be determined with reference to any of the components of the game presentation or game history frame including encrypted or hashed versions of those components. Alternatively, the visual effect employed may be determined with respect to some external parameter, e.g., the date or time.
Examples of such visual authentication objects may include, but are not limited to date and time, serialized game number, paytable number, user id, machine serial number, current progressive values, host id, network id, casino water mark, etc. According to various embodiment, the data corresponding to such authentication objects may be overlaid on top of the captured image, the image may be extended to include it, or binary data may be included in the data stream for the image and typically not displayed without a special software tool.
Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. For instance, many different combinations of hashing algorithms, compression algorithms, color reduction algorithms may be applied to captured frame data. In addition, many different gaming system architectures may employ the various frame capture techniques described herein. Moreover, it should be understood that the client-server model described above with reference to FIGS. 7 and 8 is merely exemplary. The present invention is applicable to a variety of other network computing paradigms such as, for example, peer-to-peer computing.
It should also be understood that the information captured according to any of the embodiments of the invention may comprise more than just single game presentation frames or game history frames. That is, according to some embodiments, multiple game presentation frames may be captured or multiple game history frames may be generated for playback in a sequence (e.g., a movie) such that a chronological sequence of events which occurred on a gaming machine or client device may be replayed.
The ways in which such multiple frames may be captured, encoded, stored, transmitted, and replayed may also vary considerably and remain within the scope of the invention. For example, video frames on a gaming machine could be recorded using a video cassette or digital video disc recorder. In another example, game presentation frames on gaming machines or client or host devices may be captured, encoded, transmitted, stored, and played back according to any of a variety of digital recording standards such as, for example, any of the standards promulgated and/or developed by the Moving Picture Experts Group (MPEG).
In view of the foregoing, the scope of the invention should be determined with reference to the appended claims.

## Claims

1. A gaming machine comprising:
a master gaming controller designed or configured to
i) receive a wager on a game of chance;
ii) control instantiations of the game of chance played on the gaming machine;
iii) store, for each instantiation of the game of chance that is played on the gaming machine, game history information to a storage device, said game history information including 1) an amount of credit available on the gaming machine when the instantiation of the game of chance is initiated, 2) an amount of the wager made on an outcome of the instantiation of the game of chance, 3) the outcome to the instantiation of the game of chance, and 4) an amount awarded as a result of the outcome to the instantiation of the game of chance;
iv) send the game history information for one or more instantiations of the game of chance previously played on the gaming machine to a remote gaming device via a communication interface;
v) enter into a game history mode wherein game play is not available on the gaming machine;
vi) receive, in the game history mode, a selection of a first instantiation of a game of chance previously played on a gaming machine;
vii) request game history information associated with the first instantiation of the game of chance from the remote gaming device
viii) receive the requested game history information; and
ix) display, in the game history mode, the game history information for the first instantiation of the game of chance;

an input mechanism coupled to the master gaming controller operable to receive cash or an indicia of credit for the wager on the game of chance; and
a display coupled to the master gaming controller operable to display the outcome to the game of chance.

2. The gaming machine of claim 1, wherein the game of chance is a slot game and the master gaming controller is designed or configured for each instantiation of the slot game to further store to the storage device game history information regarding paylines selected for the slot game and the outcome of the game of chance for each of the selected paylines.

3. The gaming machine of claim 1, wherein the master gaming controller is designed or configured for each instantiation of the game of chance to further store to the storage device information regarding decisions made by a player during the play of the instantiation of the game of chance.

4. The gaming machine of claim 1, wherein the master gaming controller is designed or configured to further store to the storage device information for each instantiation of the game of chance regarding an amount cashed out after a play of the instantiation of the game chance, a date the instantiation of the game of chance is played, a type of game that is played, and a denomination of the instantiation of the game of chance.

5. The gaming machine of claim 1 wherein the master gaming controller is further designed or configured to store game history information for at least ten instantiations of the game of chance.

6. The gaming machine of claim 1 wherein the master gaming controller is further designed or configured to send information associated with another instantiation of the game of chance to the remote gaming device, the information used to uniquely identify the gaming machine.

7. The gaming machine of claim 1 wherein the master gaming controller is further designed or configured to send information associated with another instantiation of the game of chance to the remote gaming device, the information used to identify a player that played the another instantiation of the game of chance.

8. The gaming machine of claim 1 wherein the master gaming controller is further designed or configured to receive a selection of the first instantiation of the first game chance previously played on another gaming machine, the selection made when the gaming machine is in the game history mode; and to receive from the remote gaming device the game history information for the first instantiation of the first game of chance previously played on another gaming machine in response to the selection.

9. The gaming machine of claim 8, wherein the game history information for the first instantiation of the first game of chance previously played on another gaming machine is associated with a player and is located using identification information associated with the player.

10. The gaming machine of claim 1, wherein the master gaming controller is further designed or configured to display the game history information for the first instantiation of the game of chance to the display.

11. The gaming machine of claim 1, wherein the master gaming controller, in the game history mode, is further designed or configured to receive from the remote gaming device the game history information for the first instantiation of the game of chance.

12. The gaming machine of claim 11, wherein the game history information for the first instantiation of the game of chance is not stored on the gaming machine.

13. The gaming machine of claim 1, wherein the master gaming controller, in the game history mode, is further designed or configured to recreate a graphical presentation recreating a portion of the game play for the first instantiation of the game of chance using the game history information for the first instantiation of the game of chance.

14. The gaming machine of claim 1, wherein the master gaming controller is designed or configured to, for each instantiation of the game of chance that is played on the gaming machine, store game history information to a storage device including graphical elements generated during the play of the game of chance.

15. The gaming machine of claim 14, wherein the graphical elements comprise frame data generated during a video game presentation used in the play of the game of chance.

16. The gaming machine of claim 1, wherein the storage device is at least one of a battery powered RAM, a flash memory, a hard drive or a mass storage device.

17. The gaming machine of claim 1, further comprising another storage device wherein the master gaming controller is operable to temporarily store the game history information for a second instantiation of the game of chance to the memory and then copy the game history information for the second instantiation of the game chance to the second memory for archival purposes.

18. The gaming machine of claim 1, wherein the master gaming controller is further designed or configured to receive a selection, while the gaming machine is operable for game play, from a plurality of different types of game of chance available for play on the gaming machine and control a play of the selected game of chance on the gaming machine in response to the selection.

19. The gaming machine of claim 1, wherein, while the gaming machine is available for game play, the gaming machine is operable to a) receive a first selection from a plurality of different types of games of chance available for play on the gaming machine, b) in response to the first selection, control a play of a first selected type of game of chance on the gaming machine, c) store game history information for the first selected type of chance of chance, d) receive a second selection from the plurality of different types of games of chance, e) in response to the second selection, control a play of a second selected type of game of chance on the gaming machine, f) store game history information for the second selected type of chance of chance.

20. A gaming system comprising:
a plurality of gaming machines, each gaming machine operable to receive a wager on at least one type of game of chance and provide a play of the at least one type of game of chance; and
a server in communication with the plurality of gaming machines over a network, the server comprising:
a memory coupled to a processor, said memory operable to store game history information for games of chance previously played on the plurality of gaming machines wherein each record of game history information stored in the memory is associated with an instantiation of a game of chance played on one of the plurality of gaming machines and the game history information associated with each record includes 1) an amount of credit available on the gaming machine when the instantiation of the game of chance is initiated, 2) an amount of the wager made on an outcome of the instantiation of the game of chance, 3) the outcome to the instantiation of the game of chance, and 4) an amount awarded as a result of the outcome for the instantiation of the game of chance;
the processor designed or configured to communicate with the plurality of gaming machines via a communication interface, to receive from a first gaming machine a request for game history information associated with a first record stored in the memory, locate the first record in the non volatile memory, and send the requested game history information to the first gaming machine; and
the communication interface coupled to the processor operable to communicate with the plurality of gaming machines.

21. The gaming system of claim 20, wherein the game history information associated with the first record stored in the non volatile memory includes information that identifies a player that initiated the instantiation of the game of chance.

22. The gaming system of claim 21, wherein the processor is further designed or configured to receive a request to locate game history information associated with the player stored in the memory, said request including the information that identifies the player, and to locate the at least one record using the information that identifies the player.

23. The gaming system of claim 20, wherein the game history information associated with a first record stored in the memory includes information that identifies a player that initiated the instantiation of the game of chance and information that identifies a first gaming machine where the instantiation of the game of chance was initiated and wherein the game history information associated with a second record stored in the memory includes information that identifies a second player that initiated a second instantiation of a game of chance and information that identifies a second gaming machine where the second instantiation of the game of chance was initiated.

24. The gaming system of claim 20, wherein the requested game history information is associated with a first instantiation of a game chance played on the first gaming machine.

25. The gaming system of claim 20, wherein the requested game history information is associated with a first instantiation of a game chance played on a second gaming machine.

26. The gaming system of claim 20, wherein at least one of the plurality of gaming machines is operable to generate first game history information and send the first game history information to the server and wherein the processor is further designed or configured to receive the first game history information and to store the first game history information as a first record in the memory.

27. The gaming system of claim 20, wherein the first gaming machine of the plurality of gaming machines comprises:
a master gaming controller designed or configured to
i) receive a first wager on a first instantiation of the game of chance;
ii) control the first instantiation played on the first gaming machine;
iii) store first game history information to a storage device, said first game history information including 1) an amount of credit available on the first gaming machine when the first instantiation is initiated, 2) an amount of the first wager made on an outcome of the first instantiation, 3) the outcome to the first instantiation, and 4) an amount awarded as a result of the outcome for the first instantiation;
iv) send the first game history information to the server;
v) enter into a game history mode wherein game play is not available on the first gaming machine;
vi) receive, in the game history mode, a selection of the first instantiation;
vii) send, in the gaming history mode, a request for the first game history information associated with the selection of the first instantiation to the server;
viii) receive the first game history information from the server; and

a display for displaying the outcome.

28. The gaming system of claim 27, wherein the master gaming controller is further designed or configured to generate the outcome of the first instantiation.