Changing gender rules

I’m trying to do something a little complicated with I7. My primary target audience is the LGBT community, so I’m trying to get rid of the following restrictive rules:

  • A person cannot be both male and female
  • A person who is not male must be female
  • A person who is not female must be male

Trying to add new kinds of people is driving me up the wall. I was able to add “neutrois” with the rule that a neutrois person is always neuter, but I can’t say “A neutrois is never male. A neutrois is never female.” because Inform thinks I’m contradicting myself. Likewise, I can’t add “bigender”, someone who’s more than one gender at the same time.

Basically what I think I need to do is reconstruct the concepts of “male” and “female” from the ground up, but I have no idea how to do this.

I agree you’re best off ignoring I7’s built in “gender” concepts and rolling your own, as you’re suggesting. The biggest difficulty is that Inform has already reserved the words male, female, and neuter, and it’s tricky to replace all the sections of code in the Standard Rules that mention them. (Possible, though… this really calls out for a nice “Gender” extension, which would properly work all this out, but until then…) The quickest way to get around this is by just using different words… or adopting some convention like beginning any gender identifier with an underscore.

We need a couple tricky Inform 7 concepts to implement this. First we want to create a relation that lets us connect people to any number of gender identities.

A gender identifier is a kind of value. The gender identifiers are _male, _female, _neutrois, and _genderqueer. [And whatever else you want to add.]

Identifying relates various people to various gender identifiers. The verb to identify as (he identifies as, they identify as, he identified as, it is identified as, he is identifying as) implies the identifying relation.

Bob is a person. Bob identifies as _neutrois. Jean is a person. Jean identifies as _female and _genderqueer. 

Things get complex (natch) when pronouns come into play. What you’ll probably want is a rulebook for each type of pronoun (or at least, each type you need to use) that makes a decision as to what pronoun to use based on which identifiers a person is attached to. It might be a useful shortcut to name the rulebooks after the plural form, which is both gender-neutral and distinct for each pronoun (Custom Library Messages by Ron Newcomb takes advantage of this). For example, to say the 3rd person subject pronoun (he/she/it), we could make a rulebook called “we pronoun of”:

Instead of asking a person about something: say "Unfortunately, [we pronoun of noun] can't tell you anything new." 

To say we pronoun of (subject - a thing): follow the we pronoun of rulebook for subject.

The we pronoun of rulebook is an object based rulebook. The we pronoun of rulebook has default success.

we pronoun of someone who identifies as _genderqueer: say "zhe".
we pronoun of someone who identifies as _neutrois: say "they".
we pronoun of someone who identifies as _male: say "he".
we pronoun of someone who identifies as _female: say "she".

This will pick the first rule in the order listed that matches, which might not always be what we what; we could replace these with more elaborate rules if, say, we wanted different behavior for someone with a more complex gender identity.

Of course, there are a number of other tricky English-related issues to deal with (such as writing “has” or “have” correctly based on plurality)… looking through the extension “Plurality by Emily Short” is a good way to think through how to deal with these issues, although you may not need all of these for your project depending on how much text needs to be procedurally vs. hand-generated.

(Note for anyone writing a future “Gender” extension (which may well be me eventually): it looks like bits of the Standard Rules that will need to be replaced include Section SR1/11 - People, Section SR1/12 - Animals, men and women, and Section SR1/16 - Inform 6 equivalents.)

Things get a little more complex, if you want the player to be able to use custom pronouns (like “zhe”) in input as well (or to use standard pronouns in novel ways), rather than merely have the game use them in ouput. Then you have to change things in the I6 templates, too (like: Language §§ 2, 3 & 8; and Definitions § 5, if you want more than three genders).

(At least, I suppose that’s true, if you want new pronouns to behave just like standard ones (with pronouns being automatically set to objects and the PRONOUNS directive working and what not), and unless you don’t write something of your own that implements that same functionality.)

This would be a really worthwhile extension, and it might be more broadly useful than one might initially expect. For instance, the player ought to be able to refer to a ship as either “it” or “her” (as in ‘x her’), and the author ought to be able to specify the ship as female without also making her animate, so that outputs like “You can’t board her right now” would appear as expected, alongside outputs like “You can only do that to something animate,” which probably would get waylaid if the female ship had to be created as a person.

On a philosophical level, I’d say that Inform’s insistence on a hard-coded male/female gender dyad is slipping, or ought to slip, down the rearward slope of history, along with the now-outmoded idea that “he” and “men” can be used to refer to either men or women.

