If you have any improvements or suggestions (especially on the programming side!), please email me directly.
Update: As an astronomer (and not a professional programmer), being on HN makes me super proud. Thank you!
If you have any improvements or suggestions (especially on the programming side!), please email me directly.
Update: As an astronomer (and not a professional programmer), being on HN makes me super proud. Thank you!
(I'm not affiliated with them in any way)
Also, the speed shouldn't affect the results - perhaps the simulation could always be done at the same resolution, separate from the animations.
If you have a reproducible case, let me know.
http://www.stefanom.org/2000000-systems-played/
It's a combination of (a) people straight up exploiting the fact that the server trusts that the data sent from the client is correct, (b) some truncation error that happens when the system is saved for replay may lead to a different final outcome when replayed (the systems may be highly chaotic), or (c) a bug that I haven't been able to reproduce yet.
(a) is something I struggle with coming up with a good solution. People can just enter the Javascript console and mess with the internals (change points, multipliers, etc.). When the data is sent to the server, the server cannot re-run the entire integration, it is too computationally expensive (almost 4,000,000 games played!). So what I do is do some basic checks on the server, loop over & reject systems that are clearly fake, ban IPs that are obviously trying to exploit the high score table, and call it a day since I cannot be monitoring the high-score table all the time. As I wrote in another comment, they are all fake internet points anyway, so I'm not too concerned. If anyone has a better idea, my email is stefano.meschiari@gmail.com -- drop me a line.
(b) is a feature inherent to the N-body problem, so not much can be done on that front.
(c) I still haven't come across a system that I created on my testing environment (that I save with some extra debug information), that behaves differently when replayed.
For example, someone here commented about two stars systems, and if the planets are between them, they should closer to the center one as possible. This kind of thing I can test, see how it works and learn a little.
So a few tips as why another star in the center transform a planet's path from circular to an elliptic one, could help.
I'll do a bit of testing and see what I can come up with.
By the by, if you like what I've done, I will soon be available to freelance. A few other projects of mine are here:
Meantime, I have wanted something like this ever since I was a kid and ran into the three body problem while trying to devise a sci-fi game. Finally I can build the solar system of my dreams!