Guess Who

Andrea Biagini  •  Filippo Gurioli

The project aims to create a distributed system that manages the creation and progress of matches of the famous "Guess Who" game. Players can join the game using a desktop application that connects to a dedicated server, allowing users to instantiate matches. A user can register to save statistical data, such as the number of victories. The server will be internally divided into multiple servers, sharing the same IP address and port from the client's perspective, appearing as a single entity. In this way, if one server fails, others will take its place. Each new match will be instantiated on the server currently hosting the fewest matches. User data will be replicated across all currently running servers.