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
). 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