stefanom
Joined 12 years ago
Joined 12 years ago
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 [email protected] -- 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.
I should add that the entirety of the code will be published on GitHub, like my other projects (http://github.com/stefano-meschiari/), so people should feel free to fork, make pull requests, etc.
If anyone likes what I do, I will be available soon for freelancing. I have a small portfolio of applications I built here: http://www.stefanom.org/devel/
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:
If you have a reproducible case, let me know.
I'll do a bit of testing and see what I can come up with.
My edu apps & games group: http://save-point.io