RoboRally multiplayer game
Multiplayer RoboRally game with real-time board mechanics.
Overview
A digital recreation of the RoboRally board game, built as a group project for DTU course 02162 Software Engineering 2.
The system splits into a React and TypeScript client, a Spring Boot gateway handling auth, WebSockets, and a MySQL-backed lobby layer, and a separate Spring Boot host running the core game rules engine. It includes a Nix-based dev environment and deployment scripts for a Linux and nginx server.
It started as a DTU 02162 Software Engineering 2 group project (the Java and Spring Boot stack above). I then took my own copy and continued it solo down a different path: I ported the rules engine to TypeScript (movement, conveyors, lasers, the card and damage system, checkpoints, antenna priority, pits, and reboot/respawn), built a browser-authoritative host orchestrator and a board-definition loader that runs a full round on the real Starter Course, and wired a React client to a Vercel backend for playable multiplayer in the browser. The source-code link is that continued copy.
Highlights
- Client, gateway, and host architecture separating UI, networking and auth, and the rules engine
- Real-time multiplayer over WebSockets with a lobby system
- JWT auth and MySQL persistence via Spring Security
- Reproducible dev environment via flake.nix
- Production deployment scripts and nginx config for a DTU compute server