What's in the game

Physics-Based Jumping: The player controls a duck (or chick) that must scale an endless stone tower using touch-to-drag mechanics.

Platform Variety: The game features static blocks and moving blocks that the player must land on to continue climbing.

Enemy Interaction: Mosquitoes act as both obstacles and landing spots; players can jump on them to stay aloft, but falling without hitting a block or enemy results in a game over.

Procedural Difficulty: Platforms are generated dynamically, with the gaps becoming more challenging and moving platforms appearing more frequently as the player climbs higher.

Inspiration

The project was born out of a desire to create a high-energy, "just-one-more-try" experience within Snapchat. We wanted to combine a physics-based movement system with a charming, hand-drawn aesthetic. The concept features a brave little duck! scaling an endless stone tower, navigating moving platforms, and killing pesky mosquitoes. The goal was to take the classic endless platformer formula and make it feel tactile and responsive through direct touch controls and have a leader board so it's competitive.

How we built it

The game was developed entirely within Lens Studio with scripting in javascript.

  • Physics Engine: We utilized the built-in physics systems to handle the bouncing mechanics and collision detection between the character, platforms, and enemies.

  • Logic & Scripting: We leaned heavily on advanced JavaScript scripting to manage the game state, coordinate the touch-to-drag movement, and handle the real-time scoring system.

  • UI/UX: We designed the interface to be "Snap-first," ensuring the player's camera feed is integrated seamlessly without distracting from the gameplay.

Challenges we ran into

Building a seamless endless jumper came with several technical hurdles:

  • Dynamic Platform Spawning: One of the biggest challenges was scripting the procedural generation of platforms. We had to ensure that the gaps were never too large for the player to jump, while also increasing the difficulty by introducing moving platforms as the player climbs higher.

  • Boundary Scripting: Since the game uses touch-drag controls, creating "invisible walls" that felt natural was tricky. We had to write custom logic to clamp the character's position within the tower walls so they wouldn't fly off-screen while the user was dragging.

What we learned

This project was a massive learning curve for us in terms of advanced scripting within an AR environment. we gained a deep understanding of:

  • How to bridge the gap between user screen-touch coordinates and 2D world space.

  • The nuances of physics-based character controllers.

  • Optimizing scripts to ensure the game maintains a high frame rate on mobile devices, providing a smooth experience for the player.

What's next for Ducky Jump

We're planning to add more variety to the enemies and perhaps some "Golden Seeds" that act as currency for unlocking new hats for the chick!

Built With

Share this project:

Updates