State stream game engine
AssigneeElectronic Arts Inc.
InventorPer Henrik Benny Karlsson
Life of this patent
Estimating the term…
Abstract
The present disclosure provides a state stream game engine for a video game application. The state stream game engines can decouple the simulation of a video game application from the rendering of the video game application. The simulation of the video game is handled by a simulation engine. The rendering of the video game is handled by a presentation engine. The data generated by the simulation engine can be communicated to the presentation engine 124 using a state stream.
Claims19
A computer-implemented method for executing a multiuser game application on a computing system:
- by one or more hardware processor configured with computer executable instructions,
- executing a game session of a game application, wherein a plurality of client computing devices are connected to the game session, wherein each client computing device is associated with a user, wherein each client computing device is configured to execute a simulation engine and a presentation engine within a local execution of the game application, wherein each simulation engine is configured to execute game logic that is configured to control simulation of a virtual environment within the game application, wherein each presentation engine is configured to generate and render frames for output on a display;
- receiving user input from each of the plurality of client computing devices during a simulation cycle resulting in a plurality of user inputs, wherein each of the plurality of client computing devices are synchronized to the same simulation cycle;
- providing the plurality of user inputs to each of the plurality of client computing devices during the simulation cycle;
- wherein, for individual client computing devices, during the simulation cycle,
- generating, by the simulation engine, simulation state data based at least in part on the plurality of user inputs provided during the simulation cycle;
- generating, by the simulation engine, graphical state data based at least in part on the simulation state data generated for the simulation cycle;
- updating, by the presentation engine, a graphical state of the virtual environment corresponding to the virtual environment associated with the individual client computing device during a rendering cycle;
- and
- rendering, by the presentation engine, a frame based at least in part on the graphical state data during the rendering cycle.
A computing system comprising:
- one or more processors configured with computer-executable instructions that configure the computing system to:
- execute a game session of a game application, wherein a plurality of client computing devices are connected to the game session, wherein each client computing device is associated with a user, wherein each client computing device is configured to execute a simulation engine and a presentation engine within a local execution of the game application, wherein each simulation engine is configured to execute game logic that is configured to control simulation of a virtual environment within the game application, wherein each presentation engine is configured to generate and render frames for output on a display;
- receive user input from each of the plurality of client computing devices during a simulation cycle resulting in a plurality of user inputs, wherein each of the plurality of client computing devices are synchronized to the same simulation cycle;
- provide the plurality of user inputs to each of the plurality of client computing devices during the simulation cycle;
- wherein for individual client computing devices during the simulation cycle,
- generating, by the simulation engine, simulation state data based at least in part on the plurality of user inputs provided during the simulation cycle;
- generating, by the simulation engine, graphical state data based at least in part on the simulation state data generated for the simulation cycle;
- updating, by the presentation engine, a graphical state of the virtual environment corresponding to the virtual environment associated with the individual client computing device during a rendering cycle;
- and
- rendering, by the presentation engine, a frame based at least in part on the graphical state data during the rendering cycle.
A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors to:
- execute a game session of a game application, wherein a plurality of client computing devices are connected to the game session, wherein each client computing device is associated with a user, wherein each client computing device is configured to execute a simulation engine and a presentation engine within a local execution of the game application, wherein each simulation engine is configured to execute game logic that is configured to control simulation of a virtual environment within the game application, wherein each presentation engine is configured to generate and render frames for output on a display;
- receive user input from each of the plurality of client computing devices during a simulation cycle resulting in a plurality of user inputs, wherein each of the plurality of client computing devices are synchronized to the same simulation cycle;
- provide the plurality of user inputs to each of the plurality of client computing devices during the simulation cycle;
- wherein for individual client computing devices during the simulation cycle,
- generating, by the simulation engine, simulation state data based at least in part on the plurality of user inputs provided during the simulation cycle;
- generating, by the simulation engine, graphical state data based at least in part on the simulation state data generated for the simulation cycle;
- updating, by the presentation engine, a graphical state of the virtual environment corresponding to the virtual environment associated with the individual client computing device during a rendering cycle;
- and
- rendering, by the presentation engine, a frame based at least in part on the graphical state data during the rendering cycle.
Dependencies are inferred from the claim text.