https://github.com/haseeb-qureshi/asteroids
JS and HTML5 Canvas
https://github.com/haseeb-qureshi/asteroids
asteroids games html5-canvas javascript particle-effects
Last synced: 12 months ago
JSON representation
JS and HTML5 Canvas
- Host: GitHub
- URL: https://github.com/haseeb-qureshi/asteroids
- Owner: Haseeb-Qureshi
- Created: 2015-05-26T01:02:00.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2016-01-19T23:21:19.000Z (over 10 years ago)
- Last Synced: 2025-04-06T20:11:22.379Z (about 1 year ago)
- Topics: asteroids, games, html5-canvas, javascript, particle-effects
- Language: JavaScript
- Homepage: http://haseeb-qureshi.github.io/Asteroids/
- Size: 6.82 MB
- Stars: 27
- Watchers: 2
- Forks: 17
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Asteroids Redux
###### A rejuvenation of the classic arcade game, made entirely in vanilla JS and HTML5 Canvas.
### LIVE AT: http://haseeb-qureshi.github.io/Asteroids/
**Note: HTML5 Canvas rendering has major performance issues on many versions of Firefox. Please use IE or Chrome to ensure stable performance.**

## Features
* Dynamic difficulty
* Sound effects
* Powerups (triple laser, total destruction, and 1-up)
* Points and ranking system
* Custom-made particle effects
* Background track from Ikaruga!
## Implementation
* Extremely OO design, all objects strongly encapsulated
* Implements prototypical inheritance through surrogates (so all moving objects inherit common behavior from MovingObject class)
* Title screen stars are dynamically generated and drawn using O(n) algorithm
* Implements O(n) collision detection, measuring the radius of each collideable object with player's ship
* Particle effects generated dynamically using opacity and size throttling
* Garbage collects unused sprites and particles based on positioning and age
* Uses trigonometric functions to calculate movement physics, rotation, and ship geometry
# Todo
* Invincibility on spawn