Gender and Pronouns

Forgive me if this has already been discussed, but I am having a problem with figuring out how to match all the pronouns to the gender that the PC selected.

I need to be able to use he/she, him/her, boy/girl, and himself/herself. Do I need to just create variable for each pronoun? I would also like to also include non-binary or genderqueer pronouns if possible.

When setting up this “pronoun system”, I believe each author has their own method.

Personally, I’ll create 4 variable (subject, object, left-possessive, right-possessive):

*create pc_he ""     <they>
*create pc_hisl ""   <their>
*create pc_hisr ""   <theirs>
*create pc_him ""    <them>

As for the nb pronouns, I’ll create an extra scene where the player can put their own custom pronouns (or to stick with the classic “they”).


Kind of, sort of, perhaps not in the way you’re thinking.

You need to create variables for each part of speech the pronoun fills, not for each individual pronoun. So subject (they, she he,) object (them, her, him,) dependent possessive (their, her, his,) and independent possessive (theirs, hers, his.) Technically there are also reflexive pronouns (herself, himself, themselves/themself,) as well, however you can duplicate that by putting the object pronoun variable next to “self” in your code, like this: ${them}self.

I’m fond of using “they” pronouns as my variable names, rather than trying to remember the proper names for each grammatical use. Don’t try to use either of the traditionally gendered pronoun forms (she/her, he/him) as both sets have a repeat, but not in the same place, which WILL mess things up if you aren’t exceptionally careful. So mine would look something like this during variable creation:

*create they "they"
*create them "them"
*create their "their"
*create theirs "theirs"

…and then later, as the players define their characters’ genders, something like this:

    #I use they/them pronouns.
    #I use she/her pronouns.
        *set they "she"
        *set them "her"
        *set their "her"
        *set theirs "hers"
    #I use he/him pronouns.
        *set they "he"
        *set them "him"
        *set their "his"
        *set theirs "his"

Note that because, in my example, I started with “they/them” as my default values for the pronoun variables, I didn’t need to use any *set commands for that option. Had I started with blank variables (something like *create they "") I would have needed *set commands under all three options.

As far as “kid/girl/boy” goes… yeah, you can handle that the same way. *create kid "kid" during variable creation, then add *set kid "girl" or *set kid "boy" as relevant under the same choice that sets pronouns. Like so:

    #I use she/her pronouns.
        *set they "she"
        *set them "her"
        *set their "her"
        *set theirs "hers"
        *set kid "girl"
        *set title_1 "Ms."
        *set title_2 "Miss"
        *set gender "female"

…and so on, and so forth, as you have need.

One final note: You don’t actually need to make a variable for every single gender-dependent phrase. Only those you’re using more than once or twice. For others, you can use *if statements, like so:

"Somebody get that
*if gender = "non-binary"
*if gender = "female"
*if gender = "male"
out of here immediately!"

ChoiceScript will condense a structure like that into a single line, leaving (depending on the actual value of the gender variable,) either “Somebody get that person out of here immediately!” or “Somebody get that woman out of here immediately!” or “Somebody get that man out of here immediately!”

And there are other ways to accomplish the same thing, though perhaps those should be saved for another time.

EDIT: So, allowing players to input custom values for their characters’ pronouns.

I’ve never actually tested this, but it’s fairly straight forward.

You’ll start by creating your variables exactly the same way as if you were making your players pick from a list. No changes yet.

Then, when it’s time for the players to choose, you’ll add a fourth option to the choice. Like so:

    #I use they/them pronouns.
        *goto next_scene
    #I use she/her pronouns.
        *goto next_scene
    #I use he/him pronouns.
        *goto next_scene
    #I'll type my pronouns for you.

*comment Custom pronoun input will be inserted into the code here.

*label next_scene

Obviously, we don’t want to make all players type their pronouns (only those who chose to,) so we give the standard options some *goto commands. This lets ChoiceScript jump past the custom pronoun code for those players who don’t need it. Specifically, in that example ChoiceScript will jump from *goto next_scene to *label next_scene, skipping any code in between.

As for what actually goes in between, in that spot currently filled with a single *comment line…

I started an example on how I might do this, but it's long, so I tucked it inside a hidden details box.
*label subject_pronoun
Complete the following sentence: [i]"And then ____ said 'no'."[/i]
Example: [i]"And then she said 'no'."[/i]
*input_text they

[i]"And then ${they} said 'no'."[/i]
Is that correct?
    #No, let me adjust it.
        *goto subject_pronoun
    #Yes, that's correct.

*label object_pronoun
Complete the following sentence: [i]"Give it to ____, please."[/i]
Example: [i]"Give it to her, please."[/i]
*input_text them

