Code

Bottle Sort Puzzle – Android Game (Java, Native UI)

Bottle Sort Puzzle – Android Game (Java, Native UI)

Cart 1 sale

Calming bottle-sort puzzle with 500 handcrafted levels, undo/restart/hints, dark mode, smooth canvas bottles, and ready hooks for AdMob/IAP monetization. Built entirely in Android Studio (Java, API 23+).

Bottle Sort Puzzle is a complete, production-ready bottle sorting puzzle game where players tap bottles to pour colored liquid until every bottle contains only one color.

The project includes a deterministic 500-level progression system, smooth animations, sound effects, dark/light themes, star-based scoring, and persistent player progress.

The game is written entirely in pure Java using custom Canvas rendering. No external game engines or heavy third-party SDKs are used. This makes it lightweight, fast, and easy to customize or reskin for publishing on the Play Store.

Perfect for developers who want to quickly launch a puzzle game with ads, expand gameplay, or rebrand the project.

Key Features

  • 500 Solvable Levels with progressive difficulty (3–8 colors, 5–10 bottles).
  • Smart Hint System using BFS solver highlighting source and target bottles.
  • ↩️ Unlimited Undo and instant restart for every level.
  • Star Rating System based on move efficiency.
  • Automatic Progress Save using SharedPreferences.
  • Dark Mode + Light Mode with in-app toggle.
  • Responsive Bottle Grid (3 or 4 columns depending on screen).
  • Custom BottleView with selection bounce, smooth pouring animation, shimmer effects, and win overlay.
  • Sound Effects via SoundPool (pour, click, win, error).
  • Level Select Screen with lock/unlock progression and star indicators.
  • Pause Menu, About screen, and How-to-Play overlay.
  • Share Intent to share the game.
  • ⚙️ ProGuard Optimized release build.
  • Monetization Ready with prepared hooks for AdMob interstitials and in-app purchases.

Technical Details

  • IDE: Android Studio Giraffe / Koala or newer
  • Language: Java
  • Android Gradle Plugin: 8.12.3
  • JDK Compatibility: Java 8 (source/target)
  • Compile SDK: 36
  • Target SDK: 36
  • Minimum SDK: 23 (Android 6.0+)
  • Gradle: Wrapper included (auto download on first sync)

Dependencies:

  • AndroidX AppCompat
  • Material Components
  • ConstraintLayout
  • RecyclerView
  • CardView

No external game engines or heavy libraries are used.

How to Run the Project

  1. Open Android Studio.
  2. Select File → Open and choose the project folder.
  3. Allow Gradle to sync and download required components.
  4. Select an emulator or device with API 23+.
  5. Click Run to build and launch the game.

How to Rebrand

  • Change applicationId and namespace inside app/build.gradle.
  • Edit app name and texts in app/src/main/res/values/strings.xml.
  • Replace launcher icons inside the mipmap folders.

Customization

  • Colors: Modify palettes inside ColorUtils.java.
  • Levels: Adjust difficulty logic in LevelGenerator.getColorCountForLevel().
  • Sounds: Replace WAV files in res/raw.

Monetization

The project is prepared for easy monetization:

  • Insert AdMob Interstitial in GameActivity.showWinDialog().
  • Add optional banner ads to layouts.
  • Add In-App Purchases for extra hints or ad removal.

Build Release APK / AAB

  1. Go to Build → Generate Signed Bundle / APK.
  2. Select Release build variant.
  3. Provide your keystore.
  4. Build your APK or AAB for Play Store upload.

Perfect For

  • Play Store puzzle game publishing
  • AdMob monetization
  • Reskinning and quick release
  • Learning Android Canvas game development

Clean code, easy customization, and ready for publishing.


APK: https://www.mediafire.com/file/v84cnrc1s3cvos7/BSPUZZLEAV.apk/file

by
by
by
by
by
by

Tell us what you think!

We'd like to ask you a few questions to help improve CodeCanyon.

Sure, take me to the survey