Hello, I am pretty new at Ren'py, which leads me to the questions; How would I go about making a character creation screen/Character Creation?
It would be skin color, hair color, and eye color
Side note: I've read some threads about it, but none that were noob friendly to me, at least
I could understand that I would need either live composite or something called conditional switch, but I have no clue as to how they work or where to start to understand it.
All help is appreciated!
Custom character?
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
-
- Regular
- Posts: 48
- Joined: Sat Oct 07, 2017 11:21 am
- Contact:
Re: Custom character?
If you install Ren'py 7.0 you can use layered images with dynamic images (dynamic image not dynamic displayable) to do this. The trickiest part for you, as a new creator, is the interface for the character creation - look up screen language as a starting point to create something: https://www.renpy.org/doc/html/screens.html#viewport
The way you'd want to do it, at the easiest level, is to create some variables, then just slap them together into a layeredimage:
This would assume you have images "white-skin.png", "brown-eye.png", "brown-hair.png"
Of course you've then got things like expressions, outfits and other things to consider, which layeredimages should take care of for you.
The way you'd want to do it, at the easiest level, is to create some variables, then just slap them together into a layeredimage:
Code: Select all
default hair = "brown"
default eye = "brown"
default skin = "white"
layeredimage player:
always "[skin]-skin.png"
always "[eye]-eye.png"
always "[hair]-hair.png"
Of course you've then got things like expressions, outfits and other things to consider, which layeredimages should take care of for you.
-
- Regular
- Posts: 48
- Joined: Sat Oct 07, 2017 11:21 am
- Contact:
Re: Custom character?
Thank you for your help, I'll definitely try this out and sorry for the late reply.
- ChroniclerOfLegends
- Regular
- Posts: 53
- Joined: Thu Feb 16, 2017 5:57 pm
- Projects: Scifi Non-Linear Visual Novel/Arcade/Adventure game. (No name yet)
- Contact:
Re: Custom character?
Hey, if you are not afraid of learning a little python, I would suggest looking at the im.MatrixColor image manipulator.
I am not using it in a character creator, but the player in my game can customize the appearance of a vehicle.
How this is done is that the image to customize is split into 3 different images:
lets call them Body.png, Accents.png, and Windshield.png
Then in my game, I have variables that store the numerical RGB values of the colors.
So white for example is (255,255,255)
I have a screen that displays a livecomposite of the image, and beside it has bars linked to each value... so you can adjust the red value and blue value independently etc. for each of the separate pieces of the image.
The user can live adjust each of these values that are linked to variables and see the changes in real time.
How this works is that I combine 3 color-manipulated images using im.Composite()
Each of those images is made using im.MatrixColor like this:
coloredimage = im.MatrixColor(originalimage.png, im.matrix.desaturate() * im.matrix.tint(RedVal, GreenVal, BlueVal)
In english, this takes the base image, desaturates it (removes all the color leaving black and white) and then tints it a color set by the user variable.
This isn't exactly what you are asking for, but I think this would help you with the character creator.
I am not using it in a character creator, but the player in my game can customize the appearance of a vehicle.
How this is done is that the image to customize is split into 3 different images:
lets call them Body.png, Accents.png, and Windshield.png
Then in my game, I have variables that store the numerical RGB values of the colors.
So white for example is (255,255,255)
I have a screen that displays a livecomposite of the image, and beside it has bars linked to each value... so you can adjust the red value and blue value independently etc. for each of the separate pieces of the image.
The user can live adjust each of these values that are linked to variables and see the changes in real time.
How this works is that I combine 3 color-manipulated images using im.Composite()
Each of those images is made using im.MatrixColor like this:
coloredimage = im.MatrixColor(originalimage.png, im.matrix.desaturate() * im.matrix.tint(RedVal, GreenVal, BlueVal)
In english, this takes the base image, desaturates it (removes all the color leaving black and white) and then tints it a color set by the user variable.
This isn't exactly what you are asking for, but I think this would help you with the character creator.
Who is online
Users browsing this forum: Bing [Bot]