Skip to content

Isuru-Eranda/game_arcade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

57 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Game Arcade

A comprehensive Flutter-based gaming platform featuring multiple arcade-style games with Firebase integration for user authentication, leaderboards, and score tracking.

๐Ÿ“ฑ Overview

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.

๐ŸŽฏ Features

๐ŸŽฎ Games

  • 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

๐Ÿ” User Management

  • Firebase Authentication integration
  • User registration and login system
  • Profile management with image upload capability
  • Admin panel for user management

๐Ÿ† Leaderboard System

  • Real-time score tracking using Firestore
  • Global leaderboards for each game
  • Score persistence across sessions

๐Ÿ“ฑ Modern UI/UX

  • Gradient-themed interface with orange accent colors
  • Responsive design for various screen sizes
  • Custom fonts (Jersey10, Audiowide)
  • Smooth animations and transitions

๐Ÿ—๏ธ Technical Architecture

Frontend

  • Framework: Flutter (Dart)
  • Game Engine: Flame (for game development)
  • State Management: Provider pattern
  • UI: Material Design with custom theming

Backend

  • Authentication: Firebase Auth
  • Database: Cloud Firestore
  • Storage: Firebase Storage (for profile images)
  • Real-time Updates: Firestore streams for leaderboards

Platform Support

  • โœ… Android
  • โœ… Web

๐Ÿ“ Project Structure

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

Core Dependencies

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

๐Ÿš€ Getting Started

Prerequisites

  • Flutter SDK (>= 2.17.0)
  • Dart SDK
  • Firebase project setup
  • Android Studio / VS Code with Flutter extensions

Installation

  1. Clone the repository

    git clone <repository-url>
    cd game_arcade
  2. Install dependencies

    flutter pub get
  3. Firebase Setup

    • Create a Firebase project
    • Add your google-services.json (Android) and GoogleService-Info.plist (iOS)
    • Configure Firebase Authentication and Firestore
    • Update firebase_options.dart with your configuration
  4. Run the application

    flutter run

Firebase Configuration

  1. Authentication: Enable Email/Password authentication in Firebase Console
  2. Firestore: Create collections for:
    • users - User profiles
    • scores - Game scores
    • games - Game metadata
  3. Storage: Configure for profile image uploads

๐ŸŽฎ Game Details

Dino Run

  • Type: Endless runner
  • Controls: Tap to jump
  • Features: Enemy spawning system, parallax scrolling background
  • Scoring: Time-based with enemy dodging bonuses

Flappy Bird

  • Type: Obstacle avoidance
  • Controls: Tap to flap wings
  • Features: Pipe collision detection, gravity physics
  • Scoring: Pipes successfully passed

Tetris

  • Type: Puzzle
  • Controls: Touch controls for movement and rotation
  • Features: Line clearing, increasing difficulty
  • Scoring: Lines cleared and level progression

๐ŸŽจ Assets

The project includes custom assets:

  • Audio: Background music and sound effects
  • Images: Game sprites, backgrounds, and UI elements
  • Fonts: Custom typography (Jersey10, Audiowide)

๐Ÿ” Authentication Flow

  1. Splash Screen: App initialization
  2. Login/Signup: Firebase Auth integration
  3. Home Screen: Game selection and navigation
  4. Profile Management: User data and preferences

๐Ÿ“Š Leaderboard System

  • Real-time score updates using Firestore streams
  • Separate leaderboards for each game
  • Score validation and persistence
  • User ranking system

๐Ÿ› ๏ธ Development

Build Commands

# Debug build
flutter run

# Release build (Android)
flutter build apk --release

# Release build (iOS)
flutter build ios --release

# Web build
flutter build web

Testing

# Run tests
flutter test

# Widget tests
flutter test test/widget_test.dart

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

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

๐Ÿ“ž Support

For support and questions:

  • Create an issue in the repository
  • Contact the development team

๐Ÿ”ฎ Roadmap

  • Additional game implementations
  • Multiplayer functionality
  • In-app purchases
  • Push notifications
  • Social features and friend systems
  • Achievement system

Built with โค๏ธ using Flutter and Firebase

About

๐ŸŽฎ Game Arcade - Flutter Gaming Platform is a comprehensive Flutter-based mobile gaming application that provides an immersive arcade gaming experience featuring three classic games with modern UI/UX and Firebase backend integration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors