Inspiration

We wanted a puzzle about building the strongest and tallest tower you can. A daily format gave it a hook: everyone gets the same puzzle and can only play it once, so there's a reason to come back tomorrow and see how you compare. Elevation puts a physics stacking game and that daily challenge together.

What it does

Every day, all players get the same 10 objects and the same disaster. The objects are real things, like a fridge, a giraffe or a tennis ball, at their real relative sizes. You have two minutes to drag them onto a platform and stack them as high as you can, while keeping them balanced.

When time runs out, the tower is tested by that day's disaster, which could be wind, an earthquake, meteors, a tornado, a huge guy jumping on it, a cat swatting it, etc. A good tower is both tall and strong. Your score is the average of your height and how long the tower stays standing, and you see what percent of today's players you beat.

How we built it

It's built with Next.js, React and Matter.js for the physics. Supabase stores each day's puzzle and the leaderboard, and it's hosted on Vercel.

SerpAPI and Gemini build the object library ahead of time, not while you play. For each object, SerpAPI finds a photo, Gemini estimates its real size and weight, and Gemini draws its outline. That outline is both what you see on screen and the hitbox, so what you see is exactly what collides. All the results are saved, so we never pay for the same object twice.

Three of us worked at the same time on physics, disasters and sound, with each person owning their own files so we rarely stepped on each other.

Challenges we ran into

Physics was the hardest part. We kept real sizes, so a tennis ball ends up tiny next to a giraffe, and tiny pieces jitter and fall through things. Gravity felt different from day to day until we tied it to each day's scale. We also found that friction did nothing to stop pieces from creeping slowly. The engine moves a piece before it checks contacts, so only gravity and step size mattered.

Getting Gemini to draw good outlines was the other fight. The cheap model drew blobs, and the better one often thought for too long and gave us tilted or cut-off shapes.

Accomplishments that we're proud of

Every player gets the exact same puzzle and the exact same disaster, down to how the tower collapses. We made every object's outline come from a photo, with no hand drawing. And all the sound is made in code, with no audio files.

What we learned

Physics engines have sharp edges, and tiny details like scale and gravity matter more than you'd think. We also learned to save every API answer and check the cost before running anything.

What's next for Elevation

More objects, a real-world fact for each piece on the results screen, touch controls for phones, and accounts so scores can't be faked.

Built With

Share this project:

Updates

Submission history