{"id":21338599,"url":"https://github.com/haseeb-qureshi/asteroids","last_synced_at":"2025-07-12T07:35:17.569Z","repository":{"id":32674660,"uuid":"36263153","full_name":"Haseeb-Qureshi/Asteroids","owner":"Haseeb-Qureshi","description":"JS and HTML5 Canvas","archived":false,"fork":false,"pushed_at":"2016-01-19T23:21:19.000Z","size":7147,"stargazers_count":27,"open_issues_count":0,"forks_count":17,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T20:11:22.379Z","etag":null,"topics":["asteroids","games","html5-canvas","javascript","particle-effects"],"latest_commit_sha":null,"homepage":"http://haseeb-qureshi.github.io/Asteroids/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"r0adkll/Slidr","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Haseeb-Qureshi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-26T01:02:00.000Z","updated_at":"2024-10-08T03:27:24.000Z","dependencies_parsed_at":"2022-08-29T04:41:49.929Z","dependency_job_id":null,"html_url":"https://github.com/Haseeb-Qureshi/Asteroids","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Haseeb-Qureshi/Asteroids","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haseeb-Qureshi%2FAsteroids","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haseeb-Qureshi%2FAsteroids/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haseeb-Qureshi%2FAsteroids/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haseeb-Qureshi%2FAsteroids/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Haseeb-Qureshi","download_url":"https://codeload.github.com/Haseeb-Qureshi/Asteroids/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haseeb-Qureshi%2FAsteroids/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264958196,"owners_count":23689011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asteroids","games","html5-canvas","javascript","particle-effects"],"created_at":"2024-11-22T00:19:13.239Z","updated_at":"2025-07-12T07:35:17.552Z","avatar_url":"https://github.com/Haseeb-Qureshi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Asteroids Redux\n###### A rejuvenation of the classic arcade game, made entirely in vanilla JS and HTML5 Canvas.\n\n### LIVE AT: http://haseeb-qureshi.github.io/Asteroids/\n\n**Note: HTML5 Canvas rendering has major performance issues on many versions of Firefox. Please use IE or Chrome to ensure stable performance.**\n\n![asteroids](./assets/asteroids.gif)\n\n## Features\n* Dynamic difficulty\n* Sound effects\n* Powerups (triple laser, total destruction, and 1-up)\n* Points and ranking system\n* Custom-made particle effects\n* Background track from Ikaruga!\n\n## Implementation\n* Extremely OO design, all objects strongly encapsulated\n* Implements prototypical inheritance through surrogates (so all moving objects inherit common behavior from MovingObject class)\n* Title screen stars are dynamically generated and drawn using O(n) algorithm\n* Implements O(n) collision detection, measuring the radius of each collideable object with player's ship\n* Particle effects generated dynamically using opacity and size throttling\n* Garbage collects unused sprites and particles based on positioning and age\n* Uses trigonometric functions to calculate movement physics, rotation, and ship geometry\n\n# Todo\n* Invincibility on spawn\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaseeb-qureshi%2Fasteroids","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaseeb-qureshi%2Fasteroids","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaseeb-qureshi%2Fasteroids/lists"}