• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Antilag

you confuse lag with latency. this feature should be actualy called "anti-latency" instead of antilag to
describe it more correctly.
I don't get it. Lag is caused by latency, so if its anti-latency it is automatically anti-lag too, right?

thats not completely correct, as the "lagger" is usualy also effected (hes more used to it though).
is to prevent low pingers killing high pingers before they even got a chance to react.
It depends. In some games, the lagger is seen laggy but he can play perfectly fine and in some games he plays laggy while everyone sees him normally.
I prefer the latter because it doesn't make sense to punish every other player in the server for the crappy connection of one.

As far as I know other players in RO are seen normally even if they lag which is exactly how it should be.

And a ping of up to 150 is perfectly playable in most situations and no one should ping higher than that. At least not with dsl and everything lower is destined to be at a disadvantage and everyone who surfs with a 56k modem knows this.

Its ike people with a bad cpu (cpu and ram are the most limiting factors in RO). The game stutters for them so they can't be nearly as good as someone who plays on a better machine, but we can't do much about that.

Details could be removed from the map to make the game run better, but they are there and many people like them. This isn't 1999 anymore. Things have progressed and no one really wants to cut back in that progress just because someone can't afford to have up-to-date hardware.

Its exactly the same with people on a 56k modem or ISDN. I realize that there are people who simply don't have access to dsl but as rude this might sound this is bad luck. They are still able to play the game, just as someone with a rather slow cpu, but they are at a disadvantage.

A dsl connection (1000 is enough. That's what I have and RO works fine for me) shouldn't cause problems with lag that really hurt the gameplay.
Maybe if someone is connecting from over-sea or if there are lag-spikes/packet-loss but we can't really fight either of it, not even with Anti-Lag.



Btw. back in the days when dsl was introduced ISDN was actually faster to play with than dsl. Of course dsl could download faster, but ISDN players had lower pings.:p
 
Upvote 0
I don't get it. Lag is caused by latency, so if its anti-latency it is automatically anti-lag too, right?
kind of, lag is used by most ppl to describe a state of increased latency (lag spikes/very unstable ping) but some also use it to describe a constant high latency (ping goes up and stays there for a while, or is high all the time). no idea if thats the correct usage of the term or if its originaly intended to simply mean high latency.

i assumed you meant you never had problems with unstable ping. antilag lets everyone shoot like with 0 ping, but for it to be realy useful you need a kind of stable ping. if your connection is very laggy (lots of spikes, eg. when oversaturating your connection by using a too high rate) or has packetloss, antilag wont be able to straighten that, you will miss a lot. i dont know if it has to be like that, or if its simply done to avoid that ppl can exploit it, i just know that a stable ping is needed from own experience with it. so antilag as a name can be missleading as ppl use the term lag with different meanings.
It depends. In some games, the lagger is seen laggy but he can play perfectly fine and in some games he plays laggy while everyone sees him normally.
I prefer the latter because it doesn't make sense to punish every other player in the server for the crappy connection of one.
antilag is not intended for ppl with extreme lag spikes or faulty connections, its purpose is to let everyone aim as if having 0 ping.
it surely doesnt change a game for any player from "him seeing things laggy while everyone sees him normally" into "hes seen laggy but but for him everything looks smooth". it would merely make aiming for him easier and he would be still seen as smooth as before (and things would still look laggy for him).

well, maybe the game would become playable for some ppl that lag so badly that without antilag its completely pointless for them. so some laggers might be seen, but they surely wouldnt have any advantage except maybe that you arent used to them. and if you never saw a lagger in ROO by now, you most likely also wouldnt see one when antilag would be included. maybe roo server use interpolation and increased delay before rendering to make sure all stay smooth, that could also explain why roo pings are generaly higher (just guessing though, not realy familiar with the latest unreal engines).
anyway, to let everyone not enjoy the advantages of antilag just because some laggers might be seen, seems a bit harsh to me ;) after all they can still be kicked/banned, or you can use a max ping limit on servers, etc.

