Footsteps and hit moments play twice, or never, after a lag spike or a loop restart
Sounds and effects are tied to moments inside an animation. When the animation clock skips ahead because of lag, or loops around, the naive check misses events or fires them twice. And a newcomer who joins mid-run should not hear a burst of old footsteps.
Why this works
Asking which events fall inside the stretch of time just passed covers every moment exactly once, however long or short the frame was. A window that is open at one end means a moment on the border belongs to one frame only, never two.
When not to use it
Wrong when the sound should follow the actual contact, like a foot that really touches the ground at an uneven height; then fire it from the ground check. Also skip it for effects that must not be dropped after a freeze, such as a hit.
In the full entry
- What to build, step by step
- Starting values and the reason for each
- 3 common mistakes and the fix
- 29 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 "Footsteps and hit moments play twice, or never, after a lag spike or a loop restart" (read_entry footstep-sound-fires-once-when-animation-time-jumps) 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