A Flutter-based digital implementation of the popular Spyfall party game, supporting real-time multiplayer gameplay across Android, iOS, and web platforms.
Classic Spyfall party game - Find the spy or guess the secret location!
๐ต๏ธ Welcome to Spyfall - The Ultimate Social Deduction Experience!
Bring the excitement of the beloved party game Spyfall to your mobile device! Perfect for friends, family gatherings, or party entertainment, this digital version makes it easier than ever to play the thrilling game of deduction and deception.
๐ฎ How to Play: One player is secretly assigned as the "spy" while everyone else receives the same location with specific roles. The spy must figure out the secret location through careful questioning, while other players try to identify who among them is the spy - all without revealing too much!
โจ Key Features:
๐ฏ 27 Unique Locations - From airplane cockpits to pirate ships, each location comes with beautiful hand-drawn style cards and 7 unique roles
๐ Real-Time Multiplayer - Create or join game rooms with simple 4-character codes. Play with friends anywhere!
โฐ Built-in Timer - Customizable game timer (2-10 minutes) with retro LED display keeps games moving
๐ Player Tracking - Interactive grid to mark suspicious players and eliminate possible locations
๐ก Question Helper - Over 40 sample questions to spark conversation when you're stuck
๐จ Beautiful Design - Stunning polaroid-style location cards with custom fonts and smooth animations
๐ช Complete Game Management - Host controls, ready-up system, automatic role assignment, and game results
๐ Perfect For:
- Party entertainment (3-8 players recommended)
- Family game nights
- Friend gatherings
- Team building activities
- Classroom activities
- Virtual hangouts
๐ฑ Cross-Platform Play: Play seamlessly across Android, iOS, and web browsers. Everyone can join regardless of their device!
๐ญ Locations Include: Airplane, Bank, Beach, Casino, Hospital, Restaurant, School, Space Station, Submarine, and many more exotic and familiar places!
Whether you're a seasoned Spyfall veteran or new to social deduction games, this digital version provides all the tools you need for an engaging and memorable gaming experience. Download now and start your next spy adventure!
No ads, no in-app purchases - just pure Spyfall fun!
- Flutter SDK (^3.8.1)
- Firebase project setup
- Android Studio or Xcode for mobile development
- Clone the repository:
git clone https://github.com/yourusername/spyfall.git
cd spyfall- Install dependencies:
flutter pub get- Configure Firebase:
flutterfire configure- Run the app:
flutter runflutter run # Run on connected device
flutter run -d chrome # Run on web browser
flutter run -d <device-id> # Run on specific deviceflutter build apk # Build Android APK
flutter build ios # Build iOS app
flutter build web # Build web version
flutter build appbundle # Build Android App Bundleflutter test # Run tests
flutter analyze # Static analysis
dart fix --apply # Apply suggested fixes- 27 unique locations with custom artwork
- 7 roles per location for varied gameplay
- Real-time multiplayer via Firebase Firestore
- Automatic spy selection and role assignment
- Timer system with host controls
- Polaroid-style location cards with handwritten fonts
- Interactive player tracking grid with color-coded marking
- Digital timer display with retro LED styling
- Question helper system with 40+ sample questions
- Responsive design for all screen sizes
- Room-based gameplay with 4-character codes
- Host management system with game controls
- Real-time synchronization across all devices
- Player ready-up mechanics for smooth game flow
- Cross-platform compatibility (Android/iOS/Web)
lib/
โโโ main.dart # App entry point with Firebase init
โโโ firebase_options.dart # Firebase configuration
โโโ models/ # Game data models
โโโ screens/ # UI screens and pages
โโโ widgets/ # Reusable UI components
โโโ services/ # Game logic and Firebase services
assets/
โโโ images/ # Location card artwork
โโโ fonts/ # Custom typography
โโโ data/ # Game configuration (locations, questions)
test/ # Unit and widget tests
android/ # Android build configuration
ios/ # iOS build configuration
web/ # Web deployment files
- Limelight: Display titles and headers
- Delicious Handrawn: Handwritten style text
- Geist Mono: Room codes and technical text
- 7-Segment: Digital timer display
- Material 3 design principles
- Custom color palette with warm tones
- Polaroid-inspired card layouts
- Subtle shadows and depth effects
- Frontend: Flutter (Dart)
- Backend: Firebase Firestore
- Authentication: Anonymous Firebase Auth
- Real-time Updates: Firestore Streams
- Image Assets: Custom illustrated location cards
- State Management: Built-in StatefulWidget with Streams
- Cross-Platform: Android, iOS, Web
- You receive a location card with your secret role
- Ask and answer questions to identify the spy
- Vote to eliminate the spy before time runs out
- Win by correctly identifying the spy
- You only know you're the spy (no location given)
- Listen to questions and answers carefully
- Try to blend in without revealing your identity
- Win by correctly guessing the secret location
- Lobby: Players join room and mark themselves ready
- Setup: Host starts game, roles are assigned automatically
- Discussion: Players ask questions and discuss (timer runs)
- Resolution: Vote on spy or spy guesses location
- Results: Game reveals spy identity and location
We welcome contributions! Please read our contributing guidelines and submit pull requests for any improvements.
This project is licensed under the MIT License - see the LICENSE file for details.
For issues, feature requests, or questions:
- Create an issue on GitHub
- Check existing documentation
- Review the How to Play guide in-app
Ready to play? Download Spyfall and start your next spy adventure! ๐ต๏ธโโ๏ธ๐ต๏ธโโ๏ธ