Inspiration
We love rhythm games like Guitar Hero and Osu!, but making custom playable tracks usually requires advanced tools and lots of manual mapping. We wanted something more accessible — a game where anyone can upload a song they love and instantly play it. That idea became Beat Bash.
What it does
Beat Bash turns any song into a rhythm-game level. Users upload a MIDI or audio file, and the system automatically extracts beats, tempo, note patterns, and difficulty, generating a synchronized chart within seconds. Players can then play, score, and compete with friends.
How we built it
- Core gameplay, beatmap generation, and file handling written in C++
- MIDI parsing and tempo extraction using lightweight C++ libraries
- Terminal-based rendering for notes, timing, and scoring feedback
- Custom algorithms for rhythm detection, spacing, and difficulty scaling
- GitHub + pair programming + fast compile–test cycles in the terminal
Challenges we ran into
- Audio-to-note transcription accuracy, especially polyphonic songs
- Handling tempo drift and live-recorded tracks
- Preventing overwhelming note density at high BPMs
- Tuning latency across devices and browsers
- Building gameplay, backend, and UI in a short timeframe
Accomplishments that we're proud of
- Fully working prototype that generates playable levels
- Audio → MIDI → beatmap pipeline in under five seconds
- Smooth, intuitive UI that worked for non-gamers
- Positive feedback during live playtesting
- Learned new frameworks, tools, and audio processing techniques
What we learned
- How beat tracking, onset detection, and spectrogram analysis work
- The importance of UX timing, feedback, and clarity in rhythm games
- Scope management during fast hackathon development
- Communicating effectively across technical roles
- Real-world music data is messy — and fun
What's next for Beat Bash
- Mobile + VR versions
- Adaptive AI difficulty that learns player skill
- Online multiplayer + leaderboards
- Beat-synced visual effects and skins
- Public beatmap library and song discovery
- Collabs with indie artists to feature new music
Built With
- cpp
- midi.js
- music
Log in or sign up for Devpost to join the conversation.