savinmax 3f12ce8d3f Add dynamic grid sizing support for levels
- Add gridWidth and gridHeight properties to level configuration
- Update GameGrid to accept custom dimensions instead of using constants
- Modify GridComponent to calculate gem size based on grid dimensions
- Update MatchThreeGame constructor to pass grid dimensions
- Ensure proper scaling and positioning for variable grid sizes
2025-09-21 18:06:00 +02:00

Match 3 Game - Flutter/Flame

A cross-platform Match 3 puzzle game built with Flutter and Flame game engine.

Technology Stack

  • Framework: Flutter
  • Game Engine: Flame
  • State Management: Bloc/Cubit
  • Platforms: iOS, Android, Web, Desktop

Features

  • Classic match-3 gameplay (8x8 grid)
  • Smooth animations and particle effects
  • Multiple game modes (Classic, Timed, Moves-limited)
  • Power-ups and special gems
  • Progressive difficulty levels
  • Score tracking and achievements
  • Cross-platform compatibility

Project Structure

lib/
├── main.dart
├── game/
│   ├── match_three_game.dart      # Main game class
│   ├── components/                # Game components
│   │   ├── grid_component.dart
│   │   ├── gem_component.dart
│   │   └── ui_overlay.dart
│   ├── systems/                   # Game systems
│   │   ├── match_detector.dart
│   │   ├── gravity_system.dart
│   │   └── score_system.dart
│   └── models/                    # Data models
│       ├── gem.dart
│       ├── grid.dart
│       └── game_state.dart
├── screens/                       # UI screens
│   ├── menu_screen.dart
│   ├── game_screen.dart
│   └── settings_screen.dart
├── bloc/                         # State management
│   ├── game_bloc.dart
│   └── menu_bloc.dart
└── utils/
    ├── constants.dart
    └── helpers.dart

Getting Started

  1. Install Flutter SDK
  2. Add Flame dependency
  3. Run flutter pub get
  4. Launch with flutter run
Description
Match Three game
Readme 299 KiB
Languages
Dart 95.8%
Ruby 1.5%
Swift 1.4%
HTML 1.3%