Sunday, June 18, 2006


Wow, I wonder where I've heard this before...

Oh, yeah...

It's the same system I proposed many months ago, in the exact same context, for the exact same purpose. Great to know I'm not just wandering off at random.

Since then, however, I turned that into the "color networked" method of tracking customer preferences. If you haven't read it, you can get some details here. I've since worked out some simplifications so that the computation doesn't eat quite so many resources.

The basic problem with Bartle's reputation system is that it doesn't split things up.

For example, I like Matt. Matt's a good guy, he speaks in real words, and he consistantly trades me wombat phlegm for a fair price. Also, some of Matt's friends are brokers as well, so when I need fish fur and binky thorns, I know who else to go to.

But much of Matt's friends list is filled with raid team members. In order to reliably get wombat phlegm, he goes on raids pretty much every day, and he has a few hundred contacts to facilitate this.

I have no interest in these people. Not only are they playing a different game, their personality is probably more suited to raiding than trading. There's nothing wrong with that, but in my eyes, they're worthless. They're not interesting at all, and they're not providing anything I want. Even if they want to sell their stuff, it's stuff like a sword of wombat-slaying. I'm a noncom - why would I want that sort of thing?

Bartle's system might slow down irritating gits, but it doesn't raise connectivity, because there's simply too much noise. If I see someone with a high rating, it means nothing to me, because he's probably been rated by someone with different needs and a different perspective. Even though the rater is my friend, his friends are another degree of separation away.

If you stick to socializing, you have the same problem.

My roomie and I have some of the same friends. But I have no use for his "ratings", because the majority of them are for people who I have nothing in common with. Sure, we can be idealistic and talk about different kinds of people finding similarities they never knew they had... but when 99% of your socialization is finding similarities you never knew you had, you realize you aren't really getting anywhere. (Unless, of course, you're the sort of player who likes doing that.)

But if I had a way to split roomie's picks into "geeks" and "non-geeks", suddenly his ratings become useful to me. Not only can I rate his geeky friends higher, I can actually rate his non-geeky friends "lower" (by which I mean "less likely to be interesting", not "irritating").

This can't just be "number of links", because the raiders outnumber me a million to one. If they only link a little, it outnumbers the maximum number of merchants' links. So you need to be able to split it correctly - functionally, automatically generating "circles of friends" from people's ratings without needing them to specify.

That's the method to the madness.

Also, it has the benefit of producing a global net rather than 10,000 local nets. The 10,000 local nets are handled on the client, and the servers only need to keep track of a single super-net.

Broken Toys' take.

No comments: