“Create a non binary option,” I thought. “How hard could it be?” I thought. Turns out, a lot harder than you’d think.
Giving the player the option of a male or female character is pretty straight-forward when it comes to coding. The only words you really need to change are; Man/Woman, Boy/Girl, Mr/Miss, He/She, His/Her, His/Hers, Him/Her. This gets a lot more complicated when you add a non binary option, since a lot of preposition words change when you switch “he/she” with “they”. (Ex: He is/They are. He does/They do.)
So, to try and make this easier, I have put together a code for anybody who wants to include a non-binary option in their game. I’ve used the non-binary form as the default since certain gender-specific words like “his” and “her” appear more than once in the code.
Words like “is/are” and “was/were” are included in the code and can be used like this:
Where {were} {they}?
I think {they} {are} alright.
The code includes a few basic preposition words. For the majority of preposition words though, the ending will have an “s” if the gender is male or female, and no “s” if the gender is non binary. (Ex: He likes/They like. He thinks/They think, etc.) For these words I have added ${s} as part of the code. It can be used like this:
{they} like{s} dogs.
{they} eat{s} cake.
{they} run{s} really fast.
There is also an “es” for things like:
{they} go{es} to the shops.
{they} do{es} a lot of knitting.
{they} reach{es} the finish line first.
If anybody can think of any other preposition words where the male/female variant doesn’t just have an “s” added to the end, let me know and I can update the script.
*title Gender Code
*author Avery_Moore
*scene_list
startup
*create gender "unknown"
*create person "unknown"
*create Mx "unknown"
*create kid "unknown"
*create they "unknown"
*create their "unknown"
*create them "unknown"
*create theirs "unknown"
*create theyre "unknown"
*create are "unknown"
*create were "unknown"
*create theyve "unknown"
*create have "unknown"
*create s "unknown"
*create es "unknown"
*page_break
Choose your gender.
*choice
#Male.
*set gender "male"
*set person "man"
*set Mx "Mr"
*set kid "boy"
*set they "he"
*set their "his"
*set them "him"
*set theirs "his"
*set theyre "he's"
*set are "is"
*set were "was"
*set theyve "he's"
*set have "has"
*set s "s"
*set es "es"
*goto gender
#Female.
*set gender "female"
*set person "woman"
*set Mx "Miss"
*set kid "girl"
*set they "she"
*set their "her"
*set them "her"
*set theirs "hers"
*set theyre "she's"
*set are "is"
*set were "was"
*set theyve "she's"
*set have "has"
*set s "s"
*set es "es"
*goto gender
#Non binary.
*set gender "non binary"
*set person "person"
*set Mx "Mx"
*set kid "kid"
*set they "they"
*set their "their"
*set them "them"
*set theirs "theirs"
*set theyre "they're"
*set are "are"
*set were "were"
*set theyve "they've"
*set have "have"
*set s ""
*set es ""
*goto gender
*label gender
You are a ${gender}. When people talk about you, they will say: "$!{they} ${are} a very nice ${person}. $!{they} ${have} a pet dog that ${they} love${s} very much."
Also, at the request of @Carlos.R, here is another version of the code that gives the player the option to choose their pronouns themself.
*title Gender Code
*author Avery_Moore
*scene_list
startup
*create gender "unknown"
*create person "unknown"
*create Mx "unknown"
*create kid "unknown"
*create they "unknown"
*create their "unknown"
*create them "unknown"
*create theirs "unknown"
*create re "unknown"
*create are "unknown"
*create were "unknown"
*create ve "unknown"
*create have "unknown"
*create s "unknown"
*create es "unknown"
*page_break
Choose your gender.
*choice
#Male.
*set gender "male"
*set person "man"
*set Mx "Mr"
*set kid "boy"
*set they "he"
*set their "his"
*set them "him"
*set theirs "his"
*set re "'s"
*set are "is"
*set were "was"
*set ve "'s"
*set have "has"
*set s "s"
*set es "es"
*goto gender
#Female.
*set gender "female"
*set person "woman"
*set Mx "Miss"
*set kid "girl"
*set they "she"
*set their "her"
*set them "her"
*set theirs "hers"
*set re "'s"
*set are "is"
*set were "was"
*set ve "'s"
*set have "has"
*set s "s"
*set es "es"
*goto gender
#Non binary.
*set gender "non binary"
*set person "person"
*set Mx "Mx"
*set kid "kid"
*set they "they"
*set their "their"
*set them "them"
*set theirs "theirs"
*set re "'re"
*set are "are"
*set were "were"
*set ve "'ve"
*set have "have"
*set s ""
*set es ""
*goto gender
#I want to choose my pronouns myself.
*set are "is"
*set were "was"
*set have "has"
*set s "s"
*set es "es"
*set ve "'s"
*set re "'s"
Alright. What is your gender?
*input_text gender
*goto person
*label person
What would you like to be referred to: Man, Woman, Person or something else?
*input_text person
*goto Mx
*label Mx
What would you like to be referred to: Mr, Miss, Mx or something else?
*input_text Mx
*goto kid
*label kid
What would you like to be referred to: Boy, Girl, Kid or something else?
*input_text kid
*goto they
*label they
What pronoun would you prefer instead of He, She or They?
*input_text they
*goto their
*label their
What pronoun would you prefer instead of His, Her or Their?
*input_text their
*goto them
*label them
What pronoun would you prefer instead of Him, Her or Them?
*inout_text them
*goto theirs
*label theirs
What pronoun would you like to be referred to instead of His, Hers or Theirs?
*input_text theirs
*goto gender
*label gender
You are a ${gender}. When people talk about you, they will say: "$!{they} ${are} a very nice ${person}. $!{they} ${have} a pet dog that ${they} love${s} very much."