- Gather 3 to 10 players.
- A drawing keyword and one Trouble Painter are randomly assigned.
- Trouble Painter: Draws without knowing the keyword and tries to avoid detection.
- Good Painter: Draws based on the keyword and must keep it hidden from the Trouble Painter.
- The game has two rounds, with each player adding one stroke per turn.
- After all drawings are done, players vote to identify the Trouble Painter.
- If the Trouble Painter is identified, they get a chance to guess the keyword.
- If they guess correctly, the Trouble Painter wins. If not, the Good Painters win.
The app features an AI Hint function using Gemini's Vision capability to assist the Trouble Painter in guessing the keyword.
- Players' drawings and the keyword are analyzed by Gemini.
- Gemini generates a context-based hint.
- The hint is provided to the Trouble Painter.
- Flutter
- Flavor : dev / prod
- Riverpod
- Design System
- Multi-language support
- MVVM & Clean Architecture
- Google Analytics
- Run
make init
lib
├─ .env
│ ├─ dev
│ │ ├─ .env
│ │ ├─ firebase_options.dart
│ │ ├─ google-services.json
│ │ └─ GoogleService-Info.plist
│ ├─ prod
│ │ ├─ .env
│ │ ├─ firebase_options.dart
│ │ ├─ google-services.json
│ │ └─ GoogleService-Info.plist
│ └─ flavorizr.yaml
├─ app
│ ├─ pages
│ └─ routes
├─ core
│ ├─ localization
│ ├─ theme
│ └─ utils
└─ features
└─ feature1
├─ data
│ ├─ models
│ ├─ repositories
│ └─ sources
└─ domain
├─ entities
├─ usecases
└─ services