Archive entry by Ste Pickford on Thu, 08 Jan 2009
I've been digging through some old backups, and thought it might be fun to put together some images showing how I used to make animated sprites on the NES.
This is an eagle sprite for Ironsword, done in 1988 at Zippo Games, which was probably one of the first NES graphics I drew. It was all done in Deluxe Paint (Dpaint) in the Amiga, and all the sketching was done with a mouse - no Wacom tablets or scanners back then! The slightly odd number of animation frames was because I was copying the animation from one of the excellent Muybridge books, and he didn't work in powers of two like most video game artists. That 'Animals In Motion' book was incredibly hard to get hold of back then!
The image above shows five different stages of work, which I helpfully saved as different files, rather than just saving over the same one as I progressed.
This eagle graphic is actually incredibly large for an NES sprite. I wanted to do something 'flashy' early in the game, trying to show off my amazing graphic art skills on the rather primitive NES. We were working on Amiga and ST games at the same time, so were always trying to push the NES with bigger and better graphics, right from the start of our work on the machine.
NES game characters and enemies were typically about 16 x 16 pixels (or four hardware sprites, each of which were 8 x 8 pixels), which was about all you could afford to spend per character when you were limited to a maximum of 64 on screen, and only 8 visible per horizontal line.
This eagle was for a little set piece animation sequence (he flies down and picks you up, then flies you up to the clouds at the end of a level), so it was a bit of an extravagance, but as I say, I was trying to show off. I think there's a shrunken version of this eagle, at a smaller size and with fewer frames, as a baddie on the same level.
I added more detail and cleaned the frames up at each of the first four stages. I only had three colours to play with (well, four if you count 'transparent'), as NES graphics only used 2 bits per pixel, so I had yellow, mid brown, and dark brown.
Once it was all cleaned up, I had the painstaking process of working out the best position for the 8 x 8 sprites which would make up each frame.
I've talked about our sprite technique before, and this is a good illustration of it. Instead of just dividing each frame up with 8 x 8 pixel grid lines, and storing all the individual sprites with any data in them, we got slightly more efficiency if we manually positioned each 8 x 8 sprite according to the shape of the graphic. It was incredibly labour intensive, and it meant some overlap, but this was all offset by using fewer sprites overall (if you were clever), so using less precious VRAM space, and fewer of your precious 64 on screen limit.
You can see from the final image (click for a close up) that different frames use different numbers of sprites each, from 17 down to 11.
Quite often at this final stage I would modify the graphic slightly - shaving a pixel off here or there, or nudging a bit of the sprite up or down - just to save a sprite or two. We could also reuse bits of sprite between frames, but the nature of this particular animation meant there was no reuse possible.