Matthew
Jan 30 3:07 PM
network_wifi battery_5_bar
folder_open ~/projects/stackops
sports_esports

StackOps

A real-time multiplayer card game that satirizes DevOps and SRE culture - complete deployments, manage chaos, and become the most reliable engineer.

Angular Node.js Socket.io NgRx Game Dev

A turn-based multiplayer card game for DevOps and SRE enthusiasts. Complete deployment tasks while managing chaos events to become the most reliable engineer.

The Concept

StackOps satirizes Site Reliability Engineering culture through card game mechanics. Players compete (or cooperate) to earn Reliability Points by completing deployment tasks while dealing with operational chaos - latency spikes, service outages, and the dreaded Friday deploy.

Game Modes

  • Competitive - Full PvP with sabotage mechanics; transfer chaos to opponents, block with interaction cards
  • Co-op - Work together against the chaos with a shared RP pool; perfect for team building
  • Difficulty tiers - Easy, Normal, and Hard affect chaos frequency and upgrade availability

Card Types

TypePurposeExample
TaskDeployment objectives worth RP”Migrate Database” - requires Migrate, Test, Approval actions
ActionSRE actions to complete tasksMigrate, Rollback, Escalate, Test
ChaosDisruptions that attach to tasks”Friday Deploy” - drains 2 RP per turn
InteractionAffect other playersTransfer chaos, steal actions, counter moves
UpgradePassive buffs”CI/CD Accelerator” - draw 2 cards per turn

Tech Stack

Frontend

  • Angular 17+ with TypeScript
  • NgRx for Redux-pattern state management
  • TailwindCSS for styling

Backend

  • Node.js + Express for game server
  • Socket.io for real-time multiplayer communication
  • In-memory state for MVP, Redis planned for horizontal scaling

Architecture

The game uses an event-driven architecture with server authority:

  • Server-authoritative state - All game logic validated server-side to prevent cheating
  • Event sourcing - Game actions dispatched as events, enabling replays and debugging
  • Optimistic UI - Client predicts outcomes for responsive feel, server corrects if needed

Documentation

All major technical decisions documented in Architecture Decision Records (ADRs):

  1. Technology Stack Selection
  2. Game State Architecture
  3. Frontend Component Hierarchy
  4. Backend Service Design
  5. Card System and Rules Engine

Features

  • 2-4 player support with lobby and waiting room
  • Turn phases - Task check, draw, action, penalty
  • Game log - Track all moves and chaos events
  • Real-time sync - Instant updates across all connected clients

Roadmap

  • Phase 1 (Complete) - MVP with core game loop, basic UI, 2-4 players
  • Phase 2 - Animations, sound design, mobile responsive
  • Phase 3 - Redis scaling, auth, leaderboards, game replays
  • Phase 4 - AI opponents, tournaments, spectator mode

Why This Project

Beyond being fun to build, StackOps demonstrates:

  • Real-time systems - WebSocket state synchronization across clients
  • Game architecture - Turn-based logic, event sourcing, anti-cheat through server authority
  • Domain knowledge - The card effects and chaos events are grounded in real SRE pain points