A classic bullet hell style game built from scratch using HTML, CSS, and JavaScript. The objective is to survive as long as possible by dodging an ever-increasing barrage of projectiles from enemy turrets. Your score is based on your survival time, with high scores saved locally in your browser.
- Endless Gameplay: Survive as long as you can against waves of enemies.
- Dynamic Difficulty: The game gets harder over time, with more enemies, faster projectiles, and complex attack patterns.
- Two Enemy Types: Face off against Radial Turrets with area-denial attacks and Aimed Turrets that target the player directly.
- High Score System: Compete against yourself with a persistent high score board saved via
localStorage. - Responsive Design: The game canvas and UI adapt to any screen size.
- Visual Effects: Features particle explosions and smooth animations powered by
requestAnimationFrame.
- HTML5
- CSS3
- JavaScript (ES6+)
- Webpack
To get a local copy up and running, follow these simple steps.
You'll need Node.js (which includes npm) and Git installed on your machine.
-
Clone the repository:
git clone https://github.com/jsueling/bullet-hell.git
-
Navigate to the project directory:
cd bullet-hell -
Install NPM packages:
npm install
-
Start the development server:
npm start
This will open the game in your default browser.
-
To create a production build:
npm run build
This bundles the application into the
/distdirectory, ready for deployment.
- The fullscreen toggle implementation is adapted from W3Schools.
