Networking For Games
This is a collection of different papers and articles on game networking that others might find useful. I’ll be updating this post in the future as i come across other papers.
The TRIBES Engine Networking Model
This is the original GDC 2000 paper by Mark Frohnmayer and Tim Gift and is the basis for the networking in Torque 3D today. I mirrored this locally as it seems its getting harder to find.
Robust, Efficient Networking
This is Ben Garney’s AGDC 2008 talk. It covers alot of the basics of the Torque networking model in an easier to understand way. Video and audio versions of the presentation too.
Unreal Networking Architecture
This the documentation of the networking system in Unreal 3 which hasn’t seen major changes over the last 10 years…. here is the original document from 1999. Its fairly similar to the networking in Torque, but has strong ties to UnrealScript.
The Quake3 Networking Model
The method Carmack developed for Quake 3 is very interesting. It would be an interesting experiment to take this same technique and apply it to a modern game. In Torque we could write the game state to a BitStream and store a history of these on the server. We would then make a compressed delta between the current state and the last client ack state. I guess it all depends on how small the compressed delta can be and the processing overhead on the server.
This is one of Glenn Fiedler’s excellent articles on physics when applied to networking. He covers most of the fundimentals of game networking and has a great little demo with source code… a must read.
Defeating Lag With Cubic Splines
This is an interesting idea… use spline interpolation to smoothly move between different snapshots of your networked object. It can’t be any worse that the simple linear interpolation Torque and other games use.