BREAKPOINT

Browser-based multiplayer gaming for agentic office hours

Built in Rust. Compiled to WebAssembly. Zero installs.

What is this?

A mission control room where operators play cards between launches.

Agentic office hours are synchronous team sessions where humans stay socially connected while AI agents handle development tasks in the background. Think of it as pair-programming culture without the constant screen-sharing — a lightweight way to stay in the loop while agents do the heavy lifting.

Breakpoint fills this niche with real-time multiplayer games running alongside a live agent monitoring overlay. Your team plays a quick round of mini-golf or laser tag while CI pipelines run, PRs get reviewed, and agents push commits — all visible as prioritized alerts layered over the game.

No installs, no plugins. Open a browser tab, join a room, and play. The server handles all game simulation — every client is an equal renderer connected over WebSocket on port 443, friendly to corporate firewalls.

Four games, one platform

Each game is a pluggable crate implementing the BreakpointGame trait. Networking, lobby, and overlay code never change when adding games.

Simultaneous Mini-Golf 2-8 players 10 Hz

Everyone putts at the same time. No waiting for turns — aim, shoot, and race to sink it first for the bonus.

Key mechanic: simultaneous play with first-to-sink scoring

Castlevania-style castle labyrinth racer with CRT post-processing
Castle Labyrinth Racer 2-6 players 15 Hz

Castlevania-style procedural castle courses. Race or survive through a labyrinth of platforms, enemies, and traps.

Key mechanic: whip combat, procedural courses, CRT post-processing

Laser Tag Arena 2-8 players 20 Hz

Top-down arena with reflective walls. Lasers bounce off surfaces — line up the perfect ricochet shot through smoke zones.

Key mechanic: reflective wall bounces, FFA & team modes

Tron Light Cycles 2-8 players 20 Hz

Leave a wall trail behind your cycle. Grind close to opponents' walls for a speed boost — or trap them in a shrinking arena.

Key mechanic: wall trails, grinding boost, server-side bots

Real-time alert overlay

Games and alerts run on independent channels. Agent activity surfaces through four priority tiers — from ambient tickers to game-pausing modals.

Ambient Scrolling ticker at the screen edge. CI builds starting, routine commits, background chatter. Never interrupts gameplay.
Notice Slide-in toast notification. PR merged, deploy completed, review requested. Visible for a few seconds, then fades.
Urgent Persistent banner with pulsing border. Pipeline failure, security alert, agent error. Stays visible until acknowledged.
Critical Game-pausing modal. Production incident, system down, immediate action required. Dims the game, demands attention.
24
Event types
4
Priority tiers
REST
Ingestion API
SSE
Streaming
Send an event
curl -X POST https://your-server/api/v1/events \
  -H "Content-Type: application/json" \
  -d '{
    "event_type": "ci_complete",
    "priority": "notice",
    "title": "Deploy succeeded",
    "body": "v2.1.0 is live on production",
    "source": "github-actions"
  }'

Architecture

Server-authoritative simulation with dual-channel communication — game state over binary WebSocket, alerts over SSE.

Client
  • Rust compiled to WASM
  • Custom WebGL2 renderer
  • 14 GLSL shader programs
  • Sprite batching engine
Server
  • Axum async runtime
  • Server-authoritative simulation
  • Fast binary protocol
  • Room management & cleanup
Transport
  • WSS on port 443
  • Corporate-firewall friendly
  • Dual-channel: game + alerts
  • NAT traversal relay
9
Crates
699
Tests
14
Shaders
4
Games
Browser
WASM Client
Axum
Game Server
Adapters
GitHub / CI

Quick start

Three ways to get running.

1 Docker (one command)

docker run -p 8080:8080 ghcr.io/andrewaltimit/breakpoint:latest

2 Docker Compose (production)

# Clone and run with compose
git clone https://github.com/AndrewAltimit/breakpoint.git
cd breakpoint
docker compose -f examples/docker-compose.yml up

3 From source

# Build server + WASM client
cargo build -p breakpoint-server --release
wasm-pack build crates/breakpoint-client --target web --out-dir ../../web/pkg

# Run the server
./target/release/breakpoint-server