How to fix Steam's toxic communities

Pocket

Half a Lambert is better than one.
aa
Nov 14, 2009
4,699
2,581
Years ago, I read an article about how Microsoft planned to start punishing the assholes on Xbox Live by "forcing them to play with each other". I never heard anything more about it, or any further details, but it gave me an idea about how the problem of bad people on gaming communities could be solved elegantly. Since the subject has come up again in light of the TF2 Competitive Matchmaking system, I thought I'd lay out the idea in detail:

So, imagine this. When you look at a player's Steam profile, next to the button to add them as a friend, there are also Like and Dislike buttons. Clicking one of these buttons doesn't affect some kind of overall Reputation score. This is important. Instead, it affects something I'll call "the Affinity Matrix".

When a user clicks either of those buttons on the other's profile, it sets the Affinity value that represents their relationship to one another. So, supposing you clicked Like on their profile, and they haven't interacted with yours at all. Your Affinity would be set to 1. Now let's suppose you both clicked Like on each other. That's a lot more significant, so now the Affinity is maybe 4 or 5. (These values are stored separately from the Like and Dislike flags, so they could be recalculated at some future date if Valve decides to tweak the system.) And for everyone in your Steam Friends list, the Affinity is automatically set to 5 or maybe even higher.

And here's the important part: If either of you clicks Dislike, regardless of what the other has done, that's automatically a -5 or something. This way, trolls can't game the system by Like-ing their victims.

What's the practical upshot of this? Nothing at first. The community will need some time to populate the matrix with data. But eventually, matchmaking and quickplay systems in Steamworks games can be retooled to weight match-ups towards people with positive Affinity values. Other factors could be set up to subtly affect the Affinity values, such as whether players have spent a significant amount of time together, or chosen to leave servers shortly after joining. The long term goal is for peer groups to organically form, and to keep people away from those that they dislike. Unlike Reputation scores, this won't directly punish players for, say, trash talking as a form of friendly banter; it'll just give people who are put off by that sort of thing an easier way to avoid them, and gravitate towards people who are more their style.

Even further down the line, programs could be developed that could analyze the resulting data, chart trends, create visual representations of things, and potentially even zero in on players who have been especially toxic and deserve to be banned without having to monitor every single server 24/7 or rely on user reports.

This might all sound needlessly complicated, but Valve loves setting up nerdy analytics systems like this. Remember when they used to privately track heatmaps in TF2? Or when they hired a professional economist to monitor activity in the Steam Marketplace? An experimental project like this seems right up their alley.
 

EArkham

Necromancer
aa
Aug 14, 2009
1,625
2,774
Interesting. So if a troll community gets together and attempts to mass-dislike a person, the worst that comes out of it is that they never actually end up playing with that person?
 

JMaxchill

L5: Dapper Member
Jan 21, 2015
215
69
Interesting. So if a troll community gets together and attempts to mass-dislike a person, the worst that comes out of it is that they never actually end up playing with that person?
That's how I understand it, which seems like a good idea.
 

leprecan

L2: Junior Member
Feb 10, 2013
96
89
Couldn't a troll community just like each other within their group, thus forming a falsely positive community?
 

Pocket

Half a Lambert is better than one.
aa
Nov 14, 2009
4,699
2,581
A little update on this, sort of: I haven't been keeping up with anything surrounding Overwatch, but apparently it has a feature somewhat like this, called Avoid This Player. It does exactly what the name says, prevents you from being matched up with someone if you've pushed the button on their profile. Trouble is, people have overusing it, to the point where one high-level player — who had been flagged by literally hundreds of other players simply for being too good of an opponent — was getting stuck in the matchmaking queues until the game could find someone, anyone, who hadn't flagged him and was currently waiting for a match. So Blizzard are giving up on the feature and removing it from the game.

I could be petty and blame this on the key difference this feature has, that the button isn't taken as a mere suggestion — if you clicked Avoid This Player on someone, you were guaranteed to never see them again. And short of assuming every player who ever gets flagged deserves it, I can't see a justification for that. Still, it's fascinating to think that so many people had personally flagged this guy that BattleNet was unable to find a single player who hadn't. What would happen under the Affinity Matrix if that happened? If it was for a legitimate reason, the monitoring would kick in and catch their toxic behavior and they would hopefully be banned. But if it's not, they're still getting punished by having their own Dislikes count less. (Remember, Dislikes automatically count the same as if they were mutual.) You can't just go through and undo them all, because they're not actually claims of bad behavior. If someone is a sore loser and doesn't want to play with people who are actually skilled, that's their prerogative. But if so many people have Disliked the player that they're going to get matched up with him anyway because the system is out of options...
 

LeSwordfish

semi-trained quasi-professional
aa
Aug 8, 2010
4,101
6,597
Still, it's fascinating to think that so many people had personally flagged this guy that BattleNet was unable to find a single player who hadn't.

I'm sure you're not being entirely literal here, but remember it's not finding a single player who hasn't disliked him, it's finding a game with no players that disliked him - i.e, in his local area, at his level of competitiveness, 1/11 or more people have marked him for avoidance.
 

EArkham

Necromancer
aa
Aug 14, 2009
1,625
2,774
Hm, I think if it was more of a "soft" ignore, that would work better. I guess they were thinking that with so many players, a binary toggle would be fine? It's interesting to see the results, heh.

