Jungle Bubble Blast Project Report
1. The Concept
Jungle Bubble Blast is a portrait HTML5 canvas bubble shooter with a jungle / bamboo theme. Players aim and shoot colored bubbles to clear match-3+ clusters, while orphaned bubbles fall as a reward and missed pressure pushes the board down toward a lose rail. The fantasy is a totem-and-bamboo arena: home, level map, shop, power-ups, and endless-style runs wrapped in one readable playfield.
2. The Stack
The Stack: Vanilla HTML / CSS / JavaScript on a single 720×1280 canvas (index.html, styles.css, game.js), local static hosting (Python http.server or Node serve), PNG art under assets/, helper scripts in tools/, and localStorage for coins / progress. Design checklists live in sakurai/ and rules/ (Khmer).
The AI Assist: Cursor agent for rapid prototyping from reference videos, asset cleanup and pathing, aim-guide math, HUD hit-testing, and iterative UX fixes (pause/result layout, English copy, HiDPI text).
3. The 1 Day Sprint:
Morning (Hours 1–3): Locked the portrait play loop from reference footage: bamboo frame playfield, hexagonal grid, aim / wall bounce / shoot, match clears, orphan fall, and ceiling push. Wired home → play → pause / result shells so the game was playable end-to-end without a build step.
Afternoon (Hours 4–6): Replaced ripped/temporary art with original bamboo cannon, holder, frame, level map, and result panel assets; keyed transparency and fixed framed overlays. Polished UI (crisp HiDPI text, aim only inside the playfield, English strings, pause and result buttons inside the parchment panel). Removed unused images and flattened assets out of assets/ui/ into assets/.
The Finish Line (Hour 7-8): Tuned the aim guide to reach the bubble cluster (and shorten as the board drops) while capping wall bounces so empty boards do not zigzag forever. Separated power-up / swap / pause hit zones from aim so mouse players can select HUD without shooting. Documented run instructions in README.md.
4. The Roadblocks
Roadblocks: Aim length was fixed and felt too short when the cluster sat high; after extending to the ceiling, empty boards produced multi-bounce zigzags. Power-up buttons sat inside the bamboo frame, so mouse hover kept aiming. Landscape frame bitmaps stretched badly in portrait until procedural poles / dedicated art replaced them. Asset clutter (extracted/, unused UI PNGs) slowed iteration until a deliberate cleanup pass.
5. Key Takeaways
A single-canvas vanilla stack is enough for a full bubble-shooter prototype if the playfield, HUD, and aim zones are defined as clear geometry early. Dynamic aim should stop at contact *and* respect a bounce budget; HUD must be excluded from inPlayArea or players cannot operate shop items safely. Original art plus aggressive unused-asset deletion kept the repo honest and small.
My final thought: Ship the feel of risk/reward (orphan fall vs ceiling push) before more content — the core loop already teaches the fantasy; levels and power-ups only matter once aiming and HUD trust the player’s intent.