views:

1136

answers:

6

What are good resources for the latest in Game network programming. I'm looking for something that's not the traditional business software network programming, talking about RPC and clients making calls to the server.

I'm looking for techniques and articles on the latest in Game simulation network programming. I'm looking for techniques that are used in FPS and MMO type game servers using TCP/UDP dual channel communication. I'm looking for research paper, online articles or books that discuss techniques for dealing with dead reckoning, time based interpolation, and cross-language network clients.

I'm especially interested in how different games developed their application network messaging layer.

Here are some :

+3  A: 

I liked this paper a lot. I discusses how different types of games require different architectures and comes up with some nice ideas that hardly apply to 'ordinary' distributed simulations, but seem very helpful to reduce latency in games.

Here is another paper that builds up on that approach.

__roland__
+3  A: 

The best I've ever read was by Paul Bettner and Mark Terrano from Ensemble Studios (they wrote the networking for Age of Empires)

http://www.gamasutra.com/view/feature/3094/1500_archers_on_a_288_network_.php

This game had one the best RTS networking I've ever seen with very low bandwidth requirements, support for all DirectPlay methods (including local serial connection) and resuming a multiplayer game.

Modern RTS like Supreme Commander still use the basic "synchronised simulations" system these guys pioneered.

Paul Bettners bio is interesting too:

"Paul Bettner joined Ensemble Studios in 1997 at the age of 20 and somehow still holds the dubious honor of being the youngest team member. In 1994, Bettner developed an IPX network emulation system (SerIPX) that enabled thousands of users to play the first four-player-over-modem games of Duke3D, Warcraft 2, and Descent on Game Connection BBSs and ISPs worldwide. He's been hooked on multiplayer development ever since. At Ensemble Studios, Bettner has worked on the Age of Empires series and is currently developing the communications infrastructure for Ensemble's next-generation titles"

SpliFF
+1  A: 

For stuff like this, I like to use Delicious bookmarks. For instance, this search brought up RakNet, which is something I hadn't heard of: http://delicious.com/tag/game+network+engine

http://delicious.com/tag/game+network+programming also turns up some interesting links, as does http://delicious.com/tag/game+network+udp

sehugg
+3  A: 

At GameDev you'll find a good list of games networking programming books and many articles and resources.

Moayad Mardini
A: 

The FlightGear project's wiki provides a fairly comprehensive list of links on various related topics (network programming, design, concepts etc), you might want to take a look because all of these are directly and freely accessible.

none
A: 

I'm looking for research paper, online articles or books that discuss techniques for dealing with [...] cross-language network clients.

Most of the time this is done by:

  • putting the information in a standard packet structure in Language A
  • writing the structure as raw bytes
  • writing it to the network
  • reading it from the network at the other end with Language B
  • constructing a Language B object from the bytes

If this sounds incredibly low-level for modern distributed apps, that's probably because it is. Most game developers are quite happy to (and often prefer to) write manual serialization for this sort of thing, so that's what you'll generally see, and it generalises to any language that can write a byte out to a socket.

Kylotan