Leading for ping is ridiculous.

  • Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Mekhazzio

FNG / Fresh Meat
Sep 21, 2011
1,104
641
0
They've deleted the other thread on this. Not the ideal way of addressing problems.
 

Proud_God

FNG / Fresh Meat
Dec 22, 2005
3,235
548
0
Belgium
I know for a fact that hit registration in BFBC2 was horrible, and that had loads of ping compensation. Give me Unreal networking over that any day. So, enlighten me, which modern games with ping compensation get it right?
 

Machete234

FNG / Fresh Meat
Nov 17, 2010
457
142
0
Pretty much everything with a q3 engine gets it right, like cod4 of course the hitboxes where huge.

This matter is further confused by the fact a depressing number of servers are hilariously badly configured. I'd say a great deal of servers are running more slots than they can handle. The moment the player number in such servers gets close to the max, everyone's ping goes up and up and up... until you get that classic situation of everyone showing 150-200 pings in F1.
This happens on excellent 32p servers that are a few 100km away and where nobody has a high ping.
Dont confuse things, you even have to lead ahead with a ~50 ping which translates to an even better ping when you use the other game's method to calculate it.
 
Last edited:

Mekhazzio

FNG / Fresh Meat
Sep 21, 2011
1,104
641
0
I know for a fact that hit registration in BFBC2 was horrible, and that had loads of ping compensation. Give me Unreal networking over that any day. So, enlighten me, which modern games with ping compensation get it right?
I've never been a Battlefield fan, so I've no idea what they're like these days, but let's see... the poster child is pretty much everything Source based, that covers from CSS to L4D to TF2 and even the glorified mods like Dino D-Day get to inherit Source's quality latency compensation.

You're not stuck with the engine default, however, because it's generally not a complicated feature to add. Both Monday Night Combat (Unreal) and Brink (idtech) strapped their own client-side hit detection onto a basic engine that didn't have it by default, and they both handle much more dynamic combat than RO2 will ever have. Serious Sam 3 does also, and of course, every single multiplayer flight sim ever made from IL-2 all the way back to Air Warrior. Even that new Aliens vs Predator game, for which multiplayer was a neglected afterthought, has client-side hit detection.

The trick really is finding a FPS that -doesn't- have latency compensation. You limit it to "get it right" but really, it's a simple concept that's fairly hard to screw up algorithmically. If BC2 is really that bad at it, they'd be the exception rather than the rule.
 
Last edited:
  • Like
Reactions: Xile

Proud_God

FNG / Fresh Meat
Dec 22, 2005
3,235
548
0
Belgium
I've never been a Battlefield fan, so I've no idea what they're like these days, but let's see... the poster child is pretty much everything Source based, that covers from CSS to L4D to TF2 and even the glorified mods like Dino D-Day get to inherit Source's quality latency compensation.

You're not stuck with the engine default, however, because it's generally not a complicated feature to add. Both Monday Night Combat (Unreal) and Brink (idtech) strapped their own client-side hit detection onto a basic engine that didn't have it by default, and they both handle much more dynamic combat than RO2 will ever have. Serious Sam 3 does also, and of course, every single multiplayer flight sim ever made from IL-2 all the way back to Air Warrior. Even that new Aliens vs Predator game, for which multiplayer was a neglected afterthought, has client-side hit detection.

The trick really is finding a FPS that -doesn't- have latency compensation. You limit it to "get it right" but really, it's a simple concept that's fairly hard to screw up algorithmically. If BC2 is really that bad at it, they'd be the exception rather than the rule.

Regarding l4D, it has iffy hit-code as well, see for example: Hunter Hitboxes - YouTube
 

Mekhazzio

FNG / Fresh Meat
Sep 21, 2011
1,104
641
0
I don't think you understand what's being discussed in this thread. That L4D behavior is not at all relevant. The hitbox displacement is not related to the networking in any way and it's also not "iffy", it's intentional game design. The Source games forward displace the hit boxes on moving targets to approximate ballistics lead with hitscan weapons. Without the displacement, you would aim directly at the leaping hunters, which is unnatural enough to completely throw off anyone expecting a semblance of real-world weapon behavior. Think clay pigeons. It's fairly unique to Valve's games. Most shooters with hitscan weapons don't do it, and it's got nothing to do with how the networking negotiates hits.

