IP Library Granted Patent US 9,498,715
Granted Patent B2
US 9,498,715 · App. 14/476,648 · Granted Nov 22, 2016

Speculative rendering using historical player data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,498,715
App. No.
14/476,648
Granted
Nov 22, 2016
Kind
B2
Abstract

Technologies are presented for reducing lag time via speculative graphics rendering in cloud based gaming. In some examples, historical data about statistically relevant large populations of players is provided. The historical data may include state transitions through various game locations or situations. In some of the game locations there may be a correlation between a probability of a particular upcoming scene and a player state. Example game locations or situations may include areas that players tend to cross in one or more straight lines, corners that players may round in a particular fashion, spots where certain player motions are commonly engaged in, such as looking up, and the like. The historical data may be tested against a certain predictive strength and rendered predicted game states may be prepared ahead of player need.

Claims (82)

1. A computing device configured to render graphics speculatively, the computing device comprising:

a memory embodied in a memory circuit; and

a processor embodied in an integrated circuit and coupled to the memory, the processor configured to execute a game service application, wherein the game service application includes a speculative rendering graphics module that is configured to:

receive an input on a user interface;

determine speculative input values of the input, wherein the speculative input values define a first game state of a first game client;

transmit a search request to a data storage device configured to store a state transition database, wherein the state transition database includes state transition data for the first game client and a second game client;

receive a response from the data storage device that identifies a state transition, wherein the state transition corresponds to the first game state;

determine a probability threshold in response to the first state transition, wherein the probability threshold is determined based on a game rule stored in the memory and one or more of: a game scenario, a usage history of the first game client, a usage history of the first game client and the second game client, a computational cost, and a network cost;

adjust the first game state according to the game rule stored in the memory;

determine a predicted game state according to a comparison of the first state transition and the probability threshold;

analyze the state transition data for the first game client against the predicted game state; and

display the predicted game state on the user interface.

2. The computing device of claim 1 , wherein the speculative rendering graphics module is further configured to:

detect a second game state of the first game client based on an action of the first game client; and

determine if the second game state corresponds to the predicted game state.

3. The computing device of claim 2 , wherein the speculative rendering graphics module is further configured to:

discard the predicted game state in response to a determination that the second game state fails to correspond to the predicted game state.

4. The computing device of claim 1 , wherein the speculative rendering graphics module is further configured to:

transmit another search request to the data storage device; and

receive another response from the data storage device that identifies another state transition,

wherein the other state transition corresponds to a second game state, and

wherein the second game state corresponds to the predicted game state.

5. The computing device of claim 1 , wherein the speculative rendering graphics module is further configured to:

adjust the probability threshold based on a computational load to render the first game state.

6. The computing device of claim 1 , wherein the speculative rendering graphics module is further configured to:

partially render the predicted game state with a lower scene resolution compared to a fully rendered scene.

7. The computing device of claim 6 , wherein the speculative rendering graphics module is further configured to:

expend computational resources to partially render the first game state in response to an indication of a greater probability to render the first game state when compared to a second game state.

8. The computing device of claim 1 , wherein the speculative rendering graphics module is further configured to:

transmit the predicted game state to the first game client where a lag time of a presentation of the first game state at the first game client is less than the probability threshold.

9. A system configured to render graphics speculatively, the system comprising:

a cloud-based game server, wherein the cloud-based game server includes:

a memory embodied in a memory circuit;

a data storage device that is configured to store a state transition database, wherein the state transition database includes state transition data for a first game client and a second game client; and

a processor embodied in an integrated circuit and coupled to the memory, the processor configured to execute a game service application, wherein the name service application includes a speculative rendering graphics module that is configured to:

determine speculative input values of a received input, wherein the speculative input values define a first game state of the first game client;

transmit a search request to the data storage device to identify a state transition:

receive a response from the data storage device that identifies the state transition as corresponding to the first game state:

determine a probability threshold in response to the identified state transition, wherein the probability threshold is determined based on a game rule and one or more of a game scenario, a usage history of the game client, a usage history of a group of game clients, a computational cost, and a network cost;

