IP Library › Granted Patent US 12,145,066
Granted Patent B2
US 12,145,066 · App. 17/221,622 · Granted Nov 19, 2024

Systems and methods for an object movement engine in a gaming environment

Inventors: Brian Upton (Los Angeles, CA); Bert Freudenberg (Los Angeles, CA); David A. Smith (Cary, NC)
Assignee: CEO Vision, Inc
A63F13/56A63F13/40A63F13/577A63F2300/643
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 12,145,066
App. No.
17/221,622
Granted
Nov 19, 2024
Kind
B2
Abstract

Systems and methods for a unitary physics engine and image smoothing is provided. In this method, a game and a plug-in physics engine are initialized on multiple gaming systems. Time advancement messages are received by a controller within the physics engine from a reflector, causing the physics engine to compute events in a queue up to the time of the timing message, according to the same set of physics rules. This causes a deterministic computation of all object positions within the game that is identical across all gaming systems. In between the deterministic calculations, the local gaming system may compute speculative object positions, based upon the last deterministic position and the accelerations, velocities and object attributes at that moment. These speculative calculations may be performed at least as often as the frame rate of the display (typically 30, 60 or 120 frames per second). Once the next deterministic calculations are refreshed, the true position of the objects may be compared against the current speculative position, and if needed, a reconciliation may be performed.

Claims (26)

1. A unified gaming engine system within a multi-player gaming environment comprising:

a core entity management system in a reflector server, wherein each entity is a model-view pair, and wherein the reflector server provides a time advancement message on a periodic basis;

a dedicated communication channel between each entity enabling the model to directly communicate with the view within the given entity; and

at least one modular component operating within a computer system, the modular components providing at least one service including a physics simulation service, the physics simulation service on each of the at least one modular component configured to receive a plurality of messages, wherein the messages are arranged in a message queue by execution time, and wherein the messages include an action to be taken by the physics simulation service, and wherein the physics simulation service receives the singular time advancement message and executes the messages in the message queue up to the time advancement message irrespective of an internal clock signal of the computer system.

2. The system of claim 1 , wherein the at least one service includes a rendering service and a collision detection service.

3. The system of claim 2 , wherein the physics simulation service comprises multiple gaming systems for initializing a game and a plug-in physics engine.

4. The system of claim 3 , wherein the reflector provides a time advancement message to a controller of the plug-in physics engine.

5. The system of claim 4 , wherein the plug-in physics engine computes positions of material objects within the game.

6. The system of claim 4 , wherein all gaming systems process messages via the plug-in physics engine up to the timing message, using a common set of physics rules, to deterministically compute positions of objects within a gaming environment.

7. The system of claim 6 , wherein the plug-in physics engine provides the object positions to the game.

8. The system of claim 1 , wherein the at least one service acts as an interface between each entity and a global singleton manager.

9. The system of claim 8 , wherein the global singleton manager supplies the at least one service.

10. The method of claim 1 , wherein the periodic basis is every 100-200 ms.

11. A computerized method for a unified physics engine, the method comprising:

generating, on a local computer system, a virtual environment including objects, wherein the objects within the virtual environment are capable of actions, and wherein the objects subscribe to events;

generating a message queue of timestamped messages, wherein the messages include the actions, and wherein each message includes a timestamp and are arranged in the message queue by execution time;

receiving at the local computer system a time advancement message; and

executing the messages in order in the message queue up to the time advancement message irrespective of an internal clock signal of the local computer system, thereby deterministically calculating position of the objects.

12. The method of claim 11 , further comprising dividing game elements into material components and non-material components.

13. The method of claim 12 , wherein the material components are objects.

14. The method of claim 13 , wherein an internal physics engine computes calculations for the non-material components.

15. The method of claim 11 , further comprising smoothing movements of the objects by speculatively calculating object positioning at a given frame rate.

16. The method of claim 15 , further comprising reconciling location of the objects that have been positioned using speculative positioning with the deterministically calculated position.

17. The method of claim 16 , wherein the reconciling is smoothed by frame rate over a reconciliation time period.

18. The method of claim 17 , wherein the reconciliation time period is less than 10 ms.

19. The method of claim 16 , wherein the reconciling is obscured by an obscuring effect.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: UPTON, BRIAN; FREUDENBERG, BERT; SMITH, DAVID A.
To: CEO VISION, INC (DBA CROQUET STUDIOS)
Reel/Frame 057027/0171 →
Continuity (3)
Provisional Application 63141447 · Jan 25, 2021
Provisional Application 63006642 · Apr 7, 2020
Related Publication 20210308576A1 · Oct 7, 2021