Why automation exists

2013-01-20 20:25

Rift (an MMO I quite like) has recently been plagued by people using bots to automate gameplay. Obviously, they do it because it’s more efficient than playing (this is sort of stupid, if you think about it; the purpose of playing is not to be efficient). The developer has introduced some automated measures to try to detect bots, which are having some initial problems, and some posters have started fussing about how this is a waste of time and money, and they should just hire “minimum-wage” gamemasters to manually investigate.

I wrote this summary of how that works out for their forums, but it strikes me as sort of an interesting insight into the question of how proposed courses of action scale. Someone wrote, asking why anyone would waste time automating something that could be done cheaply:

You tell me.. what’s cheaper? Developing a automated program to ban various players based on PIDs (which likely require at least two software developers, maybe more..) or a minimum wage GM working 8 hours a day visiting all the popular spots? What’s more effective? The answer should be obvious.

I responded:

“Based on PIDs”? I don’t think so.

Here’s my thought. Let’s say it’s a full-time engineer. (You might be able to use more, but one full-time engineer for a period of time is probably a better choice in general.) Let’s just pull a number out of a hat: Internet says average salary for Google developers is $130k. Everyone knows game programmers get paid less, so let’s say $120k for a game developer, plus bennies, call it $13k/month. Let’s compare, shall we?

Option #1: GMs. There are currently 18 shards in Rift. Let’s say that each shard gets service only while the shard’s population is high, and botters are too stupid to find that, so we only need two GMs. They aren’t minimum wage; this is a relatively skilled position, with significant authority and access to user data, but let’s be friendly to your assumptions and assume they get a princely $10/hour, no bennies. Cost of one such GM is gonna be a bit over wages, let’s say it’s $13/hour. So each 8-hour shift costs $104, and we have two such shifts per server per day, so that’s $208 per shard, or $3,744 per day. Once things have died down a bit, we can probably halve that by having them swap shards. Botters who find a non-standard botting place are, of course, going to get away with it for hours, days, or even months. Investigation of each bot will take at least ten or twenty minutes if they want to have a remotely decent paper trail in case of disputes. GMs have to be involved in this full time, every day, so at a mere $10/hour, with each GM covering two shards for an 8-hour shift, and not bothering with the third shift, this costs a mere $683,280 per year. Let’s say that the GMs are consistently able to fully investigate one botter every ten minutes; each shift, they’ll knock off 48 botters. So if you have two GMs per shard, that’s 96 botters per shard per day, which gets rid of 1,728 botters per day. But we were assuming only one GM per shard to keep costs down, so that’d be only 864 botters per day.

Option #1: Developer spends two full months working on anti-botting technology which has applications to many fields, not just to fish-botting. Once this is done, GMs get automatic tickets for apparent botting, which are provided with complete and relevant logs of events, timing, information about the user’s computer, and so on. Investigating a ticket takes about 2 minutes, and there are only tickets when there are actually botters. The cost of the initial software development is about $26,000. After this, the cost is just the cost of actually processing the tickets. Let’s say they start out clearing about 2,000 botters a day, but after a while it will die off to about 1,000 botters per day. When we start out, that’s 4,000 minutes of GM time every day; that comes out to about 67 hours. Let’s say that because of the fancy tools, we have to have extra-expensive GMs, who get paid $20/hour, so the cost including incidentals is closer to $24/hour. That means that the daily cost of those 4,000 minutes of GM time is $1,608. A year of clearing out 2,000 botters a day will then cost $586,920. Total cost would then be $612,920 for the two months of developer time and the twice-as-expensive GMs. Once the initial rush is over, and it’s down to 1,000 botters a day, the cost of a year of clearing botters is only $293,460.

So, let’s review.

I’ve made a number of assumptions. I’ve estimated that game developer salaries are close to what Google pays; this is almost certainly not as true as it should be. I’ve estimated that a GM using automated tools has to be paid twice as much as a regular GM. I’ve assumed that the GMs are getting hourly pay and no benefits, so the only costs are stuff like the employer’s share of SSI and unemployment. I’ve assumed that it takes two full months of developer time to create the automated tools. I’ve assumed that the GMs finding bots manually are able to, with perfect reliability, knock off one bot every ten minutes including adequate research and paper trail; I’ve ignored the fact that a real investigation would take longer without real tools. I’ve assumed that it still takes GMs real time to process the automated tickets.

In short, I’ve made every assumption I could think of in a way that clearly favors your proposal.

And the best I can do is that, if you assume a need to clear 2,000 bots a day for the automated system, it costs substantially less than doing it manually would cost if you needed to clear only 864 botters a day. Which is to say, that if any of those assumptions are even a little less ridiculous, and we use comparable quantities of bots, the automated system is going to win by a factor of two or more.

You’re right. The answer should be obvious.

Peter Seebach