branchrust_reboot/main/network_lodscancel
16 Commits over 0 Days - Infinitycph!
main -> network_lods (breaking)
▇ █▉▆▋▉▉▅▆▉ ▍▌▉▌▌▋▉ ▆▌ ▋▍▄▇▉▍▋ ██▍▅█▍▊ ▌█▆▅ ▆█▆▊▋█ ▄▊▍▅█▅▆ ▉█▆▊▅▆▄ ▄▇ ▄▄▄▆▄▅▄▅▊█▊▊▇ ▋▊▅▅▊▇ ▌▍▉▄ ▆▊ ▊▍▊▄▋▅ ▅▄ ▌█▅▉ ▉▇▍▉▌█▍ ▉▊▆▊ ▉▉▍▉ ▋▅ ██▄▋▉█ ▅▇▄▍▆█ ▉█▇ ▉▉▊▆▇▇ ▅▅ ▄▋▄▇▆▅▉▋▉▇ ▍█▍ ▅▌▍▍▋▅▋
- Net LODs use 16m position cells for all ranges instead of cached group lists
- Set network lods to be off by default
- Profiling
- Code cleanup
Cleaner way for the client to grab lod ring on its side
Swap net lods to use distance comparisons instead of cells to ensure its consistent between small and large network entity settings
- Ensure the client can accurately figure out the network lod of an entity rather than guessing
- Make startId/gridSize/baseCellSize constants iin the grid rather than being in the prefab
- Cleanup
- Fixes stopping treating base player npcs like humans
- Add player support
- Add two seperate controls: one to decide off/on without globals/on with globals, another to control how much players are included in the lods: off/on only at far distances/on
Ensure global map markers skip the LOD system
Support for LODs on global networked entities - map them to a large size grid based on position and evaluate LOD level from there
Setting to ignore network LODs
Swap tick based LOD to a time based one so we can support running on low fps servers
- Increase interpolation delay the further away the object is instead of trying to predict lod based delay via changes in packet timings
- Let clients drop the extra delay if the setting is off on the server
Attempt at an experimental network LOD system - updates entities more or less often depending on how close they are to the player.
Uses cell coordinates
Doesnt affect players. Needs more work to stop affecting gameplay with animals etc.
Initial experiments show a 75% decrease in entity position network traffic at high distances
50% reduction in entity position updates at medium distances