The are lot of complains about lag compensation in other games. I'm playing BF3 on servers having ping of 10-20ms, and I have seen somewhat similar effects (like for example sometimes I see the opponent, but I'm dead before I can see the opponent actually start shooting at me. Or I'm shooting guy, seeing hit markers, but then in killcam I see that he's got health at 100%).

Do BF3 servers have heavy lag compensation or is it my connection/machine having a lag spikes?

Wow - I never get under 80ms ping! Just a tad jealous!
–
Rory AlsopNov 30 '11 at 12:52

@Vartec this is highly unreliable to determine your ping. That ping is related to pinging the server and not the actual ping while playing.
–
RvdKNov 30 '11 at 12:55

I honestly haven't noticed any problems. I typically shoot a guy and he dies. Almost always, if I shoot a guy first, I win that battle. In contrast, in MW3, I often felt that knowing a guy was coming around a corner with a UAV up was in no way an advantage because I'd shoot as soon as I saw him and die instantly, taking my hit-markers to the grave with me.
–
YatrixNov 30 '11 at 12:57

1 Answer
1

Every multiplayer FPS game has lag compensation and client prediction, although whether you'd consider it to be "heavy" in Battlefield 3 is somewhat subjective. People complain about it, especially in the more "realistic" shooters, but we really generally have no idea how it was implemented or how good or bad it is in a given game.

The reason why it tends to be so much worse in games like BF3 and MW3 comes down to the amount of time it takes to score a kill. In a "non-realistic" FPS such as TF2 or Halo, the amount of time it takes to kill another player can be generally measured in seconds. The heavy's minigun spins up, and fires on another heavy, and a couple of seconds later (assuming he has no medic) the enemy heavy will be dead. A difference of 50 milliseconds or so generally makes very little difference.

However, in a "realistic" shooter, the time to score a kill can be measured in milliseconds. Take the G36C in BF3, for example. It can fire at 750 RPM, and does 25 damage per shot at short range. If your health is at 100, that means it kills in 4 shots. This takes a total of 320 milliseconds. In Modern Warfare 3, there are some guns that kill in less than 150 milliseconds.

With a dedicated server architecture (like many PC games have, but few console games have), it's generally possible for you to select a server and know ahead of time what your average ping/latency are before you start playing. This generally means that you and everyone else on the server are experiencing similar latency.

In a system where you can't choose the server (or the architecture is peer-to-peer) there's a greater chance that the latency of the various clients will be uneven. In a peer-to-peer scenario (which the CoD franchise uses almost exclusively on consoles) there is always one player who is hosting the game, and he experiences minimal latency compared to every other client. Since the game is trusting one of the peers to host, there's also a chance that that peer could be tampering with the system to gain an advantage.

If the difference between your latency and your enemy's latency is 100 milliseconds, this could cause serious differences in your experiences. Even if you were 80 milliseconds faster to start firing on him, it might not matter. The latency compensation measures might be working in your favor or against you. 80 milliseconds is an extraordinarily small amount of time in the scope of human reaction time.

So then, is the issue bad network code or are you being punished because of your (good/bad) connection? In reality, it's a feature of the game. The people who design and write these games are well aware of the limitations of current network architecture. They choose to make a fast paced game that is frequently unfair because we will buy it and play it. Until we're all connected via zero latency links to one another, or we decide that we don't really like games where a kill takes tenths of a second, we're going to have to deal with this frustration.

In the meantime, try to reduce the amount of traffic on your network while you play. This can help smooth out latency variances that can cause issues. If you have the choice of servers, pick ones that are as low "ping" as possible, but remember that latency isn't everything.

I find that removing the latency deltas from the equation helps the most though. Try to surprise enemy players, or find another way to gain an advantage that gives you a few more hundreds of milliseconds to react. And remember that sometimes, the game's not going to treat you fairly.

nice answer, however doesn't address the core of the problem, as in excessive lag compensation "punishing" players with less lag, and rewarding people either with slow connections or using lag hacks. Especially last part is unrelated. Having faster network puts you at disadvantage with lag compensation. I'm perfectly fine with "unfairness" of ppl with less latency having advantage. That is normal. That's why I choose servers with less latency. Opposite just seem to be totally wrong.
–
vartecNov 30 '11 at 17:07

1

There's really no way to ensure a balance of fairness (even towards people playing on low-latency links) like you'd like. The situation on the network and in the game is too volatile. To your BF3 vs others question, to say it is better or worse in game X versus game Y, and then further separate the game's characteristics from its network code (which we have no information about) is something I'd consider to be impossible. It's the best answer I can give, with the information that I know. I also tried to make it broadly applicable to a wider range of games, so the answer doesn't go stale.
–
agent86Nov 30 '11 at 17:27

I also edited a bit to try and show how my suggestions could be employed whether your latency is higher or lower than others in the game you're playing, hopefully that will make the answer more applicable in your current situation.
–
agent86Nov 30 '11 at 17:33

I'm seeing pings to people below 10 and when I add them they are close to me but no where close enough to have pings below 10. I don't ping that well to Houston which is only an hour down the highway and these guys are out by dallas.
–
user16462Dec 14 '11 at 15:04