Jump to content

- - - - -

Weapon Fire State Rewind Phase 1

No replies to this topic

#1 Neema Teymory

    NetCode Slayer

  • Developer
  • Developer
  • 86 posts

Posted 04 March 2013 - 03:39 PM

In a client server game, lag compensation is all about improving a player's experience when they have a higher than normal ping to the server. When working correctly, lag compensation techniques should make it feel like your ping is not having a negative effect on your gaming experience – like your ping is not even there. In this phase of the feature, we are specifically focusing on weapons of the trace fire variety. This includes the laser, flamer and machine gun. You can expect similar improvements for your favourite ballistic weapons in the future.

So what is this change really all about? Well, unless you have a perfect internet connection, you may have noticed when firing your lasers that you often have to lead your shots ahead of your target; the higher your ping, the further ahead you would have to lead – very annoying, we know. This feature addresses exactly this problem. A picture is worth a thousand words, so here are two pictures:

What you see when you are lagging

Posted Image

What the server sees when you are lagging

Posted Image

From your perspective, it looks like you should be hitting that Jenner dead on, but from the perspective of the server it looks like you are completely missing! Don't worry, things are not hopeless. The server can do something smart and simple to ensure you land the hit you are expecting.

If the server kept track of all the past positions of the Jenner, the server could then use your ping to figure out exactly where the Jenner was on your screen when you shot. Lo and behold the blue box. It is lined up exactly with what you see on your screen. We sometimes call this blue box the rewound position of the Jenner. It's only a box in this picture for simplicity, but in reality all of the Jenner's geometry is actually moved back to this position. Now that the server knows where the Jenner should be, it can move the Jenner back to this spot, shoot your laser, see if you hit, then put the Jenner back to its original spot. Bam, your laser hits just like you expect.

Wait, does that mean a malicious hacker player can now teleport me to random places and hit me? No, the reason is that the rewound position is only always a valid server position – just in the past. The firing player does nothing to control this position, it is inferred by the server based on their ping. For that reason, if your ping bounces all over the place, you might notice that it is just as hard to hit targets with the lag compensation as it is without it, because the blue box will be constantly bouncing back and forth with your ping.

That does it for this lag compensation explanation. If you have question or concerns, feel free to post on the forums.

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users