Skip to content

CarlosSardo/hoops88

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ€ HOOPS '88

Retro Arcade Basketball โ€” pure vanilla JavaScript, zero dependencies

Play Now License: MIT Made with

A neon-soaked, CRT-flavored hoops cabinet you can play right in your browser.


๐ŸŽฎ Play

โ–ถ Play HOOPS '88 online

No install, no build step, no dependencies. Just open it and shoot.

โœจ Features

  • ๐Ÿ•น๏ธ 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.

๐ŸŽ›๏ธ Controls

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 mobile

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.

๐Ÿš€ Run it locally

Clone and open โ€” that's the whole setup:

git clone https://github.com/CarlosSardo/hoops88.git
cd hoops88

Then either open index.html directly in your browser, or serve it locally:

# Python 3
python3 -m http.server 8000
# then visit http://localhost:8000

๐Ÿ—‚๏ธ Project structure

hoops88/
โ”œโ”€โ”€ index.html   # Markup, HUD, start/game-over overlays
โ”œโ”€โ”€ style.css    # Neon CRT arcade styling
โ””โ”€โ”€ game.js      # Game loop, physics, input, audio, scoring

๐Ÿ› ๏ธ Built with

  • 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.

๐Ÿค Contributing

Contributions are welcome! See CONTRIBUTING.md to get started.

๐Ÿ“œ License

Released under the MIT License.

๐Ÿ’™ Credits

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.

About

๐Ÿ€ HOOPS '88 โ€” a retro arcade basketball game in pure vanilla JS. The first game I vibe-coded with my son Eduardo Sardo.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages