Skip to content

Conversation

@neroden
Copy link
Contributor

@neroden neroden commented Jul 27, 2023

This is an extremely conservative set of changes. All but one of the changes here have been in the Gender Options extension for years and it has been used by a signifcant number of games with no problems.

The one change not heavily tested is to make a person (but not man, woman, or animal) ambiguously plural by default. This is correct in English -- you can always refer to an unidentified person as "them", as Chaucer and Shakespeare do. If this creates irritation in gameplay for a particular game, it can always be turned off for any particular person by the story writer, since it's a "usually".

The default gender behavior of Inform is very nearly unchanged -- I went to a lot of effort to do that -- and most story/game writers should notice no differences at all. Those who have only used "X is a man", "Y is a woman", "Z is an animal", "W is a thing" should find the game working as expected.

What this does is to open up options for story writers who want to do something more complicated. By (1) removing assumptions from the I6/Inter code; (2) changing a bunch of "always" and "never" to "usually"; and (3) breaking enormous blocks of standard rules into smaller sections which can be overriden more granularly -- story writers can change things more easily without having to replace half the codebase.

In addition to the changes related to gender, the player is usually transparent rather than always transparent, solving another difficult-to-override issue. There is also a fix to a runtime error number.

For more information and background, see the Gender Options.i7x extension. There are probably substantially larger improvements which could be made in this arena, but these are conservative and well-tested.

Getting these edits into the form of a patch (rather than an extension) took quite a while. I have not been able to convert the test cases from Gender Options.i7x to Inform test cases yet and I am not sure when I will have the time.

@neroden
Copy link
Contributor Author

neroden commented Jan 30, 2024

I will probably come up with a better alternative to this based on Sadie De Might's code, but I'm leaving this here for reference purposes for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant