I just tested 185 ms ping in Quake live and hitscan weapons were definitely lag compensated so I don't know what you mean by "lag compensation limits"
Quake live doesn't have interpolation AFAIK, so there's 100 ms of difference right there.
In quake live, the now cheat protected server update setting of cl_maxpackets is 125 (8 ms) .. compare that to NS2's 50 ms.
I am sure there is another 100 ms of delay somewhere (i recall matso breaking down all the delays once) but right there, that's an extra 140 ms of delay, not counting latency or differences in lag compensation.
the antilag stops at 80 ms in that agme
any shots you land above that limit are a result of prediction and/or luck
all I know is that if the server enforces lag compensation limits, then players get notified within that limit (+ their ping), no matter what happens along the way
the only extra latency should come from the luck of whether an update made it in quickly or had to wait an entire update cycle to get through (an additional tick's worth of latency in the worst case)
instead of forcing everyone to accept 140 ms of delay, maybe let the client choose whether to display interp or not. i don't really understand the details of that bit
when we get notified about damage half a second late when we have good connections to the server, something is wrong
It would make zero sense if skulks were not lag compensated, because then shots that would otherwise 100% hit a skulk you were aiming at would miss every time...
What you are referring to is the current delayed update of entity positions to the other player - which would occur with any authoritative server setup that understandably doesn't trust the client.
The side effect of lag compensation in any game is that the attacker has a slight advantage over the retreating player because each player sees itself in the present but sees the other entities in the past.
This means a skulk has the advantage walljumping around the corner - but has the disadvantage when trying to escape to cover.
It's a pretty fair trade off for hitting what you aim at.
Where did I ever say I want skulks not to be lagcompensated? I was referring to skulks to explain the problem of lagcompensation in melee vs ranged combat to you, something you are fighting hard to not understand.
The simple fact that the attacker has an advantage defies the ambush tactics of skulks. The current form of lag compensation just does not work well with the game mechanics. It has its strengths in ranged vs ranged combat with slow moving players - CoD, Counter-Strike. NS2 does a great job in revealing the weakness of the common lag compensation mechanics.
PS: Afaik prediction is only used for the players own position (not sure though).
I used to play games like Zombie Panic source and GMod Murder. Melee combat there raised no questions.
Can't speak for murder but Zombie Panic has slowly lumbering zombies, they're far from lerk, fade or skulk speed. Plus Source netcode is just exceptionally well done.
At least in ZPS when you are already around the corner for 0.5s, you definitively not getting bullets as zombie. In NS2 there is enough time for skulk to be happy thinking that he has escaped before finally catching that lead.
At first 300 was the average ping number. Many issue plus the servers weren't that powerful. Then it got back to standard HL1 pings and behavior (At V2 if remember correctly). Clearly above NS2 or today games (in terms "NET quality").
Where did I ever say I want skulks not to be lagcompensated? I was referring to skulks to explain the problem of lagcompensation in melee vs ranged combat to you, something you are fighting hard to not understand.
Oh I understand it.
It's just any other solution proposed so far is sub par. What's the use in pointing out the current problems if it's the only viable solution??
The only other method would have marines miss their shots constantly and have them guessing where to aim based on the enemy's latency just so that the rare ambushing skulk who incorrectly doesn't attack first has a slightly more effective result.
Also keeping in mind that the easier "hitting what you aim at" method currently only results in the TOP best players achieving ~20-30% accuracy anyways...
That's just not a good solution.
What's implemented is the most effective
You'd have marines miss their shots constantly - keeping in mind that the easier "hitting what you aim at" method currently only results in the TOP best players achieving ~20% accuracy anyways -
Wait, what? I'm certainly not in the TOP best players!!!
I totally agree: 20% is more the normal Vet accuracy. NSL Div1 Player should have around 35-45% (ofc this depends also on the used weapon; shotgun > riftle )
Just to correct a bit, due to the spread, high ping, interp, accuracy without sg onos hits is generally in 20-25% depending on how long or how well the round went, some people get close to 30% but isn't as common. As the better players you play against, the lower your accuracy will become. 20% accuracy seems the bare minimum any comp player should have atm, for public players this should be more obtainable due to so many ground skulks or borderline bad movement skills on aliens.
The only other method would have marines miss their shots constantly and have them guessing where to aim based on the enemy's latency just so that the rare ambushing skulk who incorrectly doesn't attack first has a slightly more effective result.
As I thought, you dont understand. If anything, the other method would force marines to guess the enemies position depending on their own latency. This is a fundamental difference: usually the latency of a players stays pretty stable, but each player has a differen latency. Therefor it is easier to accomodate for your own, stable delay than to memorize the delay of each enemy player to react according to that. This might still be possible in 5v5 matches - I would argue that good players develop a feeling for it - but once you hit 8v8 or higher playercounts, it becomes impossible to zero in on everyone's delay.
The difference between the two methods are: You always hit what you aim at but see a distorted reality from everyone else VS you see the real reality delayed by your ping and if your target changes his movement unpredictably within your latency, you dont hit what you see.
Oh your reference just reminds me of our match few nights ago against an american team with one aussie, us having 150ping, americans having 50-70's (not 100% sure about these values and too lazy to check), and the aussie with 300 ping. It was literally a joke to try to adjust to this type of situation, randomly one of the players just bites you 10 feet away(not an accurate realisation, just emphasizing the issue).
I wish we would have a larger scene so we wouldn't have to play with such high ping all the time to remain active.
You dont have to predict, the computer does the predicting. It just happens that sometimes your screen shows blood but the hit doesnt count. AFAIK this also happens with the current method, if you shoot someone when you are dead already.
So, there are only two options:
1. Realtime world - delayed/laggy player
2. Delayed world - realtime player
it's not so binary
the game only has to be realtime from the point of view of the non-laggers
laggers shouldn't be allowed to let everyone else's worldview be delayed by huge amounts of time
i honestly don't know where people got this expectation that they should be able to play competitively with 250 ping
it doesn't happen in any other fast FPS, even ones with player bases that are way smaller than NS2's
The compromise mentioned by biz of capping lagcompensation at something like 80 sounds like the best option. It would have to be tested if this feels better and how high that cap should be (imho lower).
The difference between the two methods are: You always hit what you aim at but see a distorted reality from everyone else VS you see the real reality delayed by your ping and if your target changes his movement unpredictably within your latency, you dont hit what you see.
How is that remotely better, having to adjust where you aim based on your current fluctuating latency???
You are saying "reality + your ping" like that somehow is more of an accurate representation than "hit what you aim at" when it clearly cannot be - ever.
laggers shouldn't be allowed to let everyone else's worldview be delayed by huge amounts of time
Online gaming as an industry has abandoned that mindset since the turn of this last century for very good reasons.
Any claim that server side hit detection (lag compensation) is sub par for competitive shooters is ridiculous ..
Like I already said: It's currently employed in CS, Q3, TF2, Warsow, Tribes, Nexuiz, Loadout, Rise of the Triad and Shootmania - and many others I cannot think of off the top of my head.
i honestly don't know where people got this expectation that they should be able to play competitively with 250 ping
I honestly don't know where people get this expectation that :
A) I am always going to connect to a server that is only 1 or 2 states away from me The playerbase of the game could support such netcode limitations
C) Any implementation other than "hit what you aim at" is somehow going to be more accurate 8-}
Sorry to sound so argumentative in my response, but geeeeeze you guys are advocating for such an impractical concept that no competitive scene supports and that has been abandoned for good reason.
@IronHorse, how do you interpret "Where did I ever say I want skulks not to be lagcompensated?" as "say you weren't advocating for removing lag compensation on skulks?"???
I have explained multiple times the problems of the current implementation. You keep misinterpreting or ignoring my arguments.
You are saying "reality + your ping" like that somehow is more of an accurate representation than "hit what you aim at" when it clearly cannot be - ever.
No. How many times do I have to explain this to you? You sound to me like you never played NS1 or any other HL1 mod.
Online gaming as an industry has abandoned that mindset since the turn of this last century for very good reasons.
And if everyone jumps off the bridge you follow suit? This is a terrible argument, especially when I made the case why common lagcompensation works in ranged vs ranged better than in ranged vs melee.
What I dont understand is you making claims about the playerbase, when the vast majority of your customers stopped playing after a few hours. I would argue that the "got killed but dont know how" effect this mechanic creates causes a lot of frustration, especially for beginners (killed around corner, dying before you realise you are under fire).
PS: I recommend you to read this link to understand how netcode works: http://www.ra.is/unlagged/
Make sure to read the "Another problem" section where he talks about the problem with pings >100 ms and games "where movement is important enough with respect to aim".
Like I already said: It's currently employed in CS, Q3, TF2, Warsow, Tribes, Nexuiz, Loadout, Rise of the Triad and Shootmania - and many others I cannot think of off the top of my head.
your "facts" are wrong
all antilag servers run limited backwards reconciliation for hitscan weapons (server-side primarly to avoid hackers / warpers)
and there's little-to-no antilag for projectiles (so that players can dodge rockets/spinfusors/grenades)
what some slow symmetrical game like CS does doesn't really apply to NS2
NS2's pace and combat engagement style is completely different
it doesn't matter if the majority of the FPS industry is moving towards low TTK.
NS2 isn't like those games. the netcode shares more requirements with arena shooters & fighting games
Whats most funny about this thread now... is that NS1 (and in part the unlagged mod for Q3 you linked) use a very similar system to Spark. Spark DOES lag compensate some projectiles, but aside from gorge spit/GLs most are not very important. Unlagged will actually allow for pings of up to ~800ms IIRC to still shoot directly on target, NS1 was 1 second I believe? I am not sure if Spark has a maximum lag compensation amount, but there are a number of reasons WHY things feel much less precise, and its not entirely the engine. If you played NS1 you should remember how you needed to play very differently when playing with or against players with over 100 ping. The impacts were not quite as severe there because we could have 100 updates/sec and 10ms interp, but it was still VERY noticeable.
You already really cannot play this game competitively with 250+ ping. Sure its 'playable', but its a far different game compared to 30 ping vs 30 ping.
Too many words. I'd like to see the numbers.
Suppose we have 70ms ping for each player: a skulk and a marine. Update rate is 20. Skulk is just behind the marine and they are not moving.
Skulk bites.
Skulk is not allowed to move.
Marine can move forward only after he notices that he is bitten.
Question: What human reaction time (in ms) marine must have to avoid the second bite?
Whats most funny about this thread now... is that NS1 (and in part the unlagged mod for Q3 you linked) use a very similar system to Spark. Spark DOES lag compensate some projectiles, but aside from gorge spit/GLs most are not very important. Unlagged will actually allow for pings of up to ~800ms IIRC to still shoot directly on target, NS1 was 1 second I believe? I am not sure if Spark has a maximum lag compensation amount, but there are a number of reasons WHY things feel much less precise, and its not entirely the engine. If you played NS1 you should remember how you needed to play very differently when playing with or against players with over 100 ping. The impacts were not quite as severe there because we could have 100 updates/sec and 10ms interp, but it was still VERY noticeable.
You already really cannot play this game competitively with 250+ ping. Sure its 'playable', but its a far different game compared to 30 ping vs 30 ping.
As you found out, the mechanism is very similar - in fact almost identical with the exception of the 80ms cap, and the way how projectiles are treated.
But you got your numbers wrong. It is no 800 ms but 80 ms. 80 ms are 0.08 seconds.
I dont remember having to play different vs people with high ping, care to elaborate this? The problem with laggers was, if they started stuttering which is not directly related to high ping but to an unstable connection. High ping and unstable connection sometimes go hand in hand, for example if someone is downloading while playing.
@devel Im not sure who your question is directed to, I try to answer:
Currently in ns2 it would play out like this: Skulk starts the game with his bite. 70ms later, the server receives skulk's bite command, does the hit check and sends the message to the marine. So after 140 seconds the marine gets the info he is being attacked.
But here is the problem: Lets assume the marine has a personal teleportation device that lets him escape the skulk instantly. He triggers it as soon as he registers the bite (no human reaction time). So after another 70 ms, the server registers this and after another 70 ms the marine is gone on the Skulks monitor.
Which means 140 ms for the marine to even notice the bite and another 140 ms for the marine to disappear on the skulks pc = 280 ms.
Wiki says skulk attack rate is 0.45s = 450 ms. 450-280 = 170 ms time to react. This does not account for the time you need to walk out of skulk's bite range, thats why i mentioned the instant teleport away.
Unlagged stores up to 17 player states. On a server where sv_fps is set to 20 (most servers, since that's the default), this means it stores 850ms of data. With Quake 3's built-in lag accounted for, that means you can ping up to 800 and have it still work.
Directly from Unlagged.
Quake3 uses 50ms IIRC with Quake Live being 80ms.. I think. But this comparison is mostly meaningless since there are a lot of differences between the gameplay.
NS1 used gold source lag compensation, which was a maximum of 1000ms just like Source.
Whats most funny about this thread now... is that NS1 (and in part the unlagged mod for Q3 you linked) use a very similar system to Spark. Spark DOES lag compensate some projectiles, but aside from gorge spit/GLs most are not very important. Unlagged will actually allow for pings of up to ~800ms IIRC to still shoot directly on target
nobody actually uses unlagged with 800 ms of lag reconciliation. that's basically unlimited / uncapped
i don't know where people get this idea that quake uses unlagged just because some instagib servers were running that mod
it was rejected in favor of limited lag reconciliation + prediction. usually that limit was around 50-100ms depending on the exact game/weapon
Which is exactly what I said about Q3/QLive. Point being they are the ONLY *major* game to work like that anymore, and the gameplay is MUCH different from NS2. NS1 used the SAME exactly lag compensation system as NS2 and had a much higher emphasis on movement, and I don't think anyone wanted to lower the amount of lag compensation to 100ms. Playing with high ping has ALWAYS been a disadvantage, no sensible reason to make it worse especially with the player counts NS2 currently sees.
nobody actually uses unlagged with 800 ms of lag reconciliation. that's basically unlimited / uncapped
No offense, but you guys really need to just stop posting and go google / read a bit... the amount of misinformation and inaccurate claims you both are making is getting to be a bit ridiculous.
Here's my last contribution to this thread: There is no need to touch lag compensation. The issues you perceive and the differences between NS2 and every other game (the reason for this thread!) can largely be remedied by increasing the now unlocked rates. The more we improve server performance and bugs the better the rates you can use.
Here's a thought, with declining server pops, 100ms interp is actually a GOOD thing. What this means is is that EU should be able to play on US, Asia can play on US, and US can play in Asia or EU up to around 250ms without the game feeling 'frustrating'.
nobody actually uses unlagged with 800 ms of lag reconciliation. that's basically unlimited / uncapped
No offense, but you guys really need to just stop posting and go google / read a bit... the amount of misinformation and inaccurate claims you both are making is getting to be a bit ridiculous.
Here's my last contribution to this thread: There is no need to touch lag compensation. The issues you perceive and the differences between NS2 and every other game (the reason for this thread!) can largely be remedied by increasing the now unlocked rates. The more we improve server performance and bugs the better the rates you can use.
the math is weak in this one
even if you increase server performance ten-fold it does relatively nothing
updating 300 times (3 ms/tick) instead of 30 times (33 ms/tick) is only a 30ms difference in the worst case scenario
player hit points being 380 ms delayed instead of 400 ms delayed isn't going to solve anyone's issues
@IronHorse I hope you are right and these issues can be solved with raising the server rates. It would have been nice if you could have pointed out the misinformation I was spreading, but ok. I even took the trouble of reading Half-Life's network code paper again (already did that about a year ago) but I still dont know what incorrect information I was posting. I also dont know where you came up with the concrete values for lagcompensation caps, the 80 ms was just regarding to biz' post - I was not sure if XDragon knew how little time 80ms actually are.
DC_DarklingJoin Date: 2003-07-10Member: 18068Members, Constellation, Squad Five Blue, Squad Five Silver
A small detail id like to throw in..
If HL1s netcode was so insane awesome why did Valve make it much more similar to what ns2 is also doing in HL2 and beyond?
Comments
the antilag stops at 80 ms in that agme
any shots you land above that limit are a result of prediction and/or luck
all I know is that if the server enforces lag compensation limits, then players get notified within that limit (+ their ping), no matter what happens along the way
the only extra latency should come from the luck of whether an update made it in quickly or had to wait an entire update cycle to get through (an additional tick's worth of latency in the worst case)
instead of forcing everyone to accept 140 ms of delay, maybe let the client choose whether to display interp or not. i don't really understand the details of that bit
when we get notified about damage half a second late when we have good connections to the server, something is wrong
The simple fact that the attacker has an advantage defies the ambush tactics of skulks. The current form of lag compensation just does not work well with the game mechanics. It has its strengths in ranged vs ranged combat with slow moving players - CoD, Counter-Strike. NS2 does a great job in revealing the weakness of the common lag compensation mechanics.
PS: Afaik prediction is only used for the players own position (not sure though).
At least in ZPS when you are already around the corner for 0.5s, you definitively not getting bullets as zombie. In NS2 there is enough time for skulk to be happy thinking that he has escaped before finally catching that lead.
By the way, how it was in NS1?
At first 300 was the average ping number. Many issue plus the servers weren't that powerful. Then it got back to standard HL1 pings and behavior (At V2 if remember correctly). Clearly above NS2 or today games (in terms "NET quality").
Wait, what? I'm certainly not in the TOP best players!!!
It's just any other solution proposed so far is sub par. What's the use in pointing out the current problems if it's the only viable solution??
The only other method would have marines miss their shots constantly and have them guessing where to aim based on the enemy's latency just so that the rare ambushing skulk who incorrectly doesn't attack first has a slightly more effective result.
Also keeping in mind that the easier "hitting what you aim at" method currently only results in the TOP best players achieving ~20-30% accuracy anyways...
That's just not a good solution.
What's implemented is the most effective
I totally agree: 20% is more the normal Vet accuracy. NSL Div1 Player should have around 35-45% (ofc this depends also on the used weapon; shotgun > riftle )
example from Saunamen vs Titus, last night, note the lenght of the rounds, and you could watch vods from twitch if interested.
http://ns2stats.com/round/round/137113
http://ns2stats.com/round/round/137121
The difference between the two methods are: You always hit what you aim at but see a distorted reality from everyone else VS you see the real reality delayed by your ping and if your target changes his movement unpredictably within your latency, you dont hit what you see.
I wish we would have a larger scene so we wouldn't have to play with such high ping all the time to remain active.
1. Realtime world - delayed/laggy player
2. Delayed world - realtime player
it's not so binary
the game only has to be realtime from the point of view of the non-laggers
laggers shouldn't be allowed to let everyone else's worldview be delayed by huge amounts of time
i honestly don't know where people got this expectation that they should be able to play competitively with 250 ping
it doesn't happen in any other fast FPS, even ones with player bases that are way smaller than NS2's
How is that remotely better, having to adjust where you aim based on your current fluctuating latency???
You are saying "reality + your ping" like that somehow is more of an accurate representation than "hit what you aim at" when it clearly cannot be - ever.
Online gaming as an industry has abandoned that mindset since the turn of this last century for very good reasons.
Any claim that server side hit detection (lag compensation) is sub par for competitive shooters is ridiculous ..
Like I already said: It's currently employed in CS, Q3, TF2, Warsow, Tribes, Nexuiz, Loadout, Rise of the Triad and Shootmania - and many others I cannot think of off the top of my head.
I honestly don't know where people get this expectation that :
A) I am always going to connect to a server that is only 1 or 2 states away from me
The playerbase of the game could support such netcode limitations
C) Any implementation other than "hit what you aim at" is somehow going to be more accurate 8-}
Sorry to sound so argumentative in my response, but geeeeeze you guys are advocating for such an impractical concept that no competitive scene supports and that has been abandoned for good reason.
I have explained multiple times the problems of the current implementation. You keep misinterpreting or ignoring my arguments.
No. How many times do I have to explain this to you? You sound to me like you never played NS1 or any other HL1 mod.
And if everyone jumps off the bridge you follow suit? This is a terrible argument, especially when I made the case why common lagcompensation works in ranged vs ranged better than in ranged vs melee.
What I dont understand is you making claims about the playerbase, when the vast majority of your customers stopped playing after a few hours. I would argue that the "got killed but dont know how" effect this mechanic creates causes a lot of frustration, especially for beginners (killed around corner, dying before you realise you are under fire).
PS: I recommend you to read this link to understand how netcode works: http://www.ra.is/unlagged/
Make sure to read the "Another problem" section where he talks about the problem with pings >100 ms and games "where movement is important enough with respect to aim".
your "facts" are wrong
all antilag servers run limited backwards reconciliation for hitscan weapons (server-side primarly to avoid hackers / warpers)
and there's little-to-no antilag for projectiles (so that players can dodge rockets/spinfusors/grenades)
what some slow symmetrical game like CS does doesn't really apply to NS2
NS2's pace and combat engagement style is completely different
it doesn't matter if the majority of the FPS industry is moving towards low TTK.
NS2 isn't like those games. the netcode shares more requirements with arena shooters & fighting games
You already really cannot play this game competitively with 250+ ping. Sure its 'playable', but its a far different game compared to 30 ping vs 30 ping.
Suppose we have 70ms ping for each player: a skulk and a marine. Update rate is 20. Skulk is just behind the marine and they are not moving.
Skulk bites.
Skulk is not allowed to move.
Marine can move forward only after he notices that he is bitten.
Question: What human reaction time (in ms) marine must have to avoid the second bite?
But you got your numbers wrong. It is no 800 ms but 80 ms. 80 ms are 0.08 seconds.
I dont remember having to play different vs people with high ping, care to elaborate this? The problem with laggers was, if they started stuttering which is not directly related to high ping but to an unstable connection. High ping and unstable connection sometimes go hand in hand, for example if someone is downloading while playing.
@devel Im not sure who your question is directed to, I try to answer:
Currently in ns2 it would play out like this: Skulk starts the game with his bite. 70ms later, the server receives skulk's bite command, does the hit check and sends the message to the marine. So after 140 seconds the marine gets the info he is being attacked.
But here is the problem: Lets assume the marine has a personal teleportation device that lets him escape the skulk instantly. He triggers it as soon as he registers the bite (no human reaction time). So after another 70 ms, the server registers this and after another 70 ms the marine is gone on the Skulks monitor.
Which means 140 ms for the marine to even notice the bite and another 140 ms for the marine to disappear on the skulks pc = 280 ms.
Wiki says skulk attack rate is 0.45s = 450 ms. 450-280 = 170 ms time to react. This does not account for the time you need to walk out of skulk's bite range, thats why i mentioned the instant teleport away.
Quake3 uses 50ms IIRC with Quake Live being 80ms.. I think. But this comparison is mostly meaningless since there are a lot of differences between the gameplay.
NS1 used gold source lag compensation, which was a maximum of 1000ms just like Source.
nobody actually uses unlagged with 800 ms of lag reconciliation. that's basically unlimited / uncapped
i don't know where people get this idea that quake uses unlagged just because some instagib servers were running that mod
it was rejected in favor of limited lag reconciliation + prediction. usually that limit was around 50-100ms depending on the exact game/weapon
No offense, but you guys really need to just stop posting and go google / read a bit... the amount of misinformation and inaccurate claims you both are making is getting to be a bit ridiculous.
Here's my last contribution to this thread:
There is no need to touch lag compensation. The issues you perceive and the differences between NS2 and every other game (the reason for this thread!) can largely be remedied by increasing the now unlocked rates. The more we improve server performance and bugs the better the rates you can use.
the math is weak in this one
even if you increase server performance ten-fold it does relatively nothing
updating 300 times (3 ms/tick) instead of 30 times (33 ms/tick) is only a 30ms difference in the worst case scenario
player hit points being 380 ms delayed instead of 400 ms delayed isn't going to solve anyone's issues
If HL1s netcode was so insane awesome why did Valve make it much more similar to what ns2 is also doing in HL2 and beyond?