Heart Potion Sort

A polished liquid-sort puzzle: play it right here in your browser, or install the Android APK. Pour heart-colored potions between bottles until every bottle holds a single color, then watch each one seal with a heart stopper.

Heart Potion Sort is a complete mobile game built end to end as a portfolio project: game design, art direction, UI, level pipeline, progression and resource systems (lives, undo, daily rewards), audio and release build, tested on real devices.

Gameplay

  • 20 levels with a progressive difficulty curve
  • Fluid pour animation: the liquid level changes continuously, the stream tracks the surface, and stoppers drop in to seal full bottles
  • Undo and a 3-star rating based on move efficiency
  • Dead-end detection: the game recognizes unwinnable boards and loops and ends the level instead of letting the player shuffle endlessly
  • Retention loop: lives that regenerate every 20 minutes, a limited undo supply, and a daily reward (pick one of six hats, weighted rewards of lives and undos) with a reserve basket for bonus lives
  • Onboarding: short contextual hints on the first levels
  • Pause menu, separate music and sound toggles, original UI art
  • Responsive portrait layout: safe-area aware, adapts to phones, tablets and notches

How to play

In the browser: press Run game above. The game is designed for touch and portrait; with a mouse, click instead of tap. Use the fullscreen button for a bigger view. Progress is saved in your browser.

Credits and workflow

  • Merve Çiftci — game design, art direction, UI/UX, QA and release. All visual assets are hand-made. I define requirements, review every build on device and decide what ships.
  • Engineering — AI-assisted development. The C# implementation was produced with Claude (Anthropic) under my direction, using iterative specs, code review, refactoring passes and a unit test suite. I treat AI as part of the toolchain and I'm happy to walk through the architecture and the decisions behind it.

Technical overview

  • Unity 2022.3 LTS, URP 2D, C#
  • Modular architecture: one assembly definition per domain (Core, Puzzle, Levels, Player, Economy, Audio, UI, Bootstrap) with enforced dependency direction
  • Separation of concerns: puzzle model and rules are engine-independent C#; views only render state
  • Automated tests (EditMode) covering rules, undo, level parsing and validation, lives, daily reward and boosters
  • Solver-based outcome evaluation: bounded state-space search classifies boards as solvable, dead end or loop-only
  • Data-driven content: JSON level definitions with a validator
  • Persistence behind interfaces: local stores today, swappable for a backend
  • Mobile performance: 60 FPS target, no per-frame polling or scene scans, buffer reuse, UTC-based timers, IL2CPP build
  • Resolution independence: safe-area handling and a board layout that measures the HUD at runtime

Scope and roadmap

Current build: offline, single-player, no ads or purchases.

Planned next: analytics (retention and level-funnel tracking), server-side time for lives and rewards, colorblind-friendly palette, additional levels tuned from play data.

Published 1 day ago
StatusReleased
PlatformsHTML5, Android
AuthorMerve Çiftci
GenrePuzzle
Made withUnity
Tags2D, mobile, Relaxing, Singleplayer
Average sessionA few minutes
LanguagesEnglish
InputsTouchscreen, Smartphone
AI DisclosureAI Assisted, Code

Download

Download
HeartPotionSort.apk 47 MB

Install instructions

On Android (recommended, the real thing):

  1. Download the APK below.
  2. Open it on your phone and allow installs from this source if prompted.
  3. Your first daily reward is waiting on launch.

Release-signed APK, ARM64 and ARMv7. The web version is the same game build for the browser (WebGL).

Leave a comment

Log in with itch.io to leave a comment.