When i plant a bomb and keep moving i warp back a square to the bomb, it often gets me stuck. It's a rubberband type effects.
This game has zero lag compensation it seems.
planting bombs in arena warps me backwards.
Due to rules in the game mode, bombs have to be placed in the center of a square. Ironically, its the loose sync that gets you into trouble in the first place. The server uses a simple sanity check on player movement to make sure they don't walk through solid objects. The method appears to be something like checking the last and new positions to see if it can be reached in a straight line, and must be within x distance. There is a certain margin of error that allows this to work under normal circumstances.
The blast network has 2 traits that amplify the effects. First being all the sharp turns. Second being that it actually snaps you into the center of a square during bomb placement, and technically your knight comes to a full stop (like all bombs). If your doing this on the move, with high speed boost, and significant latency, the server still thinks your standing in the center of a square when the client suddenly tells it your a block away... nuh uh. Then the server forces you back where it thinks your supposed to be.
I don't know if theres a cap on the speed boost, but I expect them to limit it further if the desync continues to be a problem.
They really need to introduce some kind of lag compensation. The server overriding anything the client sees just doesn't work satisfactorily.
@CeCeeS: Its already part of the code, otherwise you couldn't move without getting pulled back.
Do you know that or are you guessing? While the lag surely not always is the same, you definately put up your shield and this is acknowledged only some time after that. I would go as far as claiming it is like this all the time.
And if you go some direction and are not held back in any way, there is no difference visible between the client and the server information. When it is, like in the case of planting a bomb (you run away, but the server was not finished with the command which also stops your movement, putting you back to the bomb location), there is rubberbanding.
Easiest way to understand what I'm talking about is to pick up a Key and walk around while looking at the mini map. Your dot moves, while the key icon drags behind it. If you stop, then it centers on you. If someone else has the key, the dot and key move together.
That small margin of error is allowed so the game looks more fluid. But like any major multiplayer game, if theres ever a significant conflict between information on the client and server, the server will win. If its not done that way, anyone could override data in the client's memory to allow almost any value (both practical and impractical) and essentially hack their character or the game.
Lag compensation already exists for player attacks: they can subtract latency from your attack's hitbox timing. Presumably this is also why another player's gun bullets will always seem to travel faster and farther than yours, when you're using the same gun. (Try firing Proto Guns with another player in the Training hall, you'll see it.)
Lag compensation does not exist for blocking, because blocking happens the instant the server receives the block command. In order to block any earlier than that, the server would have to instantly read your mind or look into the future and predict exactly when you pressed the block button clientside... or it could try compensating retroactively, which would be easily exploitable with clientside hacks to make you invincible. ("Player took damage? NO, I ACTUALLY JUST HAD A SPIKE OF 875 PING AND WAS TOTALLY BLOCKING A SPLIT SECOND BEFORE THAT HAPPENED.")
I understand zero of server-client interface, but from what you guys just said, I've just concluded that online games are impossible. D=
starlinvf:
That actually is about what I meant. Okay, maybe there is lag compensation to a small degree (with the effect of cl_interp or cl_smooth in Source games, possibly), but nearly not enough.
Gigafreak:
The retroactive compensation actually works quite nicely in Source games like CS:S or Team Fortress 2. They are by no means perfect, but much better than what is happening here.
"The retroactive compensation actually works quite nicely in Source games like CS:S or Team Fortress 2. They are by no means perfect, but much better than what is happening here."
1) Source isn't running in Java
2) Lag Compensation on Source's hitscan guns is not comparable to Spiral Knights' instant shielding
3) If you wanted to insist it was, I'd have to point out that aimbots have exploited that system for years, only reinforcing the fact that lag-compensating your shield would make shieldbots possible.
4) When you get hit, everyone else in your party has already seen you get hit and has already seen your lifebars spill onto the floor. That's latency. Lag-comensating your shield would undo this in front of everyone's eyes and make you look like a cheater. (Especially if it would have undone status effects placed on you by that very attack.)
I did a quick read up on Source engine behavior, and I don't see anything about retroactive compensation. At closest to it is an explanation of movement prediction and Interpolation, but theres nothing to suggest conflict resolution can be decided by the client side.
if you are lagging, sometimes,
you are stuck around a corner on the server side
and after awhileyou get pulled back to the corner.
the bomb arena has lots of corners =[