Game Network Programming
 
Main!
Articles
Books
Links

Slides
  Protocols
  Connections
  Reliable Messages
  Message Systems
  Server Arch
  Arch & Latency
  Bandwidth & Perf
  Routers & NAT
  Backend Services
  Threading
 
 
Online Sources
 
GDC Videos Sockets General Flipcode Gamedev.net Gamasutra.com
  • Programming Articles. (Many great networking articles)
    • Building Games that Run on Poor Mobile Connections
      Building Games that Run on Poor Mobile Connections by Bernt Habermeier [01.26.12] The former SVP of engineering of Moblyng, developers of Social Poker Live, explains the ins and outs of getting network traffic up and running over spotty cell connections using HTML5.
    • Networks With Letters
      Networks With Letters by John Knottenbelt [08.12.09] In this technical piece, Introversion's Knottenbelt discusses the 'discrete event simulation' approach to multiplayer in the upcoming Darwinia+ for Xbox Live Arcade, in which player movements and button presses are sent over the network, instead of actual positions of the thousands of in-game objects
    • A Templated C++ Attribute Library for Object Persistence and Export
      A Templated C++ Attribute Library for Object Persistence and Export by Gary McNickle [06.04.08] In this in-depth technical piece, coding veteran McNickle explains how experience on the Deer Hunter series led him to create a library for managing and exporting important variables.
    • Propagation of Visual Entity Properties Under Bandwidth Constraints
      Propagation of Visual Entity Properties Under Bandwidth Constraints by Olivier Cado [05.24.07] How does an MMO move its player characters naturally, despite the problem of lag and bandwidth constraints when interacting? Cado, who worked on MMO Saga Of Ryzom, explains some of the techniques he used to make real-time interaction seem as smooth as silk.
    • GDC: Creating a Global MMO: Balancing Cultures and Platforms in Final Fantasy XI
      GDC: Creating a Global MMO: Balancing Cultures and Platforms in Final Fantasy XI by Christopher Woodard [03.24.06] PlayOnline organizer and producer Sage Sundi took the microphone at GDC to examine what makes Final Fantasy XI unique and successful as an MMOG as he went on to detail how the game is supported to ensure a uniform experience across all platforms and all territories.
    • Designing Secure, Flexible, and High Performance Game Network Architectures
      Designing Secure, Flexible, and High Performance Game Network Architectures by Kevin Jenkins [12.06.04] Jenkins takes a look at possibilities for game-level network architecture for your titles, claiming the right implementation "can abstract away many common tasks, saving time, improving flexibility, and addressing cheating issues that can't be solved easily elsewhere."
    • Localizing MMOGs
      Localizing MMOGs by Eric Heimburg [09.12.03] One of the great aspects MMOGs is that they permit a global community to come together and play a game together. But to attract audiences from different countries, your game needs to elegantly handle other languages. This article explains the system Turbine Entertainment developed for Asheron's Call 2 that let their MMORPG support different languages.
    • 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond
      1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond by Paul Bettner and Mark Terrano [03.22.01] In Age of Empires the time to complete each simulation step varies greatly: the rendering time changes if the user is watching units, scrolling, or sitting over unexplored terrain, and large paths or strategic planning by the AI made the game turn fluctuate fairly wildly. A few quick calculations show that passing even a small set of data about the units, and attempting to update it in real time would severely limit the number of units and objects interacting with the player. Just passing X and Y coordinates, status, action, facing and damage would limit us to 250 moving units in the game at the most. We wanted to devastate a Greek city with catapults, archers, and warriors on one side while it was being besieged from the sea with triremes. Clearly, another approach was needed.
    • Using Groupings for Networked Gaming
      Using Groupings for Networked Gaming by Jesse Aronson [06.21.00] Networked computer games present new data distribution challenges to the developer. With stand-alone games, all game information is available in one place, on one computer, all the time. When designing networked games, however, the developer has to consider what information the other players on the network need, when they need it, and how to deliver it to them.
    • Half-Life and Team Fortress Networking: Closing the Loop on Scalable Network Gaming Backend Services
      Half-Life and Team Fortress Networking: Closing the Loop on Scalable Network Gaming Backend Services by Yahn Bernier [05.11.00] More and more, having an on-line component to gaming is essential to the success of a title. In addition, as games become more of a consumer entertainment experience, making things easier on gamers becomes essential. Yahn W. Bernier examines how to provision a variety of backend services to provide a seamless user experience for gamers as they go on-line.
    • Dead Reckoning: Latency Hiding for Networked Games
      Dead Reckoning: Latency Hiding for Networked Games by Jesse Aronson [09.19.97] Using a predetermined set of algorithms to extrapolate entity behavior, you can hide some of the effects that latency has on fast-action games.
    • Designing Fast-Action for the Internet
      Designing Fast-Action for the Internet by Yu-Shen Ng [09.05.97] Given careful design (or redesign), your fast-twitch game may be playable over the Net. Discovering where the bottlenecks are and how to construct solutions is the key.
    • Multiplayer Math
      Multiplayer Math by Larry O'Brien [08.29.97] O'Brien examines the implication of creating a turn-based vs. a real-time game, and shows how to calculate optimal time and space granularities.
    • Java Network Game Programming
      Java Network Game Programming by Michael Morrison [08.12.97] While Java's current performance rules it out as a possibility for high-performance, graphically intensive games, it is certainly capable of developing other types of games.
    • Security in Online Games
      Security in Online Games by Andrew Kirmse and Chris Kirmse [07.07.97] When Diablo first came out, Battle.net took its share of criticism for the many security holes that it had. To build a better online multiplayer game, client/server security is of paramount importance. In this article, the developers of Meridian 59 speak out on game security, defense strategies, and more.
Engine Implementations Network Address Translation Time Synchronization Cryptography