Satellite Funeral

Back to GameDev

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

  • Unity
  • C#
  • Steamworks.NET

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.