GitHub - MFatihMAR/Awesome-Game-Networking: A Curated List of Game Network Progr...
source link: https://github.com/MFatihMAR/Awesome-Game-Networking
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
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.
Contents
Articles
- 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.
- High Performance Browser Networking - A fantastic free online book about modern web protocols by Ilya Grigorik.
- 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.
- Netcode Explained - Basic game networking concepts with examples by Chris "Battle(non)sense" on PC Gamer.
- Networked Physics in Virtual Reality - Networking a stack of cubes with Unity and PhysX by Glenn Fiedler at Oculus.
- Network Protocols - A brief yet detailed overview of low-level network protocols stack from Destroy All Software.
- Photon Unity Networking - Official PUN multiplayer online game networking framework documentation wiki.
- 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.
- The DOOM III Network Architecture - Improvements upon previous network architectures used in the Quake III Arena.
- The Poor Man's Netcode - Full project source code and detailed blog post about networking challenges by Evan Todd.
- The TRIBES Engine Networking Model - Paper covering Tribes II's networking model by Mark Frohnmayer and Tim Gift.
- Unity Physics and Client-Side Prediction - Demo project and detailed how-to blog post by Joe Best-Rotheray.
- Unity UNET HLAPI and Steam P2P Networking - Example project and detailed blog post by Justin Rempel.
- Unreal Engine 3 Networking & Replication - Historical but still valuable UE3 game networking documentation wiki.
- Unreal Engine 4 Framework & Network - Brief look into Unreal's gameplay networking framework by Nuno Afonso.
- Unreal Engine 4 Network Compendium - Detailed summary of UE4 networking with examples by Cedric Neukirchen.
- Unreal Engine 4 Networking and Multiplayer - Official UE4 gameplay networking framework documentation wiki.
- Unreal Tournament 2004 Netcode - Historical paper on netcode in UT4 / UE by Tim Sweeney.
Talks
- GDC 2000 / 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 / Game Networking for Physics Programmers - Talk by Glenn Fiedler from Respawn Entertainment.
- GDC 2015 / Networking Gameplay and AI in Assassin's Creed Unity - Talk by Charles Lefebvre from Ubisoft.
- GDC 2015 / Stop, Copy/Paste Networking & Innovate - High level design approaches by Claire Blackshaw from Sony.
- GDC 2016 / Fighting Latency on Call of Duty Black Ops III - Detailed techniques by Benjamin Goyette from Activision.
- GDC 2018 / It IS Rocket Science! - The physics and networking of Rocket League in details by Jared Cone.
- HandmadeCon 2015 / Pat Wyatt - 1v1 chat about networking of Guild Wars, Diablo, StarCraft and more by Pat Wyatt.
- Overwatch / Let's Talk Netcode - Dev discussion on Overwatch's netcode by Tim Ford and Philip Orwig from Blizzard.
- UE4 Livestream / Replication Graph - Epic's dev-team demonstrates UE 4.20's new Replication Graph feature.
- UE4 Livestream / Server Optimizations - Ryan Gerleve and Dave Ratti to discuss server optimization techniques in UE4.
- 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.
- Unite LA 2018 / Deep-Dive Into Networking for Unity's FPS Sample - Netcode talk by Peter Andreasen from Unity.
Tutorials
- 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.
Libraries
- C / ENet - Simple and robust reliable UDP networking library.
- C# / Barebones Master Server - Backend framework with auth, profile, lobby, chat features for Unity.
- 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++ / GameNetworkingSockets - Valve's internal (Steam) network transport layer for games.
- 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.
Projects
- 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 / AuthoritativeMovementExample - Server authoritative movement project using Forge Networking for Unity.
- 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 / FPSSample - An official Multiplayer FPS project sample from Unity using new networking package and ECS.
- Unity / Gambetta Networked Demo - Gabriel Gambetta's network architecture implementation in Unity using Lidgren.
- 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.
Tools
- clumsy - Network condition simulation utility. (Windows)
- Fiddler - Web debugging proxy server. (Windows, macOS, Linux)
- netem - Network emulation for testing protocols. (Linux)
- Network Link Conditioner - Network environment simulation utility. (macOS, iOS)
- Postman - Web API debugging client. (Windows, macOS, Linux)
- Wireshark - Network traffic analyzer tool. (Windows, macOS, Linux)
Contributing
Please feel free to contribute after reading contribution guidelines, thank you!
License
To the extent possible under law, M. Fatih MAR has waived all copyright and related or neighboring rights to this work.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK