Inspiration
Asteroids and meteoroids are often portrayed as destructive forces in a lot of popular doomsday movies. My teammate and I thought it would be a fun idea to look into asteroids that would impact the earth. Unfortunately(or rather, very fortunately) there aren't many impact events that will happen in the next 500 years. However, we did find that Near-Earth objects swing nearby multiple times every single day. This led us to look into creating some visual representation of NEOs. Once that proved to be a bit too much of a challenge for only a single day, we brainstormed ideas about mining these NEOs, which led us to our final project.
What it does
NEO Retrieval scrapes data on the closest Near-Earth objects that will come within 40 lunar distances of earth within the next 3 months, and displays them as asteroids in a fully functional video game focused on mining asteroids. The player controls a space ship with a hook with the goal of harvesting these asteroids for materials. The player must collect all asteroids on their 3 month mission to clear all the incoming asteroids.
How we built it
This program was built with the open source Godot engine and makes use of the SBDB Close-Approach Data API from JPL/NASA through HTTP requests.
Challenges we ran into
Original idea was a 3d visualizer for NEOs built in Unity but project was extremely difficult due to the nature of NEO orbitals and orbital systems. Even after coming up with a function for the orbitals and a method of finding the closest distance between the NEO and the earth, it was very difficult to implement this graphically in Unity as neither of us had used Unity before. As a result, we decided to built a NEO-themed game on Godot as both of us had some experience developing programs on Godot. However, even after switching to Godot, we found it challenging to create a fun video game while still playing into the NEO theme. Overall, we are proud of the project we have created.
Accomplishments that we're proud of
We were really surprised with how quickly we were able to put it all together. We had a bit of a late start and switched ideas, but ultimately we were able to come out with a quality product. Our game is fully functional, well-balanced, has animations and AI-generated music as well.
What we learned
We certainly learned a lot about how complicated orbiting asteroids are. Although not using it in our final submission, we also learned a lot about Unity. We were a bit shaky on using HTML requests with Godot, but we managed to figure it out and make a very high quality project.
What's next for NEO
Hopefully we will be able to polish the game up a bit with some more sound effects/music and add some more missions to our lovely retrieval ship, such as cleaning up space debris in Earth's orbit.
Built With
- godot
- sbdb-close-approach-data-api
- unity
Log in or sign up for Devpost to join the conversation.