Cross-Game Tournament System
Server-driven tournaments, live leaderboards, every game on the platform
Tournaments needed to work across the entire game lineup, not one title at a time. That meant a shared contract between the games and the server: tournament lifecycle, player standings, and results all had to arrive as state the client could render, no matter which game was running.
I built the client-server communication for tournament state and the presentation layer on top of it — a live leaderboard that updates as play happens, plus a new animation set for tournament entry, standing changes and final results. The interesting problem was making standings feel responsive without letting the client invent state it had not been told about: the server stays authoritative, the animations interpolate.
Because it was built once against a shared contract rather than per title, every game on the platform picked up tournament support without reimplementing it. This is the sibling of the Tournament Display work — that one owns the operator-facing visual surface, this one owns the tournament mechanics and player-facing presentation.
Highlights
- Tournament support across the full game lineup from one implementation
- Client-server protocol for tournament lifecycle and player state
- Live leaderboard updating during play, server-authoritative
- New animation layer for entry, standing changes and results
- Shared contract, so new titles inherit tournaments for free