When I was first creating the content and started prototyping, I began with the main character. The idea was to look at art from games that I enjoyed in the past and try to reverse engineer their process. I tended towards looking at spritesheets from old Squaresoft games (now Square Enix). However, I was also looking at other games such as the Soul Blazer trilogy from Quintet, and Capcom’s early Breath of Fire games. The one that really kind of stuck out to me as I was looking at these were the sprites for Seiken Densetsu 3 (the first game I ever imported from Japan, as it was a Japan only release, and incidentally where I started to teach myself to read Japanese).
While I had done sprites before, I was rusty, and I wanted to get a fresh start with more of an inspiration from my favorite classics. Going through this process not only helped me to figure out an approach, but they also helped me figure out a scale to work at. Most of the characters from my favorite games were about 24 to 32 pixels tall. So, that is where I began. After playing around with a character design, I ended up extending the character’s length for the format I was wanting to create for Leaky Dimensions. Because of this, the main character’s base pose is 45 pixels tall, with an additional pixel row for the shadow underneath.
In, older games, they had limited sprite space. So, you will often see capped sprite sizes, and then little cheats to help extend things, such as having a character that is only 24 pixels tall, and then having a second sprite for a weapon that plays behind the character sprite, which also allows for weapon swapping on the same character sprite. As we don’t have similar limitations anymore, I extended the character’s working file to be 64x64 pixels. This allows me to get all of my animations done in a single shot.
I am doing all of my work in Photoshop. I simply limit my palette as I am creating, and then do each sprite in its own layer. I then output each sprite as a .png file, put it in Unity, give it a packing tag (which puts it on a sprite atlas, which is basically a larger texture with everything packed together), remove any filtering, and start creating my animations.
Here is an example of how some of the individual sprites would look if they were packed (this used to be more manual, but is now done automatically in Unity.
These are only a portion of the sprites for the main character, but they give an idea of what the process is. As I create each new set of sprites for a new animation, I will put it in the game engine, create the animation and make sure that it works (both individually, and overall with the entire character). I then move on to the next animation. In this way, I can make corrections quickly and keep the cohesiveness of the characters.
For this main character, the biggest issue I ran into was that I had to redo a lot of the animations by either removing or adding in extra sprites to get things to feel uniform as they animate. There was a learning curve with the initial character, but after the mistakes of this character the rest of the production speed and efficiency has increased.
By the way, as a historical note, that pink color in the background was used on old sprite sheets to help identify what the transparent or “off” pixels would be. While it could be any color, many artists chose this kind of a color (generally between a bright pink or bright purple) because it was easily identifiable and was rarely used as a color within the sprites themselves. I use it as a background while I work so that I don’t lose pixels or have holes, but I hide the pink layer when I export the .png files for the individual sprites.
This game has been a lot of fun to work on and I highly recommend creating your own sprites and trying to animate them.