Gender Options by Nathanael Nerode


Section 1 - Summary

Gender Options makes male, female, and neuter into independent on-off properties, each of which determines respectively whether "HE", "SHE", or "IT" can be used to refer to the thing. It makes "THEY" refer to any plural-named or ambiguously plural thing. It also allows some authorial choices over which pronoun to print for things with multiple valid genders or numbers. It should be just as fast and efficient as the standard rules.

I have a taste for writing stuff with odd gender behavior, and so I decided to do this in a general-purpose manner. There are several purposes most of which are shown in the City Park example.

Section 2 - Gender/Number Model and Pronouns

In the new model, male, female, and neuter are each separate properties, so that a thing is "male" or "not male", "female" or "not female", and "neuter" or "not neuter". This allows for maximum flexibility short of adding new pronouns (which is much more complicated and probably slower).

The gender is primarily for pronoun purposes. When the player types "HE", anything male will match. When the player types, "SHE", anything female will match. When the player types "IT", anything neuter will match. Something which is none of the three will never match any singular pronoun, which is not usually desirable, but may occasionally be useful (e.g. "The Exalted One shall not be referred to by pronouns!").

If you define a "man" or "men", it will by default be male, and not female or neuter. If you define a "woman" or "women", it will by default be female, and not male or neuter. If you define a "person" or "people", it will by default be male and female, but not neuter. This makes more sense than it might at first appear; a person of unknown gender can be referred to as "he" or "she" by the player. If you define a "thing" or an "animal", it will by default be neuter, and not male or female.

All of these can be overrriden and changed by specifying things like:

Tracy is not male.
Tracy is not female.
Tracy is neuter.

The parser will update and recognize the appropriate pronouns when used by the player. So a character who is both male and female can be referred to as "he" or "she" by the player, a ship can be referred to as "it" or "she", etc.

A similarly flexible model is implemented for number. Any object which is plural-named or ambiguously plural can be referred to as "THEY". Any object which is ambiguously plural can additionally be referred to using the singular pronouns -- whichever ones apply according to its gender.

So an amibguously plural, male, female, neuter thing can be referred to by any of the pronouns THEY, HE, SHE, IT. Even if it's singular-named.

The jumble is an ambiguously plural, male, female, neuter thing.
The description of the jumble is "Things and people, all in a jumble! [They] [are] quite something."

The concept of "ambiguously plural" items is present in the Standard Rules but is not fully implemented. (A singular-named ambiguously plural item will not match "they" in the Standard Rules. It will match with Gender Options active.)

Section 3 - Advice on the gender model

This is designed to be a plug-in extension which requires no change in existing code and keeps the same behavior if you have been using "man", "woman", or "animal". If you have been using "person" to refer to generic non-gendered people and using "ambiguously plural" appropriately, this should simply improve the pronoun behavior with no code changes necessary. But there may be some changes required if you have been using explicit gender adjectives.

This is because now male, female, and neuter are entirely separate traits; setting one does not set another. Consider this code:

Tracy is a person.
Tracy is male.

Because the default for "person" is both male and female, responding to "him" and "her", this makes Tracy both male and female; the "male" adjective does nothing. If you want to make Tracy a man (male and not female), you would have to do this:

Now Tracy is not female.

Now suppose you want to change Tracy from a man to a woman (female and not male). You'll have to make two statements:

Now Tracy is female.
Now Tracy is not male.

Now you want to make Tracy respond to "it".

Now Tracy is neuter.

Tracy is still female. If you want Tracy to stop responding to "her":

Now Tracey is not female.

Similarly, if you make an animal female, the player can refer to the animal as both "it" and "her" (unless you also make the animal not neuter):

Peppy is a female animal.

This is usually desirable.

Section 4 - Gender in output messages

Gender and number is used for a second purpose other than recognizing pronouns in the English Language extension, and we must fix this up too. It shows up in message substitutions such as. For this, each object must have a single preferred grammatical gender, even when it has multiple genders which match player input.

We define two variables for this purpose: "prefer neuter gender" and "default animate gender". These are variables so that they can be changed at runtime (for effect).

Prefer neuter gender is a truth state which varies.
Prefer neuter gender is usually true. If you have a dog or a ship which can be referred to as "it" or "her", this will print "it". If you would rather have "she" printed, use this:
Prefer neuter gender is false.

The preferred animate gender is a grammatical gender which varies.
The preferred animate gender is usually the masculine gender. If you have an androgynous person (both male and female, but not neuter), this will print "him". If you would rather have "her" printed, use this:
The preferred animate gender is the feminine gender.

Prefer neuter gender is checked first; if it is false, then the preferred animate gender is checked. An object will never be printed with a pronoun which isn't valid for it, unless it is not male, not female, *and* not neuter -- not responding to any pronouns from the player -- in which case "it" will be used.

Note that these use values of a different kind from the genders of objects for parsing purposes; the phrase "masculine gender", "feminine gender", and "neuter gender" must be specifically used.

This is all implemented with the following decide phrase. If you don't like these rules and want to do something even more complicated (perhaps a per-object choice), override the decide phrase.

To decide which grammatical gender is the printing gender for (o - an object):

Section 5 - Number in output messages

Ambiguously plural items (like "pair of shoes") will be treated as plural or singular by output messages depending on whether they are "plural-named" or "singular-named" This is standard behavior. This does not affect the ability to refer to them by pronouns (you can always use both "they" and the singular pronouns for their gender).

The plural-named property is also used for the items like "the trees" which are always plural. This is standard behavior.

Please note that for a thing which is ambiguously plural but singular-named, such as "pair of dice", the substitution "[they're]" will produce "that's", while "[they]['re]" will produce "it's". Choose wisely!

Section 6 - Printing differences from standard behavior

For reference, this is the procedure currently used in the Standard Rules as of the time of writing:

For non-people:
If person is plural, the plural form ("they") is used.
Otherwise, neuter form ("it") is used.

For people (including animals)
If person is the player, "you" is used.
If person is plural, plural form ("they") is used.
Otherwise, if person is female, female form ("her") is used.
Otherwise, if person is neuter, neuter form ("it") is used.
Otherwise, male form ("him") is used.

In contrast, this is the procedure in Emily Short's Plurality:

If the thing/person is plural, plural form ("they") is used.
Otherwise, if the thing/person is the player, "you" is used.
Otherwise, if the thing/person is neuter, neuter form ("it") is used.
Otherwise, if the thing/person is male, male form ("he") is used.
Otherwise, if the thing/person is female, female form ("she") is used.

Changing the gender model causes these to be two different procedures, which is why I wrote an entirely new and more versatile procedure.

Section 7 - Interaction with Other Extensions

Gender Options replaces parts of Standard Rules by Graham Nelson and should be included after it. Gender Options replaces most of English Language by Graham Nelson and should be included after it.

Gender Options is compatible with Neutral Standard Responses by Nathanael Nerode. Gender Options is incompatible with Neutral Library Messages by Aaron Reed, which predates the "reponses" system. Neutral Standard Responses is intended as a replacement.

Gender Options includes fixes for the gender handling in Original Parser by Ron Newcomb. However, Original Parser is broken on the current version of Inform, so don't use it. As a result this is untested and Gender Options probably doesn't work as well with Original Parser as it does with the standard parser.

Gender Options is compatible with Plurality by Emily Short in that it is safe to include both. But they will probably not interact well due to conflicting gender assumptions. Plurality is largely obsolete due to incorporation of most of its features in the Standard Rules as of Inform 6M62; please use the Standard Rules features in preference to the features in Plurality.

Gender Options is incompatible with Second Gender by Felix Larsson. The two do very similar things, but IMO Gender Options does so in a cleaner and more comprehensive fashion. It was developed completely independently.

Section 8 - Changelog

Version 3/210331 - Fix example / testsuite. Version 3/170818 - Small documentation and comment tweaks. Version 3/170816 - Replaced "always" with "usually" for man and woman. Eliminated implications which didn't work. Mboved "person is usually not neuter" into correct section. Removed androgyne kind and collective noun property for efficiency (they were syntactic sugar). Revised documentation, comments, and City Park exmaple. Added "It for All" example. Version 2/170815 - First public release for gamma testing.

Example: * City Park

This consists of a room with items featuring most of the combinations of gender and number options which seemed plausible. Take special note of the toy ship (you can call it "she"). This is also the test suite for the extension.

"Everyone Comes To City Park" by Nathanael Nerode

The release number is 3.
Include Gender Options by Nathanael Nerode.
City Park is a room.
The description of City Park is "Everyone comes to City Park!"

The shadow is a person in the park. "Someone skulks in the shadow."
Understand "skulker" as the shadow.
The description of the shadow is "[We] [can't get] a good look at [regarding the shadow][them]."
The shadow is neuter.

John is a man in the park.
The description of John is "John is a dapper man."
Understand "dapper man" as John.

Jane is a woman in the park.
The description of Jane is "Jane is an elegant woman."
Understand "elegant woman" as Jane.

A deity is a person in the park.
Understand "Hermaphroditus" as deity.
Description of deity is "A deity with both male and female characteristics."
Deity is male.
Deity is female.

A couple of girls are women in the park.
Description of couple of girls is "Two girls who clutch each other inseparably."
A couple of girls is ambiguously plural.
A couple of girls is plural-named.
A couple of girls has indefinite article "a".

A bunch of boys are men in the park.
Description of bunch of boys is "A bunch of boys wander around."
A bunch of boys is ambiguously plural.
A bunch of boys is plural-named.
A bunch of boys has indefinite article "a".

Some sunbathers are people in the park.
Description of the sunbathers is "A mixed-gender group is out bathing in the sun."
Sunbathers are male.
Sunbathers are female.
Sunbathers are ambiguously plural.
Sunbathers are plural-named.
Sunbathers are not proper-named.
Sunbathers have indefinite article "a few".
Understand "few sunbathers" as sunbathers.
Understand "group" as sunbathers.
Understand "mixed-gender group" as sunbathers.

A deer-animal is a kind of animal.
Deer-animal usually have printed plural name "deer".

A group of does are deer-animal in the park.
Description of the does is "A group of does are grazing in the park."
Does are female.
Does are ambiguously plural.
Does are plural-named.
Does have indefinite article "a".
Understand "deer" as does.

A buck is an deer-animal in the park.
Description of the buck is "The buck is watching the does."
Buck is male.
Understand "deer" as buck.

A cute puppy is an animal in the park.
Description of the puppy is "There's a cute puppy running around."
Puppy is female.
Puppy is neuter.

A plastic banana is a thing in the park.
Description of banana is "It's a plastic banana. I don't know why it exists, either."

A pair of dice is a thing in the park. "A pair of dice lie abandoned on the ground."
Description of pair of dice is "A pair of casino-style dice."
A pair of dice is ambiguously plural.
A pair of dice is not plural-named.

A toy ship is a thing in the park. "A toy ship lies abandoned to one side."
Description of ship is "A toy ship called the 'Santa Maria'."
Ship is female.
Understand "Santa Maria" as ship.

A large cardboard box is a container in the park.
Description of cardboard box is "A large cardboard box is lying out in the sun."
Cardboard box is enterable.
Cardboard box is openable.

The jumble is an ambiguously plural, male, female, neuter thing in the park.
The description of the jumble is "Things and people, all in a jumble! [They] [are] quite something.".

The Unpronounable One is a thing in the park.
The description of the Unpronounable One is "[We] [may] not refer to the Unpronounable One by pronouns."
The Unpronounable One is not neuter.

Analyzing is an action applying to one thing.
Understand "gender [something]" as analyzing.
Carry out analyzing:
     say "[A noun] [are] here; [regarding the noun][they]['re] here."

setting female default is an action applying to nothing.
Understand "matriarchy" as setting female default.
Carry out setting female default:
     now preferred animate gender is feminine gender.

setting male default is an action applying to nothing.
Understand "patriarchy" as setting male default.
Carry out setting male default:
     now preferred animate gender is masculine gender.

setting gendered default is an action applying to nothing.
Understand "anthropomorphize" as setting gendered default.
Carry out setting gendered default:
     now prefer neuter gender is false.

setting neuter default is an action applying to nothing.
Understand "objectify" as setting neuter default.
Carry out setting neuter default:
     now prefer neuter gender is true.

test pronouns with "pronouns / x john / pronouns / x jane / pronouns / x deity / pronouns / x girls / pronouns / x boys / pronouns / x sunbathers / pronouns / x does / pronouns / x buck / pronouns / x dice / pronouns / x ship / pronouns / x unpronounable one / pronouns / x jumble / pronouns" in City Park.

test gender with "anthropomorphize / gender buck / gender puppy / gender shadow / objectify / gender buck / gender puppy / gender shadow / anthropomorphize / matriarchy / gender deity / gender shadow / x shadow / patriarchy / gender deity / gender shadow / x shadow" in City Park.

test number with "gender girls / gender boys / gender sunbathers / gender dice" in City Park.

Example: ** It for All

Some authors have requested that "it" apply to anything, plural or singular, of any gender, for the convenience of their players.

"It for All"

Include Gender Options by Nathanael Nerode.

A person is neuter. A man is neuter. A woman is neuter.
A plural-named thing is ambiguously plural.
Prefer neuter gender is false.

Marching Grounds is a room. "The place for marching!"

to march is a verb. to watch is a verb.

The soldiers are plural-named men in Marching Grounds.
The description of the soldiers is "[Regarding the soldiers][They] [march] up and down."

An observer is a improper-named woman in Marching Grounds.
The description of the observer is "[Regarding the observer][They] [watch] the soldiers."

test pronouns with "x soldiers / pronouns / x observer / pronouns".