A rhythm-based game inspired by Friday Night Funkin', built with JavaScript and HTML5 Canvas. Test your reflexes and rhythm as you press arrow keys in time with the music!
- Four-lane rhythm gameplay similar to Friday Night Funkin'
- Arrow key controls for intuitive gameplay
- Timing-based scoring system (Perfect, Good, Okay, Miss)
- Combo system that increases your score multiplier
- Complete audio experience with sound effects and background music
- Vertical scrolling notes that travel from bottom to top
- Visual feedback for hits and misses
- Responsive design that works on various screen sizes
- Press the START GAME button to begin
- Press the corresponding arrow keys when notes reach the target zone
- Try to hit notes with perfect timing for maximum points
- Build combos to increase your score multiplier
- ← Left Arrow: Left lane
- ↓ Down Arrow: Left-center lane
- ↑ Up Arrow: Right-center lane
- → Right Arrow: Right lane
# Clone the repository
git clone https://github.com/mVara/rhythm-battle.git
# Navigate to the project directory
cd rhythm-battle
# Open the game in your browser
open index.htmlAlternatively, you can serve the game using a local server:
# Using Python
python -m http.server 8000
# Using Node.js (with http-server)
npx http-serverThen open your browser and navigate to http://localhost:8000 or http://localhost:8080.
- HTML5 Canvas for rendering the game
- Vanilla JavaScript for game logic
- CSS3 for styling
- Web Audio API for sound management
Sound effects from Freesound.org:
- 8-Bit Sound Effects Library by LittleRobotSoundFactory (CC BY 3.0)
- 8bit-harmony by electrobuz (CC BY 3.0)
The game is built using a simple yet effective architecture:
- Game Loop: Manages the update and render cycles
- Note System: Controls the spawning and movement of notes
- Input Handler: Processes keyboard inputs and timing
- Scoring System: Calculates score based on timing accuracy
- Audio Manager: Handles sound effects and background music
- Add character animations
- Implement multiple songs and difficulty levels
- Add custom beatmap creation
- Improve visual effects and feedback
- Add multiplayer functionality
This project is licensed under the MIT License - see the LICENSE file for details.
Jack C Crawford - Initial work
- Inspiration from Friday Night Funkin'
- Built with assistance from Windsurf.ai
- Sound effects from Freesound.org