Language errors in-game

Well, I’ve been doing just this sort of thing for the little script I wrote to generate random cave names for Minecraft (to put on signs near the entrances and inside it for given chambers or corridors; you get names like

The Coves of the Lightning
The Ailuirine Rock Shelter Where You Knit
The Dungeon of the Weeds
Strength Hallways
Divot Where I Baned
The Mad Burrows of Apian Metal
Eager Economics Passageway
The Rad Pits Where the Ports Cure
The Old Excavations Where Weird Outriggers Are Hovering
The Damp Depressions Where the Grungy Question Drags

you can see how some of them won’t actually fit on signs, but what can you do). Indeed, you can hardcode some of the common rules in, and I have rules like,

  • If the singular ends in “y” (to catch “cemetery”) and the second-to-last letter is not “e”, “a”, “o” or “u” (to skip words like “boy”), replace “y” with “ies” for plural;
  • If the singular ends in “x”, “s”, or “h” preceded by “s” or “c” (to catch “marsh” but skip “growth” or “pharaoh”), add “es” for plural;
  • Otherwise just add “s”.

(I may need to include the ‘end in o, add “es”’ rule, although I expect it too will have exceptions.)

And you can indeed catch a lot of things that way, but you still have a bunch of exceptions that cannot be reasonably hardcoded and need to instead be explicitly listed. Some examples:

  • Words that have a plural identical to their singular: “anime”, “apparatus”, “asparagus”, “sheep”
  • Words that have a different plural but in unexpected ways: “appendix”, “aquarius”, “aries”, “goose”

But you can catch most things with a few simple rules, and then you can just code in the exceptions manually. That’s how I have it done: if there’s no plural given, it uses the morphological rules given; if there is, that overrides the rules.

4 Likes