2026 Software Project
Real-Time Multiplayer Word Game — WebSocket Game Server
Multiplayer browser game built from scratch using Node.js WebSockets. Players join a shared session, submit sentences, and vote on each other's answers across timed rounds. Focused on clean separation between networking and game logic, with a modular architecture that keeps the WebSocket layer decoupled from state management. Handles real-time bidirectional communication using the ws library, with a persistent in-memory game state that survives across rounds without resetting. Implements a full round lifecycle — host assignment, countdown timers, sentence collection, voting phase, and winner calculation — orchestrated with async/await rather than nested callbacks. Player sessions are tracked via a socket map, enabling targeted messaging to individual clients alongside global broadcasts. Built with a clear separation of concerns: server.js owns connections and timing, game.js owns state and rules, and client.js reflect players' actions. Includes a hand-rolled test suite validating core game logic in isolation from the WebSocket layer.
tap to read more