Advertisement

How to ease sprite creation for an RPG

Started by December 03, 2015 02:24 AM
9 comments, last by vanka78bg 9 years ago

Hey, everyone. My friend I and decided that we'll do a 2D RPG for our next project. We've never worked on a project with such a big scope, and we're worried about the amount of sprites we need to draw. Our previous games were platformers that didn't need that many sprites.

For monsters and other stuff we don't mind doing the hardwork, since they only have a determined set of animations and their sprites will basically stay the same, so they won't need a lot updating. It's the player that's problematic. We plan to have the armors split into three pars; helmet, body, and pants. And we also want the player to be able to wield different types of weapons, and each weapon type will have different animation sets. The idea of having to draw all those sprites for each piece of armor and weapon type is overwhelming for us, so we've been brainstorming to find a way to ease our job. The ideas range from using a simple art style, like using the same shape but different textures, to making 3D models and capture each frame to make the spritesheet (my friend has more experience working on 3D), but we haven't come to a conclusion.

We'd like to know if you guys have any tips on creating sprites for this kind of RPG. Any tips will help. We're willing to work hard. We just don't want to brute force it. biggrin.png

You can draw the basic sprite, the equipment, and the weapon effects all separately, and then draw them all in specific orders while the game is running to get the desired result. This is sometimes called 'paper dolling'. Games like the 2D Zeldas, Diablo 2, and Maple Story do this.

[example found online] <-- See how the shield and sword (drawn separately from the sprite itself) can be laid ontop of the sprite, so variation of weapons and shields can be used without having to redraw the entire sprite? You can even programmatically apply color to each component separately.

You have to work out what orders things are drawn, which can get complex if you have alot of equipment.

Positioning the objects perfectly can also be a pain, but if you make every equipment-piece texture the same size as the character texture, it makes it alot easier (though wastes a huge amount of texture space - but you can create a very simple tool to automatically fix that prior to releasing your game, if it's really a concern).

One big problem to avoid is to make sure you get your base sprite locked in place, including every animation, because your equipment needs to be drawn for every animation, and if you add additional animations later or tweak earlier animations, you'll have to go through each item and update them manually. dry.png

Diablo 2 got around that problem by using 3D models, and pre-rendering all the objects and sprites from various angles into 2D texturesheets.

Advertisement

+1 for going the 3D modelling route.... there is a line where 2D Sprites start becoming more time intensive and expensive to make than 3D models.

That is especially true for isometric character sprites with lots of smooth animations.

One of the reason why game developers moved away from 2D sprites for RPGs, and instead started to use cell shaded ones. Might not have that anime animation look anymore, but most probably much cheaper to produce because less time is needed for drawing animation frames and fitting equipement pieces.

Of course that is only true when you have 3D modelling skills already. On the other hand, depending on your needs these models are rather simple (comic characters with cell shaded textures for example) and the amount of skill needed not sky high....

You have to work out what orders things are drawn, which can get complex if you have alot of equipment.

Positioning the objects perfectly can also be a pain, but if you make every equipment-piece texture the same size as the character texture, it makes it alot easier (though wastes a huge amount of texture space - but you can create a very simple tool to automatically fix that prior to releasing your game, if it's really a concern).

Thanks for the reply.

Actually we already decided to use that technique since we thought that's how other RPGs do it. That tips helps though. I think we won't make the equipment piece texture as big as the character, but have a determined size for that piece of equipment. I suppose the extra space will be worth it.

And yes, that's exactly the problem I'm worried about. Having to make a new spritesheet for different weapon animation if I add new items, and change all of the already-existing ones if one animation is changed. wacko.png

One of the reason why game developers moved away from 2D sprites for RPGs, and instead started to use cell shaded ones. Might not have that anime animation look anymore, but most probably much cheaper to produce because less time is needed for drawing animation frames and fitting equipement pieces.

Of course that is only true when you have 3D modelling skills already. On the other hand, depending on your needs these models are rather simple (comic characters with cell shaded textures for example) and the amount of skill needed not sky high....

When my friend proposed that idea I asked him the same question. We planned to make a western action RPG with the look and feel of a typical top-down view JRPG (our model for art style is Ragnarok Online) and I doubted that 3D models can deliver that feel. That's why we're still hovering on choosing between 2D and 3D now. He does have pretty good 3D modelling skills, so I guess I'll have him have a try on that. Any tips on that would be appreciated though.

Terraria had very simple animation, but it still looked pretty good and had lots of equipment.

Helm - 1-2 pixel head bob up and down when walking. Wouldn't need to animate this in the sprite, could just draw it at the appropriate position based on the animation frame.

Chest - I think only the arms were animated with +1, -1 wiggle left and right based on the frames.

Legs - May have only Had 2 frames of animation - straight leg, taking a step.

Weapons - I don't think weapons had animations in the sprite, they were just moved/rotated accordingly. Stabbing spears moved forward then back. Swords rotated around the bottom left pixel of the sprite giving it a long arc.

I haven't played Terraria in a while so I may have gotten some details wrong, but this isn't far off.

- Eck

EckTech Games - Games and Unity Assets I'm working on
Still Flying - My GameDev journal
The Shilwulf Dynasty - Campaign notes for my Rogue Trader RPG

That's why we're still hovering on choosing between 2D and 3D now. He does have pretty good 3D modelling skills, so I guess I'll have him have a try on that. Any tips on that would be appreciated though.

3D is also alot of work, so it's no 'get out of work free' card, alas.

I think we won't make the equipment piece texture as big as the character, but have a determined size for that piece of equipment. I suppose the extra space will be worth it.

The extra space, if it's exactly the same size as the character frame size, super-simplifies positioning problems. I definitely suggest going that route - if memory usage is a problem (What, with even many laptops having 8GB of RAM nowadays, it shouldn't be), it's real simple way to take your source artwork (of the same size as the character animations), and convert it automatically to make more compact artwork for the final release, with virtually zero added complications to the code.

And yes, that's exactly the problem I'm worried about. Having to make a new spritesheet for different weapon animation if I add new items, and change all of the already-existing ones if one animation is changed.


You shouldn't need to change any weapon or equipment animations if you add new items, you should only need to change weapon/equipment animations if you change or add new base-sprite animations (i.e. player movement animations).

One tip is to make your base-sprite animations simple, and re-use the same animations for multiple purposes. Like instead of "player pulling down wall-switch", and "player talking to NPC", just make a generic "player interact" animation, which dramatically reduces your workload (because it means one less animation for every piece of equipment).

By simplifying the number of player base-sprite animations, and reducing the number of frames per animations in general, you can still create good looking and artistic art, while saving boatloads of work.

Advertisement

While I am not the biggest fan in the world, Daz3D is certainly an option here. I did a tutorial wayyyy back on creating a spritesheet using Daz so you can get an idea of the workflow. Where Daz shines is there is a huge marketplace of characters and props available. Daz3D is available for free download. An alternative that isn't free is the venerable Poser.

Another great option is Fuse for characters and Mixamo for animations. Mixamo also has a HUGE number of animations available. Sadly they were recently purchased by Adobe so I don't expect them to stay awesome for long. sad.png

Both are low cost solutions that enable you to create some pretty amazing sprites quite easily. More importantly, both have huge asset stores backing them up.

You shouldn't need to change any weapon or equipment animations if you add new items, you should only need to change weapon/equipment animations if you change or add new base-sprite animations (i.e. player movement animations).

Sorry. I meant I'd need to make a new animation for each items if I add a new weapon type, which will need new base animations.

The extra space, if it's exactly the same size as the character frame size, super-simplifies positioning problems. I definitely suggest going that route - if memory usage is a problem (What, with even many laptops having 8GB of RAM nowadays, it shouldn't be), it's real simple way to take your source artwork (of the same size as the character animations), and convert it automatically to make more compact artwork for the final release, with virtually zero added complications to the code.

