Skip to content

Downgrade "loser" from MEAN|MODERATE to MEAN|MILD#54

Closed
Tomcc wants to merge 1 commit intofinnbear:mainfrom
Tomato-Cake-LLC:main
Closed

Downgrade "loser" from MEAN|MODERATE to MEAN|MILD#54
Tomcc wants to merge 1 commit intofinnbear:mainfrom
Tomato-Cake-LLC:main

Conversation

@Tomcc
Copy link
Copy Markdown

@Tomcc Tomcc commented Apr 11, 2026

Hi!

This is an extremely small change, but it somehow ended up mattering in our game :)

"loser" is extremely 1990s kids-adventure-coded, so it should be safe for almost everyone.
Plus, "biggest loser" was already in the MILD category!

"loser" is ordinary schoolyard language, consistent with how "biggest loser"
is already classified (MILD). MODERATE is otherwise reserved for sexually
explicit content and slurs, which "loser" clearly does not belong to.

Regenerated false_positives.txt: 24 exemptions that protected innocent phrases
spanning word boundaries (e.g. "hello ser", "carlo zer") are no longer needed
now that loser is MILD.
@finnbear
Copy link
Copy Markdown
Owner

Thanks! In my games, I only censor severely mean phrases for most players (switching to censoring moderately&severely mean for players who abused chat in the past). This is the approach I recommend for you. I set "loser" at mean=2 because I feel like that's where it belongs. Sometimes, a profanity like "lameass" would be mean=2 but can be used innocently, and I'd use mean=1 to encode the ambiguity. There is not much ambiguity with "loser."

The significance of "biggest loser" being in the mild category is that it allows censoring as "b************" instead of "biggest l****" if you censor mild meanness.

@finnbear finnbear closed this Apr 11, 2026
@Tomcc
Copy link
Copy Markdown
Author

Tomcc commented Apr 11, 2026

Well, ultimately we can just keep it in the exception list... But tbh I'm not very sure about your reasoning.

Our game is supposed to be PG13, so I feel like your strategy doesn't really apply. It's important for us to have MODERATE on at all times and "loser" is a weird reason to get dinged.
If this is meant to be a public, reusable crate, it probably shouldn't be this tied to how you use it in your game, right?

@finnbear
Copy link
Copy Markdown
Owner

We disagree about the extent to which "loser" is mean, which is not surprising, because categorizing language is highly subjective. Here's how I organized the categories:

Examples of mild mean: dumb, fat, liar (principle: many of them can be used in innocent and/or objective ways, those that remain are mild)
Examples of moderate mean: loser, sucker, shut it, moron (principle: it's less likely to use them in innocent, objective ways)
Examples of severely mean: get cancer, hope u die (principle: severe and inexcusable)

If this is meant to be a public, reusable crate, it probably shouldn't be this tied to how you use it in your game, right?

Whenever a decision needs to be made for this crate, and a setting would be difficult to add, I tend to pick the option that works better, not only in my games, but with Type::INAPPROPRIATE which currently only includes severe meanness. There are several open issues regarding better categorization or customization. I've also attempted to rewrite the library to make it more modular but, so far, those attempts failed.

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.

2 participants