Remove legacy GamePlaying states and consolidate all gameplay logic to use the GameLevelPlaying state system. This simplifies state management by eliminating duplicate code paths and ensures consistent behavior across all game modes including Free Play.
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%