How We Built A Pixel Art Character and Cosmetic System

Reading Time: 5 minutes

We decided long ago that we wanted endless pixel art character customisation

Interchangeable Gear Showcase

Many pixel art games before us touched on character customisation, however we felt no game had pushed the boundary of animation and character customisation in the same way 3D has over the last ten years. Character customisation in other game is vast, mainly due to the increasingly powerful game engines and tools for artists.

The problem is that in 2D pixel art, you can’t just swap meshes like you would in 3D and apply them to the same rigged object. Every frame is drawn by hand. So we had to figure out how to:

  • Make our own skeleton run, idle and attack animation.
  • Work out how, for every single gear piece we could hand draw each frame to match the skeleton, so that we can draw hundreds of gear sets whilst keeping them uniform.
  • Make sure that no matter the combination, all the gear cosmetics are layered correctly.
  • Make sure that all of the cosmetics fit a palette.
  • Make sure that all of the gear sets have the same number of frames for each idle, or walk/attack.

Quite the undertaking.

We wanted players to have real cosmetic customisation so that you can wear what you want without worrying about stats. In a 2D pixel art game, that’s a lot of work. But we decided four and a half years ago that this was non-negotiable. If you’re building an MMO, players need to look different from each other. They want to express themselves through what they’re wearing. So we have to be smart and work out how to create gear sets that match the quality of cosmetics we’re seeing from our favourite games.

How we decided to solve it

Layering

First, we needed a layering system. We started with the following

  • Head
  • Chest
  • Legs
  • Back pieces
  • Weapons, and eventually different weapon types.

Each one rendered as a separate layer that composites together on the character.

We started with the base animation: the run cycle. We spent weeks on it because once we committed, we could never change it. Every gear piece we’d ever make would need to match that skeleton, that frame count, those proportions. If the base is wrong, you’re rebuilding everything down the line.

Once the run was locked in, we built a skeleton system so new gear sets could layer on top. Then we wrote a layering engine to manage it all. Layer order changes depending on which direction your character is facing and what weapon they have equipped. A sword needs a different chest piece than a heavy sword, for example.

Then we decided, we want more weapon types…

We decided that we would want multiple weapons, swords, heavy swords, heavy weapons, even staffs. Each weapon has a different animation style for the chest piece. In the case of the staff, the idle and running animations from heavy weapons worked perfectly, while the fast sweeping swing of a light weapon would worked for it’s attacks. Our system allowed us to select appropriate existing animations to use in combination with new ones.

Combinatorial complexity was the big headache. Every weapon type needs a corresponding chest piece animation. Every facing direction can change the render order of layers. Multiply that across all gear slots, all weapon types, all directions, and you’ve got a system that needs to handle thousands of combinations without anything looking broken.

Farming? Now we need to sit down

As we expanded beyond running, we started working on drinking animations, farming, gathering. We found that we could reorder existing frames from the existing base animations to create these new actions. That wasn’t planned. It just fell out of the system while we were experimenting. The more actions we added, the more useful this turned out to be.

How we hacked sitting into the game by only need a few extra frames

As we expanded beyond running, we started working on drinking animations, farming, gathering. We found that we could reorder existing frames from the existing base animations to create these new actions. That wasn’t planned. It just fell out of the system while we were experimenting. The more actions we added, the more useful this turned out to be. The system we built, could build itself going forwards.

When we added sitting, we assumed it would need a completely new animation set. Turns out we only had to redo the leg pieces with a few extra frames. It took some time, but it was very doable. That’s become the pattern. What looks like it should be a huge effort usually ends up being a contained change to one or two layer slots. The system has been more extensible than we expected, and we keep finding new ways to use it.

Where that leaves us today

Players can equip gear across head, chest, legs, back, and weapon slots. Each piece renders as its own animation layer. Swapping weapon types automatically changes the chest piece to match. Transmog separates stats from appearance, so you can look however you want. The system handles all facing directions, with layer order adjusting in real time. It works across running, sitting, drinking, farming, and gathering animations, all built on that same base run we locked in years ago.

What’s next

We’re still expanding the animation system. Every new action we add shows us more about how far the skeleton can go. There’s more we want to do, but the foundation has held up, and it can handle what we’ve got planned.


COMING TO STEAM · PC

Wishlist Soulbound Now

Early Access launches 2026. Add Soulbound to your library so it lands in your queue the moment it goes live.

Wishlist on Steam

Soulbound: Online is coming to Steam Early Access

Game Trailer

Contents