Monday, May 20, 2013

World of Tanks cheat: introduction and trends

More than a year ago I wrote a pair of posts that World of Tanks, one of the most popular online games cheats its customers. The posts themselves aren't really good, they contain anecdotal and circumstantial evidence. Yet, these posts are my most visited ones even a year later. I mean they get on top of the direct page hits (when someone look for a specific page instead of the blog top page) every new month. I think they resonate with something my readers found themselves.

Since my main focus is EVE, I learned how the Incarna riots changed CCP for the better. I abandoned World of Tanks back then with no hope for it. Now I believe that players can force the developer to fix its messed up game. If EVE could be fixed after it tried to exploit its customers via pay-to-win, WoT can be too. So I thought it's time to revisit that game, this time properly collecting data. So with my girlfirend we started a pair of accounts and started playing. We picked the newly introduced British TDs, because the newly introduced tanks are usually overpowered, so the results will be more obvious. The results indeed came, and they came in such numbers that they way exceeded my original plans. Instead of a revisit post, it will get a 5-pieces series, each focusing on one-one aspect of the cheat, with lot of data and experiments.

Before I start, let me clarify what I consider "cheat": something that affects the outcome of the game except player skill and unbiased random number generator. If you play a dice game and the dice has 1/5 chance to give 6 instead of 1/6, someone is cheating. If someone can read the back of your cards to see your hand in poker, he is cheating. In team games you get teammates from the game provider whose actions you can't control. They act as random elements and can cost you or give you wins you don't deserve. However on the long run, you are the only stable element in your battles, the effect of your teammates mold into a big "average player" effect, providing a result that represents only your personal performance. If you gain rating in League of Legends, it is because of your skill, even if sometimes your teammates do carry you. If you have 40% winrate in World of Warcraft random battlegrounds, it's because you are bad, despite you will often lose because even worse teammates.

Matchmaking must be totally random if there is no official rating and your winrate must only be affected by your performance (after enough matches). Matchmaking should be according to the rules of a tested rating system if there is an official rating ladder to guarantee that your rating represents your performance. An individual shot by your tank must only be determined by stats of your tank, the enemy tank, the terrain and an unbiased RNG. Important note: having a rating system without official rating ladder (hidden rating) is a severe case of cheating, as one player must play much better to win the next battle, but it is considered equal by participants and spectators. Winning at 2300 rating is much bigger task - therefore bigger feat - than winning at 800 rating. Hiding the rating will equalize the two - very unequal - performances.

While it should be obvious, I write it down: cheating in a game is bad, as it takes away the chance to experience flow by destroying one of its necessary elements: "a sense of personal control or agency over the situation or activity". A game against a cheater is frustrating and no one wants to do that. Cheating is grounds to be banned from the game in practically any games. Cheating in a game where the reward is real world money (like poker in a casino) is considered a crime in several countries. Finally, while the game provider is free to set any rules in its own game, they must be made publicly so the players can choose to not play that game. If the rules are hidden, especially if they are against commonly accepted norms of gaming, they are cheats and must be treated accordingly. One can create a roulette machine that never gives black. But one can't place it to a casino without explicitly informing the players as they would play under the commonly accepted custom of black having 50% chance.

I believe no one would give money to play World of Tanks if the game provider was upfront with matchmaking and individual shot rules. The game provider gets its huge amount of income by making the players believe that they participate in fair games where the teammates and opponents are randomly chosen and in case of two identical tanks battling, the outcome only depends on player skill.

What is my aim? Not simply to incite an Incarna riot in World of Tanks. CCP did not cheat, they changed their game openly, giving the players only two choices: take it or leave it. Incarna riots were players choosing "leave it". World of Tanks is cheated, giving a third option: exploit the hell out of it. After identifying how the cheats work and more importantly "why", I designed how can they be exploited to provide players extreme influx of credits and XP at the cost of making the game unplayable to everyone else, without breaking any written rules. This is the beauty of cheating: they can't say "we didn't mean this back-door to be used by you, we placed it for someone else". After reading this series, you'll either uninstall the game, massacre newbies in pimped lowbie tanks for fun or use the exploit to get credits for gold ammo and tier 10 tanks for your clan matches. This will force the developer to change the game to the only unexploitable way: fair.


