A one-button, gravity-flip rocket dodger. Flip between the top and bottom lane to dodge missile walls, grab coins, chain a combo multiplier, and ride power-ups for as long as you can survive. Easy to pick up, hard to put down.
jesseflip.github.io/RocketFlip
No install, no account — open the link on desktop or mobile and play. Score is saved locally so your best run always shows up.
First-time setup: GitHub Pages needs to be turned on once for this repo (Settings → Pages → Source: GitHub Actions). The included workflow (
.github/workflows/deploy-pages.yml) then rebuilds and redeploys the site automatically on every push tomain.
- Space / Tap / Click — flip gravity and swap lanes
- Dodge the missile walls, thread the open lane
- Collect coins for score, chain a combo by surviving obstacle after obstacle
- Grab power-ups: 🛡️ Shield (absorb one hit), 🧲 Magnet (auto-collect coins), ⏱️ Slow-Mo, ⭐ 2× Score
- One crash ends the run — beat your best score and share it
Built for both desktop and mobile: touch, click, or keyboard all work, and the layout is fully responsive.
index.html the game page
styles.css UI / HUD styling
game.js game engine (canvas, physics, spawning, audio, rendering)
manifest.json web app manifest (installable / "add to home screen")
images/ sprites shared with the original desktop prototype
desktop/ the original Python/Pygame prototype this game grew out of
.github/workflows/ GitHub Pages deploy workflow
No build step — it's plain HTML/CSS/JS. Just serve the folder:
python -m http.server 8000
# then open http://localhost:8000The project started as a local Pygame prototype. It still lives in desktop/app.py if you want to run the original.
cd desktop
python -m venv venv
venv/Scripts/activate # Windows; use `source venv/bin/activate` on macOS/Linux
pip install -r requirements.txt
python app.py