🚀 About the Project — Rocket or Regret
💡 Inspiration
Rocket or Regret is inspired by the classic aviator-style risk–reward games that are popular for their simplicity and adrenaline rush. The core idea is familiar to anyone who’s ever played a “cash out before it crashes” game — but we wanted to reimagine it for Snapchat’s Play Everywhere ecosystem, where games are social, fast, and instantly accessible.
The rocket metaphor felt perfect: a clean visual, intuitive progression, and a natural sense of tension as the multiplier climbs. One tap can mean profit — or instant regret.
🛠️ How We Built It
The game was built entirely in Snap Lens Studio using TypeScript, focusing on performance and native Snap components.
Core systems include:
- A real-time multiplier engine that increases continuously while the rocket flies
- Physics-like motion with capped vertical bounds to keep gameplay readable
- A randomized blast timer to ensure unpredictability and fairness
- Fully functional BET and CASHOUT mechanics with point balance tracking
- Integration of Snap’s Leaderboard Custom Component for social competition
The blast time is randomized within a bounded interval:
[ t_{blast} \sim \mathcal{U}(t_{min}, t_{max}) ]
The cashout reward is calculated as:
[ \text{Winnings} = \text{Bet Amount} \times \text{Multiplier} ]
This keeps the math transparent while maintaining suspense.
📊 Social & Competitive Layer
To make the experience feel truly native to Snapchat, we used the Leaderboard Custom Component, enabling:
- Friend-based ranking
- Real-time score submissions
- Bitmoji-driven visual identity
- Replay motivation through social comparison
Rather than rewarding raw playtime, the leaderboard emphasizes decision-making skill and timing, aligning with Snap’s focus on fun, lightweight competition.
🧠 What We Learned
Building Rocket or Regret taught us a lot about:
- Designing probability-driven gameplay that still feels fair
- Working within Snap platform API restrictions while preserving engagement
- Structuring game logic cleanly in event-driven TypeScript
- Balancing visual feedback with performance on mobile devices
We also learned how powerful social mechanics can be when combined with simple game rules.
⚠️ Challenges Faced
- Ensuring the rocket never left the visible screen while still feeling dynamic
- Synchronizing UI updates (multiplier, balance) with real-time gameplay
- Integrating the Leaderboard component correctly without blocking gameplay
- Handling randomness in a way that felt exciting, not frustrating
Each challenge pushed us to simplify and optimize — resulting in a smoother and more polished experience.
🌍 Why It Fits Play Everywhere
Rocket or Regret is:
- Instant to understand
- Quick to replay
- Social by design
- Optimized for touch-first interaction
It’s a game you can play anywhere, anytime — one decision at a time.
🔮 What’s Next
Future improvements could include:
- Visual blast effects and screen shake
- Daily or weekly themed leaderboards
- Power-ups or risk modifiers
- Expanded analytics for gameplay tuning
For now, Rocket or Regret delivers one simple question every time you play:
How long will you dare to fly?
Built With
- dynamic
- logic
- modeling
- typescript
Log in or sign up for Devpost to join the conversation.