IP Library Granted Patent US 11,058,946
Granted Patent B2
US 11,058,946 · App. 15/825,581 · Granted Jul 13, 2021

System and method for managing event data in a multi-player online game

Inventors: John O'Connor (Sunnyvale, CA); Nathan Spencer (Redwood City, CA); Garth Gillespie (Palo Alto, CA); Timothy Wong (Sunnyvale, CA)
Assignee: MZ IP HOLDINGS, LLC
A63F13/35A63F13/335A63F13/34A63F13/352A63F13/358A63F13/55H04L67/26H04L69/329A63F2300/5533
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 11,058,946
App. No.
15/825,581
Granted
Jul 13, 2021
Kind
B2
Abstract

Implementations of the present disclosure are directed to a computer-implemented method, a system, and an article for managing event data in a multi-player online game. The method can include, for example, receiving user input at a plurality of client devices for a multi-player online game that includes a virtual environment; generating user-initiated events for the online game on the client devices based on the user input; distributing any user-initiated events generated on each client device to other client devices from the plurality of client devices; determining at each client device a plurality of derived game events based on the user-initiated events; storing on each client device the user-initiated events and the derived game events in one or more event queues; and determining at each client device a state of the virtual environment over time, according to the stored user-initiated events and the derived game events.

Claims (62)

1. A computer-implemented method, comprising:

receiving user input at a plurality of client devices for a multi-player online game comprising a virtual environment;

generating user-initiated events for the online game on the client devices based on the user input;

distributing any user-initiated events generated on each client device to other client devices from the plurality of client devices;

determining at each client device a plurality of derived game events based on the user-initiated events received from the other client devices;

storing on each client device the user-initiated events and the derived game events in one or more event queues; and

determining at each client device a state of the virtual environment over time, according to the stored user-initiated events and the derived game events,

wherein determining the state of the virtual environment comprises:

synchronizing a game clock across the plurality of client devices; and

processing each stored event on each client device when the game clock reaches a time at which the stored event is scheduled to occur in the virtual environment.

2. The method of claim 1 , wherein users interact with the virtual environment using the client devices.

3. The method of claim 1 , wherein each user-initiated event comprises a time at which the user-initiated event will occur in the virtual environment.

4. The method of claim 1 , wherein distributing the user-initiated events comprises:

sending the user-initiated events from the client devices to a server; and

receiving at each client device, from the server, the user-initiated events generated by other client devices from the plurality of client, devices.

5. The method of claim 1 , wherein distributing the user-initiated events comprises receiving at each client device any user-initiated events generated on other client devices from the plurality of client devices.

6. The method of claim 1 , wherein each derived game event comprises a time at which the derived game event, will occur in the virtual environment.

7. The method of claim 1 , wherein the user-initiated events and the derived game events are stored on each client device according to times for the user-initiated events and the derived game events.

8. The method of claim 1 , wherein each client device makes an identical determination of the state of the virtual environment over time.

9. The method of claim 1 , further comprising:

displaying at least a portion of the virtual environment on each client device.

10. The method of claim 1 , further comprising:

receiving at a server the user-initiated events from the client devices;

determining at the server the plurality of derived game events based on the user-initiated events;

storing on the server the user-initiated events and the derived game events in one or more server event queues; and

determining on the server the state of the virtual environment over time, according to the stored user-initiated events and the derived game events.

11. A system, comprising:

one or more computer processors programmed to perform operations comprising:

receiving user input at a plurality of client devices for a multi-player online game comprising a virtual environment;

generating user-initiated events for the online game on the client devices based on the user input;

distributing any user-initiated events generated on each client device to other client devices from the plurality of client devices;

determining at each client device a plurality of derived game events based on the user-initiated events received from the other client devices;

storing on each client device the user-initiated events and the derived game events in one or more event queues; and

determining at each client device a state of the virtual environment over time, according to the stored user-initiated events and the derived game events,

