After spending the last few months with Python and Django, I thought of a project to help sharpen my JavaScript skills. I found this Youtube Tutorial where you re-create Asteroids in 2 hours and 45 mins. After completing the tutorial, the whole app becomes a single HTML file with a <script> that is about ~1000K lines long.

I wanted the application to be more modular, so I split it into 10 files in this PR. I think it looks and reads A LOT better. Instead of the code being one long file, I have separated out logic such as collisions, scoring, and sound effects. This way, adding new features will be much easier, and it's less of a maintenance nightmare. 

My goal for the project is to make it into a game for GIS nerds like me. You'll be able to upload your geospatial data and play the game with YOUR polygons. 

Stay tuned for more updates. If you want to log a bug/enhancements, check out GeoAsteroid's Github repo.

The game is live at


Back to Home
John Solly Profile Picture
John Solly Profile Picture

John Solly

Hi, I'm John, a Software Engineer with a decade of experience building, deploying, and maintaining cloud-native geospatial solutions. I currently serve as a senior software engineer at New Light Technologies (NLT), where I work on a variety of infrastructure and application development projects.

Throughout my career, I've built applications on platforms like Esri and Mapbox while also leveraging open-source GIS technologies such as OpenLayers, GeoServer, and GDAL. This blog is where I share useful articles with the GeoDev community. Check out my portfolio to see my latest work!