This application relates to mobile devices in interactive gaming environments.
Interactive gaming environments can include multiple users interacting with a main controller. The multiple users can be dispersed across multiple locations. Examples of interactive games include games that interact with video feeds from a football, question-and-answer games, or trivia. The response time of a user's input into the interactive gaming environment can be compared to the other users' response times.
This specification describes technologies that, among other things, allow users to use their own personal wireless devices to interact with interactive games that are remotely hosted.
In general, one aspect of the subject matter described in this specification can be implemented in methods that include receiving inputs for a game event sent from wireless mobile devices over a plurality of disparate wireless networks, each received input can include a game response and a timestamp indicative of when the game response was made; and comparing the timestamp and the game response of each input to formulate a game output. Other implementations of this aspect include corresponding systems, apparatus, and computer program products.
This, and other aspects, can include one or more of the following features. The plurality of disparate wireless networks can include a cellular network. The plurality of disparate wireless networks can include a local area wireless network. In some implementations, at least a portion of the received inputs can be sent in accordance with a text messaging protocol. In some implementations, the Short Message Service (SMS) protocol can define the text messaging protocol. The game response can include a guess of a future play of a ball game. Receiving inputs for the game event can include receiving an input over Bluetooth.
In general, another aspect of the subject matter described in this specification can be implemented in methods that include receiving a game response; recording a timestamp for the game response indicative of when the response was made; and transmitting the response and the timestamp to a server over a communication pathway that includes a wireless link. In some implementations, transmitting the response can include formulating a text message including the response. Other implementations of this aspect include corresponding systems, apparatus, and computer program products.
In general, another aspect of the subject matter described in this specification can be implemented in a device that includes a gaming system, having a first network connection receiving input indicative of a game from a remote controller; and an interface to a mobile device, the mobile device producing controls that interact with said game.
Particular implementations of the subject matter described in this specification can be implemented to realize one or more of the following potential advantages. The use of a timestamp indicative of when a game response was entered by a user allows a main controller to compensate for any latency in the communication path between the main controller and the wireless device. In an interactive gaming environment, enabling the use of multiple wireless devices, such as a user's personal mobile phone, can enable a gaming establishment to lower costs by not having to purchase custom wireless devices. In addition, allowing users to use their own mobile devices tends to encourage participation.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims.
Like reference symbols and designations in the various drawings indicate like elements.
Interactive gaming environments can include processor electronics such as a main controller at a server location that coordinates game play. Interactive gaming environments can also include other processor electronics such as remote processing units (e.g. set-top box or other embedded systems, programmed general purpose computers) that act together with the main controller or independently. Participants of an interactive gaming environment can be located in multiple locations or a single location. These locations can include public locations such as bars, restaurants, and in general, gaming establishments.
Interactive gaming environments can include displaying game information at one or more locations. Game information can be synchronized with live feed video. For example, the QB1 game, available from NTN Buzztime of Carlsbad, Calif., can synchronize a gaming environment with a real-time video feed of a football game. Other games can include question-and-answer games such as trivia games. In each of these games, a user at some remote location plays in the game. The game can be played either by itself or can be scored against one or more other players who are playing the game at the same time.
Gaming establishments can provide wireless playmakers so that users can play the game. However, wireless playmaker devices can be relatively expensive and can be a barrier to entry for many gaming establishments. Thus, it is advantageous for an interactive gaming environment to interface with a user's own wireless device.
Multiple access points can be used to allow access to the main controller and/or remote processing units to enable the use of a user's own wireless device. Multiple types of devices, including wireless and wired, can be used to interact with the main controller. The devices can include mobile phones, personal data assistants, wireless or wired playmakers, and other related devices.
Interactive gaming environments can be of a time sensitive nature. For example, game scoring can include determining when a user made a response, e.g., pushed the “send” button, to a game event and comparing that time with response times of other users. A game event, for example, can include a question presented to players of the game, or sport players preparing to start a play. Timing can be an important element when scoring game responses.
Time sensitive gaming environments can require a user to make a response at a specified time or before a specified time. For example, a sports-based game can be played in sync with a real-life game such as football. In one such sports-based game, the users can attempt to guess the play that will be made by the team at the next play time. A game response can include a type of play. As the offense approaches the line of scrimmage, the players can guess the contents of the play. For example, a user can make a guess based on the way the offense approaches, body language, line up positions, etc. Game responses can be locked out before the play starts to avoid any game player receiving an unfair advantage. However, it can be advantageous to allow players to see the sport's players up to the last second, at the line of scrimmage, so that the game players can make the best guesses. The user with the most correct guesses can win the game. Therefore, such a sports based game can attempt to synchronize with the football “snap” to allow game responses up until the moment of the snap.
In another example, in a question-and-answer game, a user can receive more points when answering the questions sooner, and/or can receive hints at different times. Therefore, compensating for latency can be important for such time sensitive games.
In an interactive gaming environment where game responses are received from multiple disparate networks, the different latencies between the disparate networks to the main controller can become an issue. These disparate networks can include local area wireless networks, such as those based on IEEE 802.11 standards, wide area wireless networks, and cellular networks by multiple service providers. In addition, the mode of communication within these disparate sources can include IP-based packets and text messages using a protocol such as Short Message Service (SMS). Further, poor signal strength in a wireless network can increase the latency of an individual wireless device used in the network. Latency can vary greatly between these disparate networks. Such variations in latency can impact the scoring of a game if the timing of the receipt of the game response at the main controller is used to determine when a user made the game response. This disclosure presents methods and techniques to compensate for latency in an interactive gaming environment.
In some implementations, wireless capability 131 can communicate directly with a user's personal mobile device 135. For example, the mobile device 135 can be a cell phone, Blackberry, or PDA. The mobile device 135 can include a WiFi module. The WiFi module can transmit and receive signals in accordance with a protocol such as the IEEE 802.11 family of protocols. The mobile device 135 can search for wireless signals and connect to other wireless devices. The WiFi module of the mobile device 135 can communicate with the RPU 125 over a wireless link 134, when the mobile device 135 is in range of the wireless capability 131 of the RPU 125.
In some implementations, a mobile phone 140 can be used in a cellular network to communicate directly with the main controller 100. The mobile phone 140 can use resources of a cellular network, such as a wireless communication tower 141 via a wireless link 142, to communicate with the main controller 100. The cellular network can use a communication path 107 to establish a connection between the tower 141 and the main controller 100. The communication path can include private networks of the cellular network provider and the Internet.
The wireless device 140 can use software such as a native web browser or a custom downloadable program to enable communications with main controller 100. The software can render game stimuli and capture game responses. The program can be written in C, Java, BREW (R), or any other programming language. For example, the program can be written in the device's operating system and can allow direct communication to the main controller 100. The communication can be over regular cellular airwaves or over Short Message Service (SMS).
Another device, such as mobile phone 150, can use a different wireless network to communication with the main controller 100. The mobile phone 150 can use resources of a wireless network, such as a wireless communication tower 151 via a wireless link 152, to communicate with the main controller 100. The wireless network can use a communication path 106 to establish a connection between the tower 151 and the main controller 100.
A wireless device 136 can include a Bluetooth™ wireless module 137. In some implementations, the wireless capability 131 of the RPU 125 can include Bluetooth™ capabilities. Therefore, the wireless device 136 can communicate with the wireless capability 131 of the RPU 125 via the Bluetooth™ wireless module 137.
The wireless device 136 can use software such as a native web browser or a custom downloadable program to enable communications with the RPU 125. The software can capture game responses such as a user pressing a button on the wireless device 136. The software can send the response to the RPU 125. In turn, the RPU 125 can process the game response and/or forward the response to the main controller 100.
The latencies between wireless devices 135, 136, 140, and 150 and the main controller 100 can vary. Further, latency can vary widely between different cellular networks and wireless networks. This can present a problem for time sensitive interactive gaming environments.
In order to compensate for the varying latencies, a wireless device, such as 135, 136, 140, and 150, can send, in addition to the game response, a timestamp indicative of the time when the game response was made. For example, a device can capture the time when a user presses a button that generates the game response. The main controller 100 can receive a response from a wireless device at some later time, perhaps as long as 2 to 15 seconds later. The main controller 160 can look at the timestamp in the response, rather than looking at the response's actual received time. In this way, the latency in the network can be compensated in non real time.
In some implementations, the software running on the wireless devices can capture a game response, such as a key press, from a user, and the time of the key press. The software can send the game response with the timestamp as a text message over a text messaging protocol, such as SMS, to the main controller 100. The main controller can receive this text message at a later time. The main controller can use the timestamp within the message to determine when the game response occurred.
In some implementations, a wireless device, such as 135, 136, 140, and 150, can connect to a special webpage on the Internet which allows answering the questions or submitting game responses to the interactive gaming environment. The answering of the questions can be synchronized with the content displayed on the screen 130. When the user clicks on an answer, the answer selection and the time when the user clicked on the answer can be sent to a main controller.
Implementations of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus.
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio player, a Global Positioning System (GPS) receiver, to name just a few. Computer readable media suitable for storing computer program instructions and data include all forms of non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, implementations of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, near-tactile, or tactile input.
Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described is this specification, or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
While this specification contains many specifics, these should not be construed as limitations on the scope of the disclosure or of what may be claimed, but rather as descriptions of features specific to particular implementations of the disclosure. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
Thus, particular implementations of the disclosure have been described. Other implementations are within the scope of the following claims. For example, a wireless device can be a laptop computer. In some examples, some implementations can distribute the functional components of the main controller amongst other gaming components such as a RPU. Other implementations can include multiple RPUs. Alternatively, an implementation can include a main controller and wireless devices without the use of a RPU.
This application claims priority under 35 U.S.C. §119(e) to U.S. Patent Application Ser. No. 60/908,589, filed on Mar. 28, 2007, the entire contents of which are hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60908589 | Mar 2007 | US |