Fly a rocket through a mountain range made entirely of real crypto price history. Every peak is a rally, every canyon is a crash — pick a coin, and the terrain you're dodging is its actual chart.
Most "avoid the terrain" arcade games generate their levels from noise. This one doesn't — the ground and ceiling you fly through are the coin's real price history, normalized and turned directly into a heightmap. Fly BTC and the terrain is smoother, gradual swings. Fly DOGE and it's sharp, volatile spikes. The chart is the level.
- 🪙 Real market terrain — BTC, ETH, SOL, or DOGE price history (via CoinGecko), shaping every run.
- ⛽ Fuel management — thrust drains a limited tank that only refills when you let go. No infinite hover.
- 🔥 Combo multiplier — chain coin pickups within a short window to climb up to x5 score.
- 🎯 Near-miss bonus — flying tight past the terrain without touching it pays off.
- ☄️ Asteroid hazards — floating rocks drift independent of the chart, so a run can't be fully memorized from the price history alone. Denser on harder difficulties.
- 🛡️🧲⚡ Power-ups — Shield (absorb a hit — from terrain or an asteroid), Magnet (auto-collect coins), Overdrive (boosted thrust).
- 🔊 Sound effects — a signature crash sound, coin/power-up pickup chimes, and a filtered-noise thruster hiss while you're holding thrust.
- ⏸️ Pause anytime — Space, Escape, or the on-screen button.
- 📱 Playable on mobile — tap-and-hold thrust control.
- 🏆 Local high scores — best runs saved per coin/difficulty in your browser.
- ▶ Quick Start — the main menu remembers your last coin/difficulty pick and offers a one-tap restart with the same setup.
Hold Up/Down Arrow (or click, or tap-and-hold on mobile) to fire the engine and climb; release to fall. Dodge the terrain, grab coins and power-ups, and survive as long as you can. Full breakdown in the in-game ❓ How to Play screen.
Vanilla TypeScript + Canvas 2D, built with Vite. No game engine, no framework — just a render loop, some physics, and a particle system.
npm install
npm run dev # local dev server
npm run build # production buildDeploys automatically to GitHub Pages on every push to main (see .github/workflows/deploy.yml).
Best scores per coin/difficulty are kept in localStorage, so your personal bests persist across sessions on the same browser.
If you enjoyed flying a rocket over the Dogecoin chart, a ⭐ is appreciated — it genuinely helps this get seen.
