Sprite Organization

Questions, skill improvement, and respectful critique involving art assets.
Post Reply
User avatar
pumpkin spike
Posts: 76
Joined: Fri Mar 09, 2018 6:13 pm
Projects: A Bureau of Monsters
itch: pumpkin-spike
Location: A Pumpkin Patch

Sprite Organization

#1 Post by pumpkin spike » Fri Apr 13, 2018 3:04 pm

What are some ways to organize sprites and display them in a game?

Currently, I've been drawing a full sprite (via copy and paste and then changing expressions/some posing) and just showing/hiding the character as I go through the story. Is that effective?

I've also noticed that some games make use of parts of a sprite, like they'll have a base face, then change only the part that is affected to make a new expression or pose. This gives more options, but with so many pictures/options, would this slow down the game? I haven't tried this method yet, but it seems like I'll need several lines of code to show the image of one character in one expression.

Are there other (better) ways of showing a sprite in a game?

Every time I try to make a game, I run into a "trap" of wanting to have more expressions each time I feel like the character should be making a different face. (ex: a character can have several stages of anger, starting from annoyance. I would think I shouldn't draw more than one stage of anger, but I am tempted to draw all stages.) Is there a good way to combat this? I tried starting with a list of expressions this time, but I'm still pretty unhappy with how few expressions I seem to be able to express.
WIP AllxAll game with turn based fighting (Demo 2.0 out!)

WIP Yaoi game Demo 1.0 out! (haitus)

User avatar
Posts: 113
Joined: Fri May 19, 2017 4:04 pm
Tumblr: puppetbomb
itch: puppetbomb
Location: USA

Re: Sprite Organization

#2 Post by puppetbomb » Tue Apr 17, 2018 2:53 am

As far as I know, the ways to change expressions only differ by the number of layers you decide to use. There's no real "wrong" way to do things, but some ways can be more wasteful than others in either your use of time or number of unused assets. When working on a game where you have limited resources, I highly recommend using placeholders and calculating the number of assets you need once you're done. It'll help you see if it's worth it to either bake in the expressions or separate them out.

Also ask yourself if you would rather spend time exporting image files from a program vs. programming more lines of code. While graphic bugs are relatively simple to remedy, bugs in code can be tricky to replicate, locate, and/or fix.

About slow-downs: Visual novels in general doesn't use up much power as, say, a full 3D game. Unless there is a memory leak (which is hard to create in Python, thankfully) I highly doubt image layers will cause any kind of lag.

User avatar
Miko-Class Veteran
Posts: 712
Joined: Sat Nov 07, 2015 3:09 pm
Completed: Pervert&Yandere, Stalker&Yandere
Projects: Roses Of The Thorn Prince

Re: Sprite Organization

#3 Post by Mammon » Tue Apr 17, 2018 3:51 am

I would only recommend to make full images if you only have a few expressions per character or each expression having its own pose. If you got more than 6-12 expressions, start working with layers. Use Composite to organise the expressions you want to call in the script so you don't have to call each different mouth, eyes or eyebrows separately every time, that's hell. And don't worry about making a bunch of combinations, while it's easy to make expressions etc. you'll underuse, you only need a few basics of each part of the face to make a lot of combinations with few assets. And those melt together real easy, so don't worry about having to make four different smiles for each kind of laughing expression.

You'll probably be using .png images at normal sizes for the layers, so you'd have to get a lot of them with a lot of detail before the average computer starts to lag because of it. Unless you add things that would cause a lag beyond regular sprite showing, I doubt you'll manage to get even a split second delay.

Want some CC sprites?

Post Reply

Who is online

Users browsing this forum: No registered users