Backend/Games/2018–2020

Real-time Game Server Platform

Reusable Node.js microservices platform powering 8+ casual multiplayer games.

game-platform-hero.svg

Overview

At G68 every new multiplayer game started from scratch: its own socket layer, its own matchmaking, its own persistence. I designed a shared real-time platform — lobby, rooms, matchmaking, chat, leaderboards, and game-state sync as reusable Node.js services — so a new game only implements its game rules.

The platform shipped 8+ casual multiplayer titles and became the team's standard, cutting new-game development time and maintenance cost significantly.

The problem

Each game team was rebuilding the same real-time infrastructure — connection handling, rooms, reconnection, state sync — with different bugs in each copy. Fixes didn't propagate, and launching a new game took months of server work before any gameplay existed.

Architecture

A gateway service terminates WebSocket connections and routes messages to per-game room services. Shared services handle auth, matchmaking, presence, and leaderboards; Redis backs ephemeral room state and pub/sub between nodes, with MySQL for durable player data. Game logic plugs in as an isolated module with a fixed lifecycle contract.

architecture-diagram
Open interactive diagram ↗

Highlights

  • 8+ games on one platform New titles reused lobby, rooms, matchmaking, and leaderboards — server work for a new game dropped from months to weeks.
  • Horizontal room scaling Rooms are pinned to nodes with Redis pub/sub bridging, so capacity grows by adding nodes — no session stickiness hacks.
  • Reconnection & state sync Players resume mid-game after network drops; the room replays authoritative state instead of trusting the client.
  • Operational simplicity One deployment pipeline, one monitoring story, one on-call runbook for every game the studio ran.

Screenshots

The production system is under NDA, so these are illustrative schematics of the platform's behaviour — not captures of the real service. Figures shown are sample data.

game-platform-room-lifecycle.svggame-platform-node-health.svg
Next project
Signage Management System
All projects