# US 9,873,045 B2 · Systems and methods for a unified game experience

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,873,045 B2
- Document ID: US9873045B2
- Status: Granted
- Kind: B2
- Application number: 13/902,750
- Filed: 2013-05-24
- Published: 2013-12-05
- Granted: 2018-01-23
- Earliest claimed: 2012-05-25
- Assignees: Electronic Arts Inc.
- Applicants: Electronic Arts, Inc.
- Inventors: Roy Harvey; Neil Do
- Web page: https://patentgrep.com/patent/US9873045B2

## CPC

- A63F 13/12
- A63F 13/355: Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
- A63F 13/00: Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F 13/30: Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F 13/49: Saving the game status; Pausing or ending the game
- A63F 13/75: Enforcing rules, e.g. detecting foul play or generating lists of cheating players
- A63F 13/822: Strategy games; Role-playing games (A63F13/825, A63F13/828 take precedence)
- A63F 2300/535: for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
- A63F 2300/538: for performing operations on behalf of the game client, e.g. rendering
- A63F 2300/554: by saving game or status data
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR

## Abstract

In some embodiments, a system comprises game state information, a first user device, a second user device, and a processing server. The first and second user devices may include a first and second user interface modules configured to receive first and second user selections, respectively, associated with gameplay of a multiplayer game. The processing server may include a communication module, a simulation module, and rendering module. The communication module may be configured to receive the first and second user selections. The simulation module may be configured to generate simulation results based on the game state information, game rules, and the first and second user selections. The rendering module may be configured to render a first video based on the simulation results and render a second video based on the simulation results, the first and second video to be displayed by the first and second user devices, respectively.

## Claims

### Claim 1

A system comprising:
game state information;
a first user device of a player of a game, the first user device including:
an authentication module configured to identify simulation resources of the first user device, and to determine if the game is to be simulated by the first user device or simulated by a processing server based, at least in part, on the simulation resources of the first user device, the authentication module further configured to determine if simulation results generated by the simulation are to be rendered by the first user device or rendered by the processing server based, at least in part, on the simulation resources of the first user device;
a user interface module configured to receive from the player of the game a player selection associated with gameplay of the game;
a first simulation module configured to, if the authentication module determines that the game is to be simulated by the first user device, generate an instance of simulation results based on the game state information, game rules, and the player selection, and not based on any non-player selections of a second user device of a non-player of the game; and
a first rendering module configured, if the authentication module determines that the instance of the simulation results of the game are to be rendered by the first user device, to render a first video based on the instance of the simulation results;
a display module configured to display the rendered first video to the player of the game;
the processing server including:
a communication module configured to receive the player selection from the first user device;
a second simulation module configured to, if the authentication module determines that the game is to be simulated by the processing server, generate the instance of the simulation results based on the game state information, the game rules, and the player selection from the first user device; and
a second rendering module configured to, if the authentication module determines that the simulation results of the game are to be rendered by the processing server, render the first video based on the instance of the simulation results for display by the first user device,
wherein, when the authentication module determines that the game is to be simulated by the processing server but that the instance of the simulation results of the game are to be rendered by the first user device, the communication module is further configured to provide the instance of the simulation results to the first user device, and
when the authentication module determines that the game is to be simulated by the first user device and rendered by the second rendering module of the processing server due to insufficient rendering resources of the second user device, the communication module is further configured to receive the instance of the simulation results from the first user device and the second rendering module is configured to render a second video, which is similar to the first video, based on the instance of the simulation results that is encoded for playback by the second user device of the non-player of the game,
when the authentication module determines that the game is to be simulated by the first user device and rendered by the second user device based on information about the rendering resources of the second user device, the second rendering module is configured to provide to the second user device a three-dimensional scene graph that is configured to be viewed by the non-player of the game from different perspectives.

### Claim 2 (depends on 1)

The system of claim 1, wherein the game is turn-based.

### Claim 3 (depends on 1)

The system of claim 1, wherein the first and second videos have different perspectives.

### Claim 4 (depends on 1)

The system of claim 1, wherein the second video has a characteristic based on at least one of the second user device and a preference selected by the non-player.

### Claim 5 (depends on 1)

The system of claim 1, wherein the communication module of the processing server is further configured to receive the instance of the simulation results from the first user device if the authentication module determines that the game is to be simulated by the first user device but that the instance of the simulation results of the game are to be rendered by the processing server.

### Claim 6

