Pronouns and Game Settings

Options Are Always Best

Here’s a bit of wisdom I sort of stumbled on all by myself that you can use to make your game better: if you can make something into an option or setting, you should. If you want to, for example, have quick time events, give the user a way to shut them off. You may feel they’re integral to your game, and they really might be, but at the end of the day, all it takes is a not recommended next to the switch to tell users they risk having a subpar experience while still letting users with, say, disabilities a chance to at least play your game.

I think the best way to handle pronouns is similar: inconvenience no one, but throw in as much configuration as you can. I don’t need to worry about this for Holy Land, since the player takes the role of static characters, but I was faced with the issue in Deep Dive. I solved it by creating a completely configurable system with “presets” for common pronoun sets, and it wound up looking like this.

alt text

The scripting isn’t short, but it is fairly simple:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
(function () {
var gender = 0, genderList = ['she/her', 'he/him', 'they/them'],
pronouns = { // pronoun presets
sub : ['she', 'he', 'they'],
obj : ['her', 'him', 'them'],
posA : ['her', 'his', 'their'],
pos : ['hers', 'his', 'theirs'],
ref : ['herself', 'himself', 'themselves'],
plur : [false, false, true],
pers : ['woman', 'man', 'person']
};

//dropdown event
$(document).on('change', '#dropdown-gender', function () {
var value = $(this).val(),
sv = State.variables, i,
vals = ['sub', 'obj', 'posA', 'pos', 'ref', 'plur', 'pers'];
$(document).trigger({
'type' : ':gender-drop',
'value' : value,
});
for (i = 0; i < vals.length; i++) {
delete sv[vals[i]];
}

sv.profile.gender = genderList.indexOf(sv.gender);
$('#pronoun-edit').empty().wiki(Story.get('profile-set-pronouns').text);
});

// send to setup
setup.gender = {
selected : gender,
list : genderList,
pronouns : pronouns,
user : false // did user set custom pronouns?
};
}());

And the TwineScript holding it all together:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
:: profile-create2 [creation startup]
/% gender and pronouns %/\
<center>
''Select your character's gender and pronouns:''

<div id='pronoun-edit'>\
<<include 'profile-set-pronouns'>>\
</div>

@@#enter-link;.big-link;<<button 'Continue' 'profile-create3'>>
<<if $sub>>
<<set $profile.pro to {
sub : $sub,
obj : $obj,
posA : $posA,
pos : $pos,
ref : $ref,
plur : $plur,
pers : $pers
}>>
<<else>>
<<set $profile.pro to {
sub : setup.gender.pronouns.sub[$profile.gender],
obj : setup.gender.pronouns.obj[$profile.gender],
posA : setup.gender.pronouns.posA[$profile.gender],
pos : setup.gender.pronouns.pos[$profile.gender],
ref : setup.gender.pronouns.ref[$profile.gender],
plur : setup.gender.pronouns.plur[$profile.gender],
pers : setup.gender.pronouns.pers[$profile.gender]
}>>
<</if>>
<<unset $sub, $obj, $posA, $pos, $ref, $plur, $pers>>
<</button>>@@\
</center>

:: profile-set-pronouns [include creation]
/% set custom pronouns; text inputs %/\
|Presets|//Select a preset.//|<<dropdown '$gender' setup.gender.list>>|
|Subjective |//''She/he/they'' went home.//|<<textbox '$sub' `($sub || setup.gender.pronouns.sub[$profile.gender])`>>|
|Objective |//I like ''her/him/them''.//|<<textbox '$obj' `($obj || setup.gender.pronouns.obj[$profile.gender])`>>|
|Possessive (Adj)|//This is ''her/his/their'' house.//|<<textbox '$posA' `($posA || setup.gender.pronouns.posA[$profile.gender])`>>|
|Possessive|//This house is ''hers/his/theirs''.//|<<textbox '$pos' `($pos || setup.gender.pronouns.pos[$profile.gender])`>>|
|Reflexive|//She/he/they keeps/keep to ''herself/himself/themselves''.//|<<textbox '$ref' `($ref || setup.gender.pronouns.ref[$profile.gender])`>>|
|Noun|//She/he/they is/are a ''woman/man/person''.//|<<textbox '$pers' `($pers || setup.gender.pronouns.pers[$profile.gender])`>>|
|Plural|//She/he/they ''is/are'' here.//|<<if $plur || setup.gender.pronouns.plur[$profile.gender]>><<checkbox '$plur' false true checked>><<else>><<checkbox '$plur' false true>><</if>>|

The Fine Line

I’m cisgender myself, so I tend to always want to think of male and female as “normal”. It’s a view that, while I won’t make excuses for, is ingrained in our culture in ways that make it hard to be mindful of. I think that designers need to be mindful of their own particular biases and presuppositions. It’s not enough to just try not to be a racist, for example. Racism is socially and culturally embedded. The magical black janitor of wisdom is as racist a caricature as black face. If we ever feel that we aren’t influenced by a particular cultural bias, then we must be even more vigilant, because we’re either not affected by it, as we suppose, or we’re affected so much that it feels like a natural state.

