Elevator Pitch: Master the daily bounce—one minute to claim your spot on the Reddit leaderboard.
🎮 CLICK HERE TO PLAY NOW
(Requires a Reddit account. Desktop or Mobile supported.)
I’ve always been fascinated by "micro-competitive" communities—the groups of people who obsess over a daily Wordle or a high-score leaderboard. I wanted to bring that exact energy to Reddit. Bounce Streak was inspired by the simple joy of keep-it-up soccer, combined with the "Daily" hook that turns a simple game into a community ritual. I envisioned a game that wasn't just about skill, but about adapting to the "chaos" of the day.
Bounce Streak is a high-performance Reddit Devvit application—a "keep-it-up" soccer game designed for seamless play directly within your favorite subreddits.
- Daily Reset: Every 24 hours (UTC), the game generates a new set of physics modifiers. One day you might be fighting high horizontal wind; the next, you're dealing with increased gravity.
- Dynamic Challenges: As your score increases, the game responds with confetti, fireworks, and falling obstacles to test your focus.
- Community Loops: Record your best streak and share it directly into the post comments with one click to challenge your friends.
To meet the specific requirements of professional-grade 2D physics and complex game state management, I made several strategic technical choices:
- Core Engine: I chose Phaser 3.87 for its robust rendering and arcade physics capabilities.
- Physics & Logic Support: I imported Antigravity as a key dependency to handle specialized physics calculations and streamline the integration between the game loop and the React-based UI.
- Platform: I integrated the Reddit Devvit SDK to leverage native Reddit features like Redis storage and the comment-sharing API.
I spent significant time tuning the GameScene.ts to ensure the physics felt responsive yet challenging. I implemented a deterministic PRNG system based on the daily UTC date to ensure every user faces identical conditions:
I optimized the mobile experience with a custom 38px "Cushion Zone" (approx 1.2x ball width) for touch inputs, ensuring the game feels satisfying even on small screens.
Reddit Devvit SDK, React 19, Phaser 3.87, Antigravity, Google Gemini API, Redis, Express 5, Tailwind CSS 4, Vite 6, and TypeScript 5.8.
- Source Code: GitHub Repository
- Reddit Demo: Play on r/bounce_streak_dev
I configured the build pipeline using Vite 6 to handle the unique constraints of the Devvit environment. You can manage the project using these commands:
npm run dev # Watch client, server, and Devvit playtest
npm run build # Build optimized production bundles
npm run deploy # Upload to Reddit developers portal
npm run launch # Publish the app for community reviewI am responsible for the core implementation of the game loop, the design of the daily modifier logic, and the technical integration of Antigravity, Phaser, and the Reddit Devvit SDK.
