New brief, and I can say that I’m honestly pretty excited for this one!
Kicking it off with the basics. Sprite sheets. What are they? What are they used for? How do you efficiently make use of one? What does an object sprite sheet look like? Let’s have a look…
If we think about animation, we know that movement is created by playing frames in consecutive order. The more frames you have per second, the smoother your motion is going to be. In an animation, you could have a sequence of frames animating to create a walk/run cycle, this is easy enough to package together in an animation, as you just have a pre-composition/clip with the stacked frames in it.
What is a game character sprite sheet?
In a game, however, the dynamics change a bit. Basically, a sprite sheet consists of two parts; frames and cycles. Frames are single rendered images that are used played in succession to create a cycle. These cycles make up most of the movements in games. Typically when a character is controlled, and the left arrow is pressed, the left walking cycle is triggered. The same goes for any other movement of the character, and other animations in the game. You can see where the problem comes in. When animation is triggered by a users’ gesture or keystroke, it has to load extremely fast in order to create a streamlined experience.
This is where a sprite sheet comes in. A sprite sheet is an unpacked version of the frames used for movement of characters. It is all the same frames that would typically have been “stacked” on each other, but on the sheet, they are all laid out next to each other. This allows developers to create a whole cycle for animation and only have to load one image, the sprite sheet. The frames are differentiated by code, so all that is required to call up a cycle is a couple of lines of code.
How many instances does a game object sprite sheet such as a hero character have?
The amount of instances that is required for the main hero in a game, will vary from game to game, depending on what your character is able to do.
I will list a couple of instances that generally is necessary for main character sprite sheets: (please note that there are only active states, seeing as these animations do not have step-on step-offs or anticipation stages. These are built into the cycle itself. )
- slow walk
- Double jump
- climbing up and down
- looking around
- interact with objects (push/pull/pickup/etc…)
- attack (punch/kick/jump punch/ jump kick/etc…)
These are a few, but the list can go on for quite a bit. It all depends on the amount of interactions and movements, your character will be doing.
Best Practices for creating a game object sprite sheet?
Scale- designing all of you sprites to the right scale will save time when loading.
Efficient use of space on the sprite sheet – minimum amount of transparent pixels.
You want your animation to be smooth, but you do not want to have too many excess frames clogging up your sprite sheet.
At the end of the day you want yours sprite sheet to load as quickly as and efficiently as possible.