GameSpy chats with Gearbox Software's president Randy Pitchford about the excitement and challenges of bringing Halo to the PC:
"Networking is by far the most difficult technical challenge of bringing Halo to the PC, so I'll spend the most time covering it. First, it's important to understand where it started
Halo on the Xbox offered four players split-screen multiplayer gaming on one Xbox, and you could hook up four different Xbox machines using the built-in Ethernet connection. This is a really cool thing for a console game to do.
But since Halo was developed for the Xbox prior to Xbox Live, it had no ambitions or capability of being an Internet-playable game. In fact, the network code used in Halo for the Xbox is much more akin to Bungie's Mac classic Marathon than it is to a modern Internet-playable first-person action game.
The networking model for Halo on the Xbox is entirely deterministic (feedback from any input is totally predictable) and synchronous (all users are playing the game at the same speed). The Internet, on the other hand, is very often non-deterministic and asynchronous. On the Internet, every player has a slightly different connection quality (bandwidth) that is at variable distances from the other machines (latency). Furthermore, the Internet is somewhat unpredictable and often unreliable -- bits of information (packets) often get lost or delayed as they travel through the wires trying to find their destination."