wherein determining the state of the virtual environment comprises:

synchronizing a game clock across the plurality of client devices; and

processing each stored event on each client device when the game clock reaches a time at which the stored event is scheduled to occur in the virtual environment.

12. The system of claim 11 , wherein users interact with the virtual environment using the client devices.

13. The system of claim 11 , wherein each user-initiated event comprises a time at which the user-initiated event will occur in the virtual environment.

14. The system of claim 11 , wherein distributing the user-initiated events comprises:

sending the user-initiated events from the client devices to a server; and

receiving at each client device, from the server, the user-initiated events generated by other client devices from the plurality of client devices.

15. The system of claim 11 , wherein distributing the user-initiated events comprises receiving at each client device any user-initiated events generated on other client devices from the plurality of client devices.

16. The system of claim 11 , wherein each derived game event comprises a time at which the derived game event will occur in the virtual environment.

17. The system of claim 11 , wherein the user-initiated events and the derived game events are stored on each client device according to times for the user-initiated events and the derived game events.

18. The system of claim 11 , wherein each client device makes an identical determination of the state of the virtual environment over time.

19. The system of claim 11 , the operations further comprising:

receiving at a server the user-initiated events from the client devices;

determining at the server the plurality of derived game events based on the user-initiated events;

storing on the server the user-initiated events and the derived game events in one or more server event queues; and

determining on the server the state of the virtual environment over time, according to the stored user-initiated events and the derived game events.

20. An article, comprising:

a non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more computer processors, cause the computer processors to perform operations comprising:

receiving user input at a plurality of client devices for a multi-player online game comprising a virtual environment;

generating user-initiated events for the online game on the client devices based on the user input;

distributing any user-initiated events generated on each client device to other client devices from the plurality of client devices;

determining at each client device a plurality of derived game events based on the user-initiated events received from the other client devices;

storing on each client device the user-initiated events and the derived game events in one inure event queues; and

determining at each client device a state of the virtual environment over time, according to the stored user-initiated events and the derived game events,

wherein determining the state of the virtual environment comprises:

synchronizing a game clock across the plurality of client devices; and

processing each stored event on each client device when the game clock reaches a time at which the stored event is scheduled to occur in the virtual environment.

Assignments (7)
SHORT FORM PATENT SECURITY AGREEMENT Recorded Jun 30, 2025
From: MZ IP HOLDINGS, LLC; COGNANT LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 071772/0216 →
RELEASE OF SECURITY INTEREST Recorded May 19, 2020
From: COMERICA BANK
To: MZ IP HOLDINGS, LLC
Reel/Frame 052706/0899 →
RELEASE OF SECURITY INTEREST Recorded May 19, 2020
From: MGG INVESTMENT GROUP LP, AS COLLATERAL AGENT
To: MACHINE ZONE, INC.; SATORI WORLDWIDE, LLC; COGNANT LLC
Reel/Frame 052706/0917 →
SECURITY INTEREST Recorded May 22, 2018
From: MZ IP HOLDINGS, LLC
To: COMERICA BANK
Reel/Frame 046215/0207 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2018
From: MACHINE ZONE, INC.
To: MZ IP HOLDINGS, LLC
Reel/Frame 045786/0179 →
NOTICE OF SECURITY INTEREST -- PATENTS Recorded Feb 2, 2018
From: MACHINE ZONE, INC.; SATORI WORLDWIDE, LLC; COGNANT LLC
To: MGG INVESTMENT GROUP LP, AS COLLATERAL AGENT
Reel/Frame 045237/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2018
From: O'CONNOR, JOHN; SPENCER, NATHAN; GILLESPIE, GARTH; WONG, TIMOTHY
To: MACHINE ZONE, INC.
Reel/Frame 044588/0984 →
Continuity (2)
Provisional Application 62445364 · Jan 12, 2017
Related Publication 20180193742A1 · Jul 12, 2018