not to forget without antilag you hardly got a chance against a horizontaly moving target on short range (already if you got 100ish ms and the other 50ish ms) when both players perform equally in that moment. if the point you need to aim at for someone with 50 ping is like 30cm in front of the target and at 100 ping its 60cm (fictional numbers), then the difficulty to hit the target if it takes evasive actions increases exponentialy. just imagine moving a short stick from left to right. then replace it with a double as long stick and move your hand with the same speed. the tip of the stick has a much higher speed then the shorter one. so not only that its harder to focus the right spot the further away it is from the target, its on top moving faster on evasive actions.
imho leaving antilag out is not realy an option nowadays anymore. its not coincidence that the best engines use it (quake, unreal, source). or that the mega titles like etqw use it, improve it and actively use it as a feature to "brag with".
As far as I know other players in RO are seen normally even if they lag which is exactly how it should be.
as i said, antilag does not effect how you see them, it merely makes the server take your ping into account, so it can "remember" where you were, what you were aiming at and where the other players were, in the moment you pressed the mouse button to trigger the shot. without it the server assumes that you pressed the button in the moment it received the packet. pretty dumb server ;)
And a ping of up to 150 is perfectly playable in most situations and no one should ping higher than that. At least not with dsl and everything lower is destined to be at a disadvantage and everyone who surfs with a 56k modem knows this.
being at a heavy disadvantage on short range is not "perfectly playable" imho. and thats already the case at 100ms vs 50ms. personaly i find 150 too high already because single shot weapons are basicaly useless in short range combat at this ping. unless your opponent looks at you like a deer on the highway at night.
Its ike people with a bad cpu (cpu and ram are the most limiting factors in RO). The game stutters for them so they can't be nearly as good as someone who plays on a better machine, but we can't do much about that.
antilag doesnt effect that at all. and besides, just because we cant do anything about ppl having 3fps, it doesnt mean we shouldnt use antilag to even out the ping differences ;)
Details could be removed from the map to make the game run better, but they are there and many people like them. This isn't 1999 anymore. Things have progressed and no one really wants to cut back in that progress just because someone can't afford to have up-to-date hardware
exactly, and antilag is part of that progress, thats why the best engines all use it ;) and we shouldnt cut back on it just because some ppl loose their precious ping advantage and spread wrong rumors on forums :D
Its exactly the same with people on a 56k modem or ISDN. I realize that there are people who simply don't have access to dsl but as rude this might sound this is bad luck. They are still able to play the game, just as someone with a rather slow cpu, but they are at a disadvantage.
you can play with isdn as well as with dsl, you simply got a lower bandwidth. depending on which game you play, the max number of players you can play is simply lower. you can influence that number by changing the rate (bandwidth usage) of the game. lower rate = you get less of the gameworld updates (server fps)=your client gets more and more choppy. or you leave the rate high and get extreme lag spikes whenever too many ppl come into the area that is being rendered for you atm. in both cases antilag doesnt realy help against it.

i had isdn (128kbit dual channel) myself for quite a while (1024/320 now) and i played a lot of shooters with it. with some finetuning you can have perfect 4vs4 matches, same quality as dsl. up to 6 vs 6 it stayed nice, with more players it would become choppy. with antilag and isdn you can play like on a LAN if you know the relevant stuff.
for a 56k user antilag is especialy an improvement because even when an analogue modem offers a stable ping (which it rarely does though), its extremely high compared to digital connections (isdn/dsl/cable/t1 etc). he could still only play matches of 2v2 nicely, but those he could also play like with 0 ping if its stable.
anyway, its kind of a bad example because the number of players in ROO are usualy too high for both, isdn and 56k, and antilag couldnt change that.
A dsl connection (1000 is enough. That's what I have and RO works fine for me) shouldn't cause problems with lag that really hurt the gameplay.
what do you mean? with dsl you shouldnt have lagspikes or you shouldnt have high ping? both is not correct though ;) and as described before, if you play with a stable 100 ping, you are affected considerably already, and it gets worse the closer your targets are. i'm also on dsl btw, 1024/320 to be exact and my roo pings range from 60-120, although the 60ms ones (they are in my country) are almost always empty sadly. i play almost always with 100-120ms (uk/german/dutch/french servers).
Btw. back in the days when dsl was introduced ISDN was actually faster to play with than dsl. Of course dsl could download faster, but ISDN players had lower pings.
it can still be faster then dsl, it depends on if the dsl uses fastpath or not and your isp. its both digital connections after all.
fastpath is simply a name that is used so they can charge you money for it. in fact it merely means that interleaving is turned off at your dslam (in the office where the other end of your telefone line ends).
interleaving is a burst error correction, which delays all packets by something around 40 ms, and mixes them up with each other. like this when a burst error happens, it doesnt damage a single packet a lot, it damages a bit of each packet (as they are mixed up). like this you dont get a packetloss from the burst error, and the only slightly damaged packets can be repaired by the error correction once they arrive.

now that you mention it, in fact, some countries like spain do not use fastpath at all. so as a matter of fact, you have whole countries benefitting especialy from antilag.