[i]"Give it to ${them}, please."[/i]
Is that correct?
    #No, let me adjust it.
        *goto object_pronoun

*label dependent_possessive_pronoun
Complete the following sentence...

I’m sure you can guess where this goes from here. But it’s fine to ask for clarification anyway.


This has all been very helpful, thank you. @Minnow, I didn’t even consider allowing custom pronouns, that is a great idea.

I think I will look to other games to find an organization method to keep all of those variables out of the way, but otherwise, this has been a huge help!

Thank you!!!

One thing I learned the hard way when using ‘they/them’ pronouns: Conjugations!

E.g. “He is over there” works fine, but substituting in only the pronoun gives you something like “They is over there”. This isn’t necessarily wrong but personally I found it hurt readability.

In my case, I added in extra conjugation variables, e.g:

#I use he/him pronouns.
    *set they "he"
    *set are "is"
    *set s "s"
#I use they/them pronouns.
    *set they "they"
    *set are "are"
    *set s ""

Then you can template up a sentence like above as ${they} ${are} over there.

Why do I create that ‘s’ variable? Because a lot of the conjugations can be taken care of by the addition/removal of an ‘s’. e.g.

${they} look${s} angry.

Becomes “he looks angry” or “they look angry”


I have that in my game and let me tell you, multireplace is a blessing here.
Basically it goes like

@{(kid_gender_count = "plural") say| says}

Makes it a lot easier

1 Like

I knew I was forgetting something.

There are probably three dozen different ways to handle it. For words that might cause issues and get used many times throughout the code, creating new variables is probably the simplest way. And the variable for “S or no S” is a superb idea, too. That said, remember that for some words the difference will be “S” or “no S,” while other words will be “ES” or “no ES” instead. Examples:

$!{they} go${es} to the market every Saturday morning.
$!{they} punch${es} well above ${their} weight.
$!{they} watch${es} you closely.

Of course, both even “S” and “ES” don’t cover every possibility. There’s the pair of “is” and “are.” The pair of “was” and “were.” The pair of “has” and “have.” Perhaps even more combinations I’m overlooking at the moment! While a range of specific variables is quite nice, there may be situations where it’s easier to create a single generic variable that tracks whether the pronouns are plural or not. You can then us *if statements or the multireplace operator. Something like so:

*create plural true

    #I use they/them pronouns.
    #I use she/her pronouns.
        *set plural false
    #I use he/him pronouns.
        *set plural false

Which then allows you to use multireplace for things like these:

$!{they} @{plural look|looks} angry.
$!{they} look@{plural |s} angry.

$!{they} @{plural teach|teaches} physics.
$!{they} teach@{plural |es} physics.

@{plural $!{they}'re|$!{they}'s} delighted.
$!{they}@{plural 're|'s} delighted.

@{plural $!{they}'ve|$!{they}'s} got to be kidding!
$!{they}@{plural 've|'s} got to be kidding!

In comparison, using *if statements allows code structures like these:

*if (plural)
*if not(plural)

*if (plural)
*if not(plural)

*if (plural)
*if not(plural)

This gives you something of a safety net if you missed one of the more specific combinations. It’s not as clean or elegant as a variable, but it’s more flexible.


To summarize, let’s see here…

List of stuff need to be considered:

  1. Subj. pronoun
  2. Obj. pronoun
  3. Dependent pronoun
  4. Independent pronoun
  5. Is/Are conjugation
  6. -s/-es/[none] suffix for verbs
  7. Has/have

Anything I’m missing?

So here’re another stuff that has been suggested:
8. Titles (Mr/Ms/Mrs/Neutral and so on)
9. Do/Does

Gendered titles (forms of address) if used?


I’m not sure what the neutral form for a lot of these would be.

There are quite a lot of suggestions on this page.

On a side note, I’ve found gender neutral titles in general sometimes carry fewer implications in English—for instance using Sovereign/Ruler/Monarch, according to flavour, rather than King and Queen, or Emperor and Empress. So that’s sometimes been useful for me, though it depends on the story, of course….

I have a handful of gender-variable characters in my current work, any (or all) of whom can be nonbinary…I’ve found myself just adding the occasional verb to my startup list once I know that I need it, or like @MeltingPenguins suggested, using multireplace for one-offs. Multireplace is so useful for that; I love it. :D

The only ones I’m using regularly not on your list, @Szaal, were ‘doesn’t’ (because it’s faster for me to use and remember than ${anom} do${aes}n't have one), and then also was/were.


Thank you for always sharing the resources you find. They always help me become a better writer.