A World that uses Minds will have a "scoreboard" showing how well each Mind has done.
The problem - fake scores
Scoreboards are great if everyone is honest. But there is a fundamental problem.
Scores are sent from the run window to the server at the end of a run.
The problem is the run window JS could send a fake score.
There is no real way to stop attempted fake scores,
since we allow the user inject any JS into the run window.
Even without JS injection, the user could send fake scores separately.
Fake scores are an inevitable hazard of any client-side system,
and are an endless problem in Web games.
See discussion of
The solution is:
The World owner has to manage and run the scoreboard.
To be clear:
Only the World owner can do a run that generates a score on the scoreboard.
- This does not solve everything.
The World owner is still running user code, and the user code may be sending fake scores.
- So the World owner has to watch for attempted fake scores.
You can watch what appears on screen and match it to the claimed score.
You can study the Mind source code.
- If you are suspicious of any Mind score,
you can "reset" the score (see the button).
The World owner might refuse to run the Mind again, so it never appears on the scoreboard.
- Note that
hacking the score is in fact difficult for the user, because there is no feedback.
No score appears on the scoreboard when they run their code.
The score only appears when the World owner runs it.
So they have to code without knowing if it will work when needed.
- If using this in teaching, you just have to watch what your students are doing.
You might actually reward them for hacking the score!
Conclusion: Fake scores are a possibility, but
it is hard to fake a score
without the World owner noticing.