Multiplayer Game Prototype

Lantern Arena

An experimental open-source project exploring real-time sync, room matchmaking, and latency-tolerant gameplay.

Authoritative Server

Core game rules are resolved on the server to keep state consistent and reduce desync between clients.

Client Prediction

Inputs are predicted immediately on the client and reconciled with server snapshots for responsive control.

Lag Compensation

Server-side rewinding and timestamped hit checks improve fairness under unstable network conditions.

Demo

This is an experimental prototype. The demo may change across versions.

room: eu-2 | tick: 64 | ping: 42ms snapshot seq=12881 reconcile=ok interpolation=2 frames

Netcode

  • Transport: WebSocket sessions with room-based routing.
  • Simulation: fixed tick rate (default 64 Hz) on server runtime.
  • State sync: delta snapshots with sequence numbers and ack-based resend windows.
  • Smoothing: interpolation on remote entities and reconciliation for local player.
[Client A]--\
             >--[Gateway WS]--[Match Room]--[Authoritative Sim]
[Client B]--/           |             |
                     snapshots      events
                          \         /
                       [State Broadcast]

Roadmap

  • MVP: room join, movement sync, simple collisions
  • Alpha: reconciliation metrics, replayable sync logs
  • Beta: stress tests, packet jitter scenarios, spectator mode
  • Hardening: observability dashboards, rollback tooling, CI soak tests

Docs

Quick Start

Serve this folder as static files:

python -m http.server 8080

Or host with any static server (for example, Nginx).