On the flip side, Steam's block player button does nothing to stop them from joining a server you're already in (and vice versa). All it does is stop communication or add attempts from them (I'm not clear if it actually stops them from commenting on workshop items or not).

I think the Affinity Matrix idea is pretty solid in theory, but I can't help but having a nagging feeling there's some way to abuse it. Still, sounds pretty good.
 

MegapiemanPHD

Doctorate in Deliciousness
aa
Mar 31, 2012
2,002
1,311
There would have to be some kind of backup in case something similar happened to a player in TF2. Mind you, that would be highly unlikely but if it could happen with all the people playing Overwatch then it could also happen with TF2. Something where it tries to put players in servers where no one dislikes them, but if that ever fails, it looks for a server with the least amount of dislikes. That way a disliked player isn't blocked from a ton of servers due to one person on it disliking them.
 

DioJoestar

L2: Junior Member
Jul 1, 2014
71
169
Personally, I think that it won't work. People usually use this sistem in the bad way, clicking the dislike/report button much more than the like/commend.
 

Izotope

Sourcerer
aa
May 13, 2013
698
764
I'm not clear if it actually stops them from commenting on workshop items or not
I saw somebody mentioning that blocked users can't comment on Workshop items, but can still create a discussion.
But don't take my word for it.
 

UKCS-Alias

Mann vs Machine... or... Mapper vs Meta?
aa
Sep 8, 2008
1,264
817
I could be petty and blame this on the key difference this feature has, that the button isn't taken as a mere suggestion — if you clicked Avoid This Player on someone, you were guaranteed to never see them again.
There lies the problem indeed. As it was probably just being used against comp players because people hated to lose. Or people considered him as hacker (i dont find that very unlikely though).

But even in such system, if a player recieved 0.01% in negative votes, it allows you to face 9999/10000 players. a fair balance. But if that value reaches 10%, you might expect to have only 9000/10000. But this actualy stacks since when its 10 players in a game, you are very likely to get only 500/10000 at that point (im not good at math on that, but its something like doing 1x0.9^9). And thats prob what blizzard forgot.

What such system should do is negate higher values by lowering the penalty for blocking, and simply decide it by randomizing between a percentage chance. If someone reaches that 500/10000 player mark, then the penalty should only be effective for such value. So even if 5 players voted no (which sums up as 2500/10000), all votes together only have 25% chance to block hima. So they will still often enough be matched together. at 9999/10000 it still only would work 99.99% of the time if just 1 player voted.

The more hate people recieved, the less likely they get blocked. at 1/10000 even if all 9 players voted against him, it still means 0.09% chance to block. But that wont harm.

A time based karma system with that can work where a player can vote on a player once a week, and a vote is only valid for a year. each time only adding 1 point, and it can stack up to 52 in a year, at which point it will heavily count. But someone recieving 52 clearly will be diffirent to someone with only 10 (and its already unlikely to ever reach that). And this again can be used to decide which group they fit best into.

And then there also is to count the ammount of votes a player does give, as giving away less negative votes should again increase the value of each vote, where spamming has no effect at all.
 

Moonfixer

L5: Dapper Member
Aug 23, 2014
229
81
I am really liking the idea of this system. I always thought that it would be difficult to implement this sort of thing. I suppose I was wrong, at least with the technical aspect. Neat!
 

Pocket

Half a Lambert is better than one.
aa
Nov 14, 2009
4,699
2,581
But even in such system, if a player recieved 0.01% in negative votes, it allows you to face 9999/10000 players. a fair balance. But if that value reaches 10%, you might expect to have only 9000/10000. But this actualy stacks since when its 10 players in a game, you are very likely to get only 500/10000 at that point (im not good at math on that, but its something like doing 1x0.9^9). And thats prob what blizzard forgot.

What such system should do etc. etc.
Eh. All they really needed to do was set it up so that if it can't find a queue that isn't Avoiding the player, it sticks them in a random one that meets whatever other criteria it's looking for. Maybe try shuffling queues around to create an acceptable party, first, if Overwatch uses a form-party-then-start-game system like Splatoon or BioShock 2 as opposed to just dropping people into games already in progress like TF2 does.
 

UKCS-Alias

Mann vs Machine... or... Mapper vs Meta?
aa
Sep 8, 2008
1,264
817
The thing is, if you make such system you actualy want to actualy have it work. And you also want to avoid abuse where you simply make it so it avoids all good players. You want to reward players that use the system in a fair way. And you also want to prevent players that were massively blocked from being unable to play. If that player is a cheater and you can choose between someone who only blocked 3, or someone who blocked over 1000. You can be sure that the one who only blocked 3 is more fair.
If you go for such systems, its better to try to instantly have it perform well, rather than making a poor one and adding exceptions.

And the easiest way would simply be a counter of numbers of players that blocked you, if there are 0 without blocks, you set it to max 1, if thats still no free server, max 2 etc. And yes, it would work well, but i rather see the best solution which allows more tweaking
 
Apr 14, 2013
662
344
Abusing tools meant for preventing toxicity, cheating or causing grief, already exists.
I'm talking about the votekick system.
You have any idea how many times I was votekicked? For no reason?

It could be because I was a mini-sentry engineer on some pl map, it could be because mvm guys wanted a friend of them to join and I accidentaly occupied their slot, it could be because people didn't like my playstyle or because I was considered a tryhard or because they accidentally clicked f1 instead of f2.

If random players are given power, they would abuse it. And fuck quickplay Valve servers.
 

Viemärirotta

sniffer
aa
Feb 5, 2016
1,013
590
Toxicity in communities are due to one thing. New players. Keeping the new ones below their level, thinking they are truly better. You can see this thing a lot in PAYDAY 2 forums. The majority wants to stick with seasoned players not new players, but here's the thing.

Merely everybody doesn't want to play with new players as it will end badly. But nobody wants to fight experienced players. Because that would mean less power and that's the thing. Basically what @takabuschik said.
If random players are given power, they would abuse it. And fuck quickplay Valve servers.