Water Polo Smash
Drag back, load the spin, and bend the ball past the keeper.
Water Polo Smash is a shooting game with one control: drag back, aim, let go. The spin you put on the throw is the whole game โ bend it around the keeper's hand and it drops into the top corner, get greedy and it comes off the post. Simulation mode runs real air drag and gravity, so clean technique scores. Arcade throws that out for wild curves and combo multipliers. Boss keepers every fifth level, a trophy room to fill, and a Trajectory Lab that exposes the physics so you can tune your curve before you take it into a match.
Get it on Google PlayScreenshots //
Dev log //
A drag-back-and-shoot game whose entire difficulty curve turned out to live in one number: how much of the ball has to be inside the frame to count as a goal. The log has the moment it was set at 90%, and a matching entry two lines earlier fixing a goal-line scoring inversion that had been quietly rewarding the wrong shots. The rest divides between presentation work (boss music, level splash screens, Arcade backdrops randomised so a run never repeats a court) and the release grind: Play Billing 8, a revocable premium tier, Crashlytics, and a bottom-controls layout bug that clipped behind the navigation bar on three separate screens before it was fixed properly rather than per-screen.
- Add Korean and multi-locale store listings and outreach notes
- AdMob verification is two stages, not one - document both
- Close out Phase 5 and Phase 6 of the launch checklist
- Update release status: submitted for review
- Close out release verification: all human checks pass
- Fix bottom controls clipped by the navigation bar
- Note: bottom controls clipped by nav bar on 3 screens
- Note PBL 8 purchase-option risk against the legacy single-offer API
- Record decision: ship v1 as-is, no tablet exclusion
- Migrate to Play Billing 8, make premium revocable
- Randomize Arcade backdrops with no repeats per run
- Wire Firebase Crashlytics + Analytics, fix release-audit findings
- Update play-store-listing.txt
- Update README + TODO to release-staged/blocked status
- Record account-transfer blocker and resume checklist
- Fix dialog close button running off-screen; unify as one component
- Add Play Store listing assets (ASO copy, 512 icon, feature graphic)
- Record on-device release verification, ignore local capture tooling
- Restore the POST & IN banner, update docs
- Require 90% of the ball inside the frame for a goal
- Fix goal-line scoring inversion, add boss music, split level splash
- Repoint hardcoded dev paths from C:\Users\ace\Documents\Crystl to D:\Crystl
- Make Trajectory Lab Simulation/Arcade toggle equal-width
- Make Trajectory Lab Reset/Apply buttons symmetrical
- Restore menu logo size; make coaching nudge readable over the pool
- Master-sweep fixes: resume guard, back nav, logo clip, billing reconnect
- Add cold-streak coaching nudge toward the Trajectory Lab
- Fix release-build crash, stripped assets, and gameplay bugs
- Add release signing config and release status notes
- Wire real AdMob IDs, interstitial, and UMP consent for release
- boss
- claude 1
- fixes and addons
- google admob test ad integration
- shot fixes almost
- pre cleanup
- cleanup and fix arcade mode
- rc1
- arcade mode
- changes and updates almost done
Showing the 40 most recent of 52 logged changes.
Every line above is a real commit from this app's repository, on the date it was made. Build chores and merge commits are filtered out.