| 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.