A multi-player trivia game application with a C++ server backend and a WPF client frontend. This application allows users to create and join game rooms, play trivia games with friends, and compete in head-to-head matches.
- User Authentication: Secure login and registration system
- Lobby System: Create and join game rooms
- Multiplayer Gameplay: Compete with others in real-time trivia challenges
- Head-to-Head Mode: Quick 1v1 matches with automatic opponent matching
- Question Database: Growing collection of trivia questions
- User Contributions: Add your own questions to the database
- Real-time Results: Live scoring and game statistics
- Leaderboards: See who's the trivia champion
-
Backend:
- C++ server with multithreading
- SQLite database for user accounts and questions
- Custom networking protocol for client-server communication
- JSON serialization for data exchange
-
Frontend:
- C# WPF application
- MVVM architecture
- Modern UI design with responsive layout
- Asynchronous communication with server
The application follows a client-server architecture:
- Server: Handles authentication, room management, game logic, and database operations
- Client: Provides the user interface and communicates with the server via socket connections
- Visual Studio 2019 or newer with C++ and C# development tools
- .NET Framework 4.7.2 or higher
- SQLite
- Open
Trivia.slnin Visual Studio - Build the
Triviaproject - Run the server executable
- Open
Trivia.slnin Visual Studio - Build the
client_guiproject - Run the client application
- Launch the client application and log in or register
- From the main menu, you can:
- Join an existing game room
- Create a new game room
- Challenge someone to a head-to-head match
- Add new questions to the database
- In a game room, wait for the host to start the game
- Answer trivia questions within the time limit
- View results at the end of the game to see who won
- Mobile client applications
- More game modes (team play, categories, difficulty levels)
- User profiles and statistics
- Achievement system
- Integration with online trivia APIs for additional questions