Skip to content
/ Beat.pe Public

Interactive browser-based game built with HTML, CSS, and JavaScript

Notifications You must be signed in to change notification settings

kascit/Beat.pe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Header

Beat.pe — Rhythm Game

Beat.pe is a web-based rhythm game built with vanilla JS. Hit the columns when they light up, build combos for score multipliers, and see how far you can go against an ML-powered difficulty system that adapts to your skill.

Features

  • 4-column gameplay — press A S D F or tap on mobile
  • Combo system — chain hits for 2×, 3×, 4× score multipliers
  • ML difficulty — adaptive algorithm adjusts speed based on your accuracy, reaction time, and combo streaks
  • Sound & VFX — synthesized audio (Web Audio API) and particle effects, both toggleable
  • Settings — customizable key bindings (desktop), sound/VFX toggles, persisted in localStorage
  • Leaderboard — top 10 scores with dates, stored locally
  • Pause — press Space mid-game or open Settings/Leaderboard
  • Responsive — works on desktop, tablet, and phone

How to Play

  1. Press Space (or tap Start on mobile) to begin
  2. Hit the matching column when it lights up — timing is everything
  3. Build combos for higher score multipliers
  4. A miss costs a life and resets your combo
  5. Game ends at 0 lives

Tech Stack

Layer Tech
Bundler Vite
Language Vanilla JS (ES Modules)
Styling Vanilla CSS
Audio Web Audio API
ML Custom adaptive difficulty algorithm
Storage localStorage

Project Structure

Beat.pe/
├── index.html              # Single-page entry
├── assets/                 # Fonts, favicon, header GIF
├── src/
│   ├── main.js             # Entry point
│   ├── style.css           # All styles
│   ├── core/
│   │   ├── Game.js         # Game loop, state, pause/resume
│   │   └── Input.js        # Keyboard + touch input
│   ├── ui/
│   │   ├── UIManager.js    # DOM updates, HUD, overlays
│   │   ├── SettingsManager.js   # localStorage persistence
│   │   ├── SettingsUI.js   # Settings modal
│   │   └── LeaderboardUI.js     # Leaderboard modal
│   ├── systems/
│   │   ├── AudioSystem.js  # Synthesized sound effects
│   │   └── VfxSystem.js    # Particle effects
│   └── ml/
│       └── DifficultyManager.js  # Adaptive difficulty
├── package.json
└── vite.config.js

Development

pnpm install
pnpm dev        # http://localhost:5173
pnpm build      # outputs to dist/
pnpm preview    # preview production build

Hosting

Hosted on GitHub PagesPlay Live

About

Interactive browser-based game built with HTML, CSS, and JavaScript

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors