A network-based multiplayer quiz application built with Python, Socket Programming, and a Tkinter GUI interface.
The system coordination logic, player flow, timing mechanisms, and question distribution are all developed as part of the CENG336 Computer Networks course.
This project implements a real-time multiplayer quiz game where 3 players must join before the game starts.
The server coordinates question distribution, timing, scoring, and synchronization across all connected clients.
Key highlights:
- Server–client architecture
- Real-time synchronized question broadcast
- Tkinter-based visual interface for players
- JSON-based question bank
- Automatic scoring & answer tracking
- Countdown timer per question
- Supports concurrent players
- Players run the client application and connect to the quiz server.
- The server waits until 3 players join.
- Once the required number of users is connected, the quiz automatically begins.
- Each question:
- Is pulled from
questions.json - Sent to every client simultaneously
- Has a time limit (e.g., 10 seconds)
- Automatically moves to the next question if time expires
- Is pulled from
- At the end of 10 questions:
- Scores are calculated
- Winner is announced