Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie
Hi there,
There is an issue with role permissions that is being worked on at the moment.
If you are having trouble with access or permissions on regional forums please post here to get access: https://www.boards.ie/discussion/2058365403/you-do-not-have-permission-for-that#latest

Lag Comp and all that.......

  • 27-11-2012 12:37PM
    #1
    Closed Accounts Posts: 488 ✭✭


    Lag compensation...what it is. How it works. What they have done to it.

    This will mostly be based on MW3. Blops2 is just weird now and I’m still trying to figure out what they have done…….

    First off, just to clear up some of the common misconceptions.

    If you want to know what your true connection is go to pingtests.net. Run a test. The lower the number and the less jitter the better. Bandwidth is largely irrelevant in online games; a typical cod game uses about 10-15mb up/down per hour. That’s a decent mp3, so if you have 100mb fiber up and down yet a 200ms ping, you will for the most part have a rough online gaming experience. Recent COD games aside. It’s all about your ping. Remember in the late 90's we played on 56k dial up modems. Broadband was a distant dream to us back then :)

    Ping is simply how long it takes a computer to send packets of data to another computer and back. It’s a round trip (well with TCP-IP it is due to the inherent handshake in the protocol)



    Lag compensation.

    In the early days when online games were being developed the latency (ping) between computers was a problem. If say a player was running across your line of sight, you have to lead you shot, aim ahead of them, in order for the bullet to register. This is due to the time it take the data to reach the server and the get sent to whoever you are shooting at. When a player is running at you or away from you it’s less of an issue as the bullets just take longer/shorter time frames to reach the player.

    So several methods were developed to "compensate" for this. The one we are interested in is called rewind. Think of it like a sky + box, which can rewind live TV. It essentially does the same thing. The host keeps all recent player movement in memory and so when you shoot at a player the host knows the player "was" there, so you shots are registered. There is as I’m sure a lot of people know a lot more to it, but that the basic method and a tried and test one. Rewind is and will be by far the most popular type of compensation for online games and it's the one that presents the least problems. If well executed and with P2P, good matchmaking, it can have terrific results, like COD4 and MW2.


    So what changed...

    Well essentially the success of the series and people (including people I have seen on here) whining about host advantage. Blops1 MW3 and Blops2 have all added software to try and equalize the differences in player’s pings, and the host.
    Ping equalization…fair for everyone????
    Mw3 added an active delay to anyone below a ping number(don’t know what it was, they never said) and tried to bring that player in line with the rest of the lobby. This was especially noticeable when you were hosting the lobby. Again they never gave details and there are several methods I could think of but I’ll just us the one below as an example.

    Typical MW2 lobby
    Host 0ms ping
    player1 15ms ping
    player2 50ms ping
    player3 100ms ping

    Typical MW3 lobby (blops2 I’m unsure yet?)

    Host 0ms +100ms
    player1 15ms + 85ms
    player2 50ms+50ms
    player3 100ms


    As you can see, in the mw3 lobby the software on the host is actively adding a delay to players ping to bring them all into line with player3's 100ms ping. Like I said it's unclear what method they actually used, they could have used a % system, say get all players to within 20% of the worst ping in the lobby, having an upper ping limit of some sort, anyone over 200ms gets ignored. this explains all the early mw3 lobbies where everyone had a 3 bar. technically this is not lag compensation, this is additional software attempting to equalize the latency. and it's this that causing all the problems. Blops 2 seems to be using similar software, but I still can’t really tell what they are trying to do exactly. One big hint is they switched to ping based matchmaking, believing that filling lobbies with similar ping(or close enough) this would result in the effects not being noticeable. I'm still looking into it. You will see several updates from 3arc in the coming weeks/months like with mw3 talking about balancing the lag comp. what they are balancing is the ping equalization software, trying to make it acceptable to everyone. In mw2/cod4 there was no balancing of this type, as this software(ping equalization) simply did not exist in those games.

    Animations are local.....

    So in MW3 it was easy to tell if and by how much you were being lagged out by. record yourself in a private game and throw a semtex. You will see the semtex fly out of the players hand instantly (no latency as you are local). Now with your 4bar (lol) in mw3(online) throw a semtex, and you will see a delay (if you are lagging badly enough) The animation is the same, but you will see a delay in when the semtex appears) simply pull the 2 clips into Vegas, match the frames. Then just count frames from when the private game's semtex appeared on screen, and the online semtex appears on screen. 1 frame=17ms. The reason this works is as I have stated above, animations are local. Your player’s animation of throwing a semtex is irrelevant to the rest of the lobby. The semtex itself is not, hence your game, tells the host you are throwing a semtex (where/what direction and so on) but you only see the semtex when all the other players in the lobby have been told this. . I have done this several times and 200ms is the usual number (I have a 13ms ping normally ) 200ms is not insignificant. and it’s just on a timescale humans can notice. But the same thing goes for guns. So when you ADS and start firing at a player, the animation is local, but like the semtex there is a delay. That’s why you lose so may 1 on 1 gunfights. Your bullets never left you gun,(people sometimes mistake this for bad hit detection) The animation was local to you but it simply did not have time to register with everyone in the lobby before you died. how many people have you heard saying the need to put a clip into someone to put them down. Well now you know why.
    Oh and just to rub salt into the salty wound. The Green bars (mobile bars, whatever you call them) you would depend on for how good/bad your connection was, are now useless for the most part. They now display the connection type BEFORE the ping delay is added. That’s again what a MW3 4 bar could feel like a MW2 2 bar. Essentially it is. A 200ms connection on Xbox is generally a 2 bar depending on the game, but not a 4 bar. So 3 bar/4 bar whatever, it’s all just smoke and mirrors. The real number is now disguised . I will have to mail Xbox support about this and see what their stand on it is, should the game show the true connection or the pre ping delay connection. It will be interesting to see their stance on this.

    Sloppy hit detection,

    What some people call bad hit detection is, as I have explained above, simply the local animation effect. The bullets never left the gun due to MW3’s active latency delay. However sometimes it’s simply poor hit detection. This is unfortunately caused by the lag comp/ping delay. COD uses a per pixel hit detection system. Quite simply when you shoot your gun, the software look to see if anything was in the way! Guess where it has to go to see where all the players are, yep. The lag comp software. Poor lag comp software, poor hit detection.

    Dedicated servers anyone…
    Well yes and no. If they added the ping delay Dedicated servers would have the exact same effect as P2P. you could have Dedicated servers for ping ranges. I.e only players with 50ms or less can join this server. Only players with 50-100ms can join this server and so on. No one would have host hence eliminating that issue(which really is not that big an issue) That would somewhat solve the problems. As players with very similar ping ranges would play together, and the differences would be imperceptible. But we just won’t get Dedicated servers.


    Blops 2….

    Like I said it’s weird, and unclear what they have done. I have thrown semtex’s and they are instant, which should mean the connection is excellent, but at times I’m clearly being lagged out and no hit detection (local animation effect) in the same game. I have little doubt they are employing some sort of ping equalization software. As Van has already mentioned balancing it out, and like I said, traditional “rewind” lag compensation, there really is nothing to balance. I’ll get to the bottom of it and let you all know……

    Any questions let me know….


Comments

Advertisement