A minimal, no-build web game you can run locally or host anywhere that serves static files. Open index.html
to play, or serve the folder with any static web server.
- Option 1: Double-click
index.html
to open in your browser. - Option 2: Serve locally (recommended for consistent behavior)
- Python:
python -m http.server 8080
then visit http://localhost:8080 - Node (npx):
npx serve .
then visit the shown URL
- Python:
- Upload an MP3/WAV via the “Choose MP3/WAV” button.
- Pick a difficulty and click “Generate Chart”.
- Press Space to start/restart.
- Controls:
- White lanes: Z X C
- Black lanes: S D
- Settings allow you to:
- Adjust input offset (ms) if hits feel late/early
- Change chart padding (ms)
- Rebind keys (one character each)
- Change note fall speed
- Toggle beat gridlines (experimental)
- Client-side audio analysis and automatic chart generation
- Five-lane gameplay with hit judgement and combo tracking
- Results screen with per-judgement counts, max combo, and total score
- Key rebinding, difficulty selection, and visual guides
- Pure HTML/CSS/JS — no build step
index.html # Main page and UI markup
assets/style.css # Styles
assets/js/rg.js # Utilities
assets/js/constants.js
assets/js/difficulty.js
assets/js/dom.js
assets/js/settings.js
assets/js/state.js
assets/js/freq.js
assets/js/algo.js
assets/js/audio.js
assets/js/chart.js
assets/js/notes.js
assets/js/ui.js
assets/js/grid.js
assets/js/fullscreen.js
assets/js/score.js
assets/js/analysis.js
assets/js/game.js
assets/js/input.js
assets/js/main.js
assets/js/setup.js # Setup/start modal flow
This is a static site. You can host it on:
- Any static host (GitHub Pages, Netlify, Vercel, Cloudflare Pages, S3, etc.)
- Your own server or CDN
Notes:
- Some browsers apply stricter policies when opened as
file://
. If anything behaves oddly, serve the folder over HTTP (see Quick start). - No environment variables or server-side components are required.
Generated by Genie at https://cosine.sh