Interesting article on Halo 4 lag

#1Asherlee10Posted 2/14/2013 9:05:18 AM
http://cruellegaceyproductions.com/2012/11/26/halo-4-spartan-ops-and-co-op-lag-explained/

Issue: Lag during Spartan Ops and co-op campaign.

Halo 4 uses 2 different network models for online play. Spartan Ops and Co-op run on a “synchronous” network model. Let’s say you are playing 4-player co-op. One player is the “host”, the other 3 are “clients”. All 4 players load the level, and all 4 players start the mission at the same time. Now, when a “client” presses a button, such as ‘jump’, their Xbox sends a signal to the “host” Xbox, telling it what the client player is doing. The host Xbox receives these signals from all 3 clients, then calculates every movement, bullet fired, damage done, etc, and sends the updated information out to all the clients, who’s Xboxs then reproduce the changes. But, the host will only send out these updates when it has received signals from all 3 clients. It does this to maintain accurate and consistent information across all 4 players (In other words, all 4 players are seeing the same things in the same places at the same time).

This is where the lag comes in: If just one of the players in the game has a bad connection, it slows down their ability to send information to the host, which means the host has to wait longer before it can send out gameplay updates to the other players. So, even if you are a client with a great connection, and the host has a great connection, you can still get major lag if one of the other clients has a slow connection.

This is experienced as a sort of input delay (the game will not instantly react to your button presses).

But I don’t get lag playing War Games in Halo 4?

The reason this does not happen in competitive multiplayer (called “War Games|) is that Halo 4 uses a different network model for standard multiplayer. When playing “Infinity Slayer” or any other standard multiplayer mode, the host doesn’t wait for a lagging player before it updates the gameplay and sends info to all other clients. So, if I have a slow connection, and I join a multiplayer match, I won’t directly effect the performance of the other players (unless the laggy player is the Host). A player with a good connection might have a hard time shooting a laggy player, because the host won’t have accurate information of where exactly the laggy player is, but they won’t suffer input delay themselves. This creates a less accurate game for all players (since a laggy player will think they are in one spot, while the other players will see them in a different spot) but it keeps things running smoother than the co-op model.

Why not use the standard multiplayer network code for Spartan Ops and co-op?

Both co-op campaign and Spartan Ops have lots of AI scripting going on. This makes it very important that all players in a co-op or Spartan Ops game are 100% in-sync with with each other. If the host didn’t wait for updates from all players before moving the game forward, then you would have constant crashes.

For example: lets say I’m playing Spartan Ops. I’m a client, and I have a very slow connection. I’m shooting at a grunt. On my screen, I see that I’ve shot the grunt in the head and killed it. But, because my connection is so slow, the host doesn’t yet know that I’ve hit the grunt in the head. This means that the host’s Xbox thinks that Grunt is still alive, and is still running it’s AI routine. Suddenly you have a situation where my Xbox and the host Xbox have 2 different versions of the match being processed (1 version where the grunt is alive, and 1 version where the grunt is dead). This situation = CRASH.

So, to avoid this, the Host will not move the game forward until it receives update signals from all other players. Again, if just 1 of those players has a bad connection, the entire games slows down.
---
"Opinions should be a result of a thought, not a substitute for it."
#2Asherlee10(Topic Creator)Posted 2/14/2013 9:05:22 AM
How do I avoid playing with people who have slow connections?

Unfortunately, there is very little you can do to avoid being matched up with players who have poor connection speeds. Halo Reach featured the option to set your matchmaking preferences to prioritize good connection speeds, but that option has been removed from Halo 4. I general, playing with people who live in other parts of the world increases your chances of experiencing lag, but that is not true in all cases. For now, all we can do is try to make sure our own internet connections are as fast as possible.
---
"Opinions should be a result of a thought, not a substitute for it."
#3GollyFluffPosted 2/14/2013 9:09:07 AM
Asherlee10 posted...
How do I avoid playing with people who have slow connections?

Unfortunately, there is very little you can do to avoid being matched up with players who have poor connection speeds. Halo Reach featured the option to set your matchmaking preferences to prioritize good connection speeds, but that option has been removed from Halo 4. I general, playing with people who live in other parts of the world increases your chances of experiencing lag, but that is not true in all cases. For now, all we can do is try to make sure our own internet connections are as fast as possible.


or back out of the pregame lobby if you aren't host :D
---
"Captain Falcon wasn't confirmed for Brawl. Brawl was confirmed for Captain Falcon."
#4SpiduxxudipSPosted 2/14/2013 11:29:44 AM
Uh... This information has been well known since online games have been around. I'm sure there were some people here that didn't know that's how it works, but for the most part (as I've seen on here) we all understand how and why lag works.
---
What do I look like, Mr Frank-****-For-Free? No Doe, Hoe? You can't **** with me
Thizz iz what it iz -- GT - Spidux
#5Link43130Posted 2/14/2013 11:44:39 AM
variants of this article have been around since halo 3 but its nice to see it posted again
---
Steam/XBL/PSN: Link43130
#6EiffelPosted 2/14/2013 11:45:21 AM
GollyFluff posted...
Asherlee10 posted...
How do I avoid playing with people who have slow connections?

Unfortunately, there is very little you can do to avoid being matched up with players who have poor connection speeds. Halo Reach featured the option to set your matchmaking preferences to prioritize good connection speeds, but that option has been removed from Halo 4. I general, playing with people who live in other parts of the world increases your chances of experiencing lag, but that is not true in all cases. For now, all we can do is try to make sure our own internet connections are as fast as possible.


or back out of the pregame lobby if you aren't host :D


How do you know if you are host or not? I've never been able to tell.
#7SpiduxxudipSPosted 2/14/2013 11:57:07 AM
When in the pregame lobby, where everyone is voting for a map to play on, press X. Whoever is on the top of that list is host.
---
What do I look like, Mr Frank-****-For-Free? No Doe, Hoe? You can't **** with me
Thizz iz what it iz -- GT - Spidux
#8DarthJasonGPosted 2/14/2013 12:25:48 PM
[This message was deleted at the request of the original poster]
#9enterthemadroxPosted 2/14/2013 12:34:59 PM
Yeah, I wondered how to tell if you're host too, especially earlier.

Surrounded by hunters, lag started happening, ended when all the enemies were dead. Not the worst lag I've experienced while playing but annoying.
---
"If you don't like something, don't watch it again. Why whinge about it on a forum to a load of divs? Don't worry about it." - Karl Pilkington
#10Asherlee10(Topic Creator)Posted 2/14/2013 12:57:01 PM
Link43130 posted...
variants of this article have been around since halo 3 but its nice to see it posted again


I realize, but I noticed an increase of Halo 4 Lag topics. "Y am I laggin so much OMG!"
---
"Opinions should be a result of a thought, not a substitute for it."