Position Adjustment System

Recently I have published a simply made script that corrects one issue of many relating to ROBLOX’s delays regarding the accuracy of character models in the server. I will give a bit of background of the problem ROBLOX has, my theory as to why, and the solution I created and how it works.

Commonly known as latency or “lag”, getting hit by someone’s sword from 10 studs away or getting shot even though you just managed to get yourself into cover… it can be annoying when it comes to the competitive scenes of games because it feels like you got cheated when you clearly feel you reacted to something properly.

What is lag? Lag comes as a result of how quickly your client is capable of communicating with the server. The reason why regional latency exists is because the further the server is hosted, the more time it takes to correctly accumulate client data. Lag will always exist in the world of online gaming because there is always a delay – no matter how small – in how quickly the client can communicate with the server. Lag spikes happen when a client does not communicate with the server for a small period of time. Reach occurs because lag affects the position other clients see someone else’s client because commanding the character model to move may be delayed depending on how quickly your client communicates with the server.

Now… I cannot possibly speed up your computer or compromise specific regions… but I can fix one important issue ROBLOX has with delayed input. Not many people have noticed but ROBLOX had a drastic increase in its delays for character model accuracy. Why? I have two theories. a) Animation updates to smoothen animations or updates to animations for some other reason unknown to me and/or b) too much un-necessary communication occurring from the client to the server before an action is demanded. What I did was I cut the slack and prioritized correcting the position of the character model on the server skipping any calculations or animation speed adjustments that ROBLOX makes in its initial process of communicating with the server.

The script is very simple. The client requests to move. The position of the client is calculated and a request is sent to the server to move the character model object immediately upon input. That is all the script does… for now.

In the future I do wish to implement a system that I was working on in the past called the “Ghost System” which I was making to attempt to predict the most accurate position we could possibly obtain of each client in attempt to make the environment as accurate as possible.

FEATURES:

  • Reduces character model movement delays
  • Ghost System (coming soon)
  • Alternative reduction system
    • If you find your game has too many people or is unable to handle the amount of requests then there is an option inside the script to change its method to use events a little less potentially fixing the issue… otherwise if you still have problems your game may be just fine without it. Please let me know, I appreciate feedback.)

This is the model, still in testing, and will soon be optimized depending on feedback and updated depending on feedback:
https://www.roblox.com/library/6215311847/Position-Adjustment-System-BETA

15 Likes

Minor update:
Now compatible with R15.

Previous version was not compatible with R15.
Thank you to RedemptedNutella for discovering that issue quickly.

3 Likes