In short, not thinking you’re sexist won’t do you much good when you’ve penned yet another manic pixie dream girl whose only purpose is wish-fulfillment, even if you did it with the best of intentions. In this era, not being at least overtly racist or sexist is by some people considered a virtue, but this is like comparing yourself to a child to feel strong.

But this is really beside the point. The point I want to make is that I’m cisgender, and I know in my heart that I think of being cisgender as some sort of “default”. That’s not something I feel great about, but as long as I’m aware of my bias, I can work against it and maybe even change it someday. And I know that when I go about making something, anything, I need to be wary of myself above all else.

The biggest question is always: when does my desire to be inclusive start warping into tokenism or patronization? The answer is not something you’ll find without help.

So when you’re putting together something like this, ask your transgender friends. They’ll help you find a balance. If you don’t have any (or at least aren’t sure if you do), or if you don’t feel comfortable asking them, or if you just want more opinions, try r/asktransgender on reddit.

Remember, you aren’t being heard right now; that comes later, when your piece is published. For now, listen.

Pushback

Sometimes inclusiveness has an actual cost. If you’re recording 1000s of lines of dialog like you’re making a BioWare game, then flexible pronouns will become a pipe dream fast.

In other situations, a game may require gender-based mechanics that just don’t lend themselves well to non-binary gender representation. Take Mount & Blade, where playing a female character makes for a more challenging and interesting experience. Should being transgender make it even harder? Easier if you’re identifying as male? Transgender and intersex people have always existed, but implementing them in this sort of historically sexist context quickly becomes a challenge from a design perspective.

It’s also important to remember that the whole goal of creating a more open-ended pronoun system isn’t for political correctness, or at least it isn’t just about that. Likewise, few players will outright refuse to play a game solely based on whether you allow them to represent themselves well in it, so it’s not really about pandering either. Instead, the goal of something like this is to aid your game, deepen immersion, and allow players to have some level of control over their experience in your world. In a medieval game, for example, pronouns like ‘xe’ may help some players feel more immersed, but for others, even ones who use those pronouns, it can feel forced and immersion-breaking to hear something so modern pop out of a 13th century king’s mouth. As they say, there’s no accounting for taste. But you can let the player make that choice.

There’s also another elephant in the room, particularly when it comes to games. Some people take issue with increased inclusivity. As with the above, sometimes the reasons are justified, at least somewhat. Tokenism doesn’t do much for anyone, and a lot of games are more concerned about scoring points (pun very much intended) with a certain demographic than they are actual representation. That’s how Hollywood wound up with all those magical wise black men. Actual representation, contrary to popular thought, feels real, like it always was meant to be there. That’s unlikely to score points with anyone. It just feels natural, right. But it also it also serves your story and your audience by painting a world that fits itself together and fills in all of its own cracks. It presents your audience with a version of reality they can map to real life and actual experience.

In most cases, when you do it right, most people won’t realize you’re doing anything at all. Sounds awful, right? All that work, just to be invisible. And yet for the author or designer, invisible is the goal. The hand of the author moving the pieces about, pulling the strings, making the marionettes dance, if they can see it all, you’ve failed.

But I digress, this is becoming more of a general inclusivity discussion than one arguing the merits of pronoun configuration.

Every Desicision Is an Argument

This post isn’t titled “Pronouns”, its “Pronouns and Game Settings”. So let’s back up a bit. I mentioned already that in Holy Land, the player controls static characters that already exists. So I guess a certain reading of my above arguments could cause some readers to arrive at the conclusion that I’m a hypocrite. After all, if giving players options is good, then certainly not letting them make their own characters is bad, or at least less good. After all, with a few lines of code, I could replace these static characters with variables defined by the player, right? The answer is that yes, I could. In fact, the only reason Holy Land doesn’t allow character creation is because I made it that way. There is a lot of character customization, so adding a whole creation feature would not be a bridge too far.

Authors have control over their work, not the other way around. Some people, even creators, seem to hold fast to the ridiculous idea that they need to be true to their inspiration or goals at the expense of almost anything else, like some other-worldy muse-like being planted ideas in their head and their greatest duty in life is to create what has been given to them with the utmost precision. George R.R. Martin writes a lot of rapes into A Song of Ice and Fire. The excellent TV show Orphan Black features a murder scene late in the series that is shockingly and unnecessarily brutal. And so on. If you have misgivings, you’re a prude or, even worse, trying to censor everyone and kill art, you damned moral guardian. But the truth is that the creators are responsible for every decision they make, and every line of dialog, every design choice, every sentence is an argument for its own existence. Sometimes these are good arguments, sometimes they’re not as good. Sometimes, we just don’t buy it. If you’ve ever watched a movie or read a book and feel like something just didn’t work or didn’t belong, then you’ve encountered one of these bad arguments; they take you out of the experience. You start thinking about the author or the produciton team or the culture surrounding the work instead of the characters and world of that work.

