Currently Being ModeratedDec 20, 2011 4:52 AM (in response to fonseca99)Re: Understanding the 'Lag' issue, where Black Ops went wrong and what needs to happen for the next game.
Easy there people...easy now, i can't keep up with all of the responses!
Did i imagine the hundreds of threads created about this very subject over the past 13 months?
Maybe it was just me out of 20 million+ players that noticed it??
Either way i created this as i did'nt want this issue to be lost in all of the other(less important IMO) stuff in the other general feedback threads because it's far too important for that.
Weapon balance and knife balance would be so much easier to achieve if the networking was fixed, so whilst we argue and debate over what shade of orange we want our guns to have and just how sticky we want our sticky nades to be, maybe we can take a step back and address the real issues affecting the game.. hmm
Just a thought, that is all.
Currently Being ModeratedDec 20, 2011 8:55 PM (in response to fonseca99)Re: Understanding the 'Lag' issue, where Black Ops went wrong and what needs to happen for the next game.
I think people are tired of the discussion.
In any case, I'm not real clear on what you're trying to accomplish. All the things that you describe are symptoms of lag. Solve lag, solve those issues.
You can't compensate for a drop in frame rate universally because in doing so it will affect what happens in those situations where lag compensation is not needed.
Otherwise, what you are advocating in this discussion is double compensation. In such a situation, the game would have to detect that lag is occuring and compensate the entire sequence, including hit detection. This process already takes place and is called lag compensation.
However, going beyond that and then compensating specifically for the firing and bullet landing sequence, aka hit detection, the game would then thus be double compensating. Every time you demanded the game compensate for something, the net affect doubles the amount of compensation. The end result is that with five symptoms of lag, each being compensated for, you'd would have scenarios where one player is literally lagging 20ms ... but able to land his death blow more than a full 220ms behind the other player.
Obviously that would not make people happy.
When you shoot someone and the game does not detect your shot, that means what you are seeing is taking place after what they other person saw. You can't shoot someone before they arrive at a location - how do you know, or how does the game know, where the player is actually going to go? Knowing that, who is lagging in that situation?
I've argued for a long time that lag compensation is not the issue at stake here and others have also made the same arguments and have far greater experience and education in this realm than I do. I even have a fairly close relative that is a game designer with a master's degree in the subject. He, too, said lag compensation is not the issue.
The actual issue is lag. Period. To make the game run smoothly and have minimal affect upon what the users see, lag compensation is going to adjust for a very small amount of lag. Lag of 1/2 a second or more, for example, is too great to compensate for because the players would easily see the results of the programming trick.
Lag itself is not going to be a huge number. We're talking about differences between 20ms and 120ms. That looks like a huge difference - 20 vs 120. But in what you can actually see, that's just a tiny fraction of 1 full second. Lag of 1/4 to 1/2 second is going to cause a player to be kicked from the match - "Game lost due to connection loss."
So why do people experience what they experience? There's a lot of reasons.
The game requires less than a 1Mb connection. I think its around 500 or 600 Kb (and that is for peak transfer sequences. Most sequences are half that or less). Pretty much everyone has a 1Mb or larger connection. This confounds people even further. Most people now realize that ping is the true measure of internet speed.
But what most people do not understand is that when you go to Speedtest.net and do a ping test, you're not getting a reflection of your in-game ping. Why?
Because that ping test is to a local server, usually 50 miles away or less. So you will end up with a 19ms or 38ms ping. The problem is you're usually playing against someone more than 50 miles away. On Speedtest.net you can choose servers farther away. Try pinging to a server in Sydney, Australia or Tokyo, Japan and you'll see what I'm talking about. Now suddenly you have 200ms or 300ms ping.
In addition to that, you also have "packet loss." The information sent from your console to another is sent in bursts called packets, for a lack of a better way of explaining it. The same "frame" or picture you see on the scree in 1/60th of a second is sent many times. 100s, 1000s, I don't know. But it is sent a lot of times. If you have large packet loss, 100 packets lost, then you can see the problem. But if you have small packet loss, you should have a pretty smooth game. In any case, ping and UL/DL speed do not reflect the rate of packet loss.
Another factor is another form of lag called latency. If you look at what the devs post from time to time, they categorize latency in the same category as lag because too many people don't know the difference. In fact, there is very little difference. Lag is overall loss of speed. Ping is the speed at which information travels. Well, there is an amount of time between the information entering your console and that information becoming what you see on the screen. The amount of time it takes for the information to thus be processed is called latency. All Xbox 360 consoles are going to have very close to the same latency so "lag" caused by the processing process does not have to be compensated for. However, some people run their console through routers, some directly through modems. Two different setups, two different latency figures. Latency = lag.
In addition, your local server may be of higher quality than my local server. The difference in latency? = a source of lag.
After all that, you have to understand that if you are playing in Ohio and I'm on the West Coast, the connection may actually run through half a dozen or more servers, each producing lag/latency.
The match-making side of the programming, another thing people don't understand, has not changed much since COD4:MW. Here's a list of when changes came and what those changes were -
MW1 - the initial programming
MW2 - lag detection. After more than one significant episode of lag, host migration chooses a different member of the lobby to be host. This was done strictly to combat lag switch users. The problem was that the 2nd best connection in the lobby may have had great ping but a really crappy router.
BO - I only mention this because Treyarch pretty much told the community to use the locale only option for match searches. This not only ended up reducing complaints about lag among users that followed this advice, it laid the ground work for the next big change
MW3 - Forced localized match-making. Upon release, however, users in remote areas where the next closest user is 100s of miles away literally could not join any match at all. The hot-fix removed forced localization. That was a bigger disaster. Now they are back to forced localization. However, they have also done something else different with host migration.
The game will still choose a new host from within the lobby if significant lag occurs more than once. I am unclear as to whether what I say next has been implemented or if it is still being worked out, but this is what the intent is. Instead of finding the 2nd best ping in the lobby, the game first determines whether or not parties exist in the lobby. If they do, the party member with the best connection becomes a candidate to be the host. The game then also searches the rest of the lobby to see which player's connection has the best hosting characteristics. It then decides which will be host and begins host migration.
As far as I can tell, this has already been implemented but they are tweaking the hosting characteristics parameters. For example, they may try to migrate to the player that is most centralized of all the players in the lobby.
In any case, from what I have seen the reduction of lag has been very good. In all previous COD titles, there was no telling if I'd be running with 2 bars or 4. After the latest update probably 80% or more of my games are running 4 bars. I have yet to see a single match where there was a player with less than 3 bars.
It is in the matches where I have 3 bars that I still experience lag - but it is very hard to notice it (with my eyes, anyway). However, there is a pattern of my performance being worse in 3 bar matches than when in 4 bar matches. The difference is so minute, however, that I cannot say with certainty that it is lag that causes the weaker performance.
In any case, what I've started doing is backing out of the lobby if I have two matches with only 3 bars in a row. Sometimes this works in getting me into a 4 bar lobby.
Usually, though, it does not.
What I've discovered is that at that point if I totally log off of the Xbox Live and log back on, usually after that I have 4 bar matches every time.
In 4 bar matches I cannot see ANY symptoms of lag whatsoever.
I did have one match where there was only two players with 3 bars and one of those two had two peculiar characteristics. First, he ended up being the second highest scoring player in the match while the top scorer was on his team. Second, during the match, his character would "skip" on the screen. He did not have free-flowing movement. The "skip" or gap in where he appeared on the screen was so fast at first I thought I had imagined it. But by mid-match there was no doubt this phenomenon was occuring.
After being killed once by this guy I watched the kill cam, but did not notice anything unusual.
I decided to hang around for a second match to see if what I suspected was taking place was actually taking place. However, the guy backed out of the lobby.
Now. To the casual observer what I saw in that match is "typical" of bad IW or 3A programming.
I won't report such a player because I have to have overwhelming evidence that such a player was cheating. One match does not qualify as overwhelming evidence.
But there is not a doubt in my mind this guy was using a lag switch.
Yes, it is still possible to use such devices to cheat with. For starters, he does not have to be the host to use a lag switch, contrary to popular belief. Second, the trick these guys use to fool the system is that they do not lag for as long as the amatuers used to do it back in MW1 and WaW days. The lag literally is 5 to 10 ms. Just long enough to be missed by a bullet or two ... just long enough for you to shoot someone 4 times with a MK14 and only land 2 of the needed 3 at-range shots.
I am NOT saying that there is still wide use of lag switches because there definitely is not wide use of them. The reason is that it is really hard for these guys to use them in a way that the game does not detect. But they are still out there. One of the biggest clues I've seen is that they pop into a lobby for a match then back out afterwards. They do this so that it minimizes the amount of time they are scrutinized by other players.
The bottom line is this:
You are NEVER going to get rid of lag 100%.
I've been through hell and back with my internet connection, routers, the console settings and more. After all of that, I still cannot get a 4 bar connection with every game I throw in my console. Sometimes I get 4 bars, sometimes I don't. It never depends upon the game. It is always random.
If, after restarting my console, I still cannot get 4 bars with a particular game, I either adjust for it in my game-play or stick in a different game and come back to this one at a later time.
I know that does not resolve the issue. But hopefully it helps shed some light on it.
For the absolute best explanations on this issue, do a search either here in Black Ops or over at MW3 for the username -
That guy has done some serious, serious research on the issue.