🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

How does one create flexible pixel art?

Started by
12 comments, last by Unduli 9 years, 8 months ago

Before I begin, consider the following image:

sprite_New.png

There's a few things about this kind of sheet that makes me programmer side cringe a bit.

  1. If you want to draw clothes on the base, you can simply overlay them. This is fine, but the work increases with each animation that is required.
  2. If you add new poses or animations, you must redraw sprites for each clothing piece to now match. This is a lot of work over time and a lot of work you might have to redo if you add even a single frame.
  3. This requires a pose and animation for each 'weapon slash' type.

How is this usually handled?

Advertisement

Is it me, or is the image not loading?

Loads for me -- you can try a direct URL?

http://s29.postimg.org/ewh8tisl3/sprite_New.png

I've also attached it on a new domain here:

http://i.imgur.com/9rbtvoJ.png

Before I begin, consider the following image:

sprite_New.png

There's a few things about this kind of sheet that makes me programmer side cringe a bit.

  1. If you want to draw clothes on the base, you can simply overlay them. This is fine, but the work increases with each animation that is required.
  2. If you add new poses or animations, you must redraw sprites for each clothing piece to now match. This is a lot of work over time and a lot of work you might have to redo if you add even a single frame.
  3. This requires a pose and animation for each 'weapon slash' type.

How is this usually handled?

Not sure how 2d normally handles this. What I have learned of the 2D world is that some software can assist with this by the use of BONES for your 2d work. You can attach the new art to the bones and manipulate it accordingly. This may or may not be of help to you though since you seem to be doing a very specific art style. In most cases this type of art is done by hand and does take a lot of rework for changes. You could, however, create a new layer on top of the current one so that the clothes would be added in from there and you could save it out, once done.

I believe that in some cases you could split the character into 4 parts : head+torso, left arm, right arm, torso, butt+legs. Some part will be constant or will require less animation step. Then you recombine with a script.

It works only if you devised the clothing to minimise the work.

Another way is to use a 3d software (blender, maya, whatever), model and animate your character, use cell shading and an orthogonal camera (no perspective).

Space Zig-Zag, a casual game of skill for Android by Sporniket-Studio.com

I believe that in some cases you could split the character into 4 parts : head+torso, left arm, right arm, torso, butt+legs. Some part will be constant or will require less animation step. Then you recombine with a script.

It works only if you devised the clothing to minimise the work.

Another way is to use a 3d software (blender, maya, whatever), model and animate your character, use cell shading and an orthogonal camera (no perspective).

This is actually how sc1's art was done. Many other older games used this method.

I believe that in some cases you could split the character into 4 parts : head+torso, left arm, right arm, torso, butt+legs. Some part will be constant or will require less animation step. Then you recombine with a script.

It works only if you devised the clothing to minimise the work.

Another way is to use a 3d software (blender, maya, whatever), model and animate your character, use cell shading and an orthogonal camera (no perspective).

This is actually how sc1's art was done. Many other older games used this method.

Sounds like rendering 3D is one of the only options. Every other option kind of suffers from the problem of when you add a new pose, you need to go back and add animations for everything else (even if they're duplicates).

It

With 2D raster art (or 3D voxel art, for that matter) there's very little you can do to stem the sort of combinatorial explosion you're describing. You can reduce the number of base variations by imposing certain standards -- say, "the hands are always placed in this position when the player carries a two-handed weapon, and in this position when the player caries a one-handed weapon." and then you animate the weapons, individually, based on that.

Another trick you can do is to reduce the number of variants by not encoding final colors into the images directly -- then, you only have to animate the wizards' robe once, and you can color it differently inside a pixel shader, or with palette tricks.

There's no way to avoid the combinatorial nature of the number of assets you have. Its just math. All you can do is A) reduce the number of variables in the equation (fewer axes of customization), and B) reduce the magnitude of those variables (fewer customizations within each axis). The above are two ways of doing that.

3D rendering can help, because you then have 3D objects and animations (eliminating the need for rotation as one of the axes), textures and shaders can be changed independent of geometry, and skeletal animations separate geometry from animation. Still, it has its own set of problems -- for example, if you animate a character for using a sword, but he's holding a long staff instead, the animation might cause the staff to awkwardly impale its holder mid-animation -- in other words, even though you have the benefit of skeletal animation, you still might have to have a set of animations for wielding a sword and a different set for wielding a staff. You still might have to have different animation sets for different characters, depending on how different their body styles are. In general, 3D is less affected by combinatorial explosion, but its not a magic bullet.

throw table_exception("(? ???)? ? ???");


I believe that in some cases you could split the character into 4 parts : head+torso, left arm, right arm, torso, butt+legs. Some part will be constant or will require less animation step. Then you recombine with a script.


This is the sort of approach that I'm taking in my hobby project to try and get past my programmer art skills. At the moment my humanoid characters are fairly primitively in their design and their main part consists of a basic head, body, legs, and feet. I want to separate those all eventually (not a priority at the moment) but I have already separated the hands from the body. The hands are essentially disembodied circles that follow the character around. For a particular event, the hands might follow a predefined pattern of movement I'm calling a "gesture". This gets the hands to sway back and forth as you walk or you could program it to move appropriately for a sword thrust, overhead swing, hand gestures as part of casting a spell, or whatever. And if the character is holding something I paint the object he's holding on top or behind the hand as appropriate. The draw back is that the characters have no arms but I figure that's the trade off when you don't want to create so many art assets.

I'm hoping that when I get to separating the other body parts that things like clothing and faces won't require too many views for each item. It's still a work in progress so there will probably be issues down the road (characters only have left & right facing sprites at the moment) but this is the theory I'm working under to avoid having to deal with pose proliferation.

When I can get to it, I'll post a video in my journal that shows the movements but here's a still image for now.

[sharedmedia=gallery:images:5500]

in each of the samples in your animation set, you can establish marker points couples - two 2d points....... think about it - take a second, matter fact, you can make those points depth containing and transform your 2d animation to full 3d attachment of objects on the buddy if so.

This topic is closed to new replies.

Advertisement