Inspiration
Our team, 42, was inspired by the beauty and complexity of our solar system and the critical need to educate and engage people in understanding celestial threats like asteroids. As four "dino-engineers," we wanted to merge science and creativity to craft something both informative and entertaining while making NASA's rich datasets accessible to everyone.
What it does
Orrery 42 is a dual-purpose web app. First, it features a realistic 3D orrery with celestial bodies, including planets, Near-Earth Asteroids (NEA), and Potentially Hazardous Asteroids (PHA), represented on a logarithmic scale for distances and sizes. Second, it includes an action-packed mini-game where players pilot a spaceship to protect Earth by targeting PHAs (red asteroids) while avoiding other NEOs. It’s a blend of education and fun!
How I built it
We built Orrery 42 using:
- Frontend: WebGL and Three.js for 3D rendering and interactivity.
- Backend: NASA’s open datasets for real-time asteroid positions and parameters.
- Game Mechanics: JavaScript and physics libraries to simulate spaceship control and asteroid behavior.
- Design: Logarithmic scaling and intuitive UI/UX to balance realism with playability.
Challenges I ran into
- Scaling distances and sizes in a way that balances accuracy with visual comprehensibility.
- Handling real-time data from NASA's database to create dynamic and responsive visualizations.
- Designing intuitive game controls while ensuring the gameplay felt engaging and challenging.
- Integrating educational content into the app without overwhelming the user.
Accomplishments that I'm proud of
- Successfully combining scientific accuracy with an engaging user experience.
- Building an interactive 3D orrery that visualizes both planets and NEOs in a way that's easy to explore.
- Developing a fun game that teaches users about asteroid threats while letting them actively engage in planetary defense.
- Collaborating as a team of four to bring this ambitious project to life within a short timeframe.
What I learned
- How to work with NASA's datasets and Keplerian parameters to visualize orbital mechanics.
- Techniques for rendering 3D graphics using Three.js and managing scaling challenges.
- The importance of balancing realism, simplicity, and engagement in a scientific app.
- Team collaboration and problem-solving under the pressure of a hackathon.
What's next for Orrery 42
- Enhanced Educational Features: Add detailed information pop-ups for celestial bodies to deepen the learning experience.
- Improved Game Mechanics: Introduce more levels, spaceship upgrades, and asteroid mining missions.
- AR/VR Support: Develop augmented or virtual reality versions for an immersive experience.
Built With
- javascript
- nasa
- nasa-api
- nextjs
- three.js
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.