-
Notifications
You must be signed in to change notification settings - Fork 21
Overview
The system consists of these key components:
- Game Manager
- The controller
- Controller's addons
- Lag compensation manager
- Recording and playback system
The game manager sits in between the controllers and the unity engine. It calls for tick updates on each controller while also providing various useful variables like curtime, tick, all controllers' and recordable objects' data.
The controller generates all the needed input and processes it. It also performs interpolation for smooth visuals as well as client-side prediction for responsive gameplay from the user's perspective. Adding functionality is simple and is being described inside "Extending the Controller" section.
Controller's addons are various modular systems that get notified after each tick like animation manager, ragdoll manager etc.
Lag compensation manager provides an easy way of compensating for the inevitable latency each player has. Utilizing the recording and playback system, it moves other players and objects back in time to where the original player saw them on his screen. It is an automatic system executed by the controller.
Recording and playback system allows scene recording to a file and ability to play it back. It records every game object containing a RecordableObject component with a handler attached.