The average human blinks at 300 milliseconds, but an assault rifle in Call of Duty can end your life in just half that time. Speed and smoothness are cornerstones of the franchise, so when early testers were complaining that there was a level of latency that didn’t seem to exist in previous Call of Duty titles, there was a problem. Benjamin Goyette, a senior engineer at Activision, was determined to figure out what it was – and the effort was monumental.
Itching for more shooters? Take a look at our list of the best FPS games on PC.
“It was a vague problem,” Goyette explained during his talk at GDC. “It was just a feeling that something was wrong, something was off.” But given how important reflexes are in Call of Duty, Goyette wasn’t about to take any chances.
Latency can be caused by hundreds of factors – many of them the result of a perception on behalf of the player. Despite what you might think, lag is a much broader problem than just the speed of a network connection. “All of our classic tools were telling us that our systems were okay, but in the playtest the players were [complaining] about latency,” Goyette says.
When it came to auditing the network code, Goyette had to use a special motion capture camera that output a whopping 5 gigabits of data a second, more than his computer could even receive. By aiming the camera at two monitors, Goyette was able to capture the subtle differences in frames between what each player was experiencing.
After a series of rigorous tests, including building custom software that would monitor the difference in time between firing a shot and killing a character (which was repeated thousands of times), Goyette still wasn’t any closer to the solution. Not only that, but after auditing the entirety of the network code, running rigorous tests on “time to kill” and other factors, Goyette had discovered that, on average, Black Ops 3 was faster than their current best benchmarks. “That was good, it was confirming the optimizations the team had done to the engine. But it wasn’t explaining the problem we were getting,” Goyette says.
It wasn’t until Goyette was investigating “line of sight advantage”, where one player comes around a corner faster than another player can see them, that he finally found his first clue. As he ran tests where an automated player strafed left and right across a line, noting the differences, Goyette realized a huge discrepancy of milliseconds between moving each direction. Investigating further led him to discover that it had nothing to do with the network code at all, the problem was in the animation. “It was a big surprise,” Goyette admitted.
Due to the way characters leaned as they moved in specific directions, there was a difference between where one player’s camera was located and the position of his model as displayed on another player’s screen. By moving left, players had a 90 millisecond advantage coming out of cover.
In the end, Goyette’s thorough inquisition in the the latency problems of Black Ops 3 had a big impact that lead to even more subtle refinements to reduce lag. “We were able to ship with 45 percent less screen to screen latency than our best benchmark,” Goyette says. He also confirmed that he was able to reduce controller to screen latency to be on par with their best benchmarks from previous Call of Duty games on console, and 22 percent less on PC—making Black Ops 3 one of the most accurate Call of Duty games ever released. A big achievement earned by eliminating fractions of a second.