It is completely possible to do this in Ren'py, but it is a lot of work.
Sorry, but I need to stop you here. There's absolutely nothing difficult and it absolutely don't need a lot of work. You apparently picked the wrong game to look how to to it. It's something that
Super Powered do since at least two years now. And despite its good that sometimes give me nightmares, last time I looked at it, it was still the only one that handle the problem correctly.
Adding a girl to a game, especially a brothel management game, is something totally easy because Ren'py is way more dynamical than it looks (and that sometimes the doc tell it).
The
Image
statement can perform real time text substitution, while the
jump
and
call
statement can take an expression. So, all you have to do is to never directly refer to a girl, but instead refer to a variable that represent the actual girl.
First, have this structure for your images :
And obviously keep the same name for the same kind of image.
Then have a images.rpy file where you'll define your images without taking care of the girl :
Code:
image girlIdle = "[girlDir]/idle.png"
image girlSuck = "[girlDir]/suck.png"
[...]
To this, add something like a list to handle all the available girls. It will be enough for the brothel management approach. But for a more complex game you'll have to find another way, mostly using objects to represent the girls.
script.rpy
Code:
init python:
# All the girls will go here
girlsList = []
And finally have a rpy file by girls :
sarah.rpy
Code:
init +1 python:
# Add a new girl
girlsList.append( ( "Sarah Connor", "sarah" ) )
# Define the labels representing the interactions with this girl
label sarahFirstEncounter:
sa "Hi, I'm the new girl. I appear with this update only, but the game don't care and act like if I was planed from the start."
[...]
linda.rpy
Code:
init +1 python:
girlsList.append( ( "Linda X", "linda" ) )
label lindaFirstEncounter:
li "Who are you ?"
[...]
And so on.
A practical example (with the brothel management approach) :
Code:
screen selectGirl:
vbox:
for info in girlsList:
$ name = info[0]
textbutton "[name]":
action Return( info[1] )
label blabla:
"Which girl do you want ?"
call screen selectGirl
$ girlDir = _return
show girlIdle
jump expression girlDir + "FirstEncounter"
And that's all. With this, you can add as many girls as you want without having to change a single line of the main code. All you have to do is put the image and add the correct labels in the rpy file for this girl. That's all and that's far to be difficult.