@rwbambrough on NASA Dashboard
Fully done!
Full list of features:
Uses real Keplerian orbital mechanics to calculate asteroid positions (solves Kepler's equation with Newton-Raphson iteration)
Fetches live near-Earth object data from NASA's API
Looks up real orbital elements for each asteroid from JPL's Small-Body Database
Falls back to generated mock asteroid data if the API or database lookup fails
Works on both desktop and web (browser) builds, using different networking methods for each
Continuously updates each asteroid's position over time based on orbital mechanics
Calculates real-time asteroid velocity using the vis-viva equation
Renders a rotating 3D-style Earth made of thousands of points
Draws orbital paths for asteroids as ellipses
Color-codes asteroids by threat level based on speed
Shows an animated targeting reticle on the selected asteroid
Lets you click on asteroids to select/lock onto them
Optional on-screen label showing each asteroid's name and speed
Buttons to speed up or slow down time (also controllable with A/D keys)
Pause and play buttons for the simulation
Toggle button to show/hide orbit lines
Toggle button to show/hide quick info labels
Scrolling console log showing system messages, some randomized and some real events
Randomly fluctuating radar, optical, and comms "integrity" percentages
Displays system uptime
Detail panel showing selected asteroid's name, speed, orbital radius, tilt, size, mean anomaly, depth, and danger level
Button to export selected asteroid's data to a text file
Button to delete all saved telemetry report files
Automatically creates a folder for storing telemetry reports
Background ambient sound loops
Click sound effect on button presses
Sound effects fail gracefully (silently) if audio files are missing
Detects whether it's running on web or desktop and adjusts fonts and networking accordingly
Async-based main loop for compatibility with web export
Thanks for reading!
This has been a pretty hard project so check it out. It wouldnt build itself using itch.io or any other services so you will have to use github to download it sorry.
- 4 devlogs
- 5h