Today I start with the weakest proof: trends. If the matches are unbiased and you have X winrate, the chance of the next match being won is exactly X. On the other hand every player experiences suspicious winning or losing streaks. This is a weak argument because the chance of 10 heads on 10 coinflips in a row - while very low, 1/1024 - is not at all impossible. If you throw group of 10 coins 1000 times, the chance of not having a group with all on heads is (1023/1024)^1000 = 37%. So I initially wanted to ignore trends, but found a strange pattern repeating itself again and again, so later I started collecting such data and discuss them.

These data are win rate snapshots with the Tier 6 tank AT8. From the account page you can add the recent: 484 battles, 300 wins. Using this data, let's calculate the winrates of the various periods:
  1. First 29 battles: 24%
  2. Next 71 battles: 65%
  3. Next 86 battles:57%
  4. 198 most recent battles: 66%
While you could blame on the first data on "stock tank" effect, the drop in the third period cannot be explained this way. Also the tank won't get enough XP to turn elite after 29 matches (it had 6245 total XP on the first screenshot), so the same stock tank that lost 76% of the matches turned into a 65% winning monster. After finally reaching elite status, crew getting skills and the player behind getting more experience, win chance dropped.

Now let's consider the alternative, that the game tries to make every player "average", in order to make no one quit over "too hard" or "too easy". In this case the game estimates your skill and gives help to the bad players and handicap to the good ones. An ordinary player plays with various tanks, giving large sample to the game to calculate with. We only played with a few tanks. Before we started playing AT8, we played 116 matches with only one tank, its predecessor, the AT2. AT2 is a shamelessly overpowered tank. Whoever designed and OK-ed a tier 5 tank with 200mm front armor (as strong as the tier 10 heavies) have no place in gaming design. We made a killing with that tank, making the algorithm believe that we're some kind of super-gamers. So it gave us serious handicaps. Combine that handicap with a new stock tank and you get horrible winrate. When our poor results with AT8 got into the dataset, the algorithm overcompensated, providing 66% winrate which is World top 1000. With these data added to the set, it finally got our "proper" value and we got our place with 57%. Then we left AT8 for the next tanks. Tier 8 enemies are harder than Tier 6, our results with AT15 were worse than with AT8, it's normal. But when we returned to AT8 to farm credits to buy the Tier 9, the algorithm used our AT15 results to calculate handicap, giving once again 66% winrate. The effect was further doubled by two players in the platoon having the same unbalance.

The most recent data from the site is 260/471, let's calculate the winrates of the consecutive periods for the tier 8 AT15:
  1. First 20 battles: 25%
  2. Next 28 battles: 57%
  3. Next 18 battles: 48%
  4. Next 84 battles: 58%
  5. 320 most recent battles: 57%
The same oscillation, despite the AT15 starter gun is almost as good as the final gun. Bad start, overcompensation, recompensation and finally with maxed tank and crew, a good but not spectacular results.

Preparing this to happen again, I wrote down every individual result with the tier 9 Tortoise tank. Remember that I wrote we returned to AT8 to farm credits for Tortoise? So the last data the algorithm got was our 66% winrate when we started playing Tortoise:
The graph shows the average winrate up to that match, so the "30" point is the average of the first 30 matches, the "50" is the average of the first 50 matches. Same pattern: terrible start, overcompensation, recompensation. Of course 40% can't be the final result and it would have been interesting to see how the Tortoise runs up to a couple hundred matches, but we ran out of credits and didn't want to pay a cent to the company to get more credits. Farming with other tank would have broken the results, so this is it.

What does the above tell: that the match outcome is pretty surely manipulated, there is an algorithm calculating your strength and then rig the matches to level you to the average. Tomorrow we'll discuss one way of messing with the match: messing with your shots.

PS: If you'd think we purposefully lost to fabricate these results, please wait until Friday before commenting. You'll see that it's impossible to fabricate such data.

Friday, May 17, 2013

Crashing Neocoms

About a month ago I wrote that certain planetary products are much less profitable than others, making them a loss in opportunity cost. I started making Neocoms (T3) using Silicate Glass (T2), biofuels (T1) and precious metals (T1). It promised 1B/month with very little work. Now look at the price graph of Neocoms:
Ouch! You might be tempted to say "bad luck", but it had very little to do with luck. An advanced factory produces 3 units of Neocoms an hour. 7 factories, 6 planets, 24 hours : 3024 units/day. Now look at the traded amount on the chart! Only 5-10K/day, meaning I produced about half of the Jita-marketed Neocoms! No doubt that such supply boom ruined the price.

