-
Notifications
You must be signed in to change notification settings - Fork 0
Description
All vessels in the game are stored in one of three places on the client. Firstly, the ActiveVessels list in the World class; secondly, the ArtificialBoldies list in the SolarSystem class, and lastly the ShipExteriorRoot GameObject.
All space objects in the universe are cashed on the client, although almost all of them will never be shown while playing. Currently the ShipExteriorRoot game object has just over 1 600 child objects. All of them are shells, and contain nothing else than the Ship and GeometryRoot scripts.
In addition to this, multiple times every second, the position of every space object in the entire world of Hellion is sent to the player, causing massive overhead for the client.
Currently, both the client and the server calculate orbits in parallel, but there isn't really any code to handle the eventual desyncs that happen every so often. By only sending nearby space objects, we could completely get rid of desyncs because the client would not need to handle orbits.
Proposal
- Fully embrace two types of coordinate space; world space and local space, and make all positions sent to the client local space.
- Check possibility of seperating map from in game objects.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status