Skip to content

jsueling/bullet-hell

Repository files navigation

Bullet Hell

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.

Live Demo

bullet hell gameplay gif

Features

  • 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.

Built With

  • HTML5
  • CSS3
  • JavaScript (ES6+)
  • Webpack

Getting Started

To get a local copy up and running, follow these simple steps.

Prerequisites

You'll need Node.js (which includes npm) and Git installed on your machine.

Installation & Usage

  1. Clone the repository:

    git clone https://github.com/jsueling/bullet-hell.git
  2. Navigate to the project directory:

    cd bullet-hell
  3. Install NPM packages:

    npm install
  4. Start the development server:

    npm start

    This will open the game in your default browser.

  5. To create a production build:

    npm run build

    This bundles the application into the /dist directory, ready for deployment.

Acknowledgements

  • The fullscreen toggle implementation is adapted from W3Schools.

About

Bullet hell themed game built with HTML, CSS, Javascript and bundled with Webpack.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published