A neon-soaked, CRT-flavored hoops cabinet you can play right in your browser.
No install, no build step, no dependencies. Just open it and shoot.
- ๐น๏ธ 1-Player mode โ beat the clock and chase your high score.
- ๐ฅ 2-Player local 1v1 โ share one hoop, most points in 60 seconds wins.
- ๐ฑ Mobile friendly โ on-screen touch controls kick in automatically on phones and tablets (1-player mode).
- ๐ฏ Real arc physics โ gravity, rim collisions, and a charge-and-release shot meter.
- โก Super Shot โ bank the ball off a side wall and into the hoop for a big bonus and an explosive neon celebration.
- ๐ฅ Combo system โ sink baskets back-to-back to rack up multipliers.
- ๐ต Web Audio FX โ retro blips and swishes generated on the fly, no audio files.
- ๐บ CRT aesthetic โ scanlines, neon glow, and that sweet arcade-cabinet vibe.
- ๐พ Persistent high score โ saved locally in your browser.
| Action | Player 1 | Player 2 |
|---|---|---|
| Move | โ โบ or A D |
โ โบ |
| Adjust arc | โฒ โผ or W S |
โฒ โผ |
| Shoot | SPACE |
ENTER |
Hold the shoot key to charge the power meter, then release to fire. Sink baskets!
In 1v1, both players share the hoop โ most points in 60 seconds WINS.
On phones and tablets the game runs in 1-player mode with on-screen touch pads: tap and hold โ โบ to move, โฒ โผ to adjust the arc, and hold the SHOOT button to charge โ release to fire.
Clone and open โ that's the whole setup:
git clone https://github.com/CarlosSardo/hoops88.git
cd hoops88Then either open index.html directly in your browser, or serve it locally:
# Python 3
python3 -m http.server 8000
# then visit http://localhost:8000hoops88/
โโโ index.html # Markup, HUD, start/game-over overlays
โโโ style.css # Neon CRT arcade styling
โโโ game.js # Game loop, physics, input, audio, scoring
- Vanilla JavaScript โ Canvas 2D rendering and a hand-rolled physics loop.
- Web Audio API โ procedural sound effects.
- CSS โ CRT scanlines and neon glow, no frameworks.
Contributions are welcome! See CONTRIBUTING.md to get started.
Released under the MIT License.
This is a very special project: it's the first game I vibe-coded with my son, Eduardo Sardo โ co-creator, chief playtester, and the reason this cabinet exists. ๐
Made with love by Carlos Sardo & Eduardo Sardo.