A slow phone uploads an old run last and wipes out the player's best score
Scores can reach the server in a different order than they were earned, and some arrive with numbers nobody could have reached. Here is how to keep the best and the latest result apart, and how to throw out the impossible ones without punishing honest players.
Why this works
Arrival order says how fast the network was, not which run happened last. Two separate facts, the best ever and the newest by its own number, let a late message do no harm, and a check against the possible rate keeps impossible scores out.
When not to use it
Wrong for scores that must be exact, like a prize contest, since a plausibility check cannot prove honesty. There, let the server run or watch the game itself. It also fits badly with a board that tracks only the latest run.
In the full entry
- What to build, step by step
- Starting values and the reason for each
- 4 common mistakes and the fix
- A diagram of every state
- 24 lines of example code with 5 checks that pass
- How your AI shows you that it works
Say this to your AI
Use the Spielerando entry "A slow phone uploads an old run last and wipes out the player's best score" (read_entry best-score-when-results-arrive-late) in my game. Build it step by step, and show me how you checked that it works.Or skip this and connect the MCP: your AI then finds all of this by itself.Connect the MCP