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

dkh

@dkh

Joined June 11th, 2026

  • 9Devlogs
  • 2Projects
  • 1Ships
  • 15Votes
Hello everyone! I'm dkh, a 14 year old, UE5 game developer who recently joined Hackclub.
Ship

I made a real-time 3D physics simulation of a fully configurable three-body solar system using Three.js.

It can run in your browser and is compatible with a wide range of devices.

Players can move their camera, adjust simulation parameters, and explore the system's chaotic behavior.

Instructions are in the README along with a downloadable tutorial video file on the itch.io page.

The biggest challenge I faced was that I hadn't programmed with JavaScript, HTML, or CSS in a while.

Designed and built by me using Three.js and GitHub Codespaces.

I decided to build this project in honor of one of my favorite book series ever called the Three Body Problem.

I was also fascinated by three-body physics and wanted to share that fascination with others.

Thank you Stardance!

  • 9 devlogs
  • 19h
  • 18.91x multiplier
  • 359 Stardust
Try project → See source code →
Open comments for this post

16m 1s logged

Finished the readme so much styling stuff I had to do! Added some fixes and features to the game like following suns and resetting cam positions properly. Then I uploaded the polished version to itch io to ship. Made video tutorial and fixed the layout of the terminal so judges won’t be confused.

2
0
23
Open comments for this post

1h 18m 47s logged

Ready to SHIP my project! In this last hour of my work, I have finished the local settings panel that displays the selected body tab, I have made the physics more REALISTIC, and I have polished the simulation up a bit! Now I’m just going to make a README, upload to itch.io, and make a video tutorial to hopefully maximize the stardust I gain from my first ever project on Stardance! Thank you everyone for this opportunity that was given to me!

0
0
26
Open comments for this post

36m 28s logged

Ok, this is the SHORTEST logged time in a devlog I have ever made for this project so far, but an important feature has been finally added. What is the most important part of the simulation? Well a simulation RECORDS… think about that for a minute. Would it be best to have gravity/velocity arrows, the three body spheres, or the TRAILS. Well, it would be the trails, wouldn’t it? Because they are the HISTORY of the simulation. I have failed at making the 3D trails work 2 TIMES already (some sort of problem with the rendering), because after hours of debugging they just WOULD NOT work. But finally I took a simpler approach (after procrastinating them till like the end of the project almost) and they finally work! Basically it just records data points of the star positions then renders them. Let me know if any of you have feedback!

0
0
13
Open comments for this post

3h 13m 10s logged

Just working on getting the global settings panel to finally work with JS after styling it with CSS. Here is this beautiful screenshot of the panel with an interesting image in the viewport XD One thing I have to say, I got dropdowns, off and ons, and number inputs but some of the global settings are unnecessary so I’m gonna get rid of those, fine tune the others, and fix reset/restart terminal commands, then I will finish local settings panel and ship this project.

0
0
13
Open comments for this post

1h 44m 6s logged

So close to finishing the terminal! Here is a brief explanation on the difference between the two setting types: the terminal RUNS the simulation and the panels specify HOW the simulation will run, the two panels also play two different roles, one of them is the global settings, the other is the individual LOCAL settings for each body in the simulation. I hope this gives some understanding on how I plan to finish the settings before I go over on what I have been doing recently with the terminal which means ONE step closer to shipping this project! So: most of the work being done so far has been with the terminal right now. I polished up the look so it gets a nice default terminal style. Then I fixed some problems with the text line heights and the input/output contrast. I also made a script to sense certain key words in the terminal to color them so that you know that the word EXISTS and you typed it in correctly. I then added a help cmd function so that it will list all of the cmds. I narrowed down the list of cmds to: run, restart, reset, pause, resume, and debug. I’ve been working on getting them all integrated and am almost done. Next is the panels after the terminal is done.

1
0
13
Open comments for this post

1h 56m 1s logged

Added the skeleton of the UI!!! It looks nice right now I think, and you can select which sun you want to edit now. Finished ARROWS with contrast yet cohesion because they are velocity and gravity for each star, so same color and stuff, but different lengths, like clock hands. Worked for so LOOOOOOONG on trails but they just wouldn’t show no matter the debugging I tried so I’m giving up on trails (which I didn’t really need anyways). Just need to make the settings and then we can SHIP this project! YASSSSSSS HOORAY!!!

0
0
14
Open comments for this post

5h 18m 11s logged

FINISHED THE 3-BODY PHYSICS!!! Awesome! Then I worked on making all of the simulation settings (already made & newly added) as some neat vars clustered together in the top of the code. After that I started working on the UI, my vision right now is a terminal on the bottom, a banner on the top, and two panels on top of each other on the left, the top one will be the global sim settings and the bottom one will be the selected sun settings. I finished the terminal UI but I need to make it where you can type into it and stuff. Finally, I posted the current version of the unfinished demo onto itch.io! Next I will finish the UI and work on trails + velocity and pull arrows.(Btw, that blue building icon in the screenshot isn’t part of the project, this was made on my school Chromebook so that’s an annoying thing on my screen!)

0
0
9
Open comments for this post

2h 33m 58s logged

I was adding three unique yet COHESIVE suns together in a solar system (for our THREE bodies), adding a cluster system to the new procedural background star generation function I replaced the texture with and a color tint (looks more NATURAL), adding coronas to the three suns and removed their textures, working on orbit and zoom (especially the START position and min/max zoom), removed sphere for background since we don’t use a texture for that ANYMORE, cleaned up the code and polished some stuff. Now I can start working on the physics and then the UI after that.

0
0
9
Open comments for this post

2h 3m 43s logged

I started by joining Stardance, connecting my project to Hackatime, creating a GitHub codespace, and a repository with it. I began working on the sun, orbit controls with camera, glow through bloom effect, rotation animations, and background. (It’s all 3D)

In fact, I made my first sun sphere (so first body) and then put it INSIDE of a sphere with the looping PNG to achieve a HDRI effect.

Next I will set parameters for the zoom, make three suns, and work on trails + physics. (Which isn’t to be taken lightly cause the physics is going to be CRAZY)

Thank you Stardance for letting me join!
-dkh

0
0
97

Followers

Loading…