System, Method And Computer Program Product For A Robotic Game
Disclosed are methods, systems and computer program products for playing a game, such as craps, with the assistance of a robotic mechanism. One example method includes receiving a bet from a player. The robotic mechanism may then perform a gaming event and a result of the gaming event may be visually detected with a vision system. A result specific to the player may be determined based at least in part on the detected gaming event result. Also disclosed are computer program products having computer executable instructions for performing the game.
1. The Field of the Invention
Embodiments of the present invention relate to methods and systems for a game using robotics. In particular, disclosed embodiments related to methods, computer program products and systems that operate to conduct a game, such as a craps game, using a robotic mechanism.
2. The Relevant Technology
Many games, particularly gambling or casino games, can be difficult to learn. If a game is too difficult or complex the game's popularity may wane or new players may choose simpler or more familiar games. Trust in fairness of the game may also be difficult to maintain. For example, players may suspect that a dealer, by virtue of being more familiar with the game, could surreptitiously adjust winning odds in favor of the casino while the players are distracted by the game's complexity.
One approach to solving problems such as these has been to simulate games with computer software. New players may feel more comfortable learning how to play a new game without an audience. Thus, a broader market of players might be reached. Video poker, for example, is a popular simulated casino game. However, many players find simulations such as video poker to be inferior because of the lack of interaction with other people and/or the lack of realism. For example, some players prefer the feel of real cards. In addition, trust in the game's fairness may suffer because winning odds could be easily manipulated through software parameters. Even if the odds are in fact fair, the perception of unfair odds can develop after a series of losses and there is no way for a player to verify fairness. Therefore, player confidence in the fairness of a software simulation can often be as low as or lower than player confidence in a real game.
BRIEF SUMMARYEmbodiments of the present invention provide systems, methods and computer program products that provide both aspects of a computer simulated game, and of a real game experience. For example, certain disclosed embodiments pertain to a method of playing a game of chance, such as craps, using robotics to perform selected aspects of the game. The method may include receiving a bet from a player, controlling a robotic mechanism to perform a gaming event—such as rolling dice, dealing cards and the like—detecting a result of the gaming event with a vision system, and determining a result specific to the player based at least in part on the detected gaming event result. In certain embodiments, a cash-redeemable winning receipt may be printed for a player after one or more gaming events or rounds. Thus, although the game is conducted in a manner similar to a real game (e.g., the use of physical dice, cards, etc.), the use of a computer controlled robotic mechanism to perform a gaming event, among other things, lends the game certain qualities found in a computer simulation.
In other disclosed embodiments, aspects of the invention can be implemented via a series of computer executable instructions stored on one or more computer-readable media, which, when executed, implement or otherwise carry out aspects of the game method described above.
Another embodiment of the invention relates to a game system. For example, one disclosed embodiment comprises one or more user interface devices or stations, a robotic mechanism, a controller, a vision system, and a game table. The user interface may be adapted to receive bets from a player and relay bet information to the controller. The controller may control the robotic mechanism in carrying out a gaming event, such as the rolling of physical dice on the game table. Using the vision system, a result of the gaming event may be detected and a result specific to the player may thereby be determined. A player-specific result may be combined with player-specific results corresponding to a previous gaming event result and a cash-redeemable ticket or receipt may be printed after one or more rounds of play.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential characteristics of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Additional features will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the teachings herein. Features of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. Features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
To further clarify the features of the present invention, a more particular description of the invention will be rendered by reference to example embodiments thereof which are illustrated in the appended drawings. It is appreciated that these drawings depict only example embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
In the following detailed description of the embodiments, reference is made to the accompanying drawings that show, by way of illustration, example embodiments of the invention. In the drawings, like numerals describe substantially similar components throughout the several views. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. Other embodiments may be utilized and structural, logical and electrical changes may be made without departing from the scope of the present invention. Moreover, it is to be understood that the various embodiments of the invention, although different, are not necessarily mutually exclusive. For example, a particular feature, structure, or characteristic described in one embodiment may be included within other embodiments. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims, along with the full scope of equivalents to which such claims are entitled.
In the following description, example embodiments of methods, computer program products and systems for playing a game, such as craps, are presented. It will be appreciated that while a craps game is used for purposes of illustration, the present invention is not limited to a particular type of game, and that aspects of the described embodiments could also be used in connection with many types of games.
In an exemplary system, a programmable controller (such as a general purpose computer or a specialized computing device) is operably attached to a robotic mechanism, sometimes referred to herein as a “robotic arm,” or simply “arm.” The controller receives bets or wagers from one or more players, via, for example, a user interface device. Depending on, for example, the nature of the game, bets placed, etc., the controller functions to control the robotic arm to perform certain actions that might otherwise be performed by a human dealer, such as moving chips to various locations on a craps table that correspond to the players' bets. The robotic arm can also be programmably operated to roll the dice, and move the wagered chips in correspondence to a determined roll outcome and corresponding score for each player. A vision system, such as a camera device, may be used to detect a particular outcome, and the controller can then manipulate the robotic arm accordingly and update game status on the user interface device(s).
Also disclosed are embodiments relating to methods for conducting a game using, for example, aspects of the above-described system, as well as computer program products having computer executable instructions, which, when executed, carry out steps of the game methods.
1. Exemplary Systems for Playing a GameIn an exemplary round of play, each station 104 may receive wagers from a player. Typically, the player would place wagers and otherwise interact with the game by way of an appropriate interface on the station 104, such as a touch screen, keyboard, pointing device and the like, or combinations thereof. Controller 102 may receive and validate each player's wager, and control robotic arm 106 to, for example, move chips on the craps table in accordance with the wagers placed by each player. In the illustrated embodiment, robotic arm 106 is programmably controlled by controller 102 to perform predefined gaming events. For example, robotic arm 106 and controller 102 may use vision system 110 to detect and pick up and roll dice.
Although dice are frequently used to perform a gaming event in a game involving a game of chance, other gaming events may be carried out by robotic arm 106, such as spinning a spinner/roulette wheel, drawing one or more cards from a deck, dealing cards, among other things. Moreover, the gaming event may involve the use of physical game tools such as dice and/or may be simulated by a software process in a device, such as a computer, to generate one or more random or pseudorandom numbers.
Vision system 110 may be used to detect a result of the gaming event, e.g., by reading a dice roll outcome, and can transmit the result to controller 102. Controller 102 may then calculate results specific to each player (e.g., a score, tally, winnings, and/or losses) based on the detected roll outcome and the bet placed by each player and report each player-specific result or score via stations 104. Alternatively, each station 104 may determine a player-specific result or score based on the roll outcome as reported by controller 102. Robotic arm 106 may, under operation of controller 102, move chips on game table 108 in accordance with each player's winnings or losses. For example, robotic arm 106 may move a winning player's chips to an area of the game table designated for that player's bankroll and may clear all losing player's chips to a separate predetermined area.
System 100 of
Systems 100 and 200 may have various modes of operation including, for example, a play mode, a demonstration mode, and a sleep mode. For example, controller 102 may control robotic arm 106 and/or stations 104 to transition from a sleep mode to a play or demonstration mode if the presence of a new player is detected. A new player may be detected via one or more sensors including, e.g., motion or pressure sensors, or by interaction with the display screen of a station 104 by a new player. In addition, systems 100 and 200 may be adapted to allow one player or any number of multiple players to simultaneously play. When one or more stations 104 are unmanned during a round of play, controller 102 may optionally be configured to simulate player selections for one or more of the unmanned devices. The simulated player(s) may have manually or adaptively adjustable levels of skill.
Robotic arm 106 may be stationary or mobile and may include, among other things, one or more manipulating devices at an end thereof, such as selectively-powered vacuums, pinchers, scoops, pistons, etc. Moreover, although robotic arm 106 is described and illustrated as a single robotic arm, systems 100 and 200 may include a plurality of robotic arms 106, each of the same or of different types. For example, robotic arms 106 may include a six axis robotic arm (e.g., an EPSON® Pro Six robotic arm), a linear axis robotic arm (e.g., a 1, 2, 3 or 4 axis EPSON® EZ module robotic arm), and/or a SCARA robotic arm (e.g., an EPSON® E2 SCARA or G-Series SCARA robotic arm). Each robotic arm may be configured to carry out a separate function. For example, one robotic arm may be dedicated for picking up and rolling dice or manipulating some other game tool, while another robotic arm may be dedicated for moving game pieces, such as chips. Alternatively or in addition, a different robotic arm 106 may be dedicated for each of a plurality of game areas on game table 108.
Controller 102 may include a personal computer (PC) based controller, such as an EPSON® RC420 or RC520 PC based controller or a non-PC based controller, such as an EPSON® Micro PowerDrive RC170 controller. Controller 102 may include a plurality of ports, processors, and storage devices (i.e., memory) sufficient to receive, store, and process multiple variables, including station numbers, bet amounts for each station, locations of chips corresponding to each station's bets, etc., in addition to other data and instructions, e.g., vision system coordinates and calibration information, robotic arm coordinates and calibration information, image processing applications, game rules and routines, etc. Controller 102 may be adapted to control robotic arm 106 based on a combination of the variables stored and tracked within its memory. As will be appreciated, controller 102 can be programmable, and designed to carry out a process as defined by computer executable instructions stored on a suitable computer storage medium (computer program product).
Vision system 110, used to track locations of game tools and pieces (e.g., chips and dice), may comprise, for example, an EPSON® Vision Guide 4.0 vision system, including one or more cameras that are mobile, mounted to robotic arm(s) 106, fixed in place, or some combination thereof. Vision system 110 and/or controller 102 may be integrated with robotic arm 106 in a single integral apparatus.
Stations 104 may be dedicated PCs running an application communicatively linked to controller 102 to communicate data, such as identification information (e.g., a unique station identification), bet amounts or wagers, bet locations, roll outcomes, scores, errors, etc. A communicative link between stations 104 and controller 102 may be implemented with any suitable network equipment, such as switches, routers, multi-port hubs, and/or point-to-point links, and may include wired and/or wireless links. The network equipment may also include communication links from the optionally present printer and point-of-sale terminal to controller 102 and stations 104. Alternatively, a printer and/or point-of-sale terminal may be integrated with each station 104.
2. Exemplary Screen Shot for a Craps GameAs depicted in the example screen shot 300, each station 104 displays a graphic including a bankroll 302, betting chips 304, a betting field 306 (i.e., an image representing an overhead view of game table 108), an action box 308, a hint box 310, and action buttons 312. Bankroll 302 may inform the player, for example, how much money is available for the player to bet, how much money is on the table, and how much time is left to place a bet, among other things. A timer for placing bets may be included as on option in order to increase game speed and thereby maintain interest and excitement in the game. If a particular station is unmanned, a bet may be automatically placed using the house's chips. If an unmanned station is designated as the shooter, the station may automatically issue a roll dice command when the betting timer expires.
Betting chips 304 may be selected by a player's finger on the touch screen and dragged to a bet location on betting field 306. As a player loses money, the displayed betting chips 304 may reflect the loss. For example, if the player's bankroll is below $100, then no $100 chips would be displayed as being available to use for betting.
Action box 308 may include various types of data. For example, action box 308 may inform the player of game status, e.g., what amount the player bet, a score (e.g., a payout for a bet or a loss), the outcome of a dice roll including the specific numbers rolled, and/or other interesting or useful information, such as what a current return is for a given bankroll.
Hint box 310 may inform the player of an input that station 104 is waiting for, what the best odds are for a given number, what are the best pay bets and the lowest pay bets, etc. Stations 104 may be adapted to automatically speak information displayed in hint box 310 using, e.g., a speech synthesis application.
Action buttons 312 may include a “Finished Betting” button and a “Roll Dice” button. For example, when a player presses the “Finished Betting” button, controller 102 and/or the corresponding station 104 may validate the bet under the rules of the game and, if the bet is valid, the robotic arm may move the player's chips to locations on the craps table corresponding to the player's bet selections. Systems 100 and 200 may be configured such that any station 104 can send data at any time to controller 102 and thus players need not take turns in any specific order. The “Roll Dice” button may be enabled for one player designated as the shooter after all the other non-shooter players have finished betting.
After all bets are placed and the shooter selects “Roll Dice,” robotic arm 106 may be controlled to pick up and roll the dice. Controller 102 may detect, via vision system 110, the roll outcome and may determine player scores (e.g., wins/losses) based on the outcome of the roll. Alternatively, the roll outcome may be reported to each station 104 and corresponding scores may be determined at each station 104. The display at each station 104 may be adjusted/updated to reflect each player's determined score and the betting process may repeat with a new player designated as shooter.
Note that the screen might display additional “non-game” related information as well. In the example graphic for example, a portion of the screen might be used for advertising or other promotional purposes. The content of the advertisement might vary over time and/or might be adapted to the amount that the player is betting.
3. Exemplary Method for Playing a GameAfter a bet is submitted by a player, robotic arm 106 may be controlled to move one or more game pieces, e.g., chips, to a location on a game board in accordance with the bet (stage 404). For example, if a player bets $20 on a roll outcome of 2, robotic arm 106 may pick up a $20 chip (or two $10 chips) from a bankroll area near or on game table 108 that is designated for that player's chips and may move the chip (or chips) to an area of table 108 marked with the number “2”. Chips may be moved after each player submits a bet or, alternatively, after all players' bets have been submitted.
Robotic arm 106, operating under control of controller 102, may then perform a gaming event using a game tool, e.g., taking and rolling one or more dice (stage 406). A result or outcome of the roll may be detected using a vision system 110 (stage 408). Controller 102 or stations 104 may receive the detected result and may determine scores based at least in part on the detected gaming event result (stage 410). A player's determined score may correspond to winnings and/or losses, depending on the detected outcome and the player's bet or bets.
Scores may be sent to or calculated by each player's stations 104 and reported to each player via a station display (stage 412). Robotic arm 106 may also move the chips in accordance with the determined scores (stage 414). Thus, continuing the example above of a player who bets on a roll outcome of 2, if the roll outcome is 2, robotic arm 106 may pick up the chips on table 108, including those corresponding to losing bets, and move the chips to the bankroll of the player (or players) who bet on a roll outcome of 2. Method 400 may then begin anew at stage 402 to receive of bets in another round of play. In the next round of play a new player may be designated as shooter in accordance with the conventional game of craps.
In addition to the various alternatives described above, various other versions of the method in
Note also that the participation by the robotic mechanism doesn't necessarily preclude human involvement. For example, in an alternative embodiment, a human dealer may participate in conducting the game in conjunction with the robotic controller. While any one of a different number of permutations might apply, in one approach, a human dealer may roll the dice for example, and the vision system then detects the result and the robotic mechanism retrieves the dice, manipulates the chips, etc.
In certain embodiments, aspects of the method of
4. Computer Hardware and/or Software Implementations
Embodiments described herein may comprise or utilize a special purpose or general-purpose computer including computer hardware, as discussed in greater detail below. Embodiments within the scope of the present invention also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions are physical storage media including recordable-type storage media. Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example, and not limitation, embodiments of the invention can comprise at least two distinctly different kinds of computer-readable media: physical storage media and transmission media.
Physical storage media includes RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
A “network” is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a transmission medium. Transmission media can include a network and/or data links which can be used to carry or transport desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of computer-readable media.
However, it should be understood, that upon reaching various computer system components, program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to physical storage media. For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface card, and then eventually transferred to computer system RAM and/or to less volatile physical storage media at a computer system. Thus, it should be understood that physical storage media can be included in computer system components that also (or even primarily) utilize transmission media.
Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.
Those skilled in the art will appreciate that the invention may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers, routers, switches, and the like. The invention may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims
1. A method of playing a game comprising:
- receiving a wager from a player;
- controlling a robotic arm to perform a gaming event;
- detecting a result of the gaming event with a vision system; and
- determining a result specific to the player based at least in part on the detected gaming event result.
2. The method of claim 1, wherein the wager is received via a user interface device.
3. The method of claim 2, further comprising reporting the player-specific result to the player via the user interface device.
4. The method of claim 2, wherein the user interface device comprises a touch screen.
5. The method of claim 1, further comprising controlling the robotic arm to move a game piece in accordance with the wager and/or the player-specific result.
6. The method of claim 5, wherein the game piece is a chip.
7. The method of claim 5, wherein the robotic arm is adapted to move the game piece to a location on a game board in accordance with the received wager.
8. The method of claim 1, wherein the gaming event utilizes a game tool.
9. The method of claim 8, wherein the game tool is one or more dice and wherein controlling the robotic arm to carry out the random event includes controlling the robotic arm to roll the one or more dice.
10. The method of claim 1, wherein receiving the wager includes receiving a wager and a prediction of a characteristic of the gaming event result.
11. A computing system comprising:
- a processor; and
- memory storing executable instructions which, when executed by the computing system, implement the method recited in claim 1.
12. A game system comprising:
- a user interface device to receive a wager from a player;
- a robotic arm;
- a controller configured to control the robotic arm in performing a gaming event;
- a vision system operably connected to the controller and configured to visually detect a result of the gaming event; and
- wherein the controller or the user interface device is adapted to determine a result specific to the player based at least in part on the visually detected gaming event result.
13. The game system of claim 12, wherein the user interface device is communicatively connected to the controller and is adapted to report the player-specific result to the player.
14. The game system of claim 12, wherein the user interface device comprises a touch screen.
15. The game system of claim 12, wherein the robotic arm is adapted to move a game piece in accordance with the bet and/or the player-specific result.
16. The game system of claim 15, wherein the game piece is a chip.
17. The game system of claim 15, wherein the robotic arm is adapted to move the game piece to a location on a game board in accordance with the received bet.
18. The game system of claim 12, wherein the gaming event utilizes a game tool selected from the group consisting of: one or more dice, one or more cards, a ball, a roulette wheel, a spinner, a random number generating device, or any combination thereof.
19. The game system of claim 12, wherein the received bet includes a wager and a prediction of a characteristic of the gaming event result.
20. The game system of claim 12, further comprising:
- a point-of-sale terminal to process financial transactions made in connection with the player's bet; and
- a printer to print an award amount on a cash-redeemable ticket based at least in part on the player-specific result.
21. A computer-readable storage medium having computer-executable instructions that, when executed, cause a computing device to:
- receive a bet from a player;
- control a robotic arm to perform a gaming event;
- detect a result of the gaming event with a vision system; and
- determine a result specific to the player based at least in part on the detected gaming event result.
Type: Application
Filed: Sep 22, 2008
Publication Date: Mar 25, 2010
Inventors: Philip Edward Baratti (Yorba Linda, CA), Richard Elliott Brookshire (Torrance, CA), Alan Brian Rupert (Carson, CA)
Application Number: 12/234,975
International Classification: A63F 9/24 (20060101);