This repository contains a small demo of a quake-style multiplayer FPS that integrates a number of modern netcode techniques for quality of gameplay.
Features:
- Client-side prediction of player entities
- Client-side interpolation of remote entities
- Backwards reconciliation and replay
- Real-time adjustment of client simulation speed to optimize server's input buffer (Overwatch's method).
- Server-side lag compensation
- Hitscan weapons
- (TODO) Projectile weapons
- Master server to manage discovery and connection (via hotel)
References & Research:
- Quake 3 Networking Code Review
- Quake 3 Network Protocol
- Client-Side Prediction With Physics in Unity
- Gaffer On Games Networking
- Unreal Networking Overview
- Gabriel Gambetta Fast-Paced Multiplayer
- Overwatch Gameplay Architecture & Netcode
- TinyBirdNet
- https://www.gamedev.net/forums/topic/696756-command-frames-and-tick-synchronization/
Architecture:
TODO