EVE Devs Dissect, Explain Massive Economic Exploit
In December we discussed news that a major exploit in EVE Online had just been widely discovered after being abused by a few players for up to four years, creating thousands of real-life dollars worth of unearned in-game currency. Representatives from CCP Games assured players that the matter would be investigated and dealt with; a familiar line in such situations for other multiplayer games, and often the final official word on the matter. Yesterday, CCP completed their investigation and posted an incredibly detailed account of how the exploit worked, what they did to fix it, how it affected the game's economy, and what happened to the players who abused it. Their report ranges from descriptions of the involved algorithms to graphs of the related economic markets to theatrically swooping through the game universe nuking the malfunctioning structures. It's quite comprehensible to non-EVE-players, and Massively has summarized the report nicely. It's an excellent example of transparency and openness in dealing with a situation most companies would be anxious to sweep under the rug.
Makes me actually want to go and play the game. I mean, when you have a company that obviously does care, to a certain degree, you should go and help them out a bit. Only problem is, the game has a complexity level that has me reeling.
They should find and fix exploits in the real economy.
Earth-online.
Really? You'd say allowing people to willfully exploit until a bug can be fixed is a good thing for a game? To incentivise your playerbase to keep 'decent' exploits hidden for as long as possible, to maximise their gains?
No, I don't think so. EVE GMs don't ban you for 'finding' an exploit. They're banning people for blatantly abusing said exploit. Sure, exploits 'shouldn't exist' but they do, and they always will.
Internet Spaceships are SERIOUS BUSINESS for a lot of the people in EVE, who tend to be much more in to the game than players of other MMOs. If the Devs didn't come down hard on this, the forums would be in open revolt.
Note how, at the end of the article, they are careful to inform us that no Devs were involved in carrying out the exploit. The last time a big story like this broke, it was to do with a Dev cheating, and the players were in uproar.
Eve is all about breaking the 4th wall. Hell, CCP employ a real, Phd-equipped economist to analyse their game, and provide market analysis every few months. The spy scene in Eve is quite famous too - most of that is carried out through mechanics outside of the game. Eve is not WoW, the userbase demand a completely different treatment of bugs such as this, that could potentially effect the balance of in-game politics.
EVE has a single universe, and a notable penalty for failure. Those two things mean that 'something like this' can have far reaching consequences across the universe and gamedynamics. It's not really like someone item duping on a PvE server, where ... well, actually that guy over there cheating doesn't have much impact on your game. The magnitude of this exploit is such that alliances can rise and fall with the amount of cash in question - and when an alliance falls, there's another player on the receiving end of the sackbeating.
... well, takes a lot of fun out of the game.
... year or more ... internal affairs is scrupulous about it, because the vast majority of CCP employees are as much EVE addicts as the player base.
To use an analogy, no one really cares if you've got god mode on in single player Doom. Maybe you find that more amusing, but no one really cares. Face off on someone in a deathmatch though, the fact that they're invulnerable and you're not
And yes, they're quite careful about the devs thing, because of that scandal. If they _hadn't_ mentioned it, then the question would have been asked. From what I've seen over the last
Let's say you rent a safety-deposit box, and use it normally for a few months. Then you cancel it and... through some weird oversight they forget to take back the key and access.
So the day after, you take a look in the safety-deposit box, and find it stacked full of money. You go to report that the situation.
However, the guy you're talking to is one of the spanish janitors they got working there, and he doesn't really understand what you're talking about. He's not a banker, he's just there to clean the floor.
So what do you do? You take the money, and return the next day. Oh my, there's even MORE money in there. And you kinda realize the bank is using that box for storage, so you're not really stealing it from other people using the bank. And as long as you don't go strolling out of the bank with bundles of money sticking out of your pockets, they'll have a hard time catching you.
I guess you could be stupid enough to think the magic money is clean. And the close friends you told about the safety-deposit boxes, they're also all that stupid.
The exploit was pretty much the equivalent of the above.
- These characters were randomly selected.
Smart developers do not have an adversarial attitude towards the people that pay their salaries.
Who pays their salary more? The odd 150 cheaters or the 150k non cheaters expecting the cheats to be banned? They'd lose more customers if people got the idea than cheating wasn't kept in check than they lost with that round of bans.
There was a bug in the way items were produced, making free items.
The economy reacted accordingly by decreasing the market cost for these items.
Items that need these free items were also accordingly cheaper.
When discovered, the costs of the free items and the items requiring them shot up due to market speculation and decreased supply.
The economy in general will have some bumps, but will eventually recover.
The perpetrators have been shot.
EVE provides a realistic, persistent world that is NOT totally controlled by the people that programmed it.
Game events depend on the players in many more ways than a simple MMO like WoW. (Not that WoW is simple but in comparison to EVE it plays like a kid's game in the simplistic play.)
It's more like the difference between driving an R/C car and an airplane. The Car (WoW) is more 2D in the gameplay. You're restricted to forward, back, left, right. All the characters pretty much play the same. With EVE, the sheer complexity of the skills and economic systems makes the gameplay extremely rich and absorbing.
In fact, that's the downside to EVE. It, like all MMO's becomes a timesink of immense proportions.
One of the best features is the fact that dying can bring with it immense setbacks, wiping out months/years of work and finances. That's an ever present edge that most all other MMO's lack. Keeps you glued to your seat during firefights. :)
As for the complexity? The game has one of the best tutorials and new-game experience of any game I've ever played. They know it's complicated (but then so is life) so CCP has gone to great lengths to make it EASY to learn how to play. It takes time and talent to play well. :)
If anyone is wondering what POS is short for, it's "Player Owned Station".
Personally I think the article reads a lot better if you instead use "Piece Of Shit":
CCP Games explains the scenario from the ground up, detailing the POS game mechanics for those unfamiliar with the industrial side of the game, and pointing out how the POS exploit worked.
The proper order in which to evaluate a POS is essentially breadth-first traversal....
POS Reactors are complex beasts, but not quite so bad as POS Control Towers.
and so on.
Something like having a requirement to make a reactor (have a resource), then make it, then remove/reuse the resource without the reactor being shut down / removed, then rinse n repeat?
Basically, yes... someone removed the resource silo link when the reactor was running, and the reactor continued to create material after the resources were cut.
Quoted from the "incredibly detailed account" linked in the OP:
Reactors always need inputs, right, guys? Right. Let's save cycles here and just not evaluate this reactor! I mean, it'll never get evaluated and thus never come online, right? ... Right?
Oops.
So, presume you've run a few cycles of your POS. Your reactor is humming along nicely. It has produced stuff this cycle. It has produced stuff last cycle. The Control Tower is running all of your stuff in the right order. Everything is fine. Until something unexpected happens.
The user cuts off all the links to the reactor.
The Control Tower, crazed by its optimization logic, careens through the production code. Wide-eyed, it reaches your reactor first. In its addled eyes, it sees only that the poor reactor has no links.
The Control Tower speaks.
"We can't stop here! This is bat country!"
Onward the Control Tower drives, speeding towards the silo at the far end of the reactor's link.
The reactor has not been evaluated. It does not know that another cycle has passed. It still remembers, fondly, grazing on inputs during its previous, un-bugged production cycle. Without this information, the silo goes ahead and adds another cycle's worth of goods to its stack.
Free stuff has entered the system.
The starbase production contains several steps.
At the start of the run it is determined which structures are active.
When it has been determined which structures are active, the next step is for each structure to perform one work step. One structure reduces its material stack. Another structure produces an item. Yet another structure adds the item to its output stack.
The bug was in the algoritm that determines if a structure is active or not.
All structures are assumed to be chained together in a particular order. Reactors must have an input silo with materials ahead of it in the chain and an output silo behind it. Because it was assumed that a reactor would not be online if it didn't have an input silo ahead of it, it was skipped during the check if it was first in the particular chain of starbase structures.
The exploit worked because you could remove a structure from ahead of the reactor chain while it was online. The reactor therefore became first in the chain while still being online and since it was now first it would be skipped in the activation check. The reactor would therefore remain online forever, producing materials during each production run, but without consuming any reactants.