Alright, I'll use that approach if I end up choosing 2D. I keep forgetting that hardware these days have enormous processing power and always become paranoid when coding stuff. mellow.png

One tip is to make your base-sprite animations simple, and re-use the same animations for multiple purposes. Like instead of "player pulling down wall-switch", and "player talking to NPC", just make a generic "player interact" animation, which dramatically reduces your workload (because it means one less animation for every piece of equipment).

By simplifying the number of player base-sprite animations, and reducing the number of frames per animations in general, you can still create good looking and artistic art, while saving boatloads of work.

I will keep that in mind. Seems like this tips will save us the most work.

Terraria had very simple animation, but it still looked pretty good and had lots of equipment.

Thanks for the good reference. I noticed that you can simplify sprite animation more on a side-scrolling view than a top-down view. Actually we often played with the transform when animating stuff in our previous games, which were side-scrolling platformers. I'll try to see the places where we can do the same trick with top-down view.

Starting to lean towards 2D here... wacko.png

While I am not the biggest fan in the world, Daz3D is certainly an option here. I did a tutorial wayyyy back on creating a spritesheet using Daz so you can get an idea of the workflow. Where Daz shines is there is a huge marketplace of characters and props available. Daz3D is available for free download. An alternative that isn't free is the venerable Poser.

That's a good tutorial. I'll have it a try to get the feelings.

I'm not sure what you are using for a game engine here, but I have seen a method in Unity where you draw the basic sprites and then animate them in the editor using bone/rigging techniques similar to 3D animation methods. I'm not sure if this reduces the work load as I'm pretty new to game dev. in general, but this came to mind and I don't think anyone above mentioned it.

For an example of what I'm talking about see - http://gamedevelopment.tutsplus.com/tutorials/bone-based-unity-2d-animation-introduction--cms-21364

This maybe is available for other engines as well? Either way, best of luck with your project!

*edit* Here is maybe a better example - http://forum.unity3d.com/threads/2d-puppet-rigging-tips-tricks.245564/ *edit*

"this feature will ship in version 1.0 for sufficiently large values of 1."

I'm not sure what you are using for a game engine here, but I have seen a method in Unity where you draw the basic sprites and then animate them in the editor using bone/rigging techniques similar to 3D animation methods. I'm not sure if this reduces the work load as I'm pretty new to game dev. in general, but this came to mind and I don't think anyone above mentioned it.

I'm not using an engine for this one actually. I'm using C++ and SFML for study purposes. I already made a simple top-down shooter with basic data-driven design, which we're using as the base for this RPG now. Though that shooter has a flat top-down view, so the sprites and animations are really simple.

We used Unity for our previous platformer, so we already have experience with that technique. We decided not to use for this RPG because we plan to have the character to be able to face 8-directions, and we thought using sprite sheets would be easier for that. Not sure if other people would think differently.

This topic is closed to new replies.

Advertisement