You can sacrifice a lot of things on the altar of player agency. You can also sacrifice a lot of things in the name of authorial intent or artistic license. Dark Souls doesn’t have an easy mode because it was sacrificed on the latter. Skyrim‘s story is a bit weak because it was sacrificed on the former. Your job is to make those sacrifices. The important thing is whether the sacrifice justifies itself, and there’s no clean way to measure that; in most cases, different people will have different opinions.

So if you can’t tell the story you need to tell with player-created characters, you’re going to need to hope, like I do with Holy Land, that most players will be swayed by the arguments presented.

Everyone Hates Quick Time Events

For this last little tidbit before I disappear to continue working on Holy Land‘s combat engine, let’s talk about player agency and settings one more time, and the fear that many authors, myself to some extent included, have about them. It’s that options for the player always lead to a direct loss of author control.

Let’s look at quick time events again to illustrate this, and we’ll say that your game has a few tense sequences that use them. For you, as the author, these quick time events create tension; they make the scene work and feel exhilarating. But you know that if there’s an option to shut them off, many players will do so before even giving them a chance, because these mechanics are often frustrating to some players. So you have a choice: give an option and risk the entire scene, maybe the entire game, falling flat, or don’t give an option and risk having some players be unable or unwilling to play.

In this case, you need to think about a few things before you decide.

  1. If the whole scene feels less tense without the quick time events, maybe you’re using them as a crutch. Maybe the real problem is that the scene needs to be improved.

  2. It’s tempting to think of yourself or your game as the exception to any given rule, but most players just won’t see it that way, no matter how good a job you’ve done. We know that quick time events are generally unpopular, and we know that the reason is because they’re usually set up like binary choices, but everyone knows which one is the “right” choice, eliminating any real agency. On top of that, they’re frustrating when they lead directly to a game over. I would recommend making sure that your quick time events, at least, really are exceptional. If you’ve done it right, they will improve your game. Players may still not give them a chance, but at least those who do will be pleasantly surprised.

  3. Is it really worth making this decision for the player? I have a few disabled friends who like to game, and for most of them, the quick time event isn’t just annoying or unpopular, it’s impossible (especially those of the “mashing” variety). Quick time events could be cut from most games without altering the overall gameplay, feel, or appeal, and would instantly improve accessibility, letting even more players play. Accessiblity is always worth the work in my opinion, and in this case, worth the risk of a few players having a lesser experience because they wanted to faff about in the options menu before starting.

Players know what they need from a game better than you do. Letting them make those choices is usually going to improve your game.

Back to the Grind

As always, take my two cents here as just that. No one knows your game and what it needs better than you do, and there are no design decisions that will always be right for every project. As for me, I think that letting people play on their own terms to the extent possible without sacrificing your game’s identity is a balance to strive for, even if it’s usually hard to achieve perfectly.

I want to make a few quick notes about this blog post, and what I’ll be writing in the future. Writing a tightly edited, pointed post is usually ideal, but writing in a more stream-of-consiousness style, moving between points on related issues, and taking a few detours here and there helps me write faster and is also more interesting to me as a means of unloading my thoughts about a topic. This post is sort of a good case in point: it’s a bit rambly and long, and I do occasionally get into tangents or make generalizations. But I find this sort of post easier, faster, and generally more entertaining to write. In the future, I want to try to capture things I’ve been thinking about and working on in this way.

My hope is that this will make for somewhat interesting reading, too, but my primary goal will always be to write about something I want to talk about and get off my chest. I love a good argument or debate, too, so if I’m totally wrong about anything, feel free to let me know (in a respectful manner).

Thanks for reading.

Welcome to TwineLab!

Hello world!

TwineLab.net is going to be my new home on the web. I also decided to move my blog off of the blogger platform and onto Hexo, which has been an interesting journey, to say the least. Very easy to mess up, but also easier to configure, even if I haven’t done a lot of configuration just yet.

I plan to try to write more blog posts going forward, but it is a hard sell. I write for a living, and under a different name, so any time I spend blogging is time I spend both not working on my own projects, and not getting paid. But blogging is good for the soul, and I feel like I lead a bit of a double life anymore; my Twine and non-Twine work seldom ever interact; people who want me for non-Twine projects don’t want to hear about Twine and vice-versa. But Twine has become a part of my life in a fairly large way, and it seems wise to give that part of my life more space to vent.

So here we are. TwineLab is going to be dedicated to my Twine adventures. I may occasionally cross over between my Twine and non-Twine work in the future and post about those things here, but for now, this seems the best way to scream into the void.

There is one important caveat here, though. All of TwineLab is client-side, with no server or backend. That means no comments. If you need to talk to me, seek me out as mentioned here. Never mind.

Also note that I’ve decided (at least for now) not to faff about with Google analytics. So I have no idea if anyone will be reading this. For that reason, if you are reading this and you see a disappointing lull in content, reach out to me and let me know.