Greedy Goblin

Friday, January 6, 2012

On the level of bots

We seen that most of the scores in the game World of Tanks is made by the few top players, while the rest aren't really contributing. Today I post further evidence and reveal a the core problem of the M&S. I started a new account on the game and played 200 matches. Well, it didn't take so much time as it looks due to my "special" playstyle: I tried to act like a bot as much as possible. I did not bot, just acted as one.

My "script" was simple. I choose a lane during preparation time and start running on that lane without any strategic consideration. My "waypoints" weren't idiotic so I didn't cross the field of Malinovka or something like that. I kept travelling on that lane until spotting an enemy. Then I stopped and fired. I kept firing until the enemy or me was destroyed or he retreated behind an obstacle. If he was down or hidden, I resumed rushing to the enemy base. That's more or less how a cheap, couple hundred-line scripted World of Tanks bot would act. Behold my results:
There is just one data on this result page that is not shocking: my pathetic survival ratio. Everything else is unexpected. At first, I had 0.37 kills/match. This is high. This is the average of the kills of the bottom 85% (coming from the data used in the previous studies based on 60 matches).

Secondly, my winrate was very high, if we consider draws half-wins, I won 48% of the matches, that's barely below the average 50%. Considering that I performed almost exactly half as good as the average player (remember, the average killrate including the top 20% is 0.74/match), I should have lost more. The reason for the high winrate is exactly the non-normal distribution of player skill. If we use the binary scheme of "bad" and "good" players and attribute the wins to higher amount of good players on the winner side, let's see how my crappy presence would cause a loss. The chance to get N good players on the enemy is G^N*(1-G)^(15-N)*combin(15;N), where G is the ratio of good ones in the population. The chance to get N good players on our team is G^N*(1-G)^(14-N)*combin(14;N), as one spot is surely mine. I built a table for all N-s and considered "equal amount of good players" 50-50, "more good ones" a sure win for that team, then plotted the win chance against G. I also plotted what would happen if our team surely gets an extra good player:
The direction of the curves is easy to explain: the more abundant the morons are, the less the team feels an extra idiot and more an extra good one. In the extreme case of everyone else is bad, having another bad makes no difference (50% winrate), while having a good makes sure win. Having my terrible performance shifted the win rate of the group to 48% which belong to the 0.1 good ratio. On my real account, the results of my Marder II, the tank I dare to call myself pro with is 65%, belonging to 0.2 good ratio. So all three results place the amount of good players to the top 10-20%, while consider the bottom 80-90 "bad".

OK, 80-90% of the WoT players are "bad". So what? The interesting point from this study is to define "bad". "bad" means "on the performance level of a simple bot". No one would notice a thing if 80-90% of the playerbase would be replaced by a bot that does nothing but follows pre-set waypoints until sees an enemy, then stops and fires.

The tragedy of the M&S is not that they are "bad" in a sense that "worse than us". They are so bad that simple bots could give the same results. While a game developer wants to provide fun to all customers so do their best to stop botting, a profit oriented company doesn't give a damn about the fun of its workers, so in real life, low quality workers are fired and replaced by "bots": machines.

By the way, this result forces me to cancel my previous statement that "Blizzard supports botting". The truth is that they can't really do anything besides seeking for the bot program in the computer memory. They can't have any bot behavior filter that seeks what bots do, because it would catch large amount of legitimate players who are just so bad that can't be distinguished from bots. I mean if we would ban everyone who do the same in a battleground what I did in WoT (running in some random direction and attacking the first thing with red letters), WoW would be below 1M subscribers overnight.

What is the goblinish advice for today? Be smarter than 100 lines of script! Simple isn't it? Well, results show that for 80% of our fellow humans, not so much.

9 comments:

Ahtchu said...

This was a very, very good post illustrating precisely what an M&S as well as legitimately BAD player performs at.
Thank you for demonstrating this.

Happy Forum said...

This was interesting, but I have to disagree with the following statement: "Be smarter than 100 lines of script! Simple isn't it? Well, results show that for 80% of our fellow humans, not so much."

