Halo's PvP multiplayer always had pretty great network performance on consoles, all things considered. Sure, it could be laggy, and cheaters could use the standby buttons on their modems to rig games. But it worked well most of the time and shooting felt fair and responsive. In an era where console games didn't have dedicated servers, Halo's peer-to-peer code was about as good as it got. Until you played a mode like campaign or Firefight online, and then it could really go to shit.
I have vivid memories of trying to play Halo Reach's Firefight mode online, and giving up in frustration when it was so laggy I could barely move. That's why a few sentences in 343's latest big Master Chief Collection progress report (opens in new tab) really caught my attention. Basically: They knew it was bad, and they're fixing it with dedicated servers. Hallelujah.
Here's some background on why campaign and Firefight could be so damn laggy. Because those modes included enemy AI, the asynchronous code used in normal multiplayer wouldn't work. That method keeps lag at a minimum, but is why you can occasionally get shot through a wall, as your client and the host disagree on what they're seeing. It's still a commonly used design. Online campaign and Firefight modes, on the other hand, instead had to use a synchronous model, where every player's game was in exact agreement about what was happening at all times, to keep the game simulation and AI all running properly.
Without a perfect network connection between all the players, though, shit got laggy fast. You could rubber band back and forth as the game tried to keep everything in sync, or move sluggishly as it struggled to keep up. It wasn't very fun.
343 says: No more of that for Firefight.
"Firefight matchmaking will be hosted on dedicated servers and use a new asynchronous network model. Co-op Campaigns and Firefight have always run on a synchronous model where clients have to wait for the host to simulate their actions and send them back before they can be observed by the client. This can result in a sense of sluggishness for off-host players. Reach Firefight in MCC will use an async model which should result in a much smoother and more consistent online experience."
That's a single paragraph in a very long update about the Master Chief Collection (opens in new tab), but it's an exciting paragraph. It's rare for me to have the opportunity to play through a Halo campaign, sitting on the couch, with my old Halo buddies. But if we can play hours of Firefight online, on PC, without the lag issues of old, that's about as good as it gets.
Correction: This story originally stated that dedicated servers and asynchronous code would apply to both campaign co-op and Firefight. 343 has clarified that it will only apply to Firefight. We regret the error.