This game has WAY too much crap clogging up the intertubes



  • Chivalry’s networking is incredibly wasteful. The client seems to be relied upon for everything. Even the simplest of things like grunting are replicated function calls. There are functions for starting and ending parries and MaA dodges, there’s no reason the server can’t keep track of the parry/dodge. The hit registering function’s (AttackOtherPawn) arguments take up an absolutely massive amount of space. Most of this crap is an artifact of a poor netcode setup by Epic and Torn Banner.

    This game needs to do what Quake engine descendants like Age of Chivalry do. Tell the server when I press the attack/parry/dodge/whatever buttons and let the server keep track of my parry timers and sword swings. Use lag compensation to replicate what I see on my screen for hit registry. This also gets rid of the animation/actual hit desync with high latency jitter and packet loss.

    EDIT: This also causes large, sometimes up to 20ms rises in ping on a server with regular player counts compared to when it’s empty.



  • Work for TBS please.



  • @Event:

    Work for TBS please.



  • @Event:

    Work for TBS please.



  • Correct me if I’m wrong, but don’t grunts need to be replicated functions to prevent desynchs? If they were just calculated by timers on the server, a little lag plus a feint would make you grunt with no attack. Of course, I guess they could just make it so after x amount of time on the server you can’t feint, meaning there would a 200ms + half of whatever your ping is time at the end of windup that you can’t feint… that’s actually a pretty good idea… but then your client might thing you’re gonna feint and the server would have to say ‘nuh-uh.’ giving you some weird animations client side.



  • Ah so this is what you were saw when you were talking to me last night…Well I’m not one who knows much about net code but isn’t the reliance on client side reporting what makes the real time combat system in chivalry so special?



  • @Dr.Nick:

    Ah so this is what you were saw when you were talking to me last night…Well I’m not one who knows much about net code but I believe everything is done client side in Chivalry so we get the nice real time combat system that other games don’t have.

    Dr Nick. If you don’t understand programming don’t even bother submitting your opinion.



  • Thanks for that wonderful insight Greg. Rock solid logic you’ve got there.



  • @Dr.Nick:

    Thanks for that wonderful insight Greg. Rock solid logic you’ve got there.

    The logic is you don’t understand what you are talking about.

    You already admitted that in your post.

    So move on and maybe learn something before attesting to the amazing abilities of chivalry client side code when you don’t even understand the basics of network programming.



  • @Yazuak:

    Correct me if I’m wrong, but don’t grunts need to be replicated functions to prevent desynchs? If they were just calculated by timers on the server, a little lag plus a feint would make you grunt with no attack. Of course, I guess they could just make it so after x amount of time on the server you can’t feint, meaning there would a 200ms + half of whatever your ping is time at the end of windup that you can’t feint… that’s actually a pretty good idea… but then your client might thing you’re gonna feint and the server would have to say ‘nuh-uh.’ giving you some weird animations client side.

    No- I know what you’re thinking with the feint being delayed, but the swing is delayed too.



  • Well anyways I’m still very curious about a dev response to this.



  • For a melee game clientside hit detection is far better than server side would be. And I wouldn’t imagine lag compensation being very good at all.

    It works well for bullets and guns.

    But I would see a load of issues with melee combat.



  • @lemonater47:

    For a melee game clientside hit detection is far better than server side would be. And I wouldn’t imagine lag compensation being very good at all.

    It works well for bullets and guns.

    But I would see a load of issues with melee combat.

    When you state an opinion it’s a good idea to explain why you think that.



  • @Altimor:

    @lemonater47:

    For a melee game clientside hit detection is far better than server side would be. And I wouldn’t imagine lag compensation being very good at all.

    It works well for bullets and guns.

    But I would see a load of issues with melee combat.

    When you state an opinion it’s a good idea to explain why you think that.

    You got drags you got feints and its all UDP which isn’t 100% reliable. It’ll be really hard to get lag compensation to work. It would just look shonky. With first person shooters bullets travel super fast. So aiming at a moving target is still easy and you don’t even need lag compensation. The sniping can be a bit iffy sometimes but other than that its all smooth. But having high ping is unplayable for everyone. Te high ping player and everyone involved in combat with that high ping player. Though many times you can be shooing at someone with everything missing.

    Put that in chivalry. Swings are far slower than bullets. You would be swinging at people with the actual hits happening after you see it your weapon touch them. More hit trades would happen. Sticking in lag compensation could lead to the opposite. Hits happening before your swing connects as it wrongly compensates. Arrows would pass through people doing no damage.

    Client side hit detection is more satisfying and looks way better for the attacker. As many times the defender isn’t looking at what’s attacking him while the defender is always looking at what hes attacking. It would fix desyncs that the defender sees. But now the attacker will see these desyncs of their own weapons doing nothing.

    It doesn’t fix the problem. It just moves it.

    Though I agree more things should be put on the server. A server using only 10% of the CPU and virtually no RAM can have plenty more stuff done on it. Though not hit detection.

    Desync frequency also varies per server. I saw it consistently happen on official servers or private servers that run 32 players. While on other servers you might see it once every 5 games.

    And last patches fixed some desync issues.



  • @lemonater47:

    @Altimor:

    @lemonater47:

    For a melee game clientside hit detection is far better than server side would be. And I wouldn’t imagine lag compensation being very good at all.

    It works well for bullets and guns.

    But I would see a load of issues with melee combat.

    When you state an opinion it’s a good idea to explain why you think that.

    You got drags you got feints and its all UDP which isn’t 100% reliable. It’ll be really hard to get lag compensation to work. It would just look shonky. With first person shooters bullets travel super fast. So aiming at a moving target is still easy and you don’t even need lag compensation. The sniping can be a bit iffy sometimes but other than that its all smooth. But having high ping is unplayable for everyone. Te high ping player and everyone involved in combat with that high ping player. Though many times you can be shooing at someone with everything missing.

    Put that in chivalry. Swings are far slower than bullets. You would be swinging at people with the actual hits happening after you see it your weapon touch them. More hit trades would happen. Sticking in lag compensation could lead to the opposite. Hits happening before your swing connects as it wrongly compensates. Arrows would pass through people doing no damage.

    Client side hit detection is more satisfying and looks way better for the attacker. As many times the defender isn’t looking at what’s attacking him while the defender is always looking at what hes attacking. It would fix desyncs that the defender sees. But now the attacker will see these desyncs of their own weapons doing nothing.

    It doesn’t fix the problem. It just moves it.

    Though I agree more things should be put on the server. A server using only 10% of the CPU and virtually no RAM can have plenty more stuff done on it. Though not hit detection.

    Desync frequency also varies per server. I saw it consistently happen on official servers or private servers that run 32 players. While on other servers you might see it once every 5 games.

    And last patches fixed some desync issues.

    To put it bluntly you don’t know what you’re talking about

    Good UDP connections have very little packet loss and latency jitter, the only things required for lag compensation to be 99.9% the same as clientside hitreg

    It’s worth the faster connections imo



  • It all happened in counterstrike. It’ll be a hell of a lot more noticeable in chivalry. There is only one mind of server side lag compensation and that is to rewind time. It stores what ever happened in the last few moments and how far it goes is based on the two players pings. Which have to be very low. Also the amount it actually remembers in CS:S is very low. Because they also want to simulate bullet travel without the actually bullet travel. They have just out enough compensation in to make it so people won’t complain about ducking behind a wall and getting shot anyway. And to say that they have lag compensation and that it looks like there is bullet travel when there isn’t. Imagine what would happen if there was full lag compensation.

    Now imagine lag compensation in chivalry. There’s a predictive method as well but that would be even worse.



  • Jedi Academy/Jedi Outcast are based on id-tech3 and work great



  • @lemonater47:

    It all happened in counterstrike. It’ll be a hell of a lot more noticeable in chivalry. There is only one mind of server side lag compensation and that is to rewind time. It stores what ever happened in the last few moments and how far it goes is based on the two players pings. Which have to be very low. Also the amount it actually remembers in CS:S is very low. Because they also want to simulate bullet travel without the actually bullet travel. They have just out enough compensation in to make it so people won’t complain about ducking behind a wall and getting shot anyway. And to say that they have lag compensation and that it looks like there is bullet travel when there isn’t. Imagine what would happen if there was full lag compensation.

    Now imagine lag compensation in chivalry. There’s a predictive method as well but that would be even worse.

    None of what you’re saying is true. Source Engine’s default maximum lag compensation is an entire second.

    ConVar sv_maxunlag( “sv_maxunlag”, “1.0”, FCVAR_DEVELOPMENTONLY, “Maximum lag compensation in seconds”, true, 0.0f, true, 1.0f );



  • Eh, lag compensation. Ehhhh.



  • @dudeface:

    Eh, lag compensation. Ehhhh.

    Are you going to say anything else


Log in to reply