The reason I disagree is that your results might very well only apply to this game.

To see this, one example is if someone who plays a lot of online Poker cash games filters their database of hands played to see what percent of players are winners (making money) and losers (losing money), they will almost always come up with a 40:60 spread of winning vs losing players. However, the actual number of winning Poker players is much lower, probably less than 20%, but it isn't evident by simply filtering for money won/lost because winning players will stick around and take up a larger portion of your database where as there are many many losing players that only put in a few dollars and then stop playing when they lose all their money.

Your World of Tanks example might suffer from a similar but opposite effect: Good players might be leaving where as bad players might be staying.

This can be taken a few ways. It could mean that players which have the capacity to be good are leaving the game to find a more challenging game, or more likely that players which are good quickly find other good players to team up with or if there is a rating system that system is trying to group players of similar skill together (match making rating or Elo or something).

I'm not sure which explanation it would be, but it is interesting to note that because WoT is a team game, it is beneficial to play with other good players.

Since Poker is not a team game it is disadvantageous to play with good players.

So what I'm saying is that counter-intuitively, Poker is actually more likely to be a 20:80 good vs bad spread because bad players leave so it's hard to observe the true number of bad players easily, and WoT may very well have a more even than 20:80 spread because good players are encouraged to team up with each other (clan match or something) so they are not easily observed.

WoT probably is a 20:80 spread since most things are, but I'm just saying that from these results alone it might be hard to tell.

Bobbins said...

The Marder II pops in alot in your posts. As alot of players are just passing through that tier I wouldn't say the vast majority of players are concerned over optimising that tiers tanks (whether skill or equipment).

The tank to Bot is the M3Lee this tank is a nightmare to use (it should be used as a TD really).

rasfo said...

It's about tank u are using. It is tank with best gun on t3. Marder II is quite often twink tank as it is clearly best t3 tank.

Anonymous said...

http://www.technologyreview.com/blog/arxiv/27343/

This article is about a white paper about this distribution (I can't recall if you mentioned it's name, http://en.wikipedia.org/wiki/Pareto_principle), which essentially concludes that it can be derived if we postulate that chances of winning/losing against each other increase linearly with the distance in the opponents' rankings. (This study dealt with tennis rankings in particular.)

Sorry if I didn't add much, just trying to understand the underlying cause of this phenomenon.

Botter said...

As a botter I totally agree with you. In fact bots can outperform a lot of players in battlegrounds. Believe it or not a bot developed by a group of German programmers can actually be configured to capture bases in Eye of Storm or destroy Demos in Strand of the Ancients, and if it is a healer that is botted it can follow a random player and keep on healing him.

Some bots have gone beyond the follow a path and kill whatever is hostile.

Anonymous said...

Bots actually do surprisingly well, because of the simple fact they're very good at doing what the user explicitly told them (and of course nothing more, no running around following pretty mounts unless asked to).

And that's exactly why your experiment worked so well, you had a better strategy than the average player (who perhaps has none!) and followed it through. Yes, most of the time you got killed, but I'd guess usually at least some chose to follow "your zerg"

Bumpy said...

In this post, you are basically rushing, pausing to attack anything that gets in your way, then continue rushing.

I've noticed that in the majority of WoT games I've played (tier 1-6, though always against tier 9 opponents), is that most everyone camps in the middle of the map, and one or two folks rush. In these battles we just lose, since no one wants to go back to defend, nor move forward to cap.

IDK if they are afk, indecisive, or just not paying attention to how many tanks are left vs where they are on the map (note: requires looking at map), they just sit there and "wait for the enemy" who will never come.

If all these other players would just push forward, we could win. Otherwise, usually what happens is that they get picked off one by one, or lose to flag cap.

If I could replace my team with rushing bots, I'd do so much better.

Gankalicious said...

I'd be curious to see the results of this experiment in, say, Tier 8 as the potentially newer players who are participating in the tiers your Marder was in will be skewing the generalizations about 'all players'.

That said the average skill of the average random group can be quite frustrating.