The play streak resets even though the player did not skip a day
Streaks feel great until one is lost unfairly: the player simply has not played yet today, or missed a single day and had a protection item. Here is the counting rule that treats today as still open and spends protection days only where they actually save the streak.
Why this works
A streak is a promise to reward showing up, so it should only break when the player truly had the chance and missed it. Today is still open until it ends, and a protection day counts only where it actually saves a run that would otherwise end.
When not to use it
Skip it when you do not want to pressure people into daily play, as in a calm or family game, or for players who may be unwell or away. Reward total play or a weekly goal instead, which forgives gaps without punishing anyone.
In the full entry
- What to build, step by step
- Starting values and the reason for each
- 3 common mistakes and the fix
- 28 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 "The play streak resets even though the player did not skip a day" (read_entry daily-streak-counter-with-freeze-days) 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