- Add Level model with constraints, objectives, and star ratings - Create LevelService for loading levels from JSON configuration - Implement LevelSelectionScreen with visual progress tracking - Update GameBloc to handle level-based gameplay - Add 10 predefined levels with varying difficulty and objectives - Integrate level progression system into game flow
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
- Install Flutter SDK
- Add Flame dependency
- Run
flutter pub get - Launch with
flutter run
Description
Languages
Dart
95.8%
Ruby
1.5%
Swift
1.4%
HTML
1.3%