Skip to content

Jeshwin/Spyfall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

29 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Spyfall - Digital Social Deduction Game

A Flutter-based digital implementation of the popular Spyfall party game, supporting real-time multiplayer gameplay across Android, iOS, and web platforms.

๐Ÿ“ฑ App Store Descriptions

Short Description (80 characters max)

Classic Spyfall party game - Find the spy or guess the secret location!

Long Description (4000 characters max)

๐Ÿ•ต๏ธ 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!


๐Ÿš€ Getting Started

Prerequisites

  • Flutter SDK (^3.8.1)
  • Firebase project setup
  • Android Studio or Xcode for mobile development

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/spyfall.git
cd spyfall
  1. Install dependencies:
flutter pub get
  1. Configure Firebase:
flutterfire configure
  1. Run the app:
flutter run

๐Ÿ› ๏ธ Development Commands

Running the App

flutter run                    # Run on connected device
flutter run -d chrome          # Run on web browser
flutter run -d <device-id>      # Run on specific device

Building

flutter build apk              # Build Android APK
flutter build ios              # Build iOS app
flutter build web              # Build web version
flutter build appbundle        # Build Android App Bundle

Testing & Quality

flutter test                   # Run tests
flutter analyze                # Static analysis
dart fix --apply              # Apply suggested fixes

๐ŸŽฏ Game Features

Core Gameplay

  • 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

User Interface

  • 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

Multiplayer Features

  • 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)

๐Ÿ—๏ธ Project Structure

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

๐ŸŽจ Design System

Typography

  • Limelight: Display titles and headers
  • Delicious Handrawn: Handwritten style text
  • Geist Mono: Room codes and technical text
  • 7-Segment: Digital timer display

Visual Elements

  • Material 3 design principles
  • Custom color palette with warm tones
  • Polaroid-inspired card layouts
  • Subtle shadows and depth effects

๐Ÿ”ง Technologies Used

  • 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

๐ŸŽฎ Game Rules

For Non-Spy Players

  1. You receive a location card with your secret role
  2. Ask and answer questions to identify the spy
  3. Vote to eliminate the spy before time runs out
  4. Win by correctly identifying the spy

For the Spy

  1. You only know you're the spy (no location given)
  2. Listen to questions and answers carefully
  3. Try to blend in without revealing your identity
  4. Win by correctly guessing the secret location

Game Flow

  1. Lobby: Players join room and mark themselves ready
  2. Setup: Host starts game, roles are assigned automatically
  3. Discussion: Players ask questions and discuss (timer runs)
  4. Resolution: Vote on spy or spy guesses location
  5. Results: Game reveals spy identity and location

๐Ÿค Contributing

We welcome contributions! Please read our contributing guidelines and submit pull requests for any improvements.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ“ž Support

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! ๐Ÿ•ต๏ธโ€โ™€๏ธ๐Ÿ•ต๏ธโ€โ™‚๏ธ

About

Spyfall game for web and mobile

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published