How to Structure 8-Direction Character Animations

Hi everyone!

I’m currently working on my first game ever — a 2D top-down survival horror. My main references are Signalis and Resident Evil.

The game is planned in pixel art, and I’ve run into a design problem early on: I’m struggling to figure out a clean and scalable way to handle character animations.

Right now, I have an 8-directional character with two main states:

  • Normal state — the character moves in a relaxed way, does NOT rotate towards the cursor, and holds the currently selected weapon in a relaxed pose
  • Aim state — the character rotates towards the cursor, holds the weapon in an aiming pose, and can move slowly while aiming

At the moment, the character is drawn as a single, full-body sprite (not separated into parts).

I’ve been considering splitting the character into upper and lower body parts, so I wouldn’t need to redraw full animations for every weapon or state (and I’m planning to have multiple weapon types). However, this creates issues in certain angles — for example, the far arm can visually overlap the legs, which breaks the depth illusion.

This makes me wonder:
Should I go even further and separate arms into additional layers and sync everything in the engine? Or are there smarter tricks (visual cheats, workflow approaches, etc.) to simplify this?

I’m attaching a GIF of my rough character for context.

Any advice or examples would be really appreciated!
Desktop-2026.04.28---12.03

I can see two methods - one would be to cut out the overlap in the animations, which would be very tedious.

The other would be to store an array of Z values so that you can arrange the sprites accordingly when changing direction. You wouldn’t want to use actual layers, just keep them on the same layer and change their Z level

1 Like

Watch this

With mouse scroll you can change blades
I quickly learned that there is NO WAY i gonna make player and weapons same animation
And then considering i have 70 blades there there is also NO WAY i gonna draw unique animations per orientation for blades
So each blade is just one single image
And i manage per frame of player animation their Z order and horizontal/vertical flip and position them to points i created on player
Same with that slash effect
There is no reasonable way around it
And now i was wondering about different armor set pieces
And i would need to do exactly the same where each of them would be unique object managed by frame of player animation to adjust its Z order and position
Well when it comes to armor i would just create all images of same shape
And draw all animations per player animation and slap them onto player with higher Z order via events
Where position of image would be always the same on player

And last part to do would be to give player 2 text variables
Direction and Action
Direction would be set to different well direction depending on which direction player is facing
Action would change depending on what player is doing
Like walking/standing/attacking/being hurt/taking potion/picking up item and stuff like that

And now i could prepare animations for each case
Properly naming animations
And distributing them to other objects by these variables

For example this is from other game
But just for Direction variable

And as you see setting this Direction variable to different values based on direction player is in
I can distribute proper animation to player by some text + Direction variable value thx to the fact i named properly my animations
In your case and case of game i linked on top
There needs to be another variable called Action or state or whatever you want
To also change depending on what player is doing
To be able to manage animations easily with few events

Merging animations of multiple objects will quickly lead you to development hell
Cause if you gonna make for example hurt animation for player
Then now you gonna need to hurt for every weapon
IF you merged animation of weapon with player animation like they are one image
That is why wise thing to do is to have everything separate and modular

Bottom line
Waste some time now preparing whole system and save TONS of wasted hours later
Or do it all in one object/animation and have hell later on

In my eyes choice is simple

1 Like

Thanks, guys! These are very helpful tips that provide more technical understanding :slightly_smiling_face: