Codenames is an online multiplayer game inspired by the popular party game. This project is a collaborative effort: I developed the client side using Flutter, while my friend handled the server-side development. The project is built using WebSockets (socket.io) for real-time communication. The game supports three languages: Ukrainian, Russian, and English.
- 🎮 Real-time multiplayer gameplay
- 💡 Interactive and responsive UI
- 🔗 Smooth WebSocket-based communication
- 🔊 Sound effects and vibration feedback
- 🌗 Theme switching (light/dark mode)
- 🌍 Language switching (Ukrainian, Russian, English)
- Flutter SDK >= 3.2.6
- Dart SDK >= 2.17.0
For server setup instructions, please refer to the server documentation. It contains detailed guidelines on environment configuration and deployment.
- Clone the repository:
git clone https://github.com/artemhula/codenames.git
- Navigate to the client directory:
cd codenames - Install dependencies:
flutter pub get
- Create
.envfile in the root directory of the project and add the necessary environment variables. For example:SOCKET_URL=http://localhost:3000 - Run the app:
flutter run
- Redux
- Socket_IO
- Shared Preferences
- Flutter_intl (l10n)
- Minimum number of players: 4
- The game is played in two teams: red and blue.
- Each team has a spymaster and field operatives.
- The spymaster gives one-word clues and a number, hinting at specific words on the board.
- Operatives try to guess their team’s words based on the clue.
- Be careful! Guessing the opponent’s words helps the other team, and guessing the assassin word ends the game instantly.
- The first team to find all their words wins! 🎯

