Custom character?

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
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.
Post Reply
Message
Author
Tessiellation
Regular
Posts: 42
Joined: Sat Oct 07, 2017 11:21 am
Contact:

Custom character?

#1 Post by Tessiellation » Wed Jun 27, 2018 8:01 am

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 :P
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!

kivik
Miko-Class Veteran
Posts: 784
Joined: Fri Jun 24, 2016 5:58 pm
Contact:

Re: Custom character?

#2 Post by kivik » Wed Jun 27, 2018 3:56 pm

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:

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"
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.

Tessiellation
Regular
Posts: 42
Joined: Sat Oct 07, 2017 11:21 am
Contact:

Re: Custom character?

#3 Post by Tessiellation » Tue Jul 17, 2018 5:27 am

Thank you for your help, I'll definitely try this out and sorry for the late reply. :)

User avatar
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?

#4 Post by ChroniclerOfLegends » Sun Jul 22, 2018 2:13 am

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.

Post Reply

Who is online

Users browsing this forum: No registered users