Player Location Synchronization
Over the past 10 days, we've been focused on optimizing how player locations update on your screen, especially during jumps. Unfortunately, completely fixing this issue would require a major overhaul of the game engine. The core problem lies in how Unreal Engine 2.5 (and earlier versions) handled certain physics functions, particularly those related to falling, jumping, and transitioning between these states. These mechanics were updated in later versions of the engine, like UE4 and UE5.
That said, we tested and developed various approaches to address this issue, but only three yielded better results than the current system. Please note the following applies to all three approaches:
- These solutions are experimental and may introduce unexpected issues. If you encounter any, please report them.
- If any major, irreparable issues arise, we may need to make changes or even revert the "fix".
- The tests were conducted on a local server, meaning server-client communication was nearly instantaneous. As a result, the game had less time to sync movements between the server and client after receiving a jump command. Players should experience smoother results on live servers. It's also possible that some players may not notice much "teleporting" or "throwing" after these changes.
- Approach 1
- This method completely eliminated the "teleporting" issue when players jumped. However, players would occasionally (especially when changing direction mid-jump) not appear where they were supposed to be, causing their location to bug out and stop updating entirely. Due to the significant desynchronization this introduced, this approach isn't viable for release.