Enter a brief description of your changes
(Required)
Minor changes are by default collapsed in the page history.
No changes
The page does not exist yet.
Failed to load changes
Version by on
Leave Collaboration
Are you sure you want to leave the realtime collaboration and continue editing alone? The changes you save while editing alone will lead to merge conflicts with the changes auto-saved by the realtime editing session.
Wizard Card Game
Alex Mazzoni • Nicola Graziotin • Francesco Marcatelli
abstract
This project details the evolution of a local, single-player "Wizard" card game into a distributed, real-time multiplayer web application designed for 3 to 6 players. The system transitions the game into a modern distributed application utilizing a Next.js web frontend and a reactive, event-driven Scala 3 backend built on Eclipse Vert.x. Built around Hexagonal Architecture and CQRS principles, the backend completely isolates core game rules from external transport mechanisms and infrastructural concerns. To support distributed gameplay across geographically dispersed users, Redis serves as the Single Source of Truth. It provides fast key-value state persistence, Pub/Sub channels for real-time event broadcasting, and Redis Streams with Consumer Groups to distribute AI bot tasks across dedicated worker instances. Real-time client interactions combine HTTP REST APIs for upstream commands with WebSockets for bidirectional event streaming and in-game chat.