Curated list of resources about gameplay network programming techniques and architectures.
Game networking is a subset of computer networking that specifically covers data replication, state synchronization and RPCs for multiplayer online games. Entity interpolation, input prediction, lag compensation and client-server model topics are main pillars of gameplay network development. This list contains handfully picked resources ranging between high-level network architectures and low-level data replication optimizations.
- Ethernet vs. WiFi - Internet connection over WiFi vs Ethernet metrics comparison by Viscarious from Riot Games.
- Fast-Paced Multiplayer - Gabriel Gambetta's client-side prediction, entity interpolation and lag compensation articles.
- Gaffer on Games - Glenn Fiedler's reliable-UDP protocol and game network development articles.
- Game Server Architecture - Matthew Walker's multiplayer game server architecture blog.
- How a Shooter Shoots - Armin Ronacher's analysis on Battlefield 3's shooting mechanism in multiplayer.
- IT Hare on Network Programming - Detailed network programming articles from IT Hare team.
- NAT Punch-through for Multiplayer Games - Brief summary of NAT and P2P connectivity for games by Keith Johnston.
- Networked Physics in Virtual Reality - Networking a stack of cubes with Unity and PhysX by Glenn Fiedler at Oculus.
- Quake 3 Network Model - Fabien Sanglard's source code review about Quake 3's networking model.
- Real Time Multiplayer in HTML5 - Sven Bergström's multiplayer game development guide using web technologies.
- Replication in Networked Games - Mikola Lysenko's replication articles for JavaScript-based multiplayer games.
- Source Multiplayer Networking - Valve's Source engine wiki that includes advanced game networking topics.
- Tech-Stack of the Ultima Online Servers - A brief summary about UO tech-stack by Raph Koster and Brian Crowder.
- The Case of the Quake Cheats - Security lessons learned about client-server model from Quake 1 by id Software.
- Unreal Tournament 2004 Netcode - On Netcode in Unreal Engine (historical) by Tim Sweeney.
- GDC 2001 / Half-Life and Team Fortress Networking - Game networking in details by Yahn Bernier from Valve.
- GDC 2010 / Building the Server Software for ELIMINATE - Talk by Stephen Detwiler and James Marr from ngmoco:).
- GDC 2010 / The Server Technology of EVE Online - 300K Players in One World by Kristjan Jonsson from CCP Games.
- GDC 2011 / Crysis 2 Multiplayer - A Programmer's Postmortem by Peter Hall from Crytek.
- GDC 2011 / I Shot You First - Gameplay networking in Halo: Reach by David Aldridge from Bungie.
- GDC 2012 / Writing Server and Network Code for Your Online Game - Talk by Patrick Wyatt from En Masse Ent.
- GDC 2013 / Network Serialization and Routing in World of Warcraft - Talk by Joe Rumsey from Blizzard.
- GDC 2015 / Networking Gameplay and AI in Assassin's Creed Unity - Talk by Charles Lefebvre from Ubisoft.
- GDC 2015 / Game Networking for Physics Programmers - Talk by Glenn Fiedler from Respawn Entertainment.
- Let's Talk Netcode - Techniques on Overwatch's netcode by Tim Ford and Philip Orwig from Blizzard.
- Unite EU 2016 / Building a PvP focused MMO - Albion MMO architecture by David Salz from Sandbox Interactive.
- Unite EU 2017 / Photon vs UNet - Multiplayer architecture comparison by Christof Wegmann from Exit Games.
- UE4 / Authoritative Networked Character Movement - Introduction to implementing networked movement features.
- UE4 / Blueprint Multiplayer - Blueprint multiplayer game development tutorial series by Wes Bunn from Epic Games.
- UE4 / Create Multiplayer Games - (Paid) C++ multiplayer game development tutorial series by Tom Looman.
- UE4 / Online Game Development - (Paid) C++ online game development tutorial series by Sam Pattuzzi.
- UE4 / Steam Multiplayer - Steam-backed blueprint multiplayer tutorial by Maik Hilfer.
- Unity / Making a Multiplayer FPS - UNET-based multiplayer FPS game development tutorials by Asbjørn Thirslund.
- Unity / Multiplayer Networking - Official UNET-based multiplayer game networking tutorials by Unity.
- C / ENet - Simple and robust reliable UDP networking library.
- C# / ForgeNetworking - Unity focused real-time multiplayer networking solution.
- C# / Lidgren.Network - Reliable UDP networking library (.NET).
- C# / LiteNetLib - Lite reliable UDP networking library (.NET/Mono).
- C# / PhotonEngine - Hybrid multiplayer game networking platform (SaaS, Cloud).
- C++ / RakNet - Full-featured and mature reliable UDP networking engine.
- C++ / yojimbo - Reliable UDP networking library for client/server games with dedicated servers.
- Java / SmartFoxServer - Massive multiplayer game server with advanced built-in features.
- UE4 / CharacterMovementReplication - Project that adds sprint ability to the CharacterMovementComponent.
- UE4 / CoopHordeShooter - 3rd-person co-op multiplayer horde shooter game tutorial project.
- UE4 / EpicSurvivalGame - 3rd-person multiplayer zombie survival game tutorial project.
- Unity / Angry Bots Multiplayer - Photon PUN-based multiplayer top-down shooter project.
- Unity / ArenaGame - Forge Networking-based multiplayer FPS game as an example project.
- Unity / MultiplayerFPS - UNET-based simple multiplayer 1st-person shooter tutorial project.
- Unity / SmartFoxServer2X Multiplayer - SFS2X-based multiplayer project examples.
- Unity / TANKS! Networking - UNET-based multiplayer tank shooter project.
- Unity / UNet-Controller - UNET-based networked 1st-person and 3rd-person player controller with advanced features.
Please feel free to contribute after reading contribution guidelines, thank you!
To the extent possible under law, M. Fatih MAR has waived all copyright and related or neighboring rights to this work.