You are browsing as a guest. Sign up (or log in) to start making projects!

rwbambrough

@rwbambrough

Joined June 10th, 2026

  • 4Devlogs
  • 1Projects
  • 1Ships
  • 1Votes
13yr old dev looking to explore new things

here is my github: https://github.com/realreed
Ship Changes requested

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
Try project → See source code →
Open comments for this post

54m 30s logged

NEW THINGS!!

During this session, I added two additional things,

The first thing I added was a pause and play button to the simulation. This was a fairly easy addition, as I use a quantitative value called “time_speed” to determine the speed of the simulation. The pause button sets this value to 0, and the play button also functions as a reset button, setting the value to 1

The next thing I added was a quick info option. Instead of having to click on every dot individually to see its name and speed, I added a quick info button seen on the bottom right corner to allow for easier access to velocity and name data. When clicked, two labels are shown, the velocity and the name of the asteroid right next to them shown in the picture

TODO

Wireframe mesh for the globe,
Audio on and off button
and finally, real kelperian orbital mechanics.

I am not looking forward to that one lol

You can find my work and try it for yourself at my github (realreed)

Thanks for reading! Give a like if you liked this please!

0
0
3
Open comments for this post

1h 13m 2s logged

I added two things today

I added a telemetry data folder

And

I added a small display window.

Heres a little about them

The telemetry data is the data listed on the top right when you click on one of the NEOs

It lists 8 things, the NEO name, speed, radius, tilt, size, angle, depth, and danger rating.

To make this data downloadable, I added a button underneath the telemetry data, before the main loop that runs the software, the OS verifies that the folder inside the project path named “TELEMETRY_DATA” exists, if it doesnt, it creates the folder. This is to ensure the download process goes smoothly. Then, when the button is clicked, it removes any unsafe characters like dashes, commas, and blank spaces to ensure the file is able to be made. The filename consist of the safename of the neo with a report.txt at the end. The txt file is written and in the dashboard console, a message is displayed saying if the data was exported succesfully or not. The TXT file is then stored in TELEMETRY_DATA

For the display window, I added a additional rectangle when you click onto the NEOs in the top right. Inside the rectangle, the dot is replicated but its position is set inside of the rectangle and the dot’s size is multiplied by 6 to fit the rectangle.

In the future, I think I will make the display window look better, since right now it looks pretty bad.

All and all, this was quite a productive session!

You can find the full code on my github.

1
0
18
Open comments for this post

2h 15m 26s logged

Today I added a background hum, static writing noises and a click sound effect to my NEO Dashboard! Here is my current product

I have been working on this project for quite a while, but I havent posted any devlogs. I didnt realize i had to write them or log my hours lol.

You can find all my work on this project on my github.

I will be writing more devlogs! Stay tuned!

0
0
38

Followers

Loading…