Frameworks/skeletons for 'modular' or customizable character assets

scapegoatwax

New Member
Oct 24, 2018
10
3
I've considered starting to work on a game at a few different points in time. I've done some writing and some conceptual design (vs proper coding/development), and something I always get hung up on is art.

If the game is going to have multiple characters like a management/trainer/dating sim-style game, it makes sense to minimize the amount of redundant work being done. I'm at a loss for a lot of games that I've seen try what I'm talking about, but there are flash games where every character has essentially the same body with maybe just different hairstyles and faces. A recent (non-nsfw) game that does something similar is Wildermyth.

I'd like to have characters with have detailed enough faces to be used as portraits/thumbnails in dialogue. That is to say, ideally, the face used for their in-game asset/model can also serve as their portrait in interface elements. Not necessarily 'realistic' or anything like that, just clear and recognizable enough to serve that function.

The end goal would be that the same foundation of H-animations could be used across every character where appropriate. And, by having a 'framework', it would be a lot easier to have multiple different people work on different pieces and still have a (relatively) cohesive art style.

Things I'd like answers/input on:
  • Do you have any strong opinions about this approach?
  • In principle, is 2D or 3D 'better' at this? Is one 'easier' than the other? (In your own opinion, these are subjective.)
  • Given your answers above, which environment/engine would you recommend if I want to use that kind of graphics in-game?
  • Are there any clever design tricks that can help make this less 'repetitive' or 'predictable'? I'm hoping that writing/gameplay/etc. can carry most of this weight.
 

F4C430

Active Member
Dec 4, 2018
649
727
Disclaimer: I'm not a professional game developer (...yet).

I think you're talking about something like "paper dolls" (kisekae). Basically you utilize different layers for the different parts that make up the doll. The player just sees one image but what's really happening is a lot of individual images layered on top of each other. You can swap out parts programmatically to change out specific parts. There's a lot of other things you can do with this method like color tinting individual parts, scaling (size sliders), and rotation.
  1. I wish more devs went this route because it allows you to be more dynamic in representing characters (easy to change outfits and expressions). From the player's point of view, it would be a huge benefit if you then let the player customize characters to how they want them. The downside is that you have to manipulate the different parts for each character in code which may be challenging depending on your coding skills and planning. The big benefit in addition to customization possibilities, is that if you wanted to change a hair style for example, you only have to do it for the one image of the hair instead of redoing many static images of the entire character.
  2. 2D is faster to create your graphics in because of the simplicity, but if you need to show characters from different angles, the work can become pretty big very quickly because you have to redraw every single part for every angle. 3D is easier in that you only need one representation for each part. So changing the view angle doesn't mean you have to remodel anything. 3D modelling is harder than 2D sprites though so there's that too.
  3. Depends on how complex you want to make it. I would imagine you could do all of this in Ren'Py if you went 2D. You should probably think long-term though. If you think you'll make multiple games, it might be better to learn a more full-feature engine like Unity, Godot, GDevelop, or whatever might give you more control in the future. Don't forget about HTML/Javascript though. There are strong Javascript API's for game-making like Pixi.js. People tend to assume that HTML means Twine + Sugarcube, but HTML has a lot more to offer than that. Just beware of HTML's limitations with things like WebGL (it won't work for everyone).
  4. Plan ahead. Plan ahead even more. If you use a full-feature engine, use object-oriented programming in your design. You probably want to create a character class so that you can define common fields and methods that all characters need just once. Then you can break it down by sex so that a female character class inherits the generic character class and adds female-specific fields and methods. Same for male characters. I mention classes but they're called different things in different engines/languages (they're Nodes in Godot). As i said in my first paragraph, you can break down the graphical representation of characters into reusable parts so that you can mix and match. If you do a good job in planning, you should be able to see if something can be simplified or maybe even made more complex before you even start to code or draw.
Good luck. Hopefully this was somewhat helpful...
 
  • Like
Reactions: scapegoatwax

scapegoatwax

New Member
Oct 24, 2018
10
3
Thanks, that is helpful! Yeah, the 'paper doll' premise is kind of what I was thinking of. Definitely have come across that term before in many games now that you mention it.

Response to your points in summary: Yeah, I am trying to plan ahead. I am considering trying to commission or hire people once I lay a foundation so I want to follow good and/or intuitive practices while working on that. My main concern about 2D assets is, like you said, I definitely would like for there to be more than one angle otherwise I think the visuals (and animations) would get stale/predictable pretty quickly.