LiquidSort — Premium Color Puzzle Game (Flutter)
LiquidSort is a beautifully crafted, production-ready color sorting puzzle game built with Flutter. Featuring 120 handcrafted levels, smooth pour animations, glassmorphism UI, full Google AdMob monetization, and a 3-star rating system — everything you need to launch a polished mobile game on both Android and iOS.
⭐ Why Choose LiquidSort?
- 120 Handcrafted Levels — Each level carefully designed with progressive difficulty from Easy to Godlike
- Production-Ready Code — Clean architecture using Provider pattern, null-safe Dart, proper error handling
- Full AdMob Integration — Banner, Interstitial, and Rewarded ads — just plug in your Ad Unit IDs
- Premium UI/UX — Glassmorphism design, gradient tubes, glow effects, and smooth animations
- Instant Setup — Change package name, add your AdMob IDs, and you’re ready to publish
Key Features
120 Levels with 8 Difficulty Tiers
From beginner-friendly tutorials to brain-melting challenges. Each tier introduces more colors, more tubes, and tighter time limits to keep players engaged for hours.
- Easy — Levels 1–10 (2–3 colors, generous time)
- Medium — Levels 11–20
- Hard — Levels 21–35
- Expert — Levels 36–50
- Master — Levels 51–70
- Legend — Levels 71–90
- Elite — Levels 91–110
- Godlike — Levels 111–120 (up to 8 colors, maximum challenge)
⭐ 3-Star Rating System
Stars are awarded based on remaining time at the moment of completion. A smart scoring formula combines time bonus + move efficiency bonus, making every level feel rewarding. Players are motivated to replay levels to earn all 3 stars.
⏱️ Countdown Timer
Every level has a per-level time limit with a color-coded progress bar (green → yellow → red). The timer pauses automatically when the game is paused or a dialog is open — no unfair time loss.
↩️ Undo System (Up to 50 Moves)
Full undo history supporting up to 50 moves. Players can step back without losing progress — reducing frustration and increasing session length.
Audio with Screen Recording Support
Background music and sound effects (pour sound, mismatch sound). The AudioContext is specially configured to ensure audio is captured by screen recorders on both Android and iOS — great for content creators.
Persistent Progress
All player data is saved locally using SharedPreferences:
- High scores per level
- Star ratings per level
- Maximum level reached
- Sound/music mute preferences
✨ Premium Animations
Smooth liquid pour animations, mismatch shake effects, glassmorphism UI panels, gradient-filled tubes with glow effects, and micro-animations — all powered by the flutter_animate package.
Clean, Production-Ready Code
- Provider state management pattern
- Null-safe Dart throughout
- Proper dispose and cleanup in all screens
- Error handling in all async operations
- 15+ documented bug fixes
- Well-commented, readable code
Three ad formats strategically placed at optimal moments for maximum revenue without hurting player retention:
Banner Ad — Passive Income
Displayed at the bottom of the Game Screen and Level Select screen. Always visible, providing a consistent passive revenue stream.
Interstitial Ad — Every 3rd Level
Automatically shown after every 3rd level completion. Players are at a natural break point, resulting in high completion rates and minimal frustration.
Rewarded Ad — Highest eCPM
When the timer runs out, players see a Game Over screen with an option: “Watch Ad → Get +30 Seconds”. High player motivation means high watch rates and the highest eCPM of all ad formats.
Setup is simple: Just replace the placeholder IDs in ad_config.dart with your own AdMob unit IDs.
⚠️ Important Monetization Disclaimer: Using AdMob in this game template requires a registered and active Google AdMob account. All ad serving, integration, and revenue generation are subject to Google’s specific policies, terms of service, and third-party requirements (such as ad network policies and user consent regulations).
How to Play
- Tap a Tube to Select — Tap any tube containing liquid. The selected tube lifts up with a glowing blue highlight.
- Pour Into Another Tube — Tap a destination tube. If the top colors match (or the destination is empty), the liquid pours automatically — transferring all matching top layers at once.
- Fill Tubes with One Color — A tube is “complete” when all 4 slots are the same color. Complete all non-empty tubes to win!
- Beat the Clock — Each level has a countdown timer. More time remaining = higher star rating and score bonus.
- Stuck? Use Undo or Watch an Ad — Tap Undo to reverse your last move. If time runs out, watch a Rewarded Ad to get +30 seconds!
️ Tech Stack
- Flutter SDK ^3.5
- Provider ^6.1 — State management
- google_mobile_ads ^5.1 — AdMob integration
- flutter_animate ^4.5 — Smooth animations
- audioplayers ^6.6 — Background music and SFX
- shared_preferences ^2.3 — Local data persistence
- google_fonts ^6.2 — Premium typography
- flutter_native_splash ^2.4 — Native splash screen
- Null-Safe Dart — Modern, type-safe codebase
- Portrait Lock — Optimized for portrait orientation
What You Get
- Complete Flutter source code
- 120 handcrafted puzzle levels
- Full AdMob integration (Banner + Interstitial + Rewarded)
- Premium glassmorphism UI design
- Audio system with music and sound effects
- 3-star rating and scoring system
- Undo system (50 moves)
- Countdown timer with visual feedback
- Persistent player progress
- Documentation and setup guide
Quick Setup
- Change the package name to your own
- Replace AdMob unit IDs in ad_config.dart
- Update app icons and splash screen
- Build and publish to Google Play Store and Apple App Store
Requirements
- Flutter SDK 3.5 or higher
- Android Studio or VS Code
- Google AdMob account (Monetization requires a registered Google AdMob account, and all ad display and revenue generation are subject to Google’s specific policies and third-party requirements)
- Android SDK 21+ / iOS 12+
Support
If you have any questions or need help with setup, feel free to reach out through the comments section or via the support tab on this item page. We typically respond within 24 hours.
LiquidSort — Sort the Colors, Train Your Brain!