-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Summary
Many users exploit a simple reload hack to retry quizzes without penalty — they start a quiz, guess some answers, and if things go wrong, simply reload before submitting. This clears progress and lets them retake the same quiz until they get a perfect score. Around 20% of participants seem to use this method.
⚠️ Problem Impact
- Inflates scores on the leaderboard.
- Undermines fair play and the credibility of results.
- Makes prize draws less meaningful.
- Reduces motivation for honest players.
🎯 Goal
Prevent page reloads from giving a “free retry.”
If a user reloads, their attempt should either be auto-submitted or treated as a retake with a penalty.
💡 Implementation Direction
We don’t want to over-engineer this, but one of these simple approaches would be enough:
-
Silent Penalty on Reload
- When the user reloads mid-quiz, treat that as a retake and apply a hidden penalty (for example, deduct points or mark as n-th attempt).
- Users wouldn’t see a message — just notice their score isn’t as high as expected.
- Keeps the experience playful while discouraging reloads.
-
Auto-Submit on Each Answer
- Submit partial results to the server after every answered question.
- If the user reloads, the backend already holds a record of their attempt.
- Reloading then simply starts a new attempt with the previous score already stored.
In both cases, any reload becomes effectively a retake instead of a way to erase mistakes.
🧠 Behavior Example
-
User starts quiz → answers 5 questions.
-
Reloads the page.
-
Backend finds existing score:
- Option 1 → marks as retake, applies hidden penalty.
- Option 2 → restores or restarts quiz with existing score logged.
-
Final results reflect honest first tries, not brute-force retries.
✅ Benefits
- Makes reload abuse pointless without breaking normal play.
- Keeps leaderboard fair and transparent.
- Requires minimal logic change — no major backend complexity.
- Still allows honest users to reload if needed (they’ll just start fresh or keep prior progress).
This change keeps the quiz fun and fair while gently punishing “creative” reload strategies.