Leading for ping is ridiculous, Mk.2: An Example

  • 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/
Status
Not open for further replies.

Proud_God

FNG / Fresh Meat
Dec 22, 2005
3,235
548
0
Belgium
I was playing Nuclear Dawn a couple weeks back with >1 second latency and it was working just fine.

That's like saying: 'I was driving around in my car the other night with all my lights turned off, and it was a bit weird but I could totally get to my destination!' Leaving a trail of crashed cars behind who tried to avoid you.
 

Mekhazzio

FNG / Fresh Meat
Sep 21, 2011
1,104
641
0
If that's true, it forms my biggest complaint about client-side authority. If you as the shooter have 1000ms latency, but your target has a respectable 100ms - they would be moving quickly, but to you, they appear to be moving via warping.
Latency does not reorder or alter the sequence of events. That would be like saying a sports broadcast makes players move differently just because you're viewing it a minute/hour/day later than it occurred in the stadium.

'I was driving around in my car the other night with all my lights turned off, and it was a bit weird but I could totally get to my destination!' Leaving a trail of crashed cars behind who tried to avoid you.
Considering that it tanked my score after that point, not really. It takes a very poorly designed network model to make latency an advantage, as it puts you at that much of a delayed response time. In ND's case, by the time I even saw someone, they had typically already shot and killed me and there was nothing I could do about it, because the server ignored my shots because it considered me dead by the time it heard about me firing. All the latency compensation really let me do was be able to kill people who were completely unaware of my presence. It kept the game functioning. Functioning at a huge handicap, but still functioning. I brought it up mainly to give an example of a well-designed latency compensation method handling even extreme cases. The player is still at a disadvantage, but it's an unavoidable one and not the result of a core game mechanic breaking due to design flaws, as so frequently occurs in RO2 in just an average case.
 

dazman76

FNG / Fresh Meat
Aug 23, 2011
672
176
0
UK / Stalingrad
Latency does not reorder or alter the sequence of events. That would be like saying a sports broadcast makes players move differently just because you're viewing it a minute/hour/day later than it occurred in the stadium.

That wasn't what I was suggesting - but if the shooter has a ping of 1000ms you can expect (1) the target's position to be inaccurate because it's late being delivered to the shooter and (2) client prediction placing the target and potentially correcting that placement once an updated position has been received. Hence the mention of warping - you don't need things happening in the wrong order for that to occur. Do you? :)

It's not that I'm trying to prove you wrong here - that isn't my intention at all, and I probably don't have the knowledge to do it anyway. What I'm trying to do is apply what little (I think) I do know about the situation, and figuring out if the end result makes any sense. I cannot get the idea out of my mind, that favouring a shooter with a massive 1000ms of latency means a bad result for the target with his decent 100ms of latency, each and every time it happens. The fact that you managed to align your sights to the target "at some point", shouldn't mean that if you click the button at that time, you score a kill - because the target blatantly isn't where they appeared to be when you shot them, and in this instance, it's YOUR fault that the position information was incorrect :)
 
  • Like
Reactions: =GG= Mr Moe

Mekhazzio

FNG / Fresh Meat
Sep 21, 2011
1,104
641
0
That wasn't what I was suggesting - but if the shooter has a ping of 1000ms you can expect (1) the target's position to be inaccurate because it's late being delivered to the shooter and (2) client prediction placing the target and potentially correcting that placement once an updated position has been received. Hence the mention of warping - you don't need things happening in the wrong order for that to occur. Do you? :)\
Mm, I think I see what angle you're coming from now. It all hinges on your view that "you can expect the target's position to be inaccurate", which gets a bit more into the theory side of things. Wall o' text incoming...

Events out of sequence are required for warping, because warping is an error correction. Simple latency will not result in warping of anything but the player's own character because, for every other entity in the world, there's no error to correct. Because humans are inherently unpredictable (in a simulation sense, anyway), clients typically perform little to no prediction on other-player entities, going strictly by the data the server is sending, and thus, the client's view of them is already inherently accurate at all times. Or perhaps a better way of putting it is that everyone's view of everything is inaccurate. Nobody in a FPS game since Doom is actually seeing exactly the same thing as any other player in the game at any one time. Everyone is offset by their own delay resulting in their own sequence of events.

Say two players are approaching each other from opposite sides of a hallway at the same (actual) time, when you pause everything to look at it. Player A will see himself as already being, say, 4 meters down the hall before Player B comes in the far door. Player B sees the exact opposite - he's 4 meters into the hall and Player A just came in the door. The server sees an entirely different third sequence: both players have moved down their ends of the hall by 2 meters, simultaneously. All of these viewpoints are perfectly accurate to the data they're getting, but they're all completely inaccurate if you stop and compare them to any of the other POVs. It's all about the frame of reference.

The job of the networking model is to negotiate these differing realities into a common outcome. The method we currently have strictly defines the server's outcome as the only valid one, which is a simple and reliable way of doing it, but it winds up making every event involving a player look inaccurate from their own point of view.

