Greedy Goblin

Wednesday, September 25, 2013

A new approach to fight botting

Botting is a widespread plague of MMOs. A botter can gain insane amount of game resources since it “farms for free”: the time of the bot costs the player nothing. To be competitive with the botter, you must be very effective to offset the fact that your time has its opportunity cost. Assuming the botter is not dumber than you, you cannot win (the botter can actively trade as much as I do while having a bot running in the background getting him “free” income).

MMO developers struggle to fight bots. The reason is that the botting software constantly evolves and avoids detection. Behavioral scanning is problematic, as many commenters pointed out on my bot-finding post: I did not find a bot. I found characters that play extremely inefficiently and repetitively for very long time. While this description fits most bots and few players, claiming that they were bots is just like claiming “all people below 150 cm are children”. People who don’t fit into a description that fits most people are minorities by definition and the current politics are very favoring towards minorities. So while I still believe that CCP (and other game developers) don’t ban bots they knew to be bots, I accept that this isn’t because of the love of bots, but because of the fear of bad press because of maltreating the less then bright players.

To solve the botting problem, we first have to see what the fundamental problem is. It’s not the bots, they are just the consequence. The problem is that a dumb, mechanical but very time-consuming way of playing is rewarded. I mean farming in EVE Online in a way that provides 10M/hour income is very dumb. But if you do it 20 hours a day all month, you get 6B ISK, which is enough to pay for 11 accounts. Similarly, if you lose all your battlegrounds in WoW with very bad kill/death ratio, you still get about 100 honor points/game. If you can play 3 games an hour and play 20 hours a day, you can max out your honor every day. What is the best way of playing 20 hours a day? Botting.

What would be the solution? There are two, a harsh and a more dumb-friendly. The harsh approach is making all gaming activities losable. If you would lose honor points for losing a WoW battleground, no one would bot it. If a mining ship would have about 10M/hour fuel costs while in space, no one would bot or AFK mining. As this would be a game mechanic affecting everyone instead of a Game Master decision like bot banning, failing to be productive would be “losing the game” which cannot create bad press. Chess doesn’t ban dumb players from playing, they just lose all the time and quit. The above approach simply makes the game unplayable to dumb people. If you can’t win X% battlegrounds, you can’t play battlegrounds as you go negative in honor. If you can’t earn fuel cost while farming, you can’t farm, and if you can’t farm you can’t get ISK for anything in EVE.

However dumb people are also possible customers so no point losing them. So here is the dumb-friendly approach: you can use a farming feature X hours a week. I mean you can spend X hours a week in WoW battlegrounds, after that you can’t queue up for more. You can mine X hours a week/account in EVE Online, after that the miner modules fail to activate. You can also be in combat with NPCs (except belt and gate rats) for X hours a week/account, after that the rats give no bounty, mission completion nor leave wreck. You can spend X hours a week/account hauling distribution mission cargo. You can set/update Y market orders a week/account. This way the dumb player can still mine and get ISK from mining. But he can’t get rich. The smart player who can farm for 3x higher ISK/hour would get 3x more ISK and it couldn’t be compensated by botting 24/7. A botter would simply have no way to be competitive with a real player, so botting would be irrelevant.

A nasty mistake in the ganking guide was fixed: there is no need to continuously run the passive targeter, if you got a lock with it you don't get flashy yellow on his overview.

Jackpod and change in the WGBWC rules
I wrote that the average T1 barge pod is about 80M. It’s true. However the pod costs have large spread. It’s not like most pods are in the 60-100 range. Most pods are empty or have a few cheap implants. Then there are a few extremely expensive ones. “Jackpod” - I use to write to the channel, celebrating that extraordinary player stupidity was found and defeated. To have the 80M average, for every 1B pod there must be a dozen empty ones.

When I originally created the WGBWC rules, I was thinking about my own first ganking experiment ending in 52B/month kills using just one ganker. Expecting members to perform 10% of my own isn’t an extraordinary request. Expecting members to perform 6% to be invited is even less.

Now that I gank again, I see that the randomness of the ISK value can be a cause of problems to member aspirants. If you are unlucky and get no Jackpods, the 3/5B needed to join/stay can mean 80-120 solo T1 barge kills (before high skillpoints or dual ganking you have little chance to kill T2 exhumers). On the other hand you can get to the limit with a single Jackpod.

So the rules are changed to the following: To stay in the corp you need to provide either 50 solo ship kills or 10B kills (not just solo). To get into the corp, you need to provide 30/6B. Of course the kills need to be in highsec, as the other rule says.


Pheredhel said...

Well I propose another way to fight botters (for mining), this might also solve most or all of the afk mining problems:

Create several types of minable bodys in a belt, only differentiated by visuals or flying behaviour!
(this is important, as it is easy to spot for a human but hard to spot for a program)
Let's say there are three different types (more can be added for flavour)

1. mineral richt bodies that work right now, maybe a bit higher yield
2. empty ones, minable but cycles give next to no income
3. dangerous / reflective / feedback bodies. if mined, the cycle finishes, then your mining crystal blows up, damaging your ship and destroying the crystal, maybe even the whole miner (depending on how close you are, how many lasers used and so on).