adjust the first game state according to the game rule;

determine a predicted game state according to a comparison of the identified state transition and the probability threshold;

analyze the state transition data against the predicted game state;

render the predicted game state;

detect a second game state of the game client based on an action of the game client;

determine if the second game state corresponds to the first game state;

transmit the second game state to the game client in response to a determination that the second game state corresponds to the predicted game state; and

update the state transition database with one of the predicted game state and the second game state in response to a determination that the predicted game state corresponds to the detected second game state.

10. The system of claim 9 , wherein the speculative rendering graphics module is further configured to:

transmit an updated probability threshold to the state transition database in response to a determination that the second game state corresponds to the predicted game state.

11. The system of claim 9 , wherein the speculative rendering graphics module is further configured to:

discard the predicted game state in response to a determination that the second game state fails to correspond to the predicted game state.

12. The system of claim 9 , wherein the speculative rendering graphics module is further configured to:

compute a network load to transmit the first game state and the second game state to the game client;

transmit the first game state and the second game state to the game client based on the computed network load, wherein the network load transmits the predicted game state from the cloud-based game server to a server node local to the game client; and

store the first game state and the second game state at the game client.

13. The system of claim 9 , wherein the speculative rendering graphics module is further configured to:

reduce a lag time to transmit the second game state by easing a network load on the cloud-based game server.

14. The system of claim 9 , wherein the speculative rendering graphics module is further configured to:

expend computational resources to partially render the first game state in response to an indication of a greater probability to render the first game state when compared to the second game state.

15. A non-statutory computer-readable storage device having instructions stored thereon to render graphics speculatively in cloud-based gaming, the instructions comprising:

determining speculative input values of a received input, wherein the speculative input values define a first game state of a game client;

transmitting a search request to a data storage device to identify a state transition;

receiving a response from the data storage device that identifies the state transition as corresponding to the first game state;

determining a probability threshold in response to the identified state transition, wherein the probability threshold is determined based on a game rule and one or more of a game scenario, a usage history of the game client, a usage history of a group of game clients, a computational cost, and a network cost;

adjusting the first game state according to the game rule;

determining a predicted game state according to a comparison of the identified state transition and the probability threshold;

analyzing state transition data against the predicted game state;

rendering the predicted game state;

detecting a second game state of the game client based on an action of the game client;

determining if the second game state corresponds to the first game state;

transmitting the second game state to the game client in response to a determination that the second game state corresponds to the predicted game state;

adjusting the probability threshold based on a computational load to render the first game state;

updating a state transition database with one of the predicted game state and the second game state in response to a determination that the predicted game state corresponds to the second game state; and

transmitting an updated probability threshold to the state transition database in response to a determination that the second game state corresponds to the predicted game state.

16. The non-statutory computer-readable storage device of claim 15 , wherein the instructions further comprise:

partially rendering the predicted game state with a lower scene resolution compared to a fully rendered scene.

17. The non-statutory computer-readable storage device of claim 15 , wherein the instructions further comprise:

expending computational resources to partially render the first game state in response to an indication of a greater probability to render the first game state when compared to the second game state.

18. The non-statutory computer-readable storage device of claim 15 , wherein the instructions further comprise:

transmitting the predicted game state to the game client where a lag time of a presentation of the first game state at the game client is less than the probability threshold.

19. The non-statutory computer-readable storage device of claim 15 , wherein the instructions further comprise:

discarding the predicated game state in response to a determination that the second game state fails to correspond to the predicted game state.

Assignments (3)
SECURITY INTEREST Recorded Jan 29, 2019
From: EMPIRE TECHNOLOGY DEVELOPMENT LLC
To: CRESTLINE DIRECT FINANCE, L.P.
Reel/Frame 048373/0217 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2014
From: KRUGLICK, EZEKIEL
To: ARDENT RESEARCH CORPORATION
Reel/Frame 033662/0751 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2014
From: ARDENT RESEARCH CORPORATION
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 033662/0759 →