Is there any Lag compensation or interpolation in CMW?



  • Every now and then I hear people throw around that this game has no lag compensation.
    Is this statement meant to be taken literally or just an implication that it’s very poor?

    Is this why players with 100+ high pings have desyncs with where their actual swing is and what the character animation is showing to everyone else?



  • There’s no lag compensation. But even those with 30 ms ping have desync issue.



  • UE3 uses very accurate client side movement prediction rather than lag compensation. Essentially rather than saying “Well even though the player was over there, the other guy thought he was here, so we’ll count that as a hit” the game attempts to actually sync up locations for all players on the server, so you won’t be getting hit after you’ve moved out of range of an attack just because you were still in range on the attacker’s screen.

    Lag compensation works okay for shooters, but it’s pretty awful for melee compared to prediction. You can download Age of Chivalry, which is on the Source engine and thus uses Source’s lag compensation, and see for yourself how bad it makes things. Or you can just recall all the times you’ve been killed in games like TF2 or Counter-strike after you ducked behind cover because to the other guy you were still standing out in the open, and then imagine that happens every time you move out of range of someone’s weapon in Chivalry.



  • @SlyGoat:

    UE3 uses very accurate client side movement prediction rather than lag compensation. Essentially rather than saying “Well even though the player was over there, the other guy thought he was here, so we’ll count that as a hit” the game attempts to actually sync up locations for all players on the server, so you won’t be getting hit after you’ve moved out of range of an attack just because you were still in range on the attacker’s screen.

    Lag compensation works okay for shooters, but it’s pretty awful for melee compared to prediction. You can download Age of Chivalry, which is on the Source engine and thus uses Source’s lag compensation, and see for yourself how bad it makes things. Or you can just recall all the times you’ve been killed in games like TF2 or Counter-strike after you ducked behind cover because to the other guy you were still standing out in the open, and then imagine that happens every time you move out of range of someone’s weapon in Chivalry.

    Lag compensation or not, attackers being able to go around your side (even though they seem to be in front of you) is really frustrating.



  • Regardless game engine, Counter strike’s netcode seemed far more advance a decade ago than what we see in Chivalry. Game engine and net code is not the same.



  • Are you kidding? IS there? This game compensates more than any I’ve ever played. Its hilariously over done. a guy with 300 ping running a server because its impossible to block anything he sends at you and you cant hit him? Its silly.



  • @bluezero2x:

    Are you kidding? IS there? This game compensates more than any I’ve ever played. Its hilariously over done. a guy with 300 ping running a server because its impossible to block anything he sends at you and you cant hit him? Its silly.

    It’s not because the game compensates for lag. The game is too much client-sided so even if your opponent seems like he hasnt hit you, you are hit because all that matters is how opponent saw on his screen that hit you. That’s why you see high ping players animation skipping around and hitting you, and you cant hit him because you cant land a swing on a player that is jumping around.



  • @boomandvibe:

    @bluezero2x:

    Are you kidding? IS there? This game compensates more than any I’ve ever played. Its hilariously over done. a guy with 300 ping running a server because its impossible to block anything he sends at you and you cant hit him? Its silly.

    It’s not because the game compensates for lag. The game is too much client-sided so even if your opponent seems like he hasnt hit you, you are hit because all that matters is how opponent saw on his screen that hit you. That’s why you see high ping players animation skipping around and hitting you, and you cant hit him because you cant land a swing on a player that is jumping around.

    @SlyGoat:

    UE3 uses very accurate client side movement prediction rather than lag compensation. Essentially rather than saying “Well even though the player was over there, the other guy thought he was here, so we’ll count that as a hit” the game attempts to actually sync up locations for all players on the server, so you won’t be getting hit after you’ve moved out of range of an attack just because you were still in range on the attacker’s screen.

    Lag compensation works okay for shooters, but it’s pretty awful for melee compared to prediction. You can download Age of Chivalry, which is on the Source engine and thus uses Source’s lag compensation, and see for yourself how bad it makes things. Or you can just recall all the times you’ve been killed in games like TF2 or Counter-strike after you ducked behind cover because to the other guy you were still standing out in the open, and then imagine that happens every time you move out of range of someone’s weapon in Chivalry.

    Bold.



  • @Anonymoose:

    @boomandvibe:

    @bluezero2x:

    Are you kidding? IS there? This game compensates more than any I’ve ever played. Its hilariously over done. a guy with 300 ping running a server because its impossible to block anything he sends at you and you cant hit him? Its silly.

    It’s not because the game compensates for lag. The game is too much client-sided so even if your opponent seems like he hasnt hit you, you are hit because all that matters is how opponent saw on his screen that hit you. That’s why you see high ping players animation skipping around and hitting you, and you cant hit him because you cant land a swing on a player that is jumping around.

    @SlyGoat:

    UE3 uses very accurate client side movement prediction rather than lag compensation. Essentially rather than saying “Well even though the player was over there, the other guy thought he was here, so we’ll count that as a hit” the game attempts to actually sync up locations for all players on the server, so you won’t be getting hit after you’ve moved out of range of an attack just because you were still in range on the attacker’s screen.

    Lag compensation works okay for shooters, but it’s pretty awful for melee compared to prediction. You can download Age of Chivalry, which is on the Source engine and thus uses Source’s lag compensation, and see for yourself how bad it makes things. Or you can just recall all the times you’ve been killed in games like TF2 or Counter-strike after you ducked behind cover because to the other guy you were still standing out in the open, and then imagine that happens every time you move out of range of someone’s weapon in Chivalry.

    Bold.

    Slygoat said it so it must be true. It’s as if people playing games built on UE3 and complaining about bad netcode doesnt mean anything. Hmm.

    UE3 netcode is good but it can be better. Clientside prediction is bad on the defenders point of view. This ‘smoothing out’ of movement makes player position delayed than it actually is. This is why you can run around someone so easily. But hey nothing is perfect.



  • I take it that improving the net code would require resources and effort beyond the scope of a small company like TB? (At least for sufficient & worthwhile performance gains)

    But overall, sometimes I feel like the combat experiences against higher pingers is worse than those in AoC with Source’s lag compensation.



  • @boomandvibe:

    UE3 netcode is good but it can be better. Clientside prediction is bad on the defenders point of view. This ‘smoothing out’ of movement makes player position delayed than it actually is. This is why you can run around someone so easily. But hey nothing is perfect.

    I have absolutely no clue of programming, but CMW has some lag issues that really should not exist. Players moving to your side and stabbing you is definately the worst of it. It is like AoC, you have to know when to block and not when you “see” it is right to block. I never knew AoC had lag compensation….that game was so laggy :D

    One idea: (don’t laugh at me if it is stupid programming wise :( ) Why not make a client side parry check? So if I parried correct on my screen I’m not taking any damage. Or would this make it favorable to have a high ping?



  • @Falc:

    @boomandvibe:

    UE3 netcode is good but it can be better. Clientside prediction is bad on the defenders point of view. This ‘smoothing out’ of movement makes player position delayed than it actually is. This is why you can run around someone so easily. But hey nothing is perfect.

    I have absolutely no clue of programming, but CMW has some lag issues that really should not exist. Players moving to your side and stabbing you is definately the worst of it. It is like AoC, you have to know when to block and not when you “see” it is right to block. I never knew AoC had lag compensation….that game was so laggy :D

    One idea: (don’t laugh at me if it is stupid programming wise :( ) Why not make a client side parry check? So if I parried correct on my screen I’m not taking any damage. Or would this make it favorable to have a high ping?

    This is impossible to do currently. It is the engine’s limitation, not TB’s fault.

    One thing they could do (now i dont know if its possible) to make the hit tracer lag behind the animation. This will make the hit tracer in sync with the delayed animation on the defender’s pov. However, this will make attackers experience worse.

    The delay is evident if you put two computers side by side. I tested this and there was a small delay. Id assume the difference is bigger between two players farther away from each other.



  • We are looking into any netcode improvements we can make - it requires some particular tools and methods in order to test it easily with such a small team, though, so we’re progressing towards it pretty slowly while we’re working on other things, since there isn’t even a guarantee there are things we can improve within our scope. Once we’ve got the right tool set we’ll be able to at least gauge how much impact our efforts will make, so we’ll know how much work to put in.

    On the bright side we’ve got two more programmers now, so things should move along much quicker in the near future.



  • That’s a great news, both about working on netcode aswell as new programmers. :)



  • @SlyGoat:

    We are looking into any netcode improvements we can make - it requires some particular tools and methods in order to test it easily with such a small team, though, so we’re progressing towards it pretty slowly while we’re working on other things, since there isn’t even a guarantee there are things we can improve within our scope. Once we’ve got the right tool set we’ll be able to at least gauge how much impact our efforts will make, so we’ll know how much work to put in.

    On the bright side we’ve got two more programmers now, so things should move along much quicker in the near future.

    Great news!



  • kyN9qrxyMf4

    Laggers… -.- Well hopefully it gets better.



  • @Corpsey:

    kyN9qrxyMf4

    Laggers… -.- Well hopefully it gets better.

    Damn, that sucks.



  • Counter strike’s netcode seemed far more advance a decade ago than what we see in Chivalry. Game engine and net code is not the same.



  • About above video. That bug is much more evidently with playing an archer. You shoot and someone’s back and arrow appeared thrusted infront of him in his shield. Well, ofcouse that was before when they didn’t screw up showing arrows in body. Now all we get is hearing that “tick” sound and no damage.



  • Shitty lag in this game starting to get seriously annoying.