This makes it risky to run a bot, as a simple mistake in targeting by the bot can kill a lot of profit or even your ship.

nice flavour ones:
- asteroids breaking apart after a certain amount of mining
- tagged asteroids- call a swarm of (strong) rats on whoever is mining, gives extra minerals. This might actually make ratters and miners team up, which would be good.

The idea is: make it easy and rewarding for humans, "okish" for afk miners, dangerous for bots.

Would also make mining less boring.

Anonymous said...

Pheredhel: i hear this often - "make it so it is easy for a human but difficult for a bot to detect".

the truth is, any decently coded bot will have no problem seeing what you see. Different textures are no match for something that is hijacking the game client. It knows all you know. Coding a bot so as to "not mine the bad stuff" would be trivially easy

some sort of CAPTCHA would work but it is immersion breaking. Some sort of "game of skill" would be better, but still potentially bottable.

nightgerbil said...

Your "harsh method" would kill wow pvp. By definition half the player base is below average and those people would have negative honor income preventing them being able to get gear. They would leave and as each of those did, the standard of the average would rise leaving more and more players "below average" ie below the rising average as it overtook their skill level. The pvp comunity would literally consume itself and this is what happens in all zero sum pvp games (example hive7s "knighthood" eventually you have a small dedicated elite who complain that there is no one left to play against and the queues are forever.

Your "dumb method" to limit the amount of time people can play at any one thing is already tried with things like "weekly valor caps" perhaps a complete reset of all wealth in wow with a gold cap of 1000g max earned each week from every source combined even the ah would combat wow inflation and botting?

Lucas Kell said...

Surely the way it works at the moment is fine?
They actively search for bots, banning them when they can be sure, and tracing down the isk, removing it.

I don't so much care if some idiot wants to bot so he can buy a titan, the affect on the value of isk is probably not huge. I only care that people generally do it for RMT, but there are plenty of "legitimate" sources for people to generate isk for RMT. Somer Blink for example is blatantly an RMT cover for the owners.
I'd rather CCP focussed their effort on cracking down hard on RMT with total zero tolerance. Botting would decrease due to that.

Anonymous said...

You can't limit the amount of time you are allowed to do something in a sandbox mmo you pay monthly fee for.
If I don't have any other interests than mining I have to be able to do it 20h a day.

Limiting repetetive behaviour isn't a good idea.

Just imagine some guys
1. undock
2. warp to instant undock spot
3. scan belts
4. warp to Retrievers
5. gank Retrievers and/or pod
6. warp their pod back to station
7. wait 15 minutes
8. get into a new ship
repeat at 1.

So after this guy ganked 25 objects (just a random number, doesn't matter if those objects were ships or pods) he isn't allowed to do criminal activities for the rest of the week. He is allowed to shoot some rats or legal targets (wartargets, criminals, suspects) or start mining.
Dumb players and bots would still be able to gank some Retrievers, but smart players would focus to gank high value targets like officer fit mission runners if they want to achieve killboard numbers.

You can't punish the whole playerbase to get rid of some bots.

Do you think it would be hard to create a bot which will start the day (lets say downtime starts the day) mining ore for 5h, after that playing the 0.01 ISK game at the market for 5h, after that taking care of your PI (restart extraktors and/or bring/catch commodities) for 0.5h, after that run 15 distribution missions, followed by some ice mining, starting new invention/production, ...

I don't use bots because I enjoy playing a game.
But I wonder why everyone is against bots?
Let's face it, bots keep Tritanium price low, they keep fuel prices low, they keep ship prices low.
I for myself don't care if someone is making 500B ISK a month using bots and start masturbating each time he looks at his wallet.
I'm not jealous because my parents use a bot to wash their dishes while I do it manually. I wouldn't want to see an army of grandmas baking cookies 12h a day in a factory. Cookies are cheap because bots are used to create them.
If I want to have a lot of ISK in eve online I don't need to run a "goldbot" and I don't need someone else to run such a bot to buy ISK he is selling for real money.

I would be curious what would happen if all bots would dissapear.
Rifters for 5M ISK?
Tritanium at 25 ISK?
How many players would start a flame war at CCP how they think they are forced to buy PLEX to afford some PvP fun.

Anonymous said...

Probing is a good example of in-game CAPTCHA. Moving probes in rotating 3D environment is relatively easy for a human, but very hard for a machine.

Anonymous said...

I don't think arbitrary limitations are in the spirit of sandbox.

If someone really wants to cheat they'll always find a way. Especially in a low-stakes (with only invested time, electricity bill and hardware wear on the table) where there isn't really a pressing need to fight the issue.

Any heavy-handed, sweeping attempt to curtail botting will hurt everyone but the dedicated botters and most hardcore players - especially the casual/new to the game variety; both botters and hardcores will find a way around them in no time flat.

Anonymous said...

One way to remove afk mining is to make all mining afk. Give everyone the ability to use mining probes (one per skill level). The probes land on a roid and mine for 24 hours (Quickmine probes can be used for quest mining). The probes are collected by the "miner" after that. Everyone can inspect the probe and see how long is left, so people can be waiting to kill the miner. Hey, maybe rats could be spawned upon probe insertion and retreival.

Anonymous said...

For botters, just make the siuation random, and no one choice can get throguh, no matter how inneficient.

They though red crosses would do it, but they don't. scanning down the anoms would? Maybe, I'm not sure yet.

Just have to make it random, Hell, since there's only X amount of minerals mined a day, you could just make way less asteroids, do way more of the work, cuts down the hours to close the gap between players and botters. Anoms if you prefer, and if it's shown to work. Rats are another obsticle. Since everything else here is needlessly complicated to hide depth, why not just own it?

But all that aside, just needs a mechanic that makes a single soulution unworkable, and changes randomly. at that point, botting will probably dissapear. It's why you don't see botting exploration, theres just too much randomnesss in the system to get a bot worth the hassle. Or no bots doing sov warfare, it requires change.

remove the grind, and you remove the bots

Pheredhel said...

Actually, there is the point: different textures can be read, different pattern not, different colors gets hard.
The point is to NOT use predefined textures form the cache but dynamically creating the textures based on parameters from the server, or loading it from the server.
It is obvious, that the client can't know about what the asteroid is.

This is essentially a captcha when done right. A capture doesn't need to contain text! it can be any kind of pattern or whatever.

As a stupid example: asteroids with mineralpatches in cross patterns blow up, stripe pattern is fine.

or "with dense spots of "...
There are many ways to make this a Turingtest.
The easiest is usually visual recognition or pattern recognition.
(this could even boil down to "exploding asteroids look artificial"
The good point in this is: humans can go for risk or not risk, bots either destroy their stuff or they have to be programmed VERY defensivly wich would make them a minor factor (if done right, only the best bots could even pay for themselves)

Gevlon said...

@Nightgerbil: it's not a problem if you gain more per win than you lose per loss. I mean if a win gives you 300 honor and a loss gives you -100, you can play as long as your win rate ratio doesn't go below 25%. Someone has to be below 50%, but to be below 25%, you need to be a bot or an idiot.

@Lucas: it's not at all fine. Real new players struggle to make significant ISK because the activities available to them are infested heavily by bots.

@Pheredhel: it's practically the "make all activity losable" thing.

Von Keigai said...

If a mining ship would have about 10M/hour fuel costs while in space, no one would bot or AFK mining.

This is single-variable thinking. There is a market. If it costs 10M/hour to have a barge in space, the cost of minerals would shoot up, so that you make 20M/hour from mining (or whatever).

You can mine X hours a week/account in EVE Online, after that the miner modules fail to activate.

You realize how immersion-breaking this, right? There are things worse than botting.

Still, steps can be made in this direction. For example, ice mining is now finite. You can no longer ice-mine 24 hours per day in a single system; the limit is, oh, 16 or so, and only in the handful of systems that have multiple ice anoms. A normal ice system can only be mined perhaps 12 hours a day.

Gevlon said...

@Von Keigai: I doubt if bots have immersion to break. Also doubt that humans mine more than 2 hours a day.

Anonymous said...

Or perhaps bake botting into the game?

Have players give passive income that's about equal to what a bot can manage automatically while you're logged out.

Of course that would create a massive wave of inflation, but if you adjusted the economy of the game to take that into account it could possibly be workable...

Anonymous said...

"Also doubt that humans mine more than 2 hours a day."

Yeah, and I doubted that anyone can stand the marketing interface for longer than 20-30 mins before reading that you spent 2-3 hours with it for several months.

I know several humans that mine more than 2 hours a day when they do. Yes, actively.

Anonymous said...

I regularly mine more than 2 hours per day. In my location a single Ice belt will last longer than that.

No I don't mine AFK. I do research on fits, read blogs, etc. If you have a semi-decent overview setup you can keep a good eye on it without needing to pay attention 100% of the time.

Lucas Kell said...

"it's not at all fine. Real new players struggle to make significant ISK because the activities available to them are infested heavily by bots."
Then they aren't even trying. bots don't empty out all the belts, not even the ice belts, mission are infinite, and trade most definitely has plenty of margin left.

Anonymous said...

" Also doubt that humans mine more than 2 hours a day."

You know that is not true. It could equally be doubted that a human would spend all evening running 4 characters in haulers between the trade hubs to resell NPC skillbooks, or that anyone would mission more than 2 hours a day.

People regularly mine for hours at a time, much as they do with any other activity in Eve.

Anonymous said...

Diminishing returns is something EVE does nicely and is less onerous than a cap. Say CCP upped the mining rates a bit and at 15 hours per month you were at 100%, 30 50%, 45 25%, 60 12% ... adjust the numbers to taste.

I do agree with commenters that the harsh way would continue to eat into the paying customers. Not only does the bottom 10% keep leaving, but the skill necessary to be in the top 90% keeps going up. And of course people mine for more than 2 hours in a world of DVDs and Netflix.


You did not mention my (impractical) solution: legal offline botting. Age of Wushu has a mechanic where the in game character does not go away when the human logs off. It can be kidnapped. So you could have game systems where your offline character could choose resting for a bonus or could choose farm - supply and demand drives down value of botting.