Satellite Funeral
A co-op multiplayer game built in Unity. Two players connect over Steam and navigate a shared world, with all gameplay state authoritative on the host and replicated to the client. The project was a deep dive into real-time networking fundamentals — every major technique was implemented from scratch rather than relying on a high-level networking framework.
Tech
Networking
- Client-side prediction — input is applied immediately on the client; the server confirms or corrects via reconciliation to eliminate perceived latency.
- Server reconciliation — the client replays unacknowledged inputs on top of each server snapshot to stay in sync without jarring corrections.
- Snapshot interpolation — remote entity positions are interpolated between received snapshots to produce smooth visual movement despite discrete network updates.
- Network traffic optimization — state is delta-compressed and sent only when changed; update rates are tuned per entity type to reduce bandwidth.
Architecture
- Lightweight DI framework — a minimal dependency injection container written for the project, keeping systems decoupled and testable without the overhead of a full DI library.