the real problem why many shooters still dont use antilag is simply that not all the developers know much about it, and when looking into many forums, it seems like most ppl dont like it. which is not correct though, its simply a missperception.

it just seems like most ppl dislike it, because its mainly known among the players that loose their ping advantage.
thats because most of the players that note their performance (score/kill wise) is lower compared to other players in a game with antilag, realize sooner or later that its caused by antilag and then whine about it. they give a lot of reasons against it, most of which are totaly wrong though, and some even straight lies, and very often outright spam the forums with that sort of crap.

whereas the positive effects for players are not directly perceived as being caused by antilag by all the players that benefit from it. so the ppl that have an advantage without antilag think "omg i die, antilag is responsible" but the ppl who actualy benefit from it do not directly realize the great handling of the game comes from antilag. they simply think the game handles extremely well.

from the players who would actualy love it and actively want it, 99% either dont know anything about it or dont know enough about it to defend it against all the nonsense thats used as reasons against implementing it.
fortunately the devs of the best/major engines arent deceived so easily ;)
 
Upvote 0
whereas the positive effects for players are not directly perceived as being caused by antilag by all the players that benefit from it. so the ppl that have an advantage without antilag think "omg i die, antilag is responsible" but the ppl who actualy benefit from it do not directly realize the great handling of the game comes from antilag. they simply think the game handles extremely well.
Hm. You can't say much against it.
Its like saying: "Everything a human does he does for himself, even if he seems to do it for others". No one can ever argue against that.;)



But please explain to me how Anti-Lag would compensate for different pings among different players.

As far as I know, and that's admittedly pretty limited, there are "unlagged" functions for Quake.
With it, players can shoot at what they see and they hit where they shoot. So its like playing with a ping of 0 (apart from the "built-in lag" of 50ms or so of course).
The problem is, that sometimes players can make it around the corner without getting shot and suddenly they die, because someone hit them who had a rather high ping and on their screen you weren't around the corner already.

Different pings are different pings. There is nothign you could do about that other than to optimize the game to produce better pings in general.
Any attempt at compensating for different pings can only increase the lower one because the higher one is there no matter what. This would level the playing field, but I don't think its the right way to punish people with good connections for the weak connections of others.

The only other way to fight "lag" in the common sense of the word, is this unlagged thingy and this has the problem described above. I for one don't like to be able to shoot or be shot around corners...


So if you method works differently it would be cool if you could explain it in a short and easy-to-follow way so people without technical know-how (like me) can follow you.
I googled for Anti-Lag but the only thing I found was Vista Anti-Lag which helps to optimize your connection in Vista so you get less packetloss and lag-spikes.


Thanks in advance.
 
Upvote 0
the unlagged used in a quake mod (quake 2 or 3 engine, forgot the mod name, something with "urban" iirc) was the first one i heard of and antilag is the same afaik.

it doesnt do any strange stuff to compensate realy, it merely takes ping into account and is quite straight forward. not sure how i can describe it better then i already tried.

the "problem" with getting "shot around a corner" does exist, but its purely cosmetic and could even be avoided by an extra LOD check (which would use more server ressources though). the simpler solution is a max ping setting on the server. at eg. 200ms it would be only fractions of a second and not giving anyone any advantages nor stressing the server.

the low pinger still gets to see everything first, thanks to his faster connection. so he needs to react as usual, start evasive maneuvers/fire/get into better position or whatever.

and then it depends on how antilag is implemented. antilag can do a couple things, but it does not need to do all. it can

a) allow everyone to aim without worrying for ping (ie. take every players latency into account and use the entities'* (see end of post) positions in the moment the shots were triggered on the clients. without antilag, the server only takes the entities positions' in the moment it receives the packets into account, ignoring the fact that the shot was fired earlier)

b)make sure the high pinger gets a chance to react (so he doesnt get killed before things are visible on his screen. it basicaly waits for a time equal high pingers latency before marking him as dead and then checking how fast he actualy reacted in the encounter)(can result in bulletproof effect described below).

c) if a) or b) is used, there can be a line of sight (LOD) check to prevent ppl from dying around a corner. this significantly shifts the favor towards lower pings again though, and is probably only used as a compromise (so the whining on the forum isnt too loud :D). using a max ping limit on the server has basicaly the same effect and is the better solution imho. then the server admins can set it to their liking.

