I’m fairly confident in that I can assume that a lot of you here are, how you say, ‘streaky’ players. Some games you’re the dog and some games you’re the lamp post. Sometimes you just can’t figure it out, can you? Perhaps once in your bad streak you may have a game where the other players are simply better, but normally it just seems like you’re dead on with your shots, you pull a good strafe, etc…but the magic doesn’t happen, huh? You’re losing duels/trading off kills with players who have a much lower K/D and have won less.
It’s true that perhaps you could just be a streaky player. One day you’re just in the zone, another day you’re AR rushing hardcore and accidently jumping off Adrift. Chances are though, you’re doing things right and it isn’t that.
Welcome to the online world of worsening netcode!
The phenomon I explained above is thanks to something almost every online game has. Lag compensation. To put it simply, lag compensation is a series of tricks designed to cover up latency to where everything is mostly ‘fair’ to all players in game.
All Halo games have had this, (With the exception of Halo PC, which ironically if you can master depending on yourself as your own lag compensation…skill is much more prevalent than later games.) each using some different tricks and varying intensity of these tricks. Halo 4 has this, and compared to past games…it’s bad.
While the trend of absolute bullcrap lag compensation started with Reach, Halo 4 expanded upon it. Let’s get into the meat of why it’s bad, eh?
-
Median ping host selection. It used to be in Halo 3 that the player with the best connection (download/upload speeds) would be the connection host.
In Halo 4, the player with the most average ping to the rest of the players will be host unless there is another player with significantly better connection speeds. So a player who might have had less ping to a host, will now have more ping to the other host with this system. -
Extrapolation. Opponent’s box predicts future game state. Until game world is updated, box predicts player movement. Box assumes player moving in one direction is still going until updated.
IE: Opponent shoots rocket, you make a hard left with your thruster pack.
On your screen you are far enough away not to die but once the rocket has hit,
to the opponent you have either not thrusted or did not thrust in time. -
Client soft changes. To keep fluidity, client may forcibly shoehorn incorrect changes to game world if the ping is low enough. Host assumes the incorrect change will not impact the game negativley because the ping is low enough. I don’t need to explain to you how in so many situations this is bad if the client shoehorning packets has a bad connection.
-
Rewind time. Host stores past game states for certain length of time, then rewinds player locations when processing a command. The server uses the latency of the player to rewind time by an appropiate ammount in order to determine what the shooting client saw when they fired. The price of this is an aggravation of the effects of latency when a player is under fire. Not only does their latency play a part, but their attacker’s does as well.
So you may have a 50 MS ping, and your attacker has a 50 MS ping. You may be killed by your attacker a full second after you take cover by this system.
One design issue that arises from rewinding is whether to stop rewindng a dead player’s lagged commands as soon as they die on the server, or to continue running them until they catch up to the time of death. Halo 4 allows a large window for a dead player’s commands to catch up.
A notable example is if you kill a player in CQC and they throw a plasma grenade. To you, they have already faceplanted the ground, but to them they throw the
grenade at you before they die. The result is you witnessing a sticky kindly manifesting on your torso piece a second later after your victim dies.
All of these things by themself…aren’t that bad, and can even help in some cases. But all of these lag compensation mechanics work in tandem together. You may narrowly avoid an ‘extrapolation soft change rocket’ one second, but then die in CQC from a ‘rewind time sticky’.
To be honest, it’s quite literally BS. If you have a good connection you get booned over. Those who have bad connections are catered to and can do better. They can force WRONG information in their favor, their side can predict WRONG player actions and act like it happened, and a lot more.
I guess the moral of the story is, if you want to do better at Halo 4, downgrade your connection.