Character customization in CGs...
Forum rules
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
- WickedJewels
- Newbie
- Posts: 3
- Joined: Sun Jul 31, 2016 5:03 am
- Tumblr: wicked-jewels
- Contact:
Character customization in CGs...
This is my first post on here, so...I hope I'm doing this right
I've been working with some friends on a game for about...3? months now, and something we've wanted to incorporate since the beginning of production is character customization. The plan is to have her eyes, hair, and skin tone be customize-able. The only problem we have with this, however, is that the game is planned to have quite a few CGs/illustrations that include the MC in the image.
I've never been a fan of a "vague" MC in CGs (ie where you only see the back of her head, or a part of her body...), so I would really like to avoid that as much as possible.
So I'll just get to my questions:
1. How hard would it be to make it where the MC (including her customized looked) was visible in CGs? I know the task would be tedious, but would it be hard?
2. How would you suggest going about coding for this? I would super appreciate it if you could include an example, as I'm a total visual learner
I appreciate any help! (still hoping i did this right.. )
I've been working with some friends on a game for about...3? months now, and something we've wanted to incorporate since the beginning of production is character customization. The plan is to have her eyes, hair, and skin tone be customize-able. The only problem we have with this, however, is that the game is planned to have quite a few CGs/illustrations that include the MC in the image.
I've never been a fan of a "vague" MC in CGs (ie where you only see the back of her head, or a part of her body...), so I would really like to avoid that as much as possible.
So I'll just get to my questions:
1. How hard would it be to make it where the MC (including her customized looked) was visible in CGs? I know the task would be tedious, but would it be hard?
2. How would you suggest going about coding for this? I would super appreciate it if you could include an example, as I'm a total visual learner
I appreciate any help! (still hoping i did this right.. )
- Zelan
- Lemma-Class Veteran
- Posts: 2436
- Joined: Tue Mar 01, 2016 7:23 pm
- Completed: The Dark
- Projects: Cosplay Couple
- Tumblr: evns
- itch: Zelan
- Discord: ltnkitsuragi#7082
- Contact:
Re: Character customization in CGs...
I'm not an artist, nor am I a coder. But if my limited understanding of how art works is correct, it shouldn't be difficult as long as it's only the color that can be changed. That way, each CG would still only have one lineart but still be able to show every combination. If by hair and eyes you main hairstyle and eye shape, things will be a bit more complicated.
Like I said, I'm not a coder, so I don't know much about a good way to do this. My guess would be that every possible combination for the MC should be drawn and given a different label (maybe something like "kiss1greenbrowndark" to let you know which is which?), but I'm sure if you poked around on here long enough you could find someone who can explain a better/clearer way.
Like I said, I'm not a coder, so I don't know much about a good way to do this. My guess would be that every possible combination for the MC should be drawn and given a different label (maybe something like "kiss1greenbrowndark" to let you know which is which?), but I'm sure if you poked around on here long enough you could find someone who can explain a better/clearer way.
- LateWhiteRabbit
- Eileen-Class Veteran
- Posts: 1867
- Joined: Sat Jan 19, 2008 2:47 pm
- Projects: The Space Between
- Contact:
Re: Character customization in CGs...
Could get crazy. Not HARD, but crazy tedious and a load of work. Let's break it down into practical terms:
Let's say you have 3 customizable options - hair, eyes, and skin tone. Let say you have 4 possible choices for each:
Eyes: Blue, Brown, Green, Hazel
Hair: Blond, Brown, Red, Black
Skin: Tone1, Tone2, Tone3, Tone4 (Let's say Pale to Dark).
NOW, for each graphic that shows the character, you would need the following combinations:
Blue,Blond,Tone1
Blue,Brown,Tone1
Blue,Red,Tone1
Blue,Black,Tone1
Brown,Blond,Tone1
Brown,Brown,Tone1
Brown,Red,Tone1
Brown,Black,Tone1
Green,Blond,Tone1
Green,Brown,Tone1
Green,Red,Tone1
Green,Black,Tone1
Hazel,Blond,Tone1
Hazel,Brown,Tone1
Hazel,Red,Tone1
Hazel,Black,Tone1
THEN, repeat that 3 MORE times for all the other skin tones. For each graphic of the main character, you would need 64 different versions. Now, you might get away with overlays for basic sprites, but you would need 64 different colored versions of every CG in the game. Every option you add increases the graphic work EXPONENTIALLY.
That's why most of the time you find customization only in 3D character models, where parts or textures can be swapped out on the same character model, and each piece only needs to be created once.
Let's say you have 3 customizable options - hair, eyes, and skin tone. Let say you have 4 possible choices for each:
Eyes: Blue, Brown, Green, Hazel
Hair: Blond, Brown, Red, Black
Skin: Tone1, Tone2, Tone3, Tone4 (Let's say Pale to Dark).
NOW, for each graphic that shows the character, you would need the following combinations:
Blue,Blond,Tone1
Blue,Brown,Tone1
Blue,Red,Tone1
Blue,Black,Tone1
Brown,Blond,Tone1
Brown,Brown,Tone1
Brown,Red,Tone1
Brown,Black,Tone1
Green,Blond,Tone1
Green,Brown,Tone1
Green,Red,Tone1
Green,Black,Tone1
Hazel,Blond,Tone1
Hazel,Brown,Tone1
Hazel,Red,Tone1
Hazel,Black,Tone1
THEN, repeat that 3 MORE times for all the other skin tones. For each graphic of the main character, you would need 64 different versions. Now, you might get away with overlays for basic sprites, but you would need 64 different colored versions of every CG in the game. Every option you add increases the graphic work EXPONENTIALLY.
That's why most of the time you find customization only in 3D character models, where parts or textures can be swapped out on the same character model, and each piece only needs to be created once.
- KittyWills
- Regular
- Posts: 144
- Joined: Sun Jun 07, 2015 3:02 pm
- Projects: e·phem·er·al, Aeronaut
- Organization: KKBGames
- Skype: thedeerlord09
- Contact:
Re: Character customization in CGs...
It's tedious. All we are doing is swapping Character Gender and we're getting to a point were we might just ditch the idea all together. Plus adding all those extra images are going to make your game heavier. Images do take up a bit of memory space.
Unless you had all the CGs only have your other characters, keeping the MC out of them. I have seen that before. And just used an overlay like, LateWR said, for the base sprite. But even then you have to add that on top of expressions. You're looking at 100s of sprites.
I don't want to be discouraging. But you are looking at a LOOOT of art. =/
Unless you had all the CGs only have your other characters, keeping the MC out of them. I have seen that before. And just used an overlay like, LateWR said, for the base sprite. But even then you have to add that on top of expressions. You're looking at 100s of sprites.
I don't want to be discouraging. But you are looking at a LOOOT of art. =/
- WickedJewels
- Newbie
- Posts: 3
- Joined: Sun Jul 31, 2016 5:03 am
- Tumblr: wicked-jewels
- Contact:
Re: Character customization in CGs...
That's definitely a lot of versions of every CG...I was thinking, instead of choosing a custom color for each element, we could have 4 set designs to choose from (for example, sprite 1 is pale skin/brown hair/green eyes, sprite 2 is dark skin/black hair/brown eyes, etc).LateWhiteRabbit wrote:Could get crazy. Not HARD, but crazy tedious and a load of work. Let's break it down into practical terms:
Let's say you have 3 customizable options - hair, eyes, and skin tone. Let say you have 4 possible choices for each:
Eyes: Blue, Brown, Green, Hazel
Hair: Blond, Brown, Red, Black
Skin: Tone1, Tone2, Tone3, Tone4 (Let's say Pale to Dark).
NOW, for each graphic that shows the character, you would need the following combinations:
Blue,Blond,Tone1
Blue,Brown,Tone1
Blue,Red,Tone1
Blue,Black,Tone1
Brown,Blond,Tone1
Brown,Brown,Tone1
Brown,Red,Tone1
Brown,Black,Tone1
Green,Blond,Tone1
Green,Brown,Tone1
Green,Red,Tone1
Green,Black,Tone1
Hazel,Blond,Tone1
Hazel,Brown,Tone1
Hazel,Red,Tone1
Hazel,Black,Tone1
THEN, repeat that 3 MORE times for all the other skin tones. For each graphic of the main character, you would need 64 different versions. Now, you might get away with overlays for basic sprites, but you would need 64 different colored versions of every CG in the game. Every option you add increases the graphic work EXPONENTIALLY.
That's why most of the time you find customization only in 3D character models, where parts or textures can be swapped out on the same character model, and each piece only needs to be created once.
That way, there would only be 4 versions of every CG the MC appears in, instead of 64
It definitely is a LOT of art...our main goal is to make it where the player can relate more to/feel closer to the MC by choosing how she looks. However, after reading your comments, I definitely think we'll stick more towards the 4 set sprite thing!KittyWills wrote:It's tedious. All we are doing is swapping Character Gender and we're getting to a point were we might just ditch the idea all together. Plus adding all those extra images are going to make your game heavier. Images do take up a bit of memory space.
Unless you had all the CGs only have your other characters, keeping the MC out of them. I have seen that before. And just used an overlay like, LateWR said, for the base sprite. But even then you have to add that on top of expressions. You're looking at 100s of sprites.
I don't want to be discouraging. But you are looking at a LOOOT of art. =/
Does anyone have any tips on how implementing the base design the player chose into CGs, coding-wise?
Thank you all for your replies!
- Zelan
- Lemma-Class Veteran
- Posts: 2436
- Joined: Tue Mar 01, 2016 7:23 pm
- Completed: The Dark
- Projects: Cosplay Couple
- Tumblr: evns
- itch: Zelan
- Discord: ltnkitsuragi#7082
- Contact:
Re: Character customization in CGs...
Since your question is about coding specifically, you might get more/better responses if you post in the corresponding forum. (However, you will probably get less help if you're not using Ren'Py.)
Good luck! ^_^
Good luck! ^_^
- Anyubel
- Regular
- Posts: 30
- Joined: Mon Jun 13, 2016 6:38 pm
- Projects: Project Miasma
- Deviantart: AnyuBel
- Contact:
Re: Character customization in CGs...
If you only plan on doing four options, it shouldn't be too hard overall, but like other people suggested, it'd take up a lot of file space. As for coding it, I think there may be a better way around this and I'm not sure if it'd actually work for this, but you could do something along the lines of ConditionSwitching in Ren'Py. I've done it before in a project for changing the textbox mid-game, and I think it could maybe be used in a similar fashion for something like choosing between four MC customizations.
- Aviala
- Miko-Class Veteran
- Posts: 533
- Joined: Tue Sep 03, 2013 8:40 am
- Completed: Your Royal Gayness, Love Bug, Lovingly Evil
- Organization: Lizard Hazard Games
- Tumblr: lizardhazardgames
- itch: aviala
- Location: Finland
- Contact:
Re: Character customization in CGs...
Wait, wait - do I understand right that people are suggesting you actually have a CG for each possible combination? Why not just do it "paperdoll"- style and have the CG without the MC as a base, and separate images of the character skin tone, hair and eyes that you show on top of the CG. That's basically the only sensible solution that doesn't take huge amounts of space. Conditionswitch code is probably your best bet here. It shouldn't even be that hard - it's just A LOT of work. Which, of course, is a hardship on it's own - new devs often underestimate how much work it takes to make a game.
- WickedJewels
- Newbie
- Posts: 3
- Joined: Sun Jul 31, 2016 5:03 am
- Tumblr: wicked-jewels
- Contact:
Re: Character customization in CGs...
It looks like we'll be able to do it with ConditionSwitiching, thank you so much for the suggestion!Anyubel wrote:If you only plan on doing four options, it shouldn't be too hard overall, but like other people suggested, it'd take up a lot of file space. As for coding it, I think there may be a better way around this and I'm not sure if it'd actually work for this, but you could do something along the lines of ConditionSwitching in Ren'Py. I've done it before in a project for changing the textbox mid-game, and I think it could maybe be used in a similar fashion for something like choosing between four MC customizations.
That was my original plan to do it, but I wasn't sure if it would work well since everyone suggested doing different CGsAviala wrote:Wait, wait - do I understand right that people are suggesting you actually have a CG for each possible combination? Why not just do it "paperdoll"- style and have the CG without the MC as a base, and separate images of the character skin tone, hair and eyes that you show on top of the CG. That's basically the only sensible solution that doesn't take huge amounts of space. Conditionswitch code is probably your best bet here. It shouldn't even be that hard - it's just A LOT of work. Which, of course, is a hardship on it's own - new devs often underestimate how much work it takes to make a game.
But with Conditionswitching, paperdoll style, and lots of time and work--I think it'll be possible to do a decent amount of customization without making the game super heavy! Thank you guys so much, I appreciate the suggestion
- Tyrantauranox
- Regular
- Posts: 153
- Joined: Sat Jun 21, 2014 12:31 am
- Contact:
Re: Character customization in CGs...
I'd try to work out a more technnical solution, rather than having different sprite for every possible color. You could instead have a single set of black & white sprites, "tinting" them different colors in code. Pseudocode example:
HairSpriteColor = Color(255, 255, 255, 255);
SkinSpriteColor = Color(255, 0, 255, 255);
EyesSpriteColor = Color(0, 0, 255, 255);
ShirtSpriteColor = Color(123, 54, 77, 255);
PantsSpriteColor = Color(0, 0, 0, 255);
ShoesSpriteColor = Color(127, 127, 127, 255);
HairSpriteColor = Color(255, 255, 255, 255);
SkinSpriteColor = Color(255, 0, 255, 255);
EyesSpriteColor = Color(0, 0, 255, 255);
ShirtSpriteColor = Color(123, 54, 77, 255);
PantsSpriteColor = Color(0, 0, 0, 255);
ShoesSpriteColor = Color(127, 127, 127, 255);
- sharkmittens
- Regular
- Posts: 52
- Joined: Thu Jul 23, 2015 3:11 pm
- Tumblr: corvhush
- Soundcloud: corvhush
- Location: Atlanta, GA
- Contact:
Re: Character customization in CGs...
i was actually wondering about something like this myself!
you saved me a whole googling.
i'd love to see more games where customizations are an option,
but i'm also plenty aware that it's a tedious process myself.
you saved me a whole googling.
i'd love to see more games where customizations are an option,
but i'm also plenty aware that it's a tedious process myself.
Who is online
Users browsing this forum: No registered users