How to code the romance options gender based on the gender/preference of your main character

I’m trying to write a choice of script game, but I’m having a problem. I created a romable option where you could select whatever gender they could be based on your preferences, but I’m not sure how to code it. You get to pick what gender you want the romance choice to be. For example, if you prefer men and want to romance the male version of the character, then you have the option. Same for female non-binary, and so on.

One way you could go about it, is to ask the player their gender and sexuality and then based on that you can set the ROs gender, a simplified version of it here:

*create gender “”
*create sexuality “”
*create ro “”

*comment Ask question about gender and sexuality of player.

*if (gender = “fem” and sexuality = “gay”)
*set ro “fem”
*if (gender = “man” and sexuality = “straight”)
*set ro “fem”

Another way is to ask in the beginning what gender they want they RO to be, kinda like this:

*create ro “”

*fake_choice
#I want RO to be female
*set ro “fem”
#I want RO to be male
*set ro “male”
#I want RO to be nb
*set ro “nb”

This if ofc, incomplete, you would need to add pronouns and all that. Anyways I hope this was what you were looking for.

1 Like

Oh, I see. Thank you very much.

To add onto @Rock when writing about the character you can use the Truly bizarre references from the tutorials.

In my startup.txt I define the different labels then in the actual story I have the code grab that term.

Snippet of my start up

*create maleHimHer “him”
*create femaleHimHer “her”
*create neutralHimHer “hir”
*create customHimHer “”
*create maleHeShe “he”
*create femaleHeShe “she”
*create neutralHeShe “ze”
*create customHeShe “”
. . .
*create CasterGender “male”

Example of some of my text of a character who has different genders.

Genesis’ eyes glowed that eerie light again as ${{CasterGender&"HeShe"}} took a moment to scan the area. $!{{CasterGender&"HisHer"}} head tilts to the side and eyes narrow. Their tongue slightly sticks out through a force of habit or focus.

In this case the two layers of { lets the code know that it will need to treat some variable’s values as the name of another variable. In this case it first looks at CasterGender which in this example is “male”. Then it combines “male” and “HeShe” making the variable name “maleHeShe”, thanks to the &. From there since there is another { to resolve it use the “maleHeShe” as the name of the next variable. Which is equal to “he”.

Now I am sure that there is a better way to do this. This is just how I do it. If you have any question, feel free to ask. :slight_smile: Hopefully I did not confuse you.

1 Like

I see it makes sense. Thanks.

I’ve even seen some games that are like: You see a gloriously unkempt mane of long, curly blond hair above a paint-spattered artist’s smock, ripped jeans, and high-top sneakers. They turn around and reveal the face of a smiling…
#…young man.
#…young woman.
#…young non-binary person.

I personally find it a little too deliberate, though, and makes me feel like I’m playing with paper dolls more than reading a story, but it’s an option.

1 Like

This template code may be of interest. It includes three different ways of handling this - randomised, setting everyone to one gender/pronoun, and deciding at first encounter.

2 Likes