A comprehensive Flutter-based gaming platform featuring multiple arcade-style games with Firebase integration for user authentication, leaderboards, and score tracking.
Game Arcade is a mobile gaming application built with Flutter that provides an immersive gaming experience with three classic arcade games. The app features user authentication, real-time leaderboards, and a modern, responsive UI with gradient themes.
- Dino Run: A classic endless runner game featuring a dinosaur character dodging enemies
- Flappy Bird: Navigate a bird through pipes in this challenging arcade game
- Tetris: The classic block-stacking puzzle game with modern controls
- Firebase Authentication integration
- User registration and login system
- Profile management with image upload capability
- Admin panel for user management
- Real-time score tracking using Firestore
- Global leaderboards for each game
- Score persistence across sessions
- Gradient-themed interface with orange accent colors
- Responsive design for various screen sizes
- Custom fonts (Jersey10, Audiowide)
- Smooth animations and transitions
- Framework: Flutter (Dart)
- Game Engine: Flame (for game development)
- State Management: Provider pattern
- UI: Material Design with custom theming
- Authentication: Firebase Auth
- Database: Cloud Firestore
- Storage: Firebase Storage (for profile images)
- Real-time Updates: Firestore streams for leaderboards
- โ Android
- โ Web
lib/
โโโ controllers/ # Business logic and state management
โ โโโ auth_controller.dart
โ โโโ game_service.dart
โ โโโ leaderboard_controller.dart
โ โโโ score_controller.dart
โโโ games/ # Game implementations
โ โโโ game1/ # Dino Run game
โ โโโ game2/ # Flappy Bird game
โ โโโ game3/ # Tetris game
โโโ models/ # Data models
โ โโโ gameModel.dart
โ โโโ score_model.dart
โ โโโ signup_model.dart
โโโ screens/ # App screens and UI
โ โโโ home_screen.dart
โ โโโ login.dart
โ โโโ leaderboard_screen.dart
โ โโโ [other screens...]
โโโ services/ # External service integrations
โโโ widgets/ # Reusable UI components
dependencies:
flutter: sdk
flame: ^1.22.0 # Game development framework
firebase_core: ^3.12.1 # Firebase core functionality
firebase_auth: ^5.5.1 # Authentication
cloud_firestore: ^5.6.5 # Database
firebase_storage: ^12.4.4 # File storage
provider: ^6.1.3 # State management
image_picker: ^1.0.7 # Image selection- Flutter SDK (>= 2.17.0)
- Dart SDK
- Firebase project setup
- Android Studio / VS Code with Flutter extensions
-
Clone the repository
git clone <repository-url> cd game_arcade
-
Install dependencies
flutter pub get
-
Firebase Setup
- Create a Firebase project
- Add your
google-services.json(Android) andGoogleService-Info.plist(iOS) - Configure Firebase Authentication and Firestore
- Update
firebase_options.dartwith your configuration
-
Run the application
flutter run
- Authentication: Enable Email/Password authentication in Firebase Console
- Firestore: Create collections for:
users- User profilesscores- Game scoresgames- Game metadata
- Storage: Configure for profile image uploads
- Type: Endless runner
- Controls: Tap to jump
- Features: Enemy spawning system, parallax scrolling background
- Scoring: Time-based with enemy dodging bonuses
- Type: Obstacle avoidance
- Controls: Tap to flap wings
- Features: Pipe collision detection, gravity physics
- Scoring: Pipes successfully passed
- Type: Puzzle
- Controls: Touch controls for movement and rotation
- Features: Line clearing, increasing difficulty
- Scoring: Lines cleared and level progression
The project includes custom assets:
- Audio: Background music and sound effects
- Images: Game sprites, backgrounds, and UI elements
- Fonts: Custom typography (Jersey10, Audiowide)
- Splash Screen: App initialization
- Login/Signup: Firebase Auth integration
- Home Screen: Game selection and navigation
- Profile Management: User data and preferences
- Real-time score updates using Firestore streams
- Separate leaderboards for each game
- Score validation and persistence
- User ranking system
# Debug build
flutter run
# Release build (Android)
flutter build apk --release
# Release build (iOS)
flutter build ios --release
# Web build
flutter build web# Run tests
flutter test
# Widget tests
flutter test test/widget_test.dart- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue in the repository
- Contact the development team
- Additional game implementations
- Multiplayer functionality
- In-app purchases
- Push notifications
- Social features and friend systems
- Achievement system
Built with โค๏ธ using Flutter and Firebase