1 Like

I wish there was an applaud in the smilies. Since there isn’t I will just add…

I applaud this idea.

Thank you all for your helpful replies. This gives me an idea of where to go. I really appreciate it.

At this point I’m actually thinking of just coming up with a classification that will assign pronouns to characters without actually identifying their gender since, for example, I go by “it” but other neutrois people I know use “they”, “he”, “zie”, and others; and any gender identification I need to give to the player I’ll just put in the character’s description. It seems to me that that would also make it easier to allow the player to tell the game what their pronoun is, for other characters to use when referring to them.

This sounds fantastic. I’ve long been vexed with I7’s handling of pronouns in this situation, and I’d be ecstatic to see it done away with entirely and (hopefully) replaced with something under the author’s direct control.

Very interesting - I’d be interested in seeing what the results of this are.

In response to this thread (and in deference to a former transgendered roommate of mine) I’ve modified the upcoming next version of Custom Library Messages to support adding new pronouns. Meaning, new viewpoints like “third person neutrois” can be created, and the standard [we], [us], etc. phrases will honor them when the story viewpoint is set to said viewpoint.

The same feature may also be useful for the international IF community who wish to adapt CLM to non-English languages, as I’m sure each comes with a slightly different set of pronouns (gender, case, number, etc.)

This thread makes me so happy.

It certainly has, if not restored my faith in humanity, but reinforced the faith in the awesomeness of this community.

Me too. It shows that the world (real and IF) is bigger than each of our own lives and experiences. We all need to grow out of the subset that defines our own past, teachings, and thinking. I was worried when the OP posted this. Not because I judge, but I was worried it would create a controversy and division in the community. I am so glad it is being accepted as a valid point, and people are working on making it happen. In the end it will be better for us all. We will have new rules to deal with, but it will give us so many other options, and ways of expressing ourselves.

Now… If Inform only had a Cyrillic extension/translation… My fiance is a Russian psychologist, and I can see this platform being useful as a teaching tool in her work.

I feel the need to point out that lack of verbal opposition on this thread doesn’t mean that everyone is accepting this as a valid point. It could very well mean that any opposition in the community is willing to ignore this post, to avoid contributing to “division in the community.” Or, that anyone who is willing to oppose it simply hasn’t read it.


I guess I was overly enthusiastic hoping in the goodness and acceptance of humanity and this community. Real life tells me otherwise at times, but overall, I am not disappointed. As Dylan said “The times they are a-changin”.

I’m sure there are people reading this thread and thinking, “Wow, what a bunch of smug, self-congratulatory whining,” but I’m perfectly content to pretend they don’t exist. To those of you who did reply, thank you for being so supportive. I know where I’m coming to ask for Inform help in the future. :smiley:

Even if someone didn’t accept our modern society’s conception of sexuality and gender, the changes to I7 should be welcomed for the potential they give for telling very alien stories, such as something inspired by Asimov’s The Gods Themselves.

That’s a really excellent point.

It would also be interesting to specify that the parser shouldn’t reveal a character’s gender at all, instead always using a full name. While this might lead to awkward auto-generated messages, it would at least give the author more control over what’s being revealed in a case where, say, a shadowy figure enters the story.

For the adventurous, an alpha version of Version 4 of Custom Library Messages is available here. It still has at least one bug that I know of when used in combination with Plurality – try CUTting a NPC – but that’s fewer bugs than version 3.

I’ve added a new example showing how new pronouns are made. As it happens, I had a couple of sci-fi stories in mind when I wrote it, but I opted for zie rather than et or yt that I’d seen in the books. Also, some credit must go to the gender-neutral pronouns FAQ that Google introduced me to. (I pray it isn’t out of date.)

(Otherwise: for authors who just use CLM for it’s tense & viewpoint changing abilities, nothing’s changed I believe. Well, a neater index and smoother working with Plurality (still undergoing testing). But the more rarefied features such as irregular verbs received an extensive rewrite, and modal auxiliaries are still morphing. Constructions like [aux][have*] are now just [have*]. The as-auxiliary say-phrases can now be written how David’s extension writes them: [have+], [are+], [do+]. And the [^] capitalise-next-word phrase from Mentioned in Room Descriptions has joined the party!)

Oh, almost forgot: I took a stab at the issue in I7, and (as stabs tend to be) it was… well… hacky, to say nothing about its crudity. Anyway, link is here, on the off chance that it’ll help.