This is something we don't see often in a player scale. Honestly, I did not think of it either, and paid with lack of profit for it. Sure, Goonswarm can manipulate an item, but a single pilot (no alts were involved)?!

The problem was that Neocoms isn't a common item. Most PI producers go for "all by myself" production, they produce P4 without buying anything, they extract everything and combine it on different alts. Only a few players bought or sold Neocoms, making it a very sensitive product. I've learned from this mistake, so shall you. Check the volume of the item before starting mass production.



Finally a business tip: if you are a jump freighter pilot who jumps a lot (doing it as a serious business), I'd suggest to use the training changes of Odessey to train the JFs of all four races, so you'll be able to switch to the JF that operates with the cheapest isotope. Fuel prices will be very hectic and likely to rise significantly.

Thursday, May 16, 2013

Cap boosters, T2 ammo and time

Two things motivated this post. One was Sugar saying "I do not think that most people would take a Drake, Hurricane, Ferox, Myrm or any other battlecruiser into low sec at the rate that people are taking Gnosis." The other was a troll commenter saying "PVE ships should never require Cap Booster Charges."

The answer for both: people are still bad at understanding opportunity cost. They don't want upfront costs and thinking ends here. A Drake hull costs 70M. That's lot of money for someone who grinds for it. They don't risk it in a random PvP situation. A Gnosis is free like the noobship, so they drive it boldly to lowsec. They could sell the Gnosis for 200M instead and buy nearly 3 Drakes, but that's beyond their understanding.

Let's get to cap booster charges. A naked Raven Navy with all 5 skills has 19.2 peak capacitor recharge. With a Heavy Capacitor Booster II, filled with Cap Booster 800 charges: 76.3. With 3 CCC I rigs and 4 Cap Recharger IIs: 76.2. The cap booster needed one slot, the second setup 4+3rig.

The Heavy Capacitor Booster II cycles in 12 seconds and needs 10 seconds to reload the 5 charges, so one charge lasts 14 seconds. If you run it all the time (you won't), you can eat 257 charges an hour (that would need 8000m3 cargohold, I told you won't). A charge costs 4000 ISK. So burning cap booster charges as fast as you can costs you 1M/hour. If you can fit something into those freed-up slots that increases your ISK/hour more than 1M/hour, it's a good choice. What can you fit? Webs, Target Painters, Tracking Computers, Omnidirectional links that make those pesky rats die faster. An MWD or MJD next to the AB for cutting travel times inside the mission. Switch to shield tank in ships that allow both tanks and fit more damage modules. Or simply fit stronger tank and decrease gank chance.

Same goes for T2 ammo. T1 is cheaper for sure. T2 does about 15% more damage, finishing the combat part of the mission faster. Since you don't consume ammo when you aren't shooting we should only focus on this. 15% more DPS means 15% more bounty, loot and mission rewards in the same time. If you made 40M/hour, it means 6M/hour. With 8 guns, 5s cycling time, you use 5780 ammo in an hour. If the price difference between the ammos is less than 1050 ISK, you are better off with T2.

Cheap is often the most expensive. Your time isn't free, the gift Gnosis isn't free either. Always mind the opportunity cost.

Wednesday, May 15, 2013

The perfect limited-gate highsec mission boat

Next week there won't be business Thursday post, because the week will have a series of connecting posts, so this week there are two business posts!

If you have a combat mission to complete, you just drive a battleship into it and it's done. But some missions and complexes have gates that don't let battleships in. The COSMOS missions, with their hoards of faction reputation are such. Now add that you aren't really skilled into combat ships because you are a trader. Or you are skilled into ships that don't fit the damage profile of the rats inside. Anyway, you have a bunch of missions to do with no proper ship to do them. If only there would be a ship that can fire any damage profile, tank any damage profile, fit into acceleration gates, have enough DPS and tank without month-long skill training, have large cargohold, cap-stable while MWD-ing ... And if we are dreaming, why not be bold: this dream ship should be in our hangar for free instead of being a billion-ISK faction-fit T3 to buy. One can dream, right?

