1. A method for speculative graphics rendering in cloud-based gaming, the method comprising:
detecting a first game state of a game client;
identifying a state transition based on the first game state;
determining a predicted game state according to whether a probability for one or more potential subsequent states associated with the identified state transition exceeds a probability threshold, wherein the probability threshold is determined based on one or more of a game rule, a game scenario, a usage history of the game client, a usage history of a group of game clients, a computational cost, andor a network cost;
rendering the predicted game state;
detecting a second game state of the game client;
determining whether the second game state corresponds to the rendered predicted game state; and
if the second game state corresponds to the rendered predicted game state, transmitting the rendered predicted game state to the game client; else rendering the detected second game state of the game client.
2. (canceled)
3. The method of claim 1, further comprising:
determining a plurality of predicted game states according to whether the probability for the one or more potential subsequent states associated with the identified state transition exceeds the probability threshold; rendering the predicted game states;
detecting the second game state of the game client;
determining whether the second game state corresponds to one of the rendered predicted game states;
if the second game state corresponds to one of the rendered predicted game states, transmitting the corresponding one of rendered predicted game states to the game client; and
discarding remaining rendered predicted game states that do not correspond to the second game state.
4. The method of claim 3, further comprising:
determining a network load for transmitting the rendered predicted game states; and
transmitting and storing at least a subset of the rendered predicted game states at the game client based on the determined network load.
5. The method of claim 3, further comprising:
in response to determining a first predicted game state has a greater probability than a second predicted game state, expending additional computational effort to render the first predicted game state compared to rendering the second predicted game state.
6. The method of claim 1, further comprising:
identifying the state transition from a database of state transitions; and
updating the database of state transitions with one of the rendered predicted game state and the second game state depending on whether the rendered predicted game state corresponds to the detected second game state.
7. The method of claim 1, further comprising updating the probability threshold depending on whether the rendered predicted game state corresponds to the detected second game state.
8-13. (canceled)
14. A cloud-based game server adapted to speculatively render game states, the server comprising:
a memory; and
a processor coupled to the memory, the processor configured to:
detect a first game state of a game client;
identify a state transition based on the first game state;
determine a predicted game state according to whether a probability for one or more potential subsequent states associated with the identified state transition exceeds a probability threshold, wherein the probability threshold is determined based on one or more of a game rule, a game scenario, a usage history of the game client, a usage history of a group of game clients, a computational cost, andor a network cost;
rendering the predicted game state;
render the predicted game state;
detect a second game state of the game client;
determine whether the second game state corresponds to the rendered predicted game state; and
if the second game state corresponds to the rendered predicted game state, transmit the rendered predicted game state to the game client; else
render the detected second game state of the game client.
15-19. (canceled)
20. The server of claim 14, wherein the processor is further configured to update the probability threshold depending on whether the rendered predicted game state corresponds to the detected second game state.
21. The server of claim 14, wherein the processor is further configured to dynamically adjust the probability threshold based on one or more of a computational load for rendering the predicted game state andor a network load for transmitting the rendered predicted game state.
22. The server of claim 14, wherein the processor is further configured to render the predicted game state partially with one of fewer scene components andor lower scene resolution compared to a fully rendered predicted game state.
23. The server of claim 14, wherein the processor is further configured to transmit the rendered predicted game state to the game client such that a lag time of presenting the rendered predicted game state at the game client is less than a predefined threshold.
24. The server of claim 14, wherein the processor is further configured to determine the predicted game state based on one or more game client specific attributes including one or more of: a position, a view point, equipment, a character state of the game client at the first game state, an aggressiveness, a speed, and a predictability of the game client at the first game state.
25-26. (canceled)
27. A computer-readable storage medium having instructions stored thereon for speculative graphics rendering in cloud-based gaming, the instructions comprising:
detecting a first game state of a game client;
identifying a state transition based on the first game state;
determining a predicted game state according to whether a probability for one or more potential subsequent states associated with the identified state transition exceeds a probability threshold, wherein the probability threshold is determined based on one or more of a game rule, a game scenario, a usage history of the game client, a usage history of a group of game clients, a computational cost, andor a network cost;
rendering the predicted game state;
rendering the predicted game state;
detecting a second game state of the game client;
determining whether the second game state corresponds to the rendered predicted game state; and
if the second game state corresponds to the rendered predicted game state, transmitting the rendered predicted game state to the game client; else
rendering the detected second game state of the game client.
28. (canceled)
29. The computer-readable storage medium of claim 27, wherein the instructions further comprise:
determining a plurality of predicted game states according to whether the probability for the one or more potential subsequent states associated with the identified state transition exceeds the probability threshold;
rendering the predicted game states;
detecting the second game state of the game client;
determining whether the second game state corresponds to one of the rendered predicted game states;
if the second game state corresponds to one of the rendered predicted game states, transmitting the corresponding one of the rendered predicted game states to the game client; and
discarding remaining rendered predicted game states that do not correspond to the second game state.
30-36. (canceled)
37. The computer-readable storage medium of claim 27, wherein the instructions further comprise determining the predicted game state based on one or more game client specific attributes.
38. The computer-readable storage medium of claim 37, wherein the one or more game client specific attributes include at least one from a set of a position, a view point, equipment, and a character state of the game client at the first game state.
39. The computer-readable storage medium of claim 38, wherein the one or more game client specific attributes further include at least one from a set of an aggressiveness, a speed, and a predictability of the game client at the first game state.
40. A cloud-based game server for speculatively rendering game states, the server comprising:
a memory; and
a processor coupled to the memory, the processor configured to:
detect a first game state of a game client;
identify a state transition based on the first game state;
determine a plurality of predicted game states according to whether the probability for the one or more potential subsequent states associated with the identified state transition exceeds the probability threshold defined based on one or more of a game rule, a game scenario, a usage history of the game client, a usage history of a group of game clients, a computational cost, andor a network cost;
determine a computational load for rendering each of the predicted game states;
render one or more of the predicted game states based on the probability and the computational load associated with rendering each predicted game state;
detect the second game state of the game client;
determine whether the second game state corresponds to one of the one or more rendered predicted game states;
if the second game state corresponds to one of the one or more rendered predicted game states, transmit the one or more corresponding rendered predicted game states to the game client; and
discard remaining rendered predicted game states that do not correspond to the second game state.
41. The server of claim 40, wherein the processor is further configured to:
transmit and store at least a subset of the rendered predicted game states at the game client based on the determined network load.
42. The server of claim 41, wherein the processor is further configured to:
in response to determining a first predicted game state has a greater probability than a second predicted game state, expend additional computational effort to render the first predicted game state compared to rendering the second predicted game state.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
What is claimed is:
1. An interactive television system comprising:
a remote control unit for controlling a television set and for playing interactive video games, the unit including an input device, a transmitter for transmitting television control signals and for transmitting gaming signals, a receiver for receiving gaming signals, a medium storing game software, and control logic configured to process signals received from the input device and the receiver, to execute the game software, and to cause the transmitter to transmit television control signals and gaming signals to control the television and play the game software; and
a set top box connected to the television and in two-way communication with a programming network, the set top box including a receiver for receiving television control signals and gaming signals from the remote control unit, and including a transmitter for transmitting gaming signals to the remote control unit, the set top box further including control logic configured to process television control signals and control programming on the television and to process gaming signals and communicate game information over the network to allow network gaming using the remote control unit.
2. The system of claim 1 wherein the remote control unit transmitter and receiver and the set top box transmitter and receiver are configured for infrared frequency communication.
3. The system of claim 1 wherein the remote control unit control logic is configured to download game software from the set top box and store the software in the remote control unit medium.
4. The system of claim 1 wherein the remote control unit medium is a removable game card to allow the remote control unit to receive different game cards.
5. The system of claim I wherein the remote control unit is configured with at least one expansion port.
6. The system of claim 5 wherein the expansion port is configured to accept a memory module.
7. The system of claim 5 wherein the expansion port is configured as an expandable bus.
8. The system of claim 1 wherein the set top box in configured to transmit gaming signals to the remote control unit that are based on the television programming such that the gaming is related to the television programming.
9. The system of claim 1 wherein the remote control unit further comprises:
a display, the remote control unit control logic being further configured to provide a game view on the display.
10. The system of claim 9 wherein the set top box control logic is further configured to provide a group game view on the television, and wherein the remote control game view is an individual game display to allow multi-player network gaming in which each player has an individual view in addition to the group view available to all players.
11. The system of claim 1 wherein the set top box control logic is further configured to provide an individual game view and a group game view on the television to allow multi-player network gaming in which each player has an individual view in addition to the group view available to all players.
12. The system of claim 1 wherein the set top box control logic is further configured to provide at least one game view along with the television programming on the television.
13. An television remote control unit comprising:
a body;
an input device on the body;
control logic configured to process input signals received from the input device and to transmit television control signals in accordance with the input signals to control programming on the television, the control logic being further configured to execute game software instructions stored in a local medium and process input signals received from the input device to play the game software.
14. The remote control unit of claim 13 wherein the medium is a removable game card to allow the remote control unit to receive different game cards.
15. The remote control unit of claim 13 wherein the medium is a programmable memory and the remote control unit further comprises:
a receiver, wherein the control logic and the receiver are configured to download game software from a set top box and store the software in the memory.
16. The remote control unit of claim 13 further comprising:
at least one expansion port.
17. The remote control unit of claim 16 wherein the expansion port is configured to accept a memory module.
18. The remote control unit of claim 16 wherein the expansion port is configured as an expandable bus.
19. The remote control unit of claim 13 further comprising:
a display, the control logic being further configured to provide a game view on the display.