Inspiration
I love daily puzzle games like Wordle - that "one puzzle per day" format creates a unique shared experience where everyone worldwide tackles the same challenge. I wanted to bring that magic to physics-based puzzles!
The idea struck me: what if solving a puzzle wasn't just about logic, but about understanding real-world physics? Ramps, gravity, bounce angles - concepts that feel intuitive but require clever thinking to master.
What it does
Daily Drop is a physics puzzle game where players guide a ball to a target using placement tools:
- 🔺 Ramps - Rotate to control the ball's trajectory
- ⚫ Bumpers - Bounce the ball in any direction
- 💨 Fans - Push the ball upward with wind force
Every day, a new puzzle is generated - and it's the same puzzle for everyone in the world. Compete with friends to see who solves it fastest!
There's also a Practice Mode with unlimited procedurally-generated levels, ranging from Easy to Expert difficulty.
How I built it
The game runs entirely in the browser using:
- Matter.js for realistic 2D physics simulation
- Vanilla JavaScript for game logic and UI
- HTML5 Canvas for rendering
- CSS3 with modern animations and gradients for a polished look
The daily puzzle uses a seeded random generator based on the current date - ensuring everyone gets the same puzzle each day while keeping it fresh.
Challenges I faced
Physics tuning - Getting the bounce angles and ramp physics to feel "fair" took many iterations. Players should be able to predict behavior intuitively.
Procedural level generation - Creating puzzles that are always solvable but still challenging required careful algorithm design.
Mobile responsiveness - Making drag-and-drop tool placement work smoothly on touch devices was tricky!
What I learned
- Deep dive into physics engines and collision detection
- Seeded randomness for reproducible "daily" content
- The importance of visual feedback - particles, animations, and sound make physics feel satisfying!
What's next
- 🏆 Global leaderboards
- 📊 Statistics tracking (streaks, solve times)
- 🎨 Custom themes and ball skins
- 📱 Native mobile apps
Built With
- canvas-api
- css3
- html5
- javascript
- matter.js
- vite
Log in or sign up for Devpost to join the conversation.