Help to input choices for sexual orientation?

I’m having trouble with the sexual orientation part of my almost “self-published” game.
I’d like to give the player the ability to choose their preferences in the story.
My story is set in a small town with family and friends and there will be journeys and quests and such. And at some point in the story there will be options available for almost every action. Long story short–is there a way that I can set the preferred choice permanently for either option?
Example:
*choice
#Men/Gentleman
*set to “men”
*goto Ballroom
#Women/Ladies
*set to “women”
*goto Ballroom

Can I alternate the story depending on which preference they select?
Or should I keep the characters I have as romantic interests for the player as both female and male?
Example:
9 characters as romantic interests
3 characters = 3 males
3 more characters = 3 females
3 other characters = non-binary/trans and/or undetermined/unknown
Without alternating the story or asking for a preference in sexual orientation.

Any answers on how I can do it in ChoiceScript?
I need help.

At the beginning you would put something like

*create orientation “unknown”

so when the choice pops up it would say . . .

*choice
#Men/Gentleman
*set orientation men
*goto Ballroom
#Women/Ladies
*set orientation women
*goto Ballroom

And so later on, let’s just say it’s a lesbian choice you bring up, it could say something like . . .
*selectable_if (orientation = “women”)
or
*if orientation = “women”

I hope this helped or at least answered your question, if not then my apologies.

4 Likes

Hey there and welcome, Rose :slight_smile:

To answer your questions: choicescript is very manageable. Chances are you can do whatever you want to add to your story.

Yes.

That’s a personal preference. Some authors leave the opportunity to flirt with all the ROs open. My personal opinion is: No, unless the MC is bi or pan. So I rather put a bit more of code to make sure a straight female MC can flirt with male ROs without the option to flirt with girls popping up all the time and possibly breaking immersion for the player. The way to do this is:

*choice
  *if (gender="female") #beautiful girls
    *set orientation "gay"
    *goto nextscene
  *if (gender="female") #handsome guys
    *set orientation "straight"
    *goto nextscene
  *if (gender="female") #hot people
    *set orientation "bi"
    *goto nextscene
  *if (gender="male") #beautiful girls 
    *set orientation "straight"
    *goto nextscene
  *if (gender="male") #handsome guys
    *set orientation "gay"
    *goto nextscene
  *if (gender="male") #hot people
    *set orientation "bi"
    *goto nextscene
  *if (gender="non-binary") #beautiful girls
    *set orientation "gay"
    *goto nextscene
  *if (gender="non-binary") #handsome guys
    *set orientation "straight"
    *goto nextscene
  *if (gender="non-binary") #hot people 
    *set orientation "bi"
    *goto nextscene
  #great artwork hanging on the walls
    *set orientation "non"
    *goto nextscene

*The way I code nonbinary people is not how I see them, mind you, it’s a way to tell the game how to act.

Then again, maybe you want to flip all the ROs’ genders depending on the MC’s orientation. There’s a way to do that, but I’m not really sure, since that’s not my cup of tea.~~

*I added the option to be bi, which I’m not saying you should add, but yeah, you tots should.~~~

1 Like

@pimenita Really? Will the code in that same exact order here actually work for the S.O. part? Or is it an example of it? Either way, I will try it out! Thank you so much for your input!

1 Like

Personally, I like having a mix of gender-flippable and gender-fixed romantic options. Flippable options give non-bisexual players more availability, whereas fixed options seem to help with the immersion for bisexual players. (My opinion, anyway. If all the potential romances flip one way after the first romance choice, am I still playing as bi?) I’m also in favour of an asexual/aromantic option, not only for asexual/aromantic players, but I’m sure that sometimes people would like to play without a romantic subplot getting in the way.

My way of setting up flippable options is to simply have a pronoun variable to keep track of the preferred flip: *if (ziy = “he”) then all flippable romances are men, and the variable can do double duty as a pronoun.

That seems an overly-complicated way of doing it. :confused: What’s wrong with:

You prefer:
*fake_choice
    #Guys.
        *set preference "male"
    #Girls.
        *set preference "female"
    #Neither. You're not interested in romance.
        *set preference "neither"
    #Both guys and girls.
        *set preference "both"

That way you can just check if people prefer males or females, without having to check their gender first, e.g.

You meet a cute guy.
*fake_choice
    *if ((preference = "male") or (preference = "both")) #Flirt with him.
        He kisses you.
    #Say hi.
        He says hi.
    #Murder him.
        Now he's dead.

(Note that this example was intentionally silly, but the idea would be the same in other contexts.)

Gender-flipping can lead to problems, and a lot of people don’t like it. I guess you should probably stay away from it unless you know what you’re doing.

5 Likes

@ParrotWatcher duh! You’re right.
@Kaei_Rose yeah, as I said it’s really manageable. ParrotWatcher’s way is a lot easier :wink:

2 Likes

You should take a look at this tutorial by FairyGodfeather. A Basic Tutorial on Name, Relationship and Gender Variables (go to the link and close the first window that pops up, you don’t need to create an account)

It’s really helpful. Good luck!

2 Likes

It seems legit. I like the simplicity and straightforwardness of it. So if I set preference to either male, female, neither or both it will automatically switch to one or the other or either or none? And does it have to be fake choice?

Thank you, @pimenita! You are very helpful!

1 Like

I don’t know if anyone is going to answer this question back, but I wanted to ask this, does this method works in the current day too?

Yes, the link above to give you a tutorial on how to set variables is still working and will help you learn this.

Let me also highly recommend https://forum.choiceofgames.com/t/master-list-links-for-beginners/21872 to get you started.

1 Like

Alright, thanks for the link. I guess it’s going to take time to read it entirely, but it will be worth it.

I’m having issues with the stat screen reflecting the players choices, I’ve worked out the name but family and gender I just can’t seem to get right.

This is a stats screen!
*stat_chart
text Name
text Family family
text Gender
percent Leadership
percent Strength
percent Agility
percent Intelligence
percent Morganna
percent Dagonet
percent Saxon
percent Tudor

*title Formorian War
*author Liam Parker
*scene_list
startup
name
gender
gosub
ending
death
*create family 1
*create gender1 “”
*create gender2 “”
*create family3 “Pendragon”
*create family2 “Buxton”
*create name 0
*create buxton 5
*create leadership 20
*create strength 20
*create agility 20
*create Intelligence 20
*create Morganna 10
*create Dagonet 10
*create saxon 10
*create tudor 10

seems like the text gender and family in the stats is linked to a variable and I can’t get them to change to reflect what the player chooses

You have 3 family variables, yet you only have text Family family which on its own refers to neither of the 3 variables.

So what should I put instead?

Put either family1, family2 or family3 there, depending on what you want to show.

*choice
#Pendragon.

       Your family name is ${dan3}
       
       *finish

    #Buxton
      Your family name is ${family2}.
     
      *finish

    #Create your own.
     *input_text family
     So your family name is ${family 1}.
     *finish
 Obviously I will change the variables but I want to change the stats screen to reflect what the player chooses.

so if a player chose pendragon then it would say that in the stats for the duration of the game

You only need one variable for all names.

Your family name is
*choice
    #Pendragon
        *set family "Pendragon"
        Your family name is ${family}.
        *finish
    #Buxton
        *set family "Buxton"
        Your family name is ${family}.
        *finish
    #Create your own.
        *input_text family
        So your family name is ${family}.
        *finish

As long as you you use *set after the choice and type in the name that’s supposed to show up you’re good.

Using

text Family
will then display that name in the stats

3 Likes

Wow I can’t believe it was that simple, been tearing my hair out over it lol.

@tiranka Thank you :slight_smile:

1 Like