The everyday blog of Richard Bartle.

RSS feeds: v0.91; v1.0 (RDF); v2.0; Atom.

Previous entry. Next entry.

11:49am on Friday, 16th June, 2006:

Reputation Systems


This is one of my rare postings on virtual world design. I'd put it on Terra Nova but it's probably a bit too speculative (ie. it could well be demolished in the first response). Here, as QBlog has no comments system as yet, I can indulge myself a little more.

OK, here goes.

Some people are prats. Some of these prats play virtual worlds. Non-prats would prefer not to play with them, but have no way of identifying them; this is because whenever systems are implemented to identify the prats, the prats use them to make non-prats seem like they're the prats.

In other words, there isn't a reputation system yet invented that griefers can't use as an instrument of griefing.

So, bear with me on this...

Assumption: the virtual world has a reasonably good pseudonymity regime. This means that you can't just change your character's name or switch servers to avoid being identified as a prat, and you're unwilling to abandon your use of a character (because, say, it took you weeks to get it to its current level).

Now, in the absence of a reputation system to tell you who is and who isn't a prat, you can keep notes. You group with someone, you play together for a couple of hours, you draw a conclusion, you write it down. When two weeks later you group with them again, you look at the list, see "prat", "angel", "judgment reserved" or whatever you wrote, and then either stay in the group or leave. You can build up a personal reputation system, but you have to do it the hard way. What you want is to know what other, like-minded people think of a prospective group member.

That's not all that hard to implement, actually.

Instead of taking notes on a notepad, take notes online. Click on the character, click on the "rate this character" option, check the checkbox, and there you are. Next time you see the character, your opinion of them will be visible (name in a different colour, hearts or skull-and-crossbones next to their name, whatever).

Now suppose everyone is doing this. Wouldn't it be great if you could look at the list of a like-minded person and see what they thought of someone you hadn't yet met? You wouldn't want to see the lists of prats, just of people who happen to share your opinion. You can find those like-minded people by comparing lists. The server can keep everyone's lists of player opinions, and intersect yours with those of everyone else. When you find on with which you're in broad (or even total) agreement, you use it to supplement your list. It doesn't matter who made the list — that would be kept secret — so much as the fact that their opinions are in line with yours. You like A, they like A; you dislike B, they dislike B; you haven't met C, they like C, so C is probably a decent person. The greater the insersection between lists, the higher the chance that you'll share their opinions.

What can griefers do? They can call you a prat when you're not one, but what do you care? All it means is that other griefers will think you're a prat, which is fine because you don't want to play with them anyway. Sounds pretty good!

Possible problems: the main one I see concerns tainted lists. Someone may have taken a dislike to you or simply clicked on the wrong button, and if they happen to have a high intersection with lots of other players then you could find yourself shut out. The effect of this could be reduced by not allowing people to union lists together (ie. I can't say "update my list by adding all the elements from this other player's list that I don't already have"). Also, date-stamping or status-stamping opinions could help (you may have been hell to play with at level 10, but have grown up by level 40). It may also be advisable to have second opinions, so that you don't just get the views of the nearest match to yours, you get two or three others, too ("Hmm, the person I have a 93% match with reserves judgment on this guy, but the ones at 92% and 90% like him; OK, I'll give him the benefit of the doubt").

Another issue could be the computational resources involved. 10,000 players with 10,000 opinions might be tiresome to match even using a strictly binary like/dislike regime. It might be possible client-side, it depends how much data is involved (I suspect that the opinion array will be fairly sparse). It may be fairly easy to write such a system, but that doesn't mean it will run without painful overheads.

Anyway, there you go. It's blue sky, so I'm not going to be upset if you rubbish it.

Referenced by Reputation Systems Revisted.

Referenced by SEO.

Latest entries.

Archived entries.

About this blog.

Copyright © 2006 Richard Bartle (richard@mud.co.uk).