Latency noticeable when toggling run
Last night I played on a high ping server for the first time (UK to beta patch 1 server).
While the game felt pretty much the same, the one thing that stood out as being ‘wrong’ was the way my latency effected toggling of run.
Each time I engaged run I would feel the 150ms of latency delaying my activation, followed by a lurch forward. It felt quite horrible.
I’m assuming this is how the game has felt for HPBs up till now, and isn’t a quirk of the beta patch.
My point is, this shouldn’t be the case - client side prediction isn’t working properly for this action.
Latency should only be noticeable when you are interacting with objects that the client doesn’t have accurate information on. (typically other players, projectiles, and if poorly implemented pushables too)
This lack of accurate client side prediction extends to interaction with static meshes too; when performing some of my map exploit jumps it’s very noticeable that the client and server are not predicting my interactions with static meshes harmoniously. Often I’ll make a successful jump, only for the server to then ‘correct’ my position and fail the jump.
Something fundamental is amiss.
I’m just wildly speculating here, but: i’ve noticed the client requires the server to _acknowledge _the sprint command.
So after you press sprint your local chivalry client connects to the server and asks ‘can i sprint?’. The server checks if you have enough stamina and gives the go ahead.
Whether this is bad design, i don’t know. But it is very noticable, especially with higher latency. To be fair, i don’t think a game like this should be optimized for 150+ ping. I’d say optimize for 50 or so. But thats besides the point.
I’m guessing the whole you-can-only-sprint-after-the-server-acknowledges-it delay might be a conscious choice by the developers, maybe to make cheating harder. Who knows. Maybe it was just easier to build it that way.
Anyhoo, i agree the game has many odd moments where client and server seem out of sync, especially when playing on a server with people with high pings. Odd behaviour like ‘snapping back’ seems common.
Honestly, i’m not really sure why the client needs the server to confirm when you start sprinting, because crouching and other movements don’t seem to suffer from the same limitation. I wonder if they could easily change it.
I wonder if this in the baseengine.ini has something to do with it?
;If the server is starting to take too long to do each frame, this will automatically tradeoff increased network use for decreased CPU use
;A more aggressive way of decreasing CPU use; sort of like having the Auto Adjust always going at medium strength. Can combine with the above setting.
;Even more aggressive. Can also combine with bAllowRelevancyAutoAdjust, but this is almost at full strength on its own. This includes bNoComplexPawnRelevancy, there’s no need to combine both.
The default is set to FALSE for all of them but I changed them to TRUE just to try to reduce some CPU lag I get at certain times, maybe it’ll fix your issue or make no difference at all :P