I was making a GIF animation with GIMP. When I tried to play it back, though, it skipped directly from my first frame to the final frame and missed all the others. Is this a glitch in GIMP, or am I doing something wrong?
It's hard to tell without seeing the animation itself (or, better yet, an .xcf file of your project), but I suspect that your frame delays may be messed up.
When you save a project as a GIF animation in GIMP, the save dialog prompts you to choose a default frame delay (i.e. how long each frame is shown) and disposal method (whether or not this frame should be drawn on top of the previous one or just shown on its own).
However, GIMP also allows you to control the options for individual frames. To set the delay for a specific frame, just change the name of the corresponding layer to include a string like
100 (which is the default) with the number of milliseconds you want that frame to be shown. You can also control the disposal method this way, by including either
(combine) in the name of the layer.
The thing is, if you set your frame delay to something like 1 ms, then you're telling the animation player to show that frame for only 1/1000 of a second, i.e. way too briefly for the human eye to see (or for your monitor to display, for that matter). The effect is that the frame simply appears to have been skipped.
In any case, using frame delays below 60 ms or so is usually a bad idea anyway, since, for historical reasons, many GIF animation players will assume that such very short delays are mistakes, and will use a default delay of (usually) 100 ms instead. Further, the cutoff for what counts as "very short" varies between players: some may let you go down to 20 ms or even 10 ms, but at least one fairly common one (MS Interner Explorer) sets the cutoff at 60 ms. Thus, using short frame delays can produce animations that will play differently in different viewers.
Also note that, even though GIMP allows you to specify the frame delay down to the millisecond, the GIF format actually stores the delay as multiples of 10 ms. That means that, even if you specify, say, a frame delay of 75 ms, the actual delay in the finished animation will be only 70 ms (or possibly 80 ms, I'm not sure how GIMP rounds these numbers). This may seem like a minor issue, but if it happens for many frames, the roundoff errors might add up and visibly affect the speed of your animation.