Original Post — Direct link

Seriously, this game's netcode needs to be completely rethought. Playing cross-continent shouldn't be a "break the game" button.

External link →
about 4 years ago - /u/GDFireFrog - Direct link

Originally posted by fknm1111

There's a very simple fix to apply here that doesn't involve rethinking much of the netcode. Players who are lagging in that way should simply lose some or all backwards reconciliation privileges. We'll test this and try to find out some sensible thresholds for when to trigger this condition and how long to maintain it after a lag episode and put it in the next version later today (0.20.380). We will add some kind of on-screen notification so that the lagging players are notified of this state and they understand why their rockets are going through things now.

This is just a fix for this lagging scenario (and it should have been pretty obvious that we needed to prioritize this earlier, sorry). There are other general improvements coming soon that will improve the situation with projectiles+high ping. (Our focus so far has been to make sure people can hit on the server-side netcode, now we need to make sure some people can't hit). The following things will also address the scenarios where network conditions are good but there's still the annoyances that come with facing a high-ping player right now.

  • We need to improve some things in order to reduce the lag when representing players, this can still be improved quite a bit thanks to our high tickrate. This will improve other scenarios too.
  • We will implement extrapolation which will help with this but also with hitscan (e.g: being hit through corners). Once we have extrapolation we'll lower backwards reconciliation by the same amount that we decide to extrapolate.
  • If after addressing those things people feel we are too generous with our reconciliation with projectiles we will tweak that further. One way to do this is to delay the ejection of projectiles starting from, say, 60ms ping or higher. That way you don't need to give them so much BR but their representation remains coherent and they can still learn to play with that ping. But it's important that we don't take the decision of where to put that threshold based on a flawed or incomplete implementation, we'll get to that pretty soon.
about 4 years ago - /u/GDFireFrog - Direct link

Originally posted by apistoletov

Wait a sec, so you didn't have extrapolation yet? I thought if it's based on QL model, it should have had it. ... guess it's going to be a much better game soon!

Well, we have always had extrapolation, technically, or the game would be very warpy, just not in the normal sense that people mean when they say something like "this game's netcode has extrapolation."

There're two different kinds of extrapolation here, let's name them "reconstructive extrapolation" and "predictive extrapolation". With reconstructive extrapolation you are only extrapolating in response to discontinuities in communication in order to no have to stop the player in the air for an instant like many old games. Here you are just trying to fill in a gap before new data arrives. This extrapolation is not speculative as long as network conditions are OK. Then there's predictive extrapolation where you are speculating even ahead for gameplay purposes. This is the kind that is most susceptible to what's called rubber banding though hopefully we can keep this to a minimum when we implement it.

about 4 years ago - /u/GDFireFrog - Direct link

Originally posted by ballin4life_

In addition to the feeling that rockets warp into you and cannot be dodged reactively at all, I'd like to say that knockback being delayed by opponent's ping contributes to an inconsistent feel of knockback between games.

We are aware of this and we'll be doing something about it at some point.