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."
Slightly more readable version... (Score:4, Informative)
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...
Re:Slightly more readable version... (Score:1, Interesting)
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.
Re:Slightly more readable version... (Score:2, Informative)
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
Great article (Score:2)
Re:halo2 network code sucks!!! (Score:2)
Client Server Worldview (Score:4, Funny)
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.
Re:Client Server Worldview (Score:3)
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)
Re:Summary is incorrect (Score:2)
Dunno if you'd remember me, I always used the name Necromancer and/or "Necromancer [necro.ath.cx]"... used to hang out on that bungie.org hotline server and stuff...
Re:Summary is incorrect (Score:2)
Re:Summary is incorrect (Score:2)
Interesting (Score:2)
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
Re:Interesting (Score:2)
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).
At least a week since the last Halo 2 ad (Score:1, Troll)
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.
First Person Shooters and Quantum Physics (Score:3, Funny)
I'll say. Every time two machines provide the same inputs but get different outputs, Schrödinger half-kills another cat.
Interesting, but not terribly inventive (Score:3, Insightful)
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.
nothing new here... (Score:2)
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
Re:nothing new here... (Score:2)
Netcode Critiques from Die-Hard Halo 2 Player (Score:2, Insightful)
(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
Re:Netcode Critiques from Die-Hard Halo 2 Player (Score:2)
(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
Re:Netcode Critiques from Die-Hard Halo 2 Player (Score:1)
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.
Re:Netcode Critiques from Die-Hard Halo 2 Player (Score:1)
Re:so sad... (Score:2)