Swap the Campaign Engine

Yes, I mean swap it out. The Multiplayer Campaign Engine should be replaced with a better one, the Mutliplayer engine itself. The campaign engine shows lag by also delaying the player’s screen movement. I say that what shows on the screen should be local, showing the player where he/she should really be rather than showing the Local view as the true view in the server.

Here’s an example of how the view works.

  1. The player moves
  2. The server detects the movement and moves the player in-game
  3. The server’s view of the player is shown rather than the player’s true movement causing that Firefight/Campaign delay
  4. The player sees delayed movements

The multiplayer engine works this way

  1. The player moves
  2. The player’s movement is drawn to the screen, showing what the player sees without delay
  3. The server updates the player’s location, but this is what other people see

Here’s how it works with weaponry

  1. The player fires a hit-scan weapon and draws a hit-scan
  2. The server updates the location and the hit-scan itself
  3. The hit-scan initiates, but it is also delayed

As you can see, the multiplayer engine suffers only from delayed weaponry, but not from movement. The Campaign/Firefight engine should work the same way online, reducing many lag issues in firefight. However, the only issue that would be needed to fix is the AI position.

They’re both the same engine, it’s the networking code you’re talking about. The multiplayer networking is designed to handle more players, however I believe it AI don’t sync at all (at least it was in CE), the SP/firefight networking is slower than the multiplayer, however they allow AI to sync, hence why they’re used. There’s already been large improvements in campaign firefight, at least now people can individually quit, and if the connections are too bad, then the game just gets split into two smaller ones.