Curated list of resources about gameplay network programming techniques and achitectures.
Game networking is a subset of network engineering that covers multiplayer online game networking. 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.
Please feel free to contribute after reading contribution guidelines.
- 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.
- 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.
- 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.