Quick answer: GameMaker sprite frozen on frame 0 because image_speed = 0? Zero means no auto-advance — set to 1.0 for sprite frame rate, fractional for slow motion.

An animated explosion sprite shows only frame 0. image_speed was set to 0 to pause it during a transition and never restored.

Image Speed Values

image_speed multiplies the sprite’s configured frame rate. 1 = normal; 0.5 = half; 0 = no advance. Negative = reverse playback.

Set to 1 to Play

image_speed = 1.0;
image_index = 0;

Play from start. Combine with the sprite’s configured FPS in the asset.

Pause Without Reset

Set image_speed = 0 to pause. Image_index stays where it was. Resume by setting back to 1.

Per-Frame Logic

Manual control: set image_speed = 0, advance image_index yourself in Step based on game time. Useful for desync-resistant animations.

Verifying

Animations play at intended frame rate. Pausing / resuming via image_speed works as expected.

“image_speed = 0 means freeze. Set to 1 to play; tune for speed.”

For pause / resume patterns, save the previous image_speed before zeroing — restore exactly on resume.