La idea básica del archivo con todos los cuadros (frames) de animación es esta:
1. Obtienes VARIOS archivos gráficos (con algún editor) cada uno con un cuadro de animación: caminando, parado, corriendo, etc. Y para cada dirección que sea necesaria: caminando a la derecha, arriba, abajo, etc.
2. Recortas los pedazos que no se usan en cada gráfico, las partes "transparentes", de forma que quede un rectángulo conteniendo el sprite.
3. Realizas un "collage" de estos gráficos de la mejor manera que puedas para evitar desperdiciar espacio. Es más práctico una collage por dirección del sprite (secuencia de caminando a la derecha, secuencia de caminando hacia arriba, etc).
4. Guardas en un archivo las coordenadas de los rectángulos que corresponden con cada "cuadro", esto tendrías que hacerlo para cada cuadro a medida que lo colocas en el collage. TU TIENES QUE SABER las posiciones x, y, por que tu armas el collage.
5. En tiempo de ejecución cargas en memoria los gráficos de los "collage" (secuencias de frames) y al momento de pintarlos en pantalla indicas el rectánculo origen correspondiente para cada cuadro (frame) de acuerdo a la acción, dirección y secuencia de animación del sprite.
¿Complicado?
Sin duda, es complicado. Puedes facilitarte las cosas si las dimensiones de los rectángulos siempre tienen el mismo ancho y alto, pero desperdiciarás memoria en cantidad.
¿Existen programas gratuitos que ya hacen esto?
Si, DelphiX tiene varias herramientas (gratuitas) para realizar esto y muchas otras cosas necesarias para programar juegos. Por supuesto que no es un hada madrina que hará el trabajo por ti, pero ayudará bastante.