A level that crashes and restarts takes a second heart from the player
A phone call, a crash or a double tap, and the same level start is charged twice. Here is the small record that charges once per real attempt, lets a broken one carry on, and refuses to bill a finished attempt again.
Why this works
A charge should follow one thing: the attempt the player chose to make. Giving every attempt its own name, written down before anything is paid, lets the game tell a repeat of the same try from a new one, even after a crash.
When not to use it
Skip it when starting a level costs nothing, as in a game with unlimited tries. There is no charge to protect, so tracking attempts only adds saved data; just reload the level when it fails.
In the full entry
- What to build, step by step
- Starting values and the reason for each
- 3 common mistakes and the fix
- A diagram of every state
- 14 lines of example code with 3 checks that pass
- How your AI shows you that it works
Say this to your AI
Use the Spielerando entry "A level that crashes and restarts takes a second heart from the player" (read_entry puzzle-attempt-id-no-double-charge) 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