Monday, March 02, 2009

unstable XBL hosts

I played a lot of Call of Duty 4 on my 360 over the weekend. One thing that has always bugged me about that game is how often matches are cut short when the host leaves/ends the game, presumably because of an interrupted connection most of the time.

That such interruptions occur from time to time is understandable. What isn't understandable is how it can happen repeatedly to the same host.

I'm no techie, so perhaps I'm missing something. But it seems this could be fixed if hosting was automatically switched to another player's console whenever the current host repeatedly suffers connection problems or continues to manually end games (not counting private matches, of course). Is this not possible? not feasible?


  1. You answered your own question: they're manually ending the games. If they just leave things alone and let the map rotation continue, that wouldn't occur.

    That's one of the many downsides of client-client gaming and one of the many reasons PC shooters for over a decade now have stressed the importance of dedicated servers.

  2. Regarding your second question, I have seen a handful of games in the past that would transfer host to someone else to avoid cutting everyone off.

    Aside from the possibility of the games being designed to run some sort of "server" code to host which is not transportable, one issue I can think of is bandwidth. Not everyone's connection is suited for hosting.

    My connection is rated as fine for up to 16 players if I host, but that's from my cable modem. My 360 is on an 802.1G network so there may be a degradation of bandwidth to the 360 itself. I haven't tested that yet; I typically just join someone else's server or if I'm playing Frontlines I normally only join the dedicated servers rather than a player's server.

  3. If players are manually ending their games, then other players should be able to see who is hosting each game. That way, if someone repeatedly ends games short, we can give that person a bad review (lower their gamerscore). That doesn't end the problem, but it's something.

    For connectivity issues, I wasn't thinking of the host being switched mid-game. But if a particular host repeatedly has connection problems, the Microsoft server should recognize that and select a better host. A person's connection can fade in and out, but XBL should search for 360s with optimal connections to be host.

    Microsoft must have some server communicating with the hosts, to track ranks, stats, and such. That server could arrange hosts, right?

  4. It's just a server browser. If you boot up COD4 and select the option to host the game, you communicate to the XBL/COD4 list that you're hosting, your gamertag (that's how you see who's hosting btw), etc. It periodically updates with what map you're currently playing and how many players are currently in your game. That's really all it's doing. Same as looking at the server browser in any PC FPS.

    I *think* (don't quote me on that) that a handful of 360 FPS *might* color-code or somehow point out the host in the in-game roster, but that's something the studio themselves choose to do if they think about it.

    Next time you do a dev interview, try to snag an FPS dev and ask the design reasons why they don't just switch hosts instead of ending the game! :)


Note: Only a member of this blog may post a comment.