And sometimes, dreams just come true:
This is an EM/Explo tanking and dealing fit, but you can tank and deal any damage profile by replacing hardeners and changing weaponry. The ship is in your hangar without paying as it's an anniversary gift, but it's not for free, as you can sell it for 200M currently. However that's still much less than a T3 would be. If you are low-skilled, it's even better as you can fit anything that you can use. If you are only skilled with missiles, fit it with missiles, the damage won't be perfect but will be adequate. The drone bay can hold a flight of medium and light drones, so you can always cleanse those pesky frigrats. The hold is large enough for having enough cap boosters to keep that ancillary shield booster running.

Unless you bling it or its price going over a billion (when you'll sell it anyway), you can fly it safely in highsec. Don't forget buffer-tank, being gankable by a pair of Catalysts is plain stupid, along with flying under wardec and other things you shouldn't do anyway.

Tuesday, May 14, 2013

Dual character training

One of the new features of the next patch of EVE is dual character training. You probably already know that for a PLEX it will allow training of a second character on that account. You probably also know who are targeted: those who need a 2-5M SP alt for some purpose (cyno, scout, manufacture, research, hauling, trading...). Such alt won't need training after completion, so giving it a permanent account is pointless. Without the new feature, you either had to stop your main from training or train the alt on a different account and then transfer. The transfer cost 2 PLEX-es, but you could recruit-a-friend yourself playing 51 days free. So the new feature saves you 1/3 PLEX and the hassle to manage the account, the APIs, the transfer, making it a welcome change.

I want to talk about two things that were not mentioned: the first is the effect on PLEX prices. It's hard to tell, exactly because people used to do the training on a throwaway account that ate PLEX-es, along with the transfer. The new feature will be just a quality of life change for them. The question is: will this feature create new trainings? I mean people who choose not to start a second account and wait with the alt can now choose to start the alt, eating up PLEX-es. There surely will be, but can't tell how many. Also, the feature saves 1/3 PLEX for those who used to use a second account. So I wouldn't take this as an "Oh my God, PLEX will skyrocket, buy, buy, BUUUY" frenzy.

Secondly I'd like to tell that - despite I'm literally swimming in billions - I've never used the character transfer feature. I listed my characters on my 1 year EVE-birthday and you could see that many accounts have more than one character. Yet, I've trained them without transferring, simply stopping other characters on the account. While it was sometimes inconvenient, I did not regret my choice to wait.

You see, an account gives the ability to have a character trained and to have one more logged in. The transfer-train and the new second character training only allows you to use one of the features, losing on the other. If you don't want to have one more logged in characters, you only play a PLEX for the service of getting skillpoints now. The question is, does that character have the utility that worth 2-3 PLEX-es to train now, instead of waiting until the other character can stop training? Or alternatively, does your main really needs to train now so hard that it worth you 2-3 PLEX-es?

In the case of a business pilot, the answer is numerical. Does accounting 5, broker relations 5 saves you 250M before your other characters on the account can be stopped training? If not, then don't train them. Do the extra turns with the smaller hauler, the extra jumps to go to the station instead of setting remote orders cost you so much time that multiplied by your ISK/hour it is higher loss than the cost of the character training?

Remember! One day there will be nothing (that makes sense) to train on your account and you'll be paying only for the ability to log in and your training will go into some obscure nonsense 5. So by enough waiting, you can train all 3 pilots to anything. Since you surely pay to log in, you get the SP for free then. The question is: is the waiting bad enough to warrant paying? I already gave my answer: for me, no. I always choose waiting and did not regret it. Also keep in mind that people who can wait have bank deposits, those who can't wait have loans. The dual training feature isn't from the Devil, but think before you jump on it!

Monday, May 13, 2013

Keep it simple stupid! (or the CSM election fail)

There was a massive failure of having significantly less voters this year than the previous: 49702 vs 59109, breaking a long positive trend. While CSM7 wasn't something spectacular, it couldn't cause the loss of voters, it could only cause the loss of votes for the CSM7 members re-running. If I find the president horrible, it's more likely to show up for voting next time.

I saw two reasons for failure: one is the over-complicated voting process. The other is the PR of nullsec blocks which tried to make everyone turn away from voting to increase their power. Ironically they decreased their own voters, probably because a "highsec carebear" finds more fun in figuring out a complicated voting process than a "let's shoot stuff" guy. The null blocks meta-gamed since ever, so even the second cause is CCP fault: creating a system that could be communicated as over-complicated, obscure, simply because it was.

Now, before someone would comment: STV is better than first-pass-the-pole voting. It represents the wishes of the voters better and decreases the losses via votes on losers and overvotes. The PR they finally made up "42299 votes affected CSM8 while only 31801 affected CSM7" is true.

However STV needs serious, committed voters who fill up the ballot with well-thought candidates, and this was something they could surely not expect, considering the low voting tendencies. Even CSM7 votes were 15-25% of the total vote-able accounts. CCP tried to save partial votes when large majority of the votes were lost by never being cast. The same effort to publicize CSM, to give CSM in-game tools to communicate with people, to run opinion surveys, to send the CSM "tickets", questions and town-hall-ish requests would have caused much more votes, therefore much wider support.

But still, there is no reason to not optimize the voting system. However their own results shown that most exhausted voting happened on 1-3 long ballots, while almost 40% of the ballots had this short length. It is obvious (and was obvious) that serious amount of people don't have a long priority list. He might like one or two candidates but not more. Interestingly, the 1-long ballot-"winner" was Greene Lee, who did not get on the CSM8.

CCP should have kept it simple. "Simple" is not the opposite of "optimized", as we can have both. Most IT systems offer "simple" and "expert" modes. Even the sell and buy windows of EVE market have it. The CSM election screen should have been a simple mode one, having only one slot and the candidates alphabetically, allowing the casual voters to cast one vote. Besides the "cast vote" button, should have been the "expert mode" button that leads to the current STV screen.

Of course this would have created lot of 1-long ballots, and those had 52% exhaustion value. However such vote still has 48% power, compared to the zero of the uncast vote. Finally "simple mode" wouldn't have to create 1-long ballots. There are two ways to increase the power of simple votes. One is simple ballot copy: if I simple-vote for Mynnna, I express that I trust Mynnna alone. This case it's rightful to create a 14-long ballot for me: the exact copy of the ballot Mynnna casted. Remember, I gave all my trust to Mynnna with my simple-vote. If I'm not happy with that, I can custom-vote. This system would also save lot of time clicking for bloc-voters: "just simple-vote for X guys!". The other method is not processing 1-long ballots as ballots, but directly subtract their number from the quota of the candidate, allowing the longer ballots to exhaust less. This case a simple-vote is 100% used, unless a candidate is elected alone with simple-votes or not elected at all.

Having optimized systems is good. But having simple front-end when you deal with simple people is more important. I hope CSM9 elections will be better organized.

Friday, May 10, 2013

A good example for traders

Sugar Kyle who runs her own blog has a shop in Bosena, Molden Heath lowsec. Her little business is pretty successful, despite obvious mistakes (get a JF already!)

Is it some miracle? No. The lack of formal economics knowledge is irrelevant compared to the proper attitude. She has it, so her fate is to become damn rich. Her example is important exactly to show that being successful in business is not about using the proper tools, having proper item selection, time efficiency or other know-how (though they clearly affect the magnitude of success), but having the proper mindset:
  1. Wants to serve her customers: This is a make it or break it issue. If you are in to rob everyone and run away with huge spoils, you have like 5% chance to make a great heist and 95% chance to leave busted. If you are interested in mutually profitable cooperation, you have 100% chance to make some profit.
  2. Does what she wants: everyone, including corpmates, commenters and JF-obsessed goblins tell her what to do. She ignores them and does what she plans. If these people had a good idea how to run a lowsec hub, they'd done it themselves. So she is completely right to listen to the one who has the most experience in running a lowsec hub in Molden Heath: herself. Listening to people's opinion is a social mistake, most people have great difficulty learning to ignore them.
  3. Doesn't want to market-PvP: people tend to spend great resources to defeat this or that competitor. They usually succeed, at the cost of losing much more money than it would cost to just coexist.
  4. Doesn't want to get rich: another crucial thing, such ambitions just lead to overwork (which leads to exhaustion and multi-billion mistypes) and also leads to risky investments (that end up as a disaster). Working on your own schedule, working for the thing itself is the best way to have a steady income.
  5. Focused on graphs, trends instead of direct income (or opinions): Rome wasn't built in a day. If you can't find joy in the decreasing price of Light Neutron Blasters II, you won't last long here.
So the business tip for today: subscribe her blog and try to absorb the above.

Subscribe to the goblinish wisdom