the dying around a corner thing is not realy a problem (decribed further below), as it happens to low and high pingers alike. you shouldnt forget, that as a low pinger on a game without antilag your distance to safety is much shorter when a high pinger spots you. due to the ping difference and fact that on top the high pinger needs to aim ahead further, cover is more effective.

every game is "playable" (also alphas are most likely to a point i would guess), but even when not being that obvious, ping differences play a major role in non antilagged games. no matter how rock solid the connections might be and how "smooth" gameplay seems to be without it.

of course, if you allow realy high pings on the server, this can lead to strange occurances, thats why even on games with antilag you find servers with ping max limits of in between 100 or 200 quite often.

i mean its obvious, if someone had 10000ms latency, and antilag would take this fully into account, you could be shot 10 seconds after you left the spot where the lagger saw you (this is exagerated, but draws the picture well).

with a ping limit of 100 or 200 on a server, its not a problem at all though cause we are merely talking about a very few frames (50 fps = 1 frame per 20ms). and it would mainly have this effect if you are running like a rabbit trying to get into cover.

on a firefight between 2 "mobile campers" (both are using cover to their full advantage, shortly looking then hiding again, changing position a tiny bit if possible and trying to get the shot out same moment as the other persons head shows), chances are even though. because "what you see is what you get" (ie. who kills faster, wins the encounter). the combat itself would be a bit timeshifted, but neither of the players (low or high pingers) would be at advantage or disadvantage, because they can focus on what they see. of course, holding your head out and waiting for the opponent to show his head can proove to be the wrong decision ;)

without antilag the person with a higher ping has no chance against an equal oppononent because even if he would be faster by a couple ms, he would die and his shot gets "canceled in the air".

ie. even though he was actualy faster, the non antilagged server doesnt accept his shot anymore because he thinks it was fired after the high pinger died. the higher the distance and the slower the bullets, the greater the chance for the high pinger to at least get his shot to be accepted by the server though.

Any attempt at compensating for different pings can only increase the lower one because the higher one is there no matter what. This would level the playing field, but I don't think its the right way to punish people with good connections for the weak connections of others.

yep, raising the pings could be a way to even the playing field, but antilag doesnt do anything like that ofc. i'm not sure, but joint ops: typhoon rising kind of gave me the feeling they tried to do something like that (even the lowest pings there being rather high). thats not antilag of course because antilag doesnt reduce the quality of the game for the low pinger. well, unless someone feels that not having so many easy targets anymore does lower the games quality. ;)

with antilag a game plays basicaly like a single player shooter. of course there are some cosmetic side effects, as everyone is basicaly playing in his own "timezone", but none of them cause imbalances like ping differences do. ppl react to what they see and concentrate on movement, cover and weapon handling, and the server "compares the different timezones" to see who actualy performed better.

the only problems are just cosmetic. the 2 i'm aware of are "being bulletproof" and "corner dying" ( "shooting around corners").

corner dying is mentioned a lot. its simply a death animation that is a bit timeshifted for the victim. he lives longer on his screen then he actualy did. if someone with a higher ping shoots at you while you run around a corner (or go into cover), then the high pinger sees that a tad later (because he sees everything a tad later). when he shoots then, just before he sees you dive into cover and hits you, then on your screen you are already a couple frames ahead of what the high pinger sees. as the antilag code allows the server to take ping into account, he knows that the high pinger hit you, just before you dived away. but due to the delay caused by playing over the internet, you receive that info (your death animation) a bit delayed.

but it should be only a fraction of a second and not half an hour later. and when it happens, you havent been visible any longer for the high pinger as you actualy should have been visible (the high pinger sees you longer but you also came into his view much later, its simply a tad time shifted).

for the high pinger it also happens but its less obvious as it can happen to him anyway also without antilag. it simply reflects the time that the client (player) needs to communicate with the server, so its merely cosmetic. to use this as an excuse against antilag would be like saying "we cant use antibiotics cause they taste bad".

the bulletproof effect could hardly be seen in ROO as its too slow paced of a game for it. in a realy fast paced shooter (the ones where "camper" is actualy an insult), if you play it enough, you more less know how many shots of a weapon will kill your opponent. now imagine you suddenly meet a high pinger.

you blow out your ammo as usual ...the moment of his expected death comes but... he doesnt die. and on top suddenly you die (your opponent was shooting also ofc)... OMG antilag ****s...

well, of course it doesnt. an encounter like this lasts only a very short moment. the more and longer you play those shooters, the shorter the timespans become that you are able to realize (ie you can start to see single frames even at decent fps). in this case, the low pinger blew out his ammo (one or 2 bursts on full auto), knows he was aiming right, and expected the opponent to die.

