Black Ops 2 Multiplayer Explaining Lag Compensation and Networking

Discussion in 'Call of Duty: Black Ops 2' started by TheUser, Jan 19, 2013.

  1.  
    TheUser

    TheUser Member
    Staff Member

    Joined:
    Mar 23, 2012
    Messages:
    8,843
    Likes Received:
    277
    Credit:
    FBux57.00
    Introduction
    Alright my little rascals. I've decided that it's time for someone on this forum to fully explain what lag compensation really is, what it does, and what it can do for you. Yes, lag compensation will actually work in your favor, believe it or not.

    Most active and registered users on this forum do not fully understand telecommunications networking, which is understandable, because its a helluva topic.
    I'm 21 years old, and I've spent the last 6 years or so, casually learning about a subdivision of telecommunications networking known as the internet.

    I will teach you some basic stuff about computer networking, how to optimize your online experience and of course lag compensation.
    If my ability to explain is well intact, and you understand all this, you will see online gaming and its challenges from a much broader perspective, much like I currently do.
    You will advance beyond a fair percentage of fellow players that do not possess this knowledge.

    You spend so much time learning about the game itself, the best weapons, the best strategies, even about the IW engine mechanics, so why not take some of your precious time and learn about the one thing that made Call of Duty multiplayer possible in the first place?

    So with no further ado, let's get this show on the road.

    The Basics

    Bandwidth

    Latency

    Latency is basically delay.



    Lag Compensation
    Explaining what lag compensation really is, is difficult because it can be many things.
    If you go back to the older Call of Dutys, like CoD4, you will probably notice that lagg in that game is kind of different.
    You might for example during lagspikes notice that your character will start "rubberbanding", freezing, and whatever else there is. Since those days, the Call of Duty engine and the netcode has been programmed with more sophisticated lag compensation (or anti-lag) to smooth out your multiplayer experience.

    Now for the of type lag compensation most of you are referring to, there is something very important that you should know.

    You cannot blame this type of lag compensation for your laggyness. >>>Stop complaining and spamming threads about this<<<

    So how does it work? Let me give you a general idea.

    Lag compensation does not limit your latency in order to match your opponents latency and does not try to give everyone similar latencies based on the lobby average latency.

    Basically, lag compensation is programmed to predict a players location.
    It's kinda tricky to explain, but one of my sources can help out.

    So, I hope that made sense to you, and I'm sure it did, because it's actually a very simple concept.
    Again, lag compensation does not give you more (and certainly not less) latency in order to balance out gunplay.
    This misconception also gave players the idea that lag compensation will benefit players with lower bandwidths.
    Your lagging experience might be caused by good old fashioned lag, the newly discovered camera issues,,maybe the phenomenon known as bufferbloat, or maybe you're just straight up a bad player?

    Yes! You can lose gunfights because your opponent was better than you! I know, it's pretty ridiculous.
    Seriously though, blaming lag because you die is so retarded and clichè.
    You're playing online with people on the other side of the globe. What the hell are you expecting?

    Delay is something that comes with online gaming, like it or not. Work with it instead of working against it and stop plaguing everybody else with your god damn whining, alright?

    Also, another thing.
    Please don't call me or anybody else out with your stupid observations
    "but i get so maeny hitmaekers dude" or "i haev 3 beraz n i keep getng kilde bcuz im nawtr bad"

    Dude, that is called lag. Alternatively, you suck. How about getting off that scapegoat of yours?
    The CoD community is really wonderful in many ways.
    Every single player has their favorite excuse known as lag compensation tucked in their pockets in case they die as a result of their incompetence.
    You with your knowledge, are much better than that, am I right?

    Finally, how to fix lag compensation?
    Short answer, you can't, and why fix it?
    Evidently, there is nothing wrong with it and if it was, we consumers cannot do anything else than informing the developers that something isn't right.
    Lag compensation is badly needed in online play, and if you know just how it works, you will also logically understand why.

    Instead, join me in the next section and learn how to optimize your online experience.



    Optimizing stuff.

    1.I have previously stated that bandwidth isn't very impotant in Call of Duty in Call of Duty multiplayer.
    Call of Duty will probably never ever go above 1 mbps, so just make sure you have 1 mbps download speed available.
    Upload speed isn't very important unless you're host, and then again, bandwidth doesn't play a major role.
    Again, latency is way more important.

    2. Open your ports. This will not give you less lag, I'm sorry.

    You could say that NAT type in Call of Duty determines what players you can play with or against. Take a look at this:


    [QuoteSource]
    - Open NATs can connect to any of the three types. --> Probably the least common type
    - Moderate can only connect to open and moderate. --> Probably the most common type
    - Strict can ONLY connect to open.
    [/QuoteSource]

    I think that most likely made sense to you.
    If your NAT type is open, the matchmaker will quite simply have more players to choose from when forming a lobby.
    I repeat, an Open NAT type will not decrease lag.

    In theory, enabling UPnP (Universal Plug n Play) in your router settings, should give you at least moderate NAT type.
    Unfortunately, it isn't that easy. DJ PiNoy made a thread about forwarding (opening) your ports in your router. I suggest you go there.

    3. Those are the main fixes you can do. For more in-depth info, goto http://www.charlieintel.com/bo2-intel/the-elagaphant/
    You will find everything you need to do here.

    Sources:
    http://www.charlieintel.com/bo2-intel/the-elagaphant/
    http://en.wikipedia.org/wiki/Lag
    https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking#Lag_compensation
    http://www.youtube.com/watch?feature=player_embedded&v=D3udJvlYDhM
    http://community.activision.com/message/413601330
     
    Dogan., samithedood, PSIII and 5 others like this.
    • Like Like x 8
    • Optimistic Optimistic x 1
  2.  
    Hunter

    Hunter Super Moderator

    Joined:
    Mar 17, 2012
    Messages:
    12,856
    Likes Received:
    707
    Credit:
    FBux10,020.00
    One major flaw I see

     
  3.  
    TheUser

    TheUser Member
    Staff Member

    Joined:
    Mar 23, 2012
    Messages:
    8,843
    Likes Received:
    277
    Credit:
    FBux57.00
    Initial release.

    If you have trouble understanding the lag compensation section, I recommend reading through the bandwidth and latency section, then watch this video:

     
  4.  
    Wordup

    Wordup Member

    Joined:
    Nov 24, 2012
    Messages:
    930
    Likes Received:
    62
    Credit:
    FBux0.00
    This makes sense, but lets say the player shooting at "A" is shooting from position "C". What does the person running from A to B see at position "C" while they were at position A
     
  5.  
    TheUser

    TheUser Member
    Staff Member

    Joined:
    Mar 23, 2012
    Messages:
    8,843
    Likes Received:
    277
    Credit:
    FBux57.00
    Ah, a brainstormer, eh?

    Without lag compensation, player C would probably miss player A unless he timed his shots just right (ahead of player A, to compensate for the delay)

    Depending on the latency to host, player C might not see any player A at position C because player A ducked into cover at position C. Lag compensation will kick in and "rewind" player A into his standing position, enabling player C to see player A.
     
  6.  
    Legion

    Legion Forum God

    Joined:
    Jul 11, 2012
    Messages:
    4,175
    Likes Received:
    602
    Credit:
    FBux4.89
    Take my rep, all of it
     
  7.  
    Wordup

    Wordup Member

    Joined:
    Nov 24, 2012
    Messages:
    930
    Likes Received:
    62
    Credit:
    FBux0.00
    Confusing issue, but can the player running from A to B ever see the person that is shooting at them? The player shooting sees the runner at position A and shoots there, time is "rewinded" and the bullets hit the runner. While the runner is "actually" at A, does the runner see the shooter yet?

    I'm thinking no, and that's why people get mad. You "die" at position X because the game is allowing you to get shot at position A because of the shooters lag, even though you never saw the shooter.
     
  8.  
    TheUser

    TheUser Member
    Staff Member

    Joined:
    Mar 23, 2012
    Messages:
    8,843
    Likes Received:
    277
    Credit:
    FBux57.00
    I think yes. My example was kinda bad because. The delays are microscopic in the grand scheme of things.

    Seeing an enemy will take some time (200 milliseconds perhaps)
    For the enemy to fire on your hitbox, and then move away out of your sight will take a couple of seconds. Lag compensation and the round trip latency works way faster than that.
     
    1 person likes this.
    • Like Like x 1
  9.  
    articzap

    articzap Member

    Joined:
    Dec 2, 2012
    Messages:
    858
    Likes Received:
    15
    Credit:
    FBux0.00
    You can reduce latency by changing your DNS ip. There is a program, that I can't remember the name of, that will test different DNS ip's and tell you which one will give you the lowest latency. This can be very helpful.
     
  10.  
    Wordup

    Wordup Member

    Joined:
    Nov 24, 2012
    Messages:
    930
    Likes Received:
    62
    Credit:
    FBux0.00
    I can agree, but 1 vs. 1 battles happen quickly. They can "rewind" play, but they can't predict the future. If the player with more lag is shooting me at a spot I was actually at a couple hundred milliseconds ago, there is no way that when I was actually at that spot the player with more lag was on my screen shooting at me (or possibly even visible if were talking about running around corners and such).

    That's why people complain about shooting someone as soon as they see them but literally die instantly as if the shots didn't get off. The lagger sees you at your old position in time and you did not see them when you were actually there. By the time the data packets all catch up to each other, you already have 1 to 2 bullets in you.
     
  11.  
    2_Wycked

    2_Wycked New Member

    Joined:
    Jan 9, 2013
    Messages:
    447
    Likes Received:
    15
    Credit:
    FBux0.00
    This is very informative, but does this invalidate that lag video that was going around here earlier testing lag delay and camera lag?

    Also, I would love to see someone explain the camera in black ops 2 and why it can be so misleading.
     
  12.  
    TheUser

    TheUser Member
    Staff Member

    Joined:
    Mar 23, 2012
    Messages:
    8,843
    Likes Received:
    277
    Credit:
    FBux57.00
    It's not like lag compensation will make the enemy on your screen disappear like a ghost.
     
  13.  
    TheUser

    TheUser Member
    Staff Member

    Joined:
    Mar 23, 2012
    Messages:
    8,843
    Likes Received:
    277
    Credit:
    FBux57.00
    From my understanding, the camera lag is a seperate issue, and is probably the main reason why so many people are complaining. lag compensation is a necessity in online play, or else, players wouldn't be able to hit each other in the first place.
     
  14.  
    articzap

    articzap Member

    Joined:
    Dec 2, 2012
    Messages:
    858
    Likes Received:
    15
    Credit:
    FBux0.00
    There's zero proof of camera lag or camera bug. That is a direct correlation to lag compensation. The camera can only show what the other person saw, period.

    The new lag compensation system just sucks for playing with. The idea is right, but its not executed well at all.

    The system now gives an advantage to someone with lag. If they see you on their screen later, because of lag, but shoot first, you stand no chance. This is the scenerio that describes I put a whole clip in him and he didn't die but got me with one shoot. This is the same reason why you can get hit markers and the other person doesn't die.

    The fact of the matter is the idea is great and has potential to work extremely well, but not with how its currently implemented. I can only imagine how intense the network code is, but surely there is a different way to include this, whilst keeping it fair for every player.
     
  15.  
    TheUser

    TheUser Member
    Staff Member

    Joined:
    Mar 23, 2012
    Messages:
    8,843
    Likes Received:
    277
    Credit:
    FBux57.00
    There's two things you need to "proof" for me. "That is a direct correlation to lag compensation." and "The system now gives an advantage to someone with lag" Good luck.
     
  16.  
    Wordup

    Wordup Member

    Joined:
    Nov 24, 2012
    Messages:
    930
    Likes Received:
    62
    Credit:
    FBux0.00
    I'm not saying they disappear. I don't know how else to explain it.....

    P1 = zero latency
    P2 = latency (lag)

    P1 is at position A at T(0) (which is real time)
    P1 moves to position B at T(1) (still in real time)
    P2 runs around a corner near position A at T(1) and sees P1 at position A due to lag comp (rewinding time and putting P1 at A so P2 has a "fair" chance)

    P1 at position A at T(0) does not see P2 because P2 is not there yet....P2 arrived at T(1) but gets to kill P1 because the system put P1 at position A at T(1) EVEN though P1 sees that he is at position B at T(1) [hence the feeling of getting shot even after you went behind cover]
     
  17.  
    TheUser

    TheUser Member
    Staff Member

    Joined:
    Mar 23, 2012
    Messages:
    8,843
    Likes Received:
    277
    Credit:
    FBux57.00
    Ah yes, I understand what you mean. Describing a scenario in plain words can be tricky.

    This isn't necessarily lag compensation. This sounds more like plain lag. Everything that happens in a game of domination from the perspective of a player with 0 latency, will happen exactly 200 milliseconds before the perspective of a player with 200 ms latency. You often see players complaining about &quot;getting shot around corners&quot; on messageboards and forums. That scenario usually boils down to lag.

    Lag compensation will not affect the location of players, that is what latency does. P1 has a 200 ms advantage over P2, thus will see P2 exactly 200 ms before P2 can see P1.
    If P2 on his screen gets a hitmarker on P1, but P1 has moved to the left. P2 will tell the host that he clearly hit him, even though from the host's perspective, he missed.

    This does take some heavy brainstorming, but I can with 87% confidence say that your scenario was affected by lag, and not by lag compensation.
     
  18.  
    articzap

    articzap Member

    Joined:
    Dec 2, 2012
    Messages:
    858
    Likes Received:
    15
    Credit:
    FBux0.00
    The direct correlation exist. But how do we know? There's videos to prove it.

    The problem with games now, is that how a person moves is dictated by his own personal console. Data is fed amoungst the players and procssed. Since everyone moves at there speed, but there is latency between everyone, things don't happen as fast as real time.

    So example. A person is sitting in a corner with a good connection. B person walks around corner. With current lag compensation code, person B has the advantage. But why? Since the console is playing off the last data it was fed from the rest of the field, he gets the advantage of seeing someone first. So player B shoots at player A. Since player B has a higher ping, this data takes slightly longer then normal for layer A to receive and process. Assuming they both have equal reaction time, player A shoots when he now sees player B. His console is registering hit markers via last fed data which is old. But his hit markers can't possibly register on player B's screen since player B had already killed player A. So for player B, it was a clear cut victory. For player A he got numerous hit markers, he still died instantaneously because by the time the data cut up, he had already died.

    On a lot of older games, there was damn near direct connection between everyone. Everyone was limited by the slowest person in the lobby since it didn't happen on console it happened on host and was sent back out to players after host processed it.

    The solution is going back and using a system that doesn't let the console make decisions. The host or server should be making decisions.and feeding back data at a rate that equals everyones ping out.

    I guess in hindsight of writing this post, maybe its not lag compensation per say, but a lack of compensation to slow down the fast paced people.

    I just mind fucked myself. I'll return to this thread when I get home from work.
     
  19.  
    2_Wycked

    2_Wycked New Member

    Joined:
    Jan 9, 2013
    Messages:
    447
    Likes Received:
    15
    Credit:
    FBux0.00
    + Rep. Thanks a million, TheUser. Really great stuff here.
     
  20.  
    ulvemann43

    ulvemann43 New Member

    Joined:
    Nov 19, 2012
    Messages:
    743
    Likes Received:
    30
    Credit:
    FBux0.00
    extremely informative information. i wish i could give you all my rep.

    but i might be very wrong but i noticed something.
    isnt 6 divided by 8 = 0.75?
     

Share This Page