Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
XBox (Games) Programming IT Technology

Taking Halo 2 to Xbox Live 30

An anonymous reader writes "In this new interview, Bungie Studios engineering lead Chris Butcher explains how his team took Halo 2 multiplayer battles to Xbox Live, with minimal glitches. Turns out there are a lot of clever tricks involved." From the article: "It's actually the same network model we used in Marathon back in the day, although Marathon had some bugs in it. The thing with this networking model is if there's a bug in the computer code where two machines could provide the same inputs but get different outputs, there can be problems. There are lots of different ways that could happen."
This discussion has been archived. No new comments can be posted.

Taking Halo 2 to Xbox Live

Comments Filter:
  • by Ford Prefect ( 8777 ) on Wednesday December 15, 2004 @10:00AM (#11092196) Homepage
    ... Here [howstuffworks.com] ;-)

    I still reckon the best game networking in the world is that in Quake and its successors, such as Half-Life and its sequel. Unlike Halo and Halo 2, where co-operative play online was apparently an insurmountable technical challenge, in Quake-based stuff even single-player games are inherently client-server anyway.

    From the article, it sounds like Halo 2 multiplayer has moved in that direction away from the all-clients-equal approach of Marathon and Doom, with a single server accepting or denying player-damaging events. Although each client apparently still has a full version of the game world at hand, unlike Quake-style games where a client is only sent relevant stuff - might this allow for some audacious, map-spanning ultra-vision hacks and so on?

    Still, that's how they do the recovery thing if the server gets unexpectedly removed from play...
    • by Anonymous Coward

      Although each client apparently still has a full version of the game world at hand, unlike Quake-style games where a client is only sent relevant stuff - might this allow for some audacious, map-spanning ultra-vision hacks and so on?

      Considering the difficulty (impossibility?) of getting a hacked XBox on Live, I'd say this isn't much of a problem.

    • by Anonymous Coward
      Read through it again.

      Halo's networking model was like Marathon's. Every client was sent every individual thing about the game world. This was awesome for a LAN, as games were extremely smooth. However, this is simply too much data to send over the internet reliably.

      Halo 2 however, like Quakeworld (Though not Quake), uses client-side prediction to determine where players are. This results in a massive bandwidth decrease. Also like Quakeworld, and most other FPS games, the server, not the client, confirms
  • I actually read it through, yes yes pat on the back. And it was very interesting I don't really know much about networking but he explains how the networking model for at least Halo2 works, the part on how the master priortize certain events was neat...
  • by poena.dare ( 306891 ) on Wednesday December 15, 2004 @10:57AM (#11092788)
    ...because every client is being sent the persistent state of the entities in the world (the entities are what we call the persistent objects in the world), that means that any client has all the information about the world. Because the client knows everything about the world, we can support making them be a new server, if the server machine was to turn off, get disconnected from Xbox Live or the player just wants to leave the game...

    Interestingly enough, Bungie's master server and client model is the same model humans use for perceiving the world. For example, right now, Milton Flapdoodle in New Jersey is responsible for perceiving the world, authorizing adjustments to humanity's world view, and beaming the changes to each of us telepathically. Should something happen to Milton, a new server can be chosen because we each carry a copy of the complete world state inside us.

    Unfortunately, the technique isn't foolproof and due to the high density of telepathic messages required there is some unexpected bleed-through amongst the clients. You can tell this happens when you witness a profoundly anomalous event like Britney Spears sudden rise in popularity or Brussel Sprouts that inexplicably taste good.
    • Interestingly enough, Bungie's master server and client model is the same model humans use for perceiving the world. For example, right now, Milton Flapdoodle in New Jersey is responsible for perceiving the world, authorizing adjustments to humanity's world view, and beaming the changes to each of us telepathically.

      Something tells me that you're perceiving the world in an ever so slightly different manner to the rest of us... ;-)
  • Summary is incorrect (Score:5, Informative)

    by Have Blue ( 616 ) on Wednesday December 15, 2004 @11:10AM (#11092923) Homepage
    The Marathon quote is referring to Halo 1. Halo 2 is nothing like this, as the article explains.
  • I haven't played Halo2, so I can't say if it works well. The big catcher was how he said it was not a pure peer model because clients do things like handle reloading your weapon animations? I guess he doesn't understand the difference between the presentation layer and the network, or he just explained it badly.

    Being able to drop a server, and continue with another is pretty cool, but I think the increased trafic for keeping all systems syced is not worth it. I thought XBox live servers were supposed to

    • Xbox Live servers don't host any of the games I play...

      Just about everything is hosted on one of the 'clients'. (Crimson Skies, Rainbow Six, etc) and it actually works out well.

      As far as whether or not Halo 2 network code works....yes, it works very well. The number of people I have seen lagging has been very, very low. The number of times I could blame a death, or a missed kill, on lag is maybe 2 or 3. And that is after many hundreds of games, and thousands of kills (and millions of deaths).
  • Hmmm, now it's only a week since the last Slashdot Halo 2 "Article" (Advert).

    Running out of thigns to say about it? How about: "Halo 2 is best sequel" or "Halo 2 saves white mice from experiments" seeing as Slashdot has ran just about every other Halo 2 related story for no good reason.

  • by HTH NE1 ( 675604 ) on Wednesday December 15, 2004 @12:40PM (#11094029)
    The thing with this networking model is if there's a bug in the computer code where two machines could provide the same inputs but get different outputs, there can be problems.

    I'll say. Every time two machines provide the same inputs but get different outputs, Schrödinger half-kills another cat.
  • by inkless1 ( 1269 ) on Wednesday December 15, 2004 @01:01PM (#11094281) Homepage
    I mean, this is an excellent piece on understanding how a client/server model works in an FPS game over the internet. But he's describing an authoritative server with client side lag prediction. You've been seeing this kind of stuff since like Quake II in one form or another, it's just that it's gotten better prediction over time.

    Don't get me wrong - he clearly knows his stuff, and knows it well enough to explain it detail using plain words - no easy task. When my girlfriend once asked me why one of my mods wasn't working, I told her that network replication was a bit like trying to get two men in a completely dark room to solve a jigsaw puzzle. I'd say he's putting it more eloquently than I could.
  • Running a deterministic model based on peer input, dead-reckoning locally if you haven't received the current input frame from the server, correcting the simulation later on once you've received the missing information from the server (with the server always being authorative).

    And he mentions some typical (but not all) caveats:

    - uninitialized variables that end up having a different value on the different hosts (since, if they're not initialized, their value is whatever was at their location in memory/on
  • by Anonymous Coward
    Here are some of my thoughts on this matter:

    (1) Anyone who has been playing a lot of Halo 2 on Xbox Live (and that describes me bigtime) will know about the "standby Glitch" that is being used to "cheat" in matchmade games. Essentially people are putting there DSL/Cable modems into standby, then taking them out of standby, and while in standby, they can actually run in and take the flag while no one else can even see them, then when they go out of standby, poof! Your flag is gone. This seems like a huge bl
    • Good post responding to your points:

      (1) I've heard about this, but never experienced it first hand. Bungie had a big story on Bungie.net about how they were attempting to correct this problem.

      (2) (Your first '3')I would much rather have the system determine which server is best, rather than some stupid kid who thinks that his awesome cable connection is the best thing going. While you might have a good idea of how your connection rates, many other people don't. I probably get the 'server dropped' scree
    • Try XLink Kai then. I can't (won't and don't want to) use XBox Live, but i've been having an absolute hoot playing Halo2 through Kai...much to the detriment of my real work :)

      XLink Kai [teamxlink.co.uk]

      The latest Linux version of Kaid is usable, as is the Java UI (haven't tried the ncurses UI yet) and XMBC integration. They're all actively supported and getting better with each release.

    • xbox live actually keeps stats on your bandwidth and will build a profile of known good servers. so over time, if you have good upstream, then xbox live should choose you to server more often than not.

Single tasking: Just Say No.

Working...