the server though didnt let the high pinger die yet, it waited to see how the high pinger reacted, and because the high pinger was actualy faster (ignoring the ping difference), the low pinger died. this usualy leaves the winner with no armor and little health, which shows that antilag does a great job on evening the field imho.

of course, without knowing about antilag, this situation seems horribly wrong and you feel like you died unjustified. the only thing that happened though was that the server waited the fraction of a second for the high pinger and let him react instead of killing him before his screen even showed whats going on. if the low pinger would have performed better, the tiny delay would have still been there, but the high pinger would have died instead.

like the corner dying, its merely a cosmetic problem.

the low pinger can kill as fast as always, the difference is though, that if the high pinger is faster, the low pinger faces the consequences with a tiny delay. of course many low pingers find this unbearable, but while they point at the delay, what they realy mean is that they die more ;)

--------------------------------------------

* "entities" are players as well as any "movable objects" (although they dont need to move) like doors, elevators, conditional objects (eg some geometry that only shows up when the map is played in a certain gametype) etc.. basicaly almost everything that is not part of the bsp (the static geometry of the map).

edit: made the "corner dying" part a bit longer
 
Last edited:
Upvote 0
oops, erm, was that short enough? :D

edit: to clarify a)

on a non antilagged server:

you shoot. your shot travels to the server. the server receives the packet and sees you fired. it checks where you are, where everyone else is and which direction you fire (right in the moment he receives the packet).

because the packet containing the data of the shot was traveling a while from you to the server, you need to aim ahead of the spot you would usualy fire at when shooting a moving target. so you need to aim ahead double. one part for compensating the bullet travel time, and another part for compensating the travel time the packet takes to travel from you to the server.

on a antilagged server:

you shoot. your shot travels to the server. the server receives the packet and sees you fired and when you fired. it checks where you were when you pressed the fire button, where everyone else was and where you were aiming at that moment.

because the server takes the time the packet was traveling from you to the server into account, you just need to consider the bullet travel time when aiming at the spot where the bullet intercepts the target.
 
Last edited:
Upvote 0
Ah, thanks a lot for explaining that to me. After your explanation I don't think a line-of-sight check is needed (LOD means Level-of-Detail btw. and its used by engines to reduce detail in objects when they are too far away to notice said details anyway). Faults like that "die around a corner" and so forth wouldn't occur if everyone had a ping of 0 and if they occur they just seem to occur, but in fact, juding by the skill of the players who are involved in such a scenario did not happen. It only happens in situations where the lowpinger would have had his advantage which is eradicated by anti-lag. Sounds fair enough to me after you explained it again.

The only problem I have now is that a server would require a max-ping setting.
I used to play UT2003 on an ISDN connection before I got dsl (1000. nothing fancy) and UT2004 and my ping was usually between 150 and 300. Of course I was at a disadvantage, but at least I was able to play.
If we had a max ping of 200ms some people might not be able to play anymore at all.
And what happens during lag-spikes. At least once every two rounds my ping skyrockets to 999ms (most likely more but the game can't display more I guess) for a few seconds. Would I get kicked then?

We would definately need options to set the time someone is allowed to go over the max ping before he is kicked and options to change the allowed max ping for the server so that people with weak connections can still find kind servers that allow their high ping.
 
Upvote 0
i meant LOS, not LOD, sorry :D lod is for geometry and textures.

its up to each servers admin if they use a max_ping limit or not. there were usualy lots of servers without those restrictions and only a few had realy low settings of 90 or 100. you would basicaly find anything from 90 to 600 besides the servers without restrictions.

not sure how fast you would get kicked on a suddenly raised ping, thats probably up to the devs. i sometimes played on servers where i was just right on the ping limit (trying like 5 times before the server let me in), going above the limit a bit regularely and cant remember to have been autokicked. i didnt have >999 ping though, but i doubt that if it only lasts a few seconds, it would directly kick you. you should investigate a bit, a regular 999 ping shouldnt happen, maybe you got spyware, packetloss or your isp has issues.

i didnt see a variable yet to set the time until being kicked when breaking the limit, but that shouldnt be problem most likely.
 
Upvote 0
No spyware on my end. At least nothing HijackThis and AVG can't detect. I had these lag-spikes ever since I started to play RO and they are rare enough so they aren't a big annoyance. Most of the time they happen for me is when I'm waiting to respawn anyway.

It would be cool if a dev could state his opinion on this matter in here (Anti-Lag, not my lag-spikes that is).
 
Upvote 0