About the project
Inspiration: A calm, “mindless but joyful” tap game you can play right inside a Reddit post—soft colors, tiny wins, and zero friction.
What I learned:
- Devvit Web app lifecycle and embedding UX on Reddit.
- Canvas rendering at device pixel ratio, hit-testing, and pointer events.
- Web Audio constraints (user-gesture unlock) and tiny synth design.
- Gentle difficulty curves using simple easing: (v(t)=v_0+(v_1-v_0)\left(\tfrac{t}{T}\right)^2).
How I built it:
- TypeScript + Vite, single-canvas renderer in
src/client/main.ts. - Seeded RNG for daily variety, subtle sway, depth sorting by radius.
- Web Audio API for short “pop” envelopes; haptics on mobile.
- Lightweight server endpoints for init/user context via Devvit Web.
- TypeScript + Vite, single-canvas renderer in
Challenges:
- State initialization race (results overlay appearing early) and robust state gating.
- Accurate hit-tests with DPR scaling and multi-touch.
- Audio autoplay policies; ensuring
AudioContextresumes on first gesture. - Realistic bubble look (iridescence, rim light, soft transparency) without images.
- Balancing “zen” with a late-session sprint; keeping spawns off UI and on-screen.
Log in or sign up for Devpost to join the conversation.