You might be confused in that it involves adding lead, but it's critically different from the RO networking issue discussed here because it is not a factor of latency. In an online environment, L4D corrects for your latency so, as long as you were firing at the hitbox, the shot will hit, period. The hitbox displacement works the same for everyone, be it in single player, LAN or online, and it's always by the same amount. Once you know how to shoot a pouncing hunter, that's how you do it, consistently, all the time. It's completely up to the shooter.

In RO, by contrast, the networking-added lead is purely a factor of an ever-fluctuating network delay, and it's in addition to the actual weapon ballistics. To describe it visually, imagine that L4D Hunter was in RO2 and he didn't have the hitbox displacement. The hitboxes displayed in that video would be roughly where you would want to aim with a PPSh in order to hit him, to account for the bullet flight time. But that would only hit him if you were in single player. If you were online with RO2, to actually hit the Hunter, you have to aim even farther ahead by some amount based on your latency (a decent connection would be about 7 to 10 times farther ahead than the hitbox is) and that extra distance would fluctuate constantly based on internet connection vagaries and how your actions line up with server tickrate. Additionally, if the hunter were to change direction between when you fire and when your message gets to the server, then even if you were aiming in what was once the right place, your shot would still miss. Since you can't predict an aimpoint with any sort of reliability, there's now a large element of random chance introduced and it's largely out of the shooter's hands. A Hunter would be nearly impossible to hit in RO2's networking model.

Essentially, it's the difference between shooting bullets at a target and lobbing trigger-delayed paintballs at them.
 
Last edited:
  • Like
Reactions: SQBsam

plex

FNG / Fresh Meat
Jul 11, 2011
141
61
0
RO2 needs its foundation fixed: (In this order)

1)Ping issues fixed., THIS IS HUGE Problem!
2)Latency Compensation added.
3)Hit Detection/Registration improved.

4)SDK Released

5)Then finally Gameplay tweaks and changes after foundation is in check..
 

Synesthesia

FNG / Fresh Meat
Sep 12, 2011
92
76
0
mekhazzio, i feel like hugging you.

Happy this was bumped, lets hope the devs at least read it before deleting it. Save a few answers though, you've coughed up a lot of truth in the thread.
 
  • Like
Reactions: Icey_Pain

SQBsam

FNG / Fresh Meat
Oct 7, 2010
895
86
0
Australia
Mehkazzio, thoughtful and well spoken posts. Thank you. I do think that some form of ping compensation or client side hit detection should be added, I had no real problem with BC2, apart from the occaisonal "Oh wow, I thought I made it into cover", compared to having to lead *every shot*. There is a reason big companies use client side/ping compensation, it is better.
 

Tak

FNG / Fresh Meat
Jan 10, 2006
1,855
96
0
East Coast, USA
Good post, Mekhazzio.

Question: is it possible to have such a client based system based on physics, or is everything then just glorified hit-scan? Do we sacrifice bullet drop and bullet travel time for the sake of such a system? I'd hate to think we have to give up proper ballistic behavior to correct lead-times.