A system comprising:
game state information;
a processing server including:
a communication module configured to receive a player selection from a first user device of a player of a game, the first user device including an authentication module, a user interface module, a first simulation module, a first rendering module, and a display module, the authentication module configured to identify simulation resources of the first user device, and to determine if the game is to be simulated by the first user device or simulated by the processing server based, at least in part, on the simulation resources of the first user device, the authentication module further configured to determine if simulation results generated by the simulation are to be rendered by the first user device or rendered by the processing server based, at least in part, on the simulation resources of the first user device, the user interface module configured to receive from the player of the game the player selection associated with gameplay of the game, the first simulation module configured to, if the authentication module determines that the game is to be simulated by the first user device, generate an instance of simulation results based on the game state information, game rules, and the player selection and not based on any non-player selections of a second user device of a non-player of the game, and the first rendering module configured, if the authentication module determines that the simulation results of the game are to be rendered by the first user device, to render a first video based on the instance of the simulation results, the display module configured to display the rendered first video to the player of the game, and
a second simulation module configured to, if the authentication module determines that the game is to be simulated by the processing server, generate the instance of the simulation results based on the game state information, the game rules, and the player selection from the first user device; and
a second rendering module configured to, if the authentication module determines that the simulation results of the game are to be rendered by the processing server, render the first video based on the instance of the simulation results for display by the first user device,
wherein, when the authentication module determines that the game is to be simulated by the processing server but that the instance of the simulation results of the game are to be rendered by the first user device, the communication module is further configured to provide the instance of the simulation results to the first user device,
when the authentication module determines that the game is to be simulated by the first user device and rendered by the second rendering module of the processing server due to insufficient rendering resources of the second user device, the communication module is further configured to receive the instance of the simulation results from the first user device and the second rendering module is configured to render a second video, which is similar to the first video, based on the instance of the simulation results that is encoded for playback by the second user device of the non-player of the game, and
when the authentication module determines that the game is to be simulated by the first user device and rendered by the second user device based on information about the rendering resources of the second user device, the second rendering module is configured to provide to the second user device a three-dimensional scene graph that is configured to be viewed by the non-player of the game from different perspectives.

### Claim 7 (depends on 6)

The system of claim 6, wherein the game is turn-based.

### Claim 8 (depends on 6)

The system of claim 6, wherein the first and second videos have different perspectives.

### Claim 9 (depends on 6)

The system of claim 6, wherein the second video has a characteristic based on at least one of the second user device and a preference selected by the non-player.

### Claim 10 (depends on 6)

The system of claim 6, wherein the communication module of the processing server is further configured to receive the instance of the simulation results from the first user device if the authentication module determines that the game is to be simulated by the first user device but that the instance of the simulation results of the game are to be rendered by the processing server.

### Claim 11

A method comprising:
receiving game state information;
receiving, by a processing server, a player selection from a first user device of a player of a game, the first user device configured to:
identify simulation resources of the first user device;
determine if the game is to be simulated by the first user device or simulated by the processing server based, at least in part, on the simulation resources of the first user device;
determine if simulation results generated by the simulation are to be rendered by the first user device or rendered by the processing server based, at least in part, on the simulation resources of the first user device;
receive the player selection associated with gameplay of the game;
generate, if there is a determination that the game is to be simulated by the first user device, an instance of simulation results based on the game state information, game rules, and the player selection and not based on any non-player selections of a second user device of a non-player of the game; and
render, if there is a determination that the instance of simulation results are to be rendered by the first user device, first video based on the instance of the simulation results;
generating, by the processing server if there is a determination that the game is to be simulated by the processing server, the instance of the simulation results based on the game state information, the game rules, and the player selection from the first user device; and
rendering, by the processing server when there is a determination that the simulation results of the game are to be rendered by the processing server, the first video based on the instance of the simulation results for display by the first user device,
wherein, when there is a determination that the game is to be simulated by the processing server but that the instance of the simulation results of the game are to be rendered by the first user device, providing the instance of the simulation results to the first user device,
when there is a determination that the game is to be simulated by the first user device and rendered by the processing server due to insufficient rendering resources of the second user device, receiving by the processing server the instance of the simulation results from the first user device and rendering by the processing server a second video, which is similar to the first video, based on the instance of the simulation results that is encoded for playback by the second user device of the non-player of the game, and
when there is a determination that the game is to be simulated by the first user device and rendered by the second user device based on information about the rendering resources of the second user device, providing by the processing server to the second user device a three-dimensional scene graph that is configured to be viewed by the non-player of the game from different perspectives.

### Claim 12 (depends on 11)

The method of claim 11, wherein the game is turn-based.

### Claim 13 (depends on 11)

The method of claim 11, wherein the first and second videos have different perspectives.

### Claim 14 (depends on 11)

The method of claim 11, wherein the second video has a characteristic based on at least one of the second user device and a preference selected by the non-player.

### Claim 15 (depends on 11)

The method of claim 11, further comprising receiving the instance of the simulation results from the first user device if there is a determination that the game is to be simulated by the first user device but that the instance of the simulation results of the game are to be rendered by the processing server.

### Claim 16

A non-transitory computer readable medium comprising instructions, the instructions being executable by a processor for performing a method, the method comprising:
receiving, by a processing server from a first user device of a player of a game, game state information for the game, a player selection associated with gameplay of the game, an indication that the processing server will simulate the game based on simulation resources of the first user device, and an indication whether the processing server will render simulation results generated by the simulation based on the simulation resources of the first user device;
generating simulation results based on the game state information, game rules for the game, and the player selection;
when there is a determination that the simulation results of the game are to be rendered by the processing server, rendering by the processing server a first video based on the simulation results for display by the first user device, otherwise providing the simulation results to the first user device for rendering by the first user device;
when there is a determination that a second user device associated with a non-player of the game comprises insufficient rendering resources, rendering by the processing server an encoded video different than the first video based on the simulation results for playback by the second user device; and
when there is a determination that the simulation results of the game are to be rendered by the second user device, providing by the processing server to the second user device a three-dimensional scene graph that is configured to be viewed by the non-player of the game from different perspectives.

### Claim 17 (depends on 16)

The non-transitory computer readable medium of claim 16, wherein the first video and the encoded video have different perspectives.
