3 ms·
For the fundamentals, Gaffer on Games has a series referred to as "Networked Physics" that goes over deterministic lockstep simulation in a networked (aka Multi
by dljsjr 4y ago
For the fundamentals, Gaffer on Games has a series referred to as "Networked Physics" that goes over deterministic lockstep simulation in a networked (aka Multiplayer) environment, and input handling[1]. There are also other articles/series on stuff like Reliable UDP instead of TCP which is important for keeping latency low, writing a game loop with variable timestep, and other gamedev fundamentals. Gaffer on Games is a terrific resource.
The series doesn't really get in to doing things like rollback and the like, which would be "beyond fundamentals", as noted by the fact that a lot of AAA games don't even have good rollback net code.
Blizzard folks gave a GDC talk on the Overwatch architecture and their rollback implementation that is good for a conceptual discussion[2]
Here's a Gist w/ some rollback net code pseudocode that got posted in a gamedev subreddit once that I bookmarked but didn't read myself[3]
EDIT: Here's the lower-level game networking series from Gaffer as well, "Building a Game Network Protocol"[4]
[1]: https://gafferongames.com/categories/networked-physics/ https://gafferongames.com/categories/networked-physics/
[2]: https://www.youtube.com/watch?v=zrIY0eIyqmI https://www.youtube.com/watch?v=zrIY0eIyqmI
[3]: https://gist.github.com/rcmagic/f8d76bca32b5609e85ab156db38387e9 https://gist.github.com/rcmagic/f8d76bca32b5609e85ab156db383...
[4]: https://gafferongames.com/categories/building-a-game-network-protocol/ https://gafferongames.com/categories/building-a-game-network...
- rabf 4y agoThese are great links, gafferongames demystified so much for me. I will also add in a link to Fabien's look at the quake 3 netcode, with the added bonus that the source code is available. https://fabiensanglard.net/quake3/network.php https://fabiensanglard.net/quake3/network.php
- SomeHacker44 4y agoArcen Games has blog posts on how he implemented multiplayer in AI War 1 and 2.
- lwansbrough 4y agoI would also submit Gabriel Gambetta's series which includes a bite-sized demo written in JS: https://www.gabrielgambetta.com/client-server-game-architecture.html https://www.gabrielgambetta.com/client-server-game-architect...