Gabriel Gambetta’s series on fast-paced multiplayer is an excellent resource. You can find the first article here, and the live demo here.
I used it as a roadmap to implement a multiplayer game prototype, where I discovered issues and challenges in my implementation of the techniques that it describes. I want to share the solutions I find to these problems as I continue tinkering with my prototype. I’ll be re-using Gabriel’s live demo to do that.
Here are the entries in my ongoing series. The articles without a hyperlink are planned but haven’t been released yet.
- Modeling network conditions
- Message delivery types over UDP
- Netlib + Client-side prediction and server reconciliation
- Smooth server reconciliation
- The theory of relativity (clock synchronization)
- Preventing timehacks and speedhacks
- Entity extrapolation and interpolation
- Lasers
- Rockets
- The biggest challenge of all
- Demo game
- Case studies
- …and maybe some more as the series progresses…
All the source code (in TypeScript) can be found in this repository, each branch belonging to a different article.
You can subscribe to the mailing list to be notified when a new article appears.