CodeWhore.com
 Networking: More Articles Around the Internet   Home 

There are numerous Internet articles on adding network support to games, but most are simply an introduction to BSD or Windows Sockets. I'm not going to refer you to these fluff articles, since I don't have the time or patience. If you really are looking for these, do an AltaVista search. The articles listed here have the best content: describing the high-level design decisions and common pitfalls involved in making a high quality network engine. If you find or write such an article, please drop me a line.

Gamasutra: The Internet Sucks (Or, What I Learned Coding X-Wing vs. TIE Fighter)
An excellent article about adding network support to an existing action game / flight simulator. It describes several bad assumptions made early in design and development, and other problems that remained hidden until the real world testing began. This provides a very good reality check for first time network programmers.

Gamasutra: Internet Game Design
Once you've decided that you want to network your game, read this article to get a good overview of the basic decisions you'll need to make -- such as network size, topology, and other special features.

Gamasutra: Using Groupings for Networked Gaming
A detailed discussion about one technique for reducing bandwidth in large scale network simulations, with easy to understand examples and even some gotchas to look out for.

Gamasutra: Closing the Loop on Scalable Network Gaming Backend Services
A good guide to designing a "master server" or "game tracker" so that your users can advertise and find games on the Internet.

Stuart Cheshire: It's the Latency, Stupid
A thorough examination of the difference between bandwidth and latency, with plenty of good examples that even a novice can understand. It also discusses several strategies for coping with latency. He has even gathered a set of real world statistics from users around the Internet.

Stuart Cheshire: Latency and the Quest for Interactivity
Another great detailed look at latency, where it comes from and what type of applications suffer from it the most -- both over a network and in the real world.

Juri Munkki: Design and Implementation of Networked Games
A good overview of all of the issues involved in designing and writing a network game. It's more than technical stuff, because it discusses high level design issues and gives real world examples.

Nick Caldwell: Defeating Lag with Cubic Splines
Dead-reckoning is a simple way to predict the path of an object and interpolate sprite locations during intermittent packet loss. This article suggests a technique that smooths the interpolated path by fitting it to a simple curve.

Dan Kegel: NAT and Peer-to-Peer Networking
Network Address Translation is a trick that routers use to let multiple computers share the same IP address, by remapping addresses inside the packet headers. Running a peer-to-peer networked simulation may require that an application pass network addresses as data instead. This article describes a technique to work around this problem.

RFC 3489: Simple Traversal of UDP Through NAT
The canonical IETF document that describes a simple technique for coping with NAT. The document also defines useful terminology to describe NAT limitations and algorithms for classifying a given NAT configuration.

GameSurge: NetCode Editorial, Rebuttal, and Interview
This series of articles examines both user and technical aspects of NetCode, the networking engine in Half-Life. It discuss important design issues, such as client-side interpolation and server-side arbitration, but it also shows how some players take these design decisions very personally.

Copyright (c) 1999-2003 Matt Slot and Ambrosia Software, Inc.