The short version
A correctly-implemented, procedurally-generated water-sort puzzle across nine difficulty tiers, whose tap-to-pour controls were confirmed precise on both touch and mouse - once three genuine bugs in the shipped repository (a dead external script reference and two typo'd icon filenames) were found and fixed for this review.
Biggest strengths
- Nine procedurally-generated difficulty levels across three tiers (Beginner, Expert, and the aptly-named "Death"), so there's real difficulty range rather than one fixed puzzle
- Tap-to-pour was confirmed precise: selecting a tube and tapping an empty destination was verified to move exactly the correct segment via the game's own move counter and a direct before/after comparison of tube contents, on both a simulated phone and desktop mouse
- Full quality-of-life toolset: undo, reset, add an extra empty tube, delete a tube, and share - all present and functional
Biggest weaknesses
- The shipped repository referenced an external "floating menu button" component (`../floatingMenuButton/app.js`) that doesn't exist anywhere in the repository itself - it's presumably a shared widget from the developer's own personal site, and it 404'd on every load until removed for this review; it was purely decorative and its removal has no effect on gameplay
- Two SVG icon filenames were misspelled in the source (`-full.svg` instead of the actual `-fill.svg` files), causing the star and skull difficulty-rating icons on the level-select screen to fail to load - fixed here by correcting the three affected filename references
- The entire interface is in German with no language toggle (confirmed: <html lang=\"de\">, and every button, label, and status message uses German text) - the puzzle mechanic itself needs no translation to play, but menu navigation and status text will be opaque to non-German speakers without translating on the fly
Who it's for: Fans of the popular water-sort/ball-sort puzzle genre who don't mind a German-language interface - the puzzles themselves need no translation to play.
Our recommendation: play
7.3 / 10
Opening
Water Sort Puzzle is a clean implementation of the now-familiar color-tube sorting format: pour liquid between test tubes until each one holds a single uniform color, across nine procedurally-generated levels split into Beginner, Expert, and Death difficulty tiers. The core mechanic is sound and the difficulty curve is real.
Two real bugs, fixed for this review
The build as published didn't quite work out of the box. Every page load tried to fetch ../floatingMenuButton/app.js and a matching HTML fragment — a shared decorative widget that lives on the developer's own personal site but isn't included in this repository at all, so it 404'd on every visit. Separately, three of the difficulty-rating icons on the level-select screen (the star and skull ratings) referenced files ending in -full.svg, when the actual files in the repository's icons folder are named -fill.svg — a straightforward typo that silently broke those icons. Both issues were fixed for this review: the dead external reference was removed (it was purely decorative and gameplay is unaffected), and the three icon filenames were corrected to match the files that actually exist.
Controls, confirmed precise
With those fixed, the core tap-to-select-then-pour interaction was tested directly rather than assumed. Selecting a tube and tapping an empty destination tube was confirmed, via the game's own move counter and a direct comparison of tube contents before and after, to move exactly the correct top segment of liquid to exactly the intended destination — on a simulated phone using real touch taps, and again with a real mouse click on desktop. Both platforms behaved identically and correctly.
The German-only interface
Worth being upfront about: the entire UI is in German (lang="de" in the markup, and every button, heading, and status message uses German text), with no language toggle found anywhere. The puzzle mechanic itself is entirely visual and needs no translation to play — pour colors, watch tubes fill — but menu navigation, the win/lose messages, and settings labels will need a quick mental translation (or a glance at a dictionary) for non-German speakers.
Final Verdict
A genuinely well-built water-sort puzzle with a real difficulty ladder and precisely-working touch controls, let down slightly by two real but easily-fixed bugs in the shipped repository and a German-only interface with no translation option. Worth playing for fans of the format who don't mind a bit of German along the way.
Pros and cons
Pros
- Nine procedurally-generated difficulty levels across three tiers (Beginner, Expert, and the aptly-named "Death"), so there's real difficulty range rather than one fixed puzzle
- Tap-to-pour was confirmed precise: selecting a tube and tapping an empty destination was verified to move exactly the correct segment via the game's own move counter and a direct before/after comparison of tube contents, on both a simulated phone and desktop mouse
- Full quality-of-life toolset: undo, reset, add an extra empty tube, delete a tube, and share - all present and functional
- Clean MIT-style permissive licensing (LGPL-3.0) with no analytics found
Cons
- The shipped repository referenced an external "floating menu button" component (`../floatingMenuButton/app.js`) that doesn't exist anywhere in the repository itself - it's presumably a shared widget from the developer's own personal site, and it 404'd on every load until removed for this review; it was purely decorative and its removal has no effect on gameplay
- Two SVG icon filenames were misspelled in the source (`-full.svg` instead of the actual `-fill.svg` files), causing the star and skull difficulty-rating icons on the level-select screen to fail to load - fixed here by correcting the three affected filename references
- The entire interface is in German with no language toggle (confirmed: <html lang=\"de\">, and every button, label, and status message uses German text) - the puzzle mechanic itself needs no translation to play, but menu navigation and status text will be opaque to non-German speakers without translating on the fly
- Minimal sound and fairly plain visual presentation beyond the core color-tube mechanic