Move with WASD, arrow keys, or drag inside the arena. Your player is amber. Open this URL in another tab to meet another player.
A ping adds one point. A reconnect keeps your ID and score.
Record timing to collect at most 512 metadata entries. This reloads the page and resumes your seat. No player payloads or tokens are recorded.
Receipt age includes the server, network and browser scheduling. Render submission adds the time until this canvas draw; it does not measure GPU presentation. Ages use the synchronized server clock and its uncertainty. These values are observations from your connection.
This hosted arena uses Twinwire over WebSocket in a Durable Object. Each invite has its own room for up to eight players. Reconnect within 30 seconds to keep your seat; a server restart creates a new arena. The downloadable Node starter also supports native WebRTC.
Read the code walkthrough →