khaizinam/beatup_html_game
BeatUp is a web-based rhythm game where players must memorize and input arrow sequences in sync with the music. The game features multiple difficulty levels, various songs, and a progressive challenge system.
๐ฎ BeatUp - Audition Style Game
A rhythm-based music game inspired by Audition, built with HTML5 Canvas and JavaScript.
๐ฏ Demo
Play Now: https://beatup.khaizinam.io.vn
๐ About
BeatUp is a web-based rhythm game where players must memorize and input arrow sequences in sync with the music. The game features multiple difficulty levels, various songs, and a progressive challenge system.
โจ Features
- ๐ต Multiple Songs: Choose from different tracks with varying BPM and difficulty
- ๐ฎ Game Modes: 4K and 8K modes for different skill levels
- ๐ Difficulty Levels: Easy, Normal, Hard, and Expert
- ๐จ Visual Feedback: Color-coded notes with smooth animations
- ๐ฏ Scoring System: Combo multipliers and difficulty-based scoring
- โจ๏ธ Responsive Controls: Smooth keyboard input handling
- ๐จ Modern UI: Beautiful gradient backgrounds and glowing effects
๐ธ Screenshots
Here are some screenshots of the game in action:
Gameplay Screenshot 1
Gameplay Screenshot 2
๐ฎ How to Play
Controls
- Arrow Keys (โ โ โ โ): Input the displayed sequence
- SPACE: Complete the sequence when all arrows are entered
- ESC: Pause game / Return to menu
Gameplay
- Select your preferred mode (4K/8K), difficulty, and song
- Memorize the arrow sequence shown on screen
- Input the arrows in the correct order using arrow keys
- Press SPACE when the progress bar reaches the target zone
- Chain combos for higher scores!
Scoring
- PERFECT: Hit exactly in the center zone (100 points)
- GREAT: Hit close to the center (50 points)
- COOL: Hit in the acceptable zone (10 points)
- BAD/MISS: Outside the zone (0 points, combo reset)
Difficulty Multipliers
- Easy: 0.6x speed, 0.8x score
- Normal: 1.0x speed, 1.0x score
- Hard: 1.2x speed, 1.2x score
- Expert: 1.5x speed, 1.5x score
๐ ๏ธ Technology Stack
- HTML5 Canvas: Game rendering
- Vanilla JavaScript: Game logic (ES6 modules)
- CSS3: Styling and animations
- Laravel Mix: Asset compilation
- Web Audio API: Sound effects and music playback
๐ Project Structure
public_html/
โโโ index.html # Main HTML file
โโโ public/
โ โโโ css/
โ โ โโโ style.css # Game styles
โ โโโ js/
โ โ โโโ app.js # Compiled JavaScript
โ โโโ audio/ # Sound effects
โ โโโ music/ # Game music tracks
โ โโโ image/ # Game images
โโโ src/
โ โโโ js/
โ โโโ Game.js # Main game class
โ โโโ constants.js # Game constants
โ โโโ config/
โ โ โโโ data.js # Song configurations
โ โโโ systems/
โ โโโ AudioSystem.js # Audio management
โ โโโ BeatSystem.js # Timing system
โ โโโ NoteSystem.js # Note generation
โ โโโ InputSystem.js # Input handling
โ โโโ UISystem.js # UI updates
โโโ package.json
โโโ webpack.mix.js
๐ Installation & Development
Prerequisites
- Node.js (v14 or higher)
- npm or yarn
Setup
- Clone the repository:
git clone <repository-url>
cd public_html- Install dependencies:
npm install
# or
yarn install- Development mode (with file watching):
npm run dev
# or
yarn dev- Production build:
npm run build
# or
yarn build- Open
index.htmlin your browser or serve with a local server
๐ต Adding New Songs
Edit src/js/config/data.js to add new songs:
{
id: 'song_id',
name: 'Song Name - Artist',
file: 'public/music/song-file.mp3',
duration: 240, // in seconds
segments: [
{ start: 0, end: 30, mode: 1, bpm: 100, label: "Warm Up" },
{ start: 30, end: 120, mode: 2, bpm: 130, label: "Normal" },
// ... more segments
]
}๐จ Customization
Difficulty Settings
Edit src/js/constants.js to modify difficulty parameters:
speedMultiplier: Visual speed of the gamenoteCountBonus: Additional notes per sequence
Visual Themes
Modify public/css/style.css to change colors, backgrounds, and effects.
๐ License
This project is created by khaizinam for educational and entertainment purposes.
๐ค Contributing
Contributions, issues, and feature requests are welcome!
๐ง Contact
- Author: khaizinam
- Demo: https://beatup.khaizinam.io.vn
โค๏ธ Support Me
If you enjoy BeatUp and would like to support its development, you can make a donation here:
Made with โค๏ธ by khaizinam