Going back to our simultaneous hallway fight, let's say each player crouches down after they go through the door, and is hovering over their trigger aimed at the far door, just waiting for a headshot. Player A sees Player B stepping into the door and instantly fires. Player B does the same thing on his side. The server sees both of them firing over the top of a crouching target into empty doorways, and so it counts both their shots as misses. Player A and Player B each see the other guy get blasted in the face, then crouching down, and then firing over at the long-since-vacated doorway. They're both completely unharmed.

The server's view of events is the only one whose outcome matches the sequence of events. Its view is right, but only because we've initially declared and -required- it to be right. From the view of either of the players, the outcome is completely wrong.

A latency-compensated version of the hallway scenario would, for the server, show both players getting 2 meters into the hallway before dropping dead from clear misses. For each player, they'd see their enemy walk into the door, get blasted in the face, crouch down, fire, and die from a headshot, taking the player with them as they fall.

Each sequence of events here is now wrong from all POVs. It looks pretty darn weird to the server, especially if the players are shooting, say, giant laser beams to illustrate exactly where they were aiming (which, to the server, is at an empty door). But the server's not playing the game, so why should we care about what it sees? From the POV of each player, the compensated sequence results in an outcome that's a lot closer to what they saw than having their obviously perfect headshot do nothing at all. That would be a huge hit detection bug, right? ;)

Latency compensation is, fundamentally, about deciding that some events should have a closer correlation between feedback and outcome than other events do.
 
Last edited:

dazman76

FNG / Fresh Meat
Aug 23, 2011
672
176
0
UK / Stalingrad
That looks juicy :) Currently leaving work, so I'll check it when I get home. In the mean time, thanks for taking the time to reply Mekhazzio, and not getting annoyed with people potentially going around in circles :) heh
 

Barleyman

FNG / Fresh Meat
Nov 5, 2011
103
28
0
On the subject of zig-zagging while running full tilt, I don't see a problem with it... IF you are rather likely to fall on your face while doing it and subsequently get shot in the face while getting up. Running speed is perfectly fine, I in fact looked down some actual real-life tests done on soldiers sprinting with just clothes or with full combat gear including body armor. HOS sprinting speed is between these two that seems quite reasonable.

I guess getting your wind back happens too quickly and you are too capable while completely out of breath. Then again, sprinting is an anaerobic excercise up to a point but lets not go there.. After all we only have two speeds, ***** walk and flat out sprint which degrades to jogging after a bit.

But stumbling, that needs to go in..

Ed: b.r.i.s.k. is a bad word?
 
Last edited:

Echo Black

FNG / Fresh Meat
Jul 14, 2011
294
340
0
I in fact looked down some actual real-life tests done on soldiers sprinting with just clothes or with full combat gear including body armor. HOS sprinting speed is between these two that seems quite reasonable.

Could you provide us with these real-life tests you checked? Or with the means to acquire them?

---
 
  • Like
Reactions: Yurizle

vincik

FNG / Fresh Meat
Sep 25, 2011
44
1
0
proves that this is amateur game...half year of patches and still so much bugs, latency problems, shuttering... waste of money..going to buy battlefield
 

tixhal

Active member
Nov 6, 2011
830
105
43
Neuschwabenland
Sort of... Old timers are aware of it.

Kinda like you aren't supposed to say outloud any of the old god's names from Lovecraft I think... :p

ia! ia! cthulhu f'thagn!

on topic: as long as the ping is somewhat stable i have no problem with the current system. when it starts to wildly spike (as it does on most 64 player servers) it's mostly unpredictable where the bullets hit.
lag compensation is not a miracle-method to eliminate lag, it leads to awkward situations as well. is it better? maybe on laggy servers.
damn i'm starting to run in circles... i'll better stfu...
 
  • Like
Reactions: wazups2x

Mekhazzio

FNG / Fresh Meat
Sep 21, 2011
1,104
641
0
lag compensation is not a miracle-method to eliminate lag
Of course not, and it's not supposed to be. You can't avoid the reality of a time delay...but by recognizing that the delay exists and what it can affect the most, you can greatly reduce its effect on gameplay.

The current method fails to even address the existence of latency. It's the equivalent of throwing your hands up in the air and going "oh well!" to a problem. It gets you out of some work, but the it doesn't work so well at actually solving the problem.
 

Proud_God

FNG / Fresh Meat
Dec 22, 2005
3,235
548
0
Belgium
conclusion:

- server side lag compensation: good for high pingers, more demanding for the server
- No lag compensation: good for low pingers, less demanding for the server

There will be an endless debate between people who get good ping and people who don't.
 
Last edited:

Mekhazzio

FNG / Fresh Meat
Sep 21, 2011
1,104
641
0
Thread summary:

- Lag compensation: good for high pingers, more demanding for the server
- No lag compensation: good for low pingers, less demanding for the server
Did you post in the wrong thread? That's not a particularly accurate summary of this one.

Feel free to present an argument that improving shooting accuracy & realism for all players somehow manages to disadvantage a subset, though. You might want to cover the server load tidbit as well, while you're asserting your statements.
 
Status
Not open for further replies.