As much as I hesitate to mention the A word as it might 'rouse the rabble, how does ArmA do it? I only ask because it's the closest comparable game I can think of that might use real projectile physics. Personally I don't want to give up drop and velocity just for the sake of high pings. It's one of the things that makes RO special. Even Rainbow Six and its many, many children use their expanding cone thing, which is just another twist on hitscan. Six feet or six hundred, the trajectory is the same (up to Raven Shield I should say, didn't play beyond that).

I only ask as a genuine query, not to be an arse.
 

Mekhazzio

FNG / Fresh Meat
Sep 21, 2011
1,104
641
0
Question: is it possible to have such a client based system based on physics, or is everything then just glorified hit-scan? Do we sacrifice bullet drop and bullet travel time for the sake of such a system? I'd hate to think we have to give up proper ballistic behavior to correct lead-times.
Ballistics don't have to be sacrificed. How the networking negotiates hits is independent of how the hits are computed. The algorithm outline goes:
  • Client decides if it hits
  • Client tells server that it got a hit
  • (optional) Server decides if it wants to accept or reject that hit
  • Server processes the outcome
You can do the first step however you want. As a real-world example, every multiplayer flight sim ever made runs ballistics on top of client-side hit detection. It was old hat by 1992.

This segues into another advantage of the method. Because the clients are calculating their own ballistics, the server no longer has to do it. That takes a significant workload off the server and distributes it across all the clients. Servers overloaded by a player count higher than they can handle are still a common problem, so that'd be of benefit on its own.
 

ro_sauce

FNG / Fresh Meat
Sep 26, 2007
3,134
329
0
bwhgaming.com
so i kind of skipped over a lot of this thread, but if you want to get used to the "aim ahead" mechanic, just play on dialup.
i play on dialup cause i'm forced to, and it took some getting used to knowing how far ahead to aim to compensate for 500-700 ping.
 

Major Liability

FNG / Fresh Meat
Apr 14, 2010
917
165
0
New York
Definitely would prefer what folks are calling client-side detection. Having played lots of games that use it for thousands of hours, I find it much preferable to the insane bullet travel time in RO2. Only on rare occasions did I experience getting "killed behind cover," really the only infuriating aspect of it is when you shoot another player at the same exact moment he shoots you and one of you survives when it should've been a double KO. But even that situation is rare.

Now what we have now is a shooting system that is downright frustrating, in a game about shooting that is supposed to handle weapons realistically. Sure, you can get used to leading targets - assuming you know exactly what your ping is at all times in addition to the distance to your victim. Up close firefights just feel wonky unless you allow them to walk into your sights, a tactic I feel is necessary a lot of times in big games where the best ping you can hope for is 150ms. I don't even know why people bother hosting servers that accept more than 36, 40 players tops.

Don't get me wrong, RO2 is a great game and one of my favorites, but you have to acknowledge this is a problem.
 

dazman76

FNG / Fresh Meat
Aug 23, 2011
672
176
0
UK / Stalingrad
Did you really have to bring this one up again? :rolleyes: :) Client-side hit detection is not the saviour of MP games, and this is quite evident when scanning the interwebs for discussion of this very topic. Each approach has pros and cons, and the client-side approaches prioritise either the shooter or the target - this is far from an ideal situation, even if it does improve "somewhat" on the server detection we have now. This improvement is entirely subjective, too, and biased depending on your particular opinion or annoyance :)

Bottom line is - TWI are unlikely to change the entire networking model, and any code that is directly linked to it. Yes, they might do it - but I'm betting on the fact that they don't. Client-side detection is relatively easy - changing a system that expects server-side detection to one that works with client-side detection, would likely be a fair bit more work. At the least, TWI would have to go through the whole of the networking code, to ensure that it all still works as expected - but I'd wager it goes deeper still. RO2 is transferring and synchronising more data between client and server than most FPS games even need to bother about - it isn't going to be a simple change by any stretch of the imagination.

If TWI made this a switchable, or maybe per-server option, I'd love to give it a try and directly compare the models within the same game. I see a lot of people complaining about client-side detection in other, bigger (and simpler) games - so this is probably a fine example of not being able to please everybody, and accepting that your own opinions are biased towards a given solution for a particular reason :)
 

bluey

FNG / Fresh Meat
Nov 6, 2009
28
6
0
Didn't ost front use extrapolation as a latency correction, that used to be playable up to 280ping as long as it didn't spike often.
 

Xile

FNG / Fresh Meat
Apr 24, 2011
51
9
0
I know this has been done to death, I dislike the current model because:

Ping is not stable, this isn't a crack at the game/code/servers, pings fluctuate naturally AFAIK and due to this the amount of lead changes practically with every shot.

Also, say a newbie comes in, plays campaign to get an understanding of the game, then goes online, everything they just 'learned' about the gun play changes dramatically even on a server close to them with a 'good' ping.

I really hope something changes, I feel I need to check the scoreboard before I even LDS so I can get a feel for how far ahead I should be aiming, does wonders for immersion that....