Forums » Suggestions
Benefits/drawbacks of lag
Right now as the game stands players who lag can use that to their advantage to skip around suddenly rather than moving smoothly. This can be used as an exploit and is greatly annoying and game breaking. Is there a way that the server can have final say in where a ship or weapons fire is in space and take input as to movement from the client and not position? I don't know how that all works or if that would take a major rewrite but if this could be done it would make fighting a battle with lag a risky thing for the lagger and not an easy way to get pks. I know in other games if you have bad lag you can't control your ship due to a delay between control input and ship response. While annoying as hell, this is more fair than giving the advantage to the lagger and basically encouraging untraceable exploitation.
-1 Latency is beyond the control of the devs. It just happens, even on the fastest internet. Making the game unplayable when lag is present is not the way to go. That would only run much of the playerbase away. I think at some point there should be a warning or even a server kick at extremely high periods of lag, but cutting control input is silly.
This is not a suggestion per se, but thanks for posting this.
I do not agree that 'latency is beyond control of the devs', at least not that kind of some players latency that significantly affects the gameplay for other players.
I believe developers can always put in effect a 'safety check' for acceptable latency and if server check returns values above that set boundary - drop the laggsters connection/kick him off server.
I do not agree that 'latency is beyond control of the devs', at least not that kind of some players latency that significantly affects the gameplay for other players.
I believe developers can always put in effect a 'safety check' for acceptable latency and if server check returns values above that set boundary - drop the laggsters connection/kick him off server.
What bojan said: if mobile is the "future" of VO, something like this is necessary because there are a lot of unplayably laggy mobile users right now and it seems it will only get worse.
Clearly what we need is a button that a player can click that kills their opponent since they would have won without the lag.
Clearly what we need is a button that a player can click that kills their opponent since they would have won without the lag.
In many cases that is exactly the case. A very laggy player can actually escape with their life while running simply because you cannot get an accurate fix on where they are to shoot them as they're skipping a couple hundred meters around every second or two instead of flying from point A to B, and while you may think they're less than 1000m away when they jump (your targeting info says so, so it's a fair belief) they're actually more than that because lag jump! so you don't see where they ran to.
In many cases that is exactly the case. A very laggy player can actually escape with their life while running simply because you cannot get an accurate fix on where they are to shoot them as they're skipping a couple hundred meters around every second or two instead of flying from point A to B, and while you may think they're less than 1000m away when they jump (your targeting info says so, so it's a fair belief) they're actually more than that because lag jump! so you don't see where they ran to.
I agree that lag can cause issues, and the devs should do what they can to mitigate advantage from lag, but the nature of this game makes it really difficult to isolate what problems lag is causing and even more difficult to do anything about it. Worth a conversation so I'm not going to say -1, but some suggestions are just not going to be plausible given the way the game works.
Yes, it's a hard one indeed. Even with some very clever client-side prediction, and with a server-side ship projection, lag would still make people jumpy or warpy. Even using ping as a benchmark to "kick" players would not achieve much more than annoy a few.
An example:
Martin.mac.au constantly had a ping of around 400ms. He was a little bit laggy at times, but overall his connection was stable, and you could fight him without him warping around. Take in comparison 12netjuan - this guy claims to have a ping of around 50ms (I cannot verify these ping times of course) - but yet he warps around, has invisi-gat etc etc. There is a lot more to latency than just a high ping, or a slow connection.
Working out who has a stable connection is a lot more than just ping times or connection speed. Especially when dealing with out-of-order UDP packets. The client sends a packet saying "I'm here, and I'm moving to here!" the server processes this movement, but the client has already sent a packet saying "but I went here instead! I told you before!" now the server can do two things, accept the new destination if it was not *out of bounds* or reject it. Either way someone's client is going to be upset. It's just the way of the world when dealing with UDP and fast moving client/server logic.
Sure, some other games deal with this differently and that is where "rubber banding" or "prediction" come in, but even that isn't perfect. Dropping people who have a bad connection is only going to penalise mobile users more than they already are, but it really is the only way to solve this for those of us with good connections.
Anyway, tl;dr version is:
Dropping people from the game because they are "laggy" is probably the best option, but even that is a hard one to determine.
--- [edit] ---
Of course another good idea is to give targets visible lag meters. Of course they may not be perfect, and would only represent lag between a given client and the server, but it would at least let us make an informed decision as to whether to engage that pilot or not. It would also help to alleviate the arguments as to "who" was laggy.
An example:
Martin.mac.au constantly had a ping of around 400ms. He was a little bit laggy at times, but overall his connection was stable, and you could fight him without him warping around. Take in comparison 12netjuan - this guy claims to have a ping of around 50ms (I cannot verify these ping times of course) - but yet he warps around, has invisi-gat etc etc. There is a lot more to latency than just a high ping, or a slow connection.
Working out who has a stable connection is a lot more than just ping times or connection speed. Especially when dealing with out-of-order UDP packets. The client sends a packet saying "I'm here, and I'm moving to here!" the server processes this movement, but the client has already sent a packet saying "but I went here instead! I told you before!" now the server can do two things, accept the new destination if it was not *out of bounds* or reject it. Either way someone's client is going to be upset. It's just the way of the world when dealing with UDP and fast moving client/server logic.
Sure, some other games deal with this differently and that is where "rubber banding" or "prediction" come in, but even that isn't perfect. Dropping people who have a bad connection is only going to penalise mobile users more than they already are, but it really is the only way to solve this for those of us with good connections.
Anyway, tl;dr version is:
Dropping people from the game because they are "laggy" is probably the best option, but even that is a hard one to determine.
--- [edit] ---
Of course another good idea is to give targets visible lag meters. Of course they may not be perfect, and would only represent lag between a given client and the server, but it would at least let us make an informed decision as to whether to engage that pilot or not. It would also help to alleviate the arguments as to "who" was laggy.
If there is a way for the server to determine who is laggy and jumps around, make it so the /duel command will not work for them at that time.
That doesn't fix people who purposefully add lag.
It's not the obvious 1000m jumps that are damaging, its the smaller 25m jumps that are almost undetectable that are game-breaking.
Gotta love jacks exploding 300m away from you and still taking dmg. Wireless handshakes make VO unstable, and several high pingers take advantage of both.