I am using Coco2d-x to create a social network styled 2d Avatar game. The game will give players the ability to pickup accessories, faces, eyes, noses, clothes, hair and stuff for their avatar. Something along these lines:
The characters will be animated with walking, dancing and sleeping animations. I'm a software developer and really haven't ever touched anything 2d before. Coming at this is a bit daunting as I read around on the internet. So I'm here to ask for some guidance and hopefully some answers to a few questions. Sorry in advance if I butcher the terminology, or if this should be posted in the technical section. I'm not quiet sure where this kind of post belongs. It felt more like this section as I assumed these questions could be answered during the animation process, before it ends up in the engine.
Animation
I want to animate the characters in various different states, such as walking, dancing and sleeping. From what I've seen, you can do this with skeletal bone animations. The game engine I've been developing the game in, Coco2d-x, supports this in some fashion. I'm not sure to what extent; i figured determining that would be simpler after I have an understanding of how the animation needs to be created from the artistic side.
From reading online, it seems that you create the bones, and apply a skin to each appendage. You then export a rendered animation or sprite set of each frame. In my case, if I have 500 different items, that's 250,000 potential combinations I'd have to export and store/stream down to the devices. Is it possible to rig the bones and apply the skins after the fact within the game?
How would you handle bones that might not always be present? For instance, using the headgear in the picture above as an example, what if I wanted to attach a swaying feather to a head piece? Would you typically treat that as two different objects, joined together at runtime and animated independently, or can you attach bones to an existing skeletal object at runtime?
The character head and eyes are also hot-swappable. If I am animating their eyes, so they blink, would I export that as an animated sprite and attach that animation sprite to the head and eye joints? Would you just animate them within the game engine, if the game engine supports keyframe animation, which coco2d-x does, rather than export it?
Software
I have Photoshop and I've seen people say that a drawing tablet is not often required. Would photoshop be the tool of choice, or would you guys do this in a different application such as InkScape or Anime Studio Pro?
Do you export the individual layers out, importing them into a different app to handle the animations, re-assembling them during keyframing?
Artwork
What is the best practice when I am finished with character assets and want to export them? Do you export it with a transparent background? When you export it, would you use .png as your go to file format?
How do I go about handling different asset sizes, for different devices? Would you create one large canvas, with the entire character set (set consists of the shirt, shoes, pants, head etc for a specific theme), and export them out in pieces at varying resolutions or would you create it all as vector graphics and only use the vectors in the engine for easier scaling?
Each player has their own house that their character lives in. Their house will be from an orthogonal perspective along these lines:
What are the best practices to create the walls, floors and ceilings along with things like beds, couches etc and making sure they all snap to each other? I can define a grid based system in the game to force snapping, but I'm not sure how to ensure my art will fit into that grid. Are there guidlines you can give on how I can go about mapping how I draw my art so that my assets can snap properly to walls and floors and look right without manually adjusting each piece?
In closing
I appreciate anyones time with these questions. I've done software development for 20 years, but have never worked on a game. It's a bit nerve wracking trying to get into the art side of things with it. Your help would be greatly appreciated!
I'd love any documentation you might have used in the past for your stuff, experiences you have with any of the talking points above or any books that might cover any of these items. I'm not afraid to do some reading or trial & error, if I can just get pointed in the right direction.
Thanks!