Back to results
US 2026/0199779 A1Published application
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.
Claims20
A computer-implemented method for executing a game application on a user computing system:
- by one or more hardware processor configured with computer executable instructions,
- executing a game application;
- executing a plurality of simulation engines within 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 simulation engine is configured to control simulation of a different virtual environment, wherein each virtual environment comprises a plurality of virtual objects registered to the corresponding simulation engine;
- for each simulation engine,
- generating simulation state data for each virtual object registered to the simulation engine during a simulation cycle;
- generating graphical state data based at least in part on the simulation state data generated for the simulation cycle;
- writing the graphical state data for a least a subset of the virtual objects to a state data package during the simulation cycle;
- after the graphical state data for each virtual object has been written to the state data package, writing the state data package to a state stream during the simulation cycle, wherein the state stream is a portion of volatile memory allocated to receive the state data package;
- executing a presentation engine within the game application, wherein the presentation engine is configured to generate and render frames for output on a display;
- selecting, by the presentation engine, at least a first state data package of a plurality of state data packages during a rendering cycle;
- reading, by the presentation engine, at least the first state data package from the state stream during the rendering cycle;
- updating, by the presentation engine, a graphical state of first virtual environment corresponding to the virtual environment associated with the first state data package,
- generating, by the presentation engine, a frame based at least in part on the updated graphical state of the first virtual environment and a second state data package, wherein the second state data package was generated by the same simulation engine that generated the first state data package;
- and
- rendering, by the presentation engine, the frame based at least in part on the graphical state data included in the first state data package and the second state data package during the rendering cycle, wherein the presentation engine state data package generates, wherein the presentation engine executes the rendering cycles without further input from the simulation engines after receiving the state data packages.
12 more elements
A computing system comprising:
- one or more hardware processors configured with computer-executable instructions that configure the computing system to:
- execute a game application;
- execute a plurality of simulation engines within 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 simulation engine is configured to control simulation of a different virtual environment, wherein each virtual environment comprises a plurality of virtual objects registered to the corresponding simulation engine;
- for each simulation engine,
- generate simulation state data for each virtual object registered to the simulation engine during a simulation cycle;
- generate graphical state data based at least in part on the simulation state data generated for the simulation cycle;
- write the graphical state data for a least a subset of the virtual objects to a state data package during the simulation cycle;
- after the graphical state data for each virtual object has been written to the state data package, write the state data package to a state stream during the simulation cycle, wherein the state stream is a portion of volatile memory allocated to receive the state data package;
- execute a presentation engine within the game application, wherein the presentation engine is configured to generate and render frames for output on a display;
- select, by the presentation engine, at least a first state data package of a plurality of state data packages during a rendering cycle;
- read, by the presentation engine, at least the first state data package from the state stream during the rendering cycle;
- update, by the presentation engine, a graphical state of first virtual environment corresponding to the virtual environment associated with the first state data package,
- generate, by the presentation engine, a frame based at least in part on the updated graphical state of the first virtual environment and a second state data package, wherein the second state data package was generated by the same simulation engine that generated the first state data package;
- and
- render, by the presentation engine, the frame based at least in part on the graphical state data included in the first state data package and the second state data package during the rendering cycle, wherein the presentation engine state data package generates, wherein the presentation engine executes the rendering cycles without further input from the simulation engines after receiving the state data packages.
12 more elements
Dependencies are inferred from the claim text.