Quoll Work Thread, 2024-11-25 - 2024-11-25 20:58
Though I didn’t make a thread yesterday, I did indeed finish going through those changes and even ran into a cute implementation detail about Taffany I want to write up and explain. But regardless, I checked in the code to randomize Taffany’s gender after one more test run to catch all the skein generation artifacts. Today I am planning on moving on to having Ada eventually notice her taffification and alert the Playerr to it. Nothing to say about that until later, but the cute implementation detail is under the cut.
So, as I suspected, when I added the randomization of Taffany’s gender, I ended up discovering that in some of the branches that Taffany ended up as her male version, Taffery, instead of the default female version I had been using. One such case occurred in my test of the tutorial talking about Taffery and how helping him with his problem can unlock a “Causality Lock” allowing Ada to change more features about him than the default allowed.
I was using the SHOWME debugging command to check which conversation node Taffery was in after the tutorial ended. This command essentially dumps out all the information and properties of an object, and this is what it printed in this case, with some redactions simply because there are a lot of properties that get applied to every Thing that don’t really apply:
> showme taffery
Taffery Guava - woman
location: in Seattle Third Bedroom
unlit, inedible, portable, seen, unfamiliar, mechanic-managed, uncastable; transparent, male; singular-named, proper-named; guava-flavored
description: none
initial appearance: none
carrying capacity: 100
node: taffany-level-1-missing-cds
ask-suggestions: Taffery Guava, myself, and his bedroom
tell-suggestions: myself
other-suggestions:
[...]
body shape: anthropomorphic
printed name: "Taffery Guava"
printed plural name: "women"
You might notice that Taffery, despite having the male
Property is actually of the Kind woman
. This is because of
how gender is implemented in Inform 7. Basically there is the root Kind person
and then subtypes of man
and woman
,
but there is also the Property of gender that can be male
or female
, and another Property that allows person
s
to be neuter
.
When I defined the Taffany-Being
as they are referred to in my code, I did so as such (once again, I left out a few
more declarations here just for brevity):
Part 0.7.0 - Taffany-Being, themself
Taffany-Being is a woman. Taffany-Being is privately-named. Taffany-Being is either guava-flavored or
passionfruit-flavored. Taffany-Being is guava-flavored.
As you can notice, Taffany-Being is a woman
, and this was mainly because way back when I came up with the character
as a horny post I made back in December of 2020, I of course imagined them as a woman given my lesbian bias. And in this
case, it was a good default that would match my original writing. When Taffany-Being
is set as male
, this is the
relevant code:
To set Taffany-Being as male:
now Taffany-Being is male;
[...]
What this does is set the gender Property to male
from its initial setting of female
but it does not change
anything about Taffany-Being
’s Kind of woman
. In other words, being a woman
is about the Kind of person
you
are, not about if you have the Property of being male
, and this is one of those accidental moments where an
implementation of gender in code kind of feels like it comments on our own perception of gender.
However, I would say this is probably a bit different from how conservative society sees it as well as a bit different
from how progressive society sees it. Using the limited and problematic distinction of sex and gender, a person
’s
gender is more fundamental to the Kind of person
they are than their sex. This is admittedly better than how the two
are tied together in the conservative mindset, but still not quite as there as the more progressive idea that
understands that both gender and sex are socially defined. After all, in this case gender is privileged. But don’t
read too much into it… unless you want to, of course…
Anyway, let’s get to work.