It’s been a week now since Call Of Duty: Modern Warfare 3 launched and the massive problems with Call Of Duty Elite first reared their ugly head. The service was supposed to bring a new level of depth and cohesiveness to the online shooter experience but instead it has presented nothing but frustration for gamers. The overwhelming number of players has just been too much for the system and has kept thousands of players from registering and logging on. While I commend Activision’s upfront handling of the situation that still doesn’t change the fact that this was a completely avoidable problem.
In the world of technology, the Call Of Duty Elite service would be classified as a system that needs to be highly available and highly redundant. This means that the service needs to be up and working the majority of the time and it has to have failover capability in case certain components fail so that the entire system doesn’t go down. If you asked a lot of IT people, they would tell you that the issues with Call Of Duty Elite are simply a symptom of poor planning and insufficient testing. In the world of IT, we spend hours and hours testing systems to make sure they can handle the necessary load across all parts of the system. The constraint that most IT people have with this type of task is that they usually have to do this with mostly commercial software. This puts them at a disadvantage because they have to work within the constraints of the code that someone else wrote.
In the case of Call Of Duty Elite, Activision didn’t have this problem. They wrote the code that runs Elite, they created the specifications for the hardware it runs on and then they integrated it. They controlled all the variables and if there were any inherent weaknesses in the design they should have indentified them up front and either got the code rewritten or done something to mitigate them. While Activision couldn’t have known exactly how many people would attempt to register and access the Elite service at once, they probably had a pretty good idea. Call Of Duty is the biggest entertainment franchise on the planet…PERIOD. The game had millions of preorders and sold a record 6.5 million copies in the first 24 hours in just the U.S. and Europe.
What makes it more troubling is that they ran a beta this summer to test out the service and while they couldn’t duplicate the load they were going to see in the beta it did give them a chance to understand if things were working as expected. To get an actual understanding of what the system would perform like under heavy load they could have run modeling simulations. This would have allowed them to simulate a million people doing certain actions at once and seeing whether or not the system could handle it or not. They could have simulated tons of different use cases in order to better understand what would happen. When you hype a service up so much, I can’t understand why you wouldn’t do everything in your power to make sure its rock solid. At this point, I have heard a lot of reasons as to why the Elite service isn’t working properly, everything from there were more people than they expected to the console applications are generating more load than projected. I appreciate that and understand it but it’s not an acceptable excuse. If Activision wanted to know how to build a system that needs to handle millions and millions of transactions a minute they could have reached out to Facebook or Amazon or any other company that runs systems like this all day every day.
The bottom line is that Activision had both the intellectual resources and funding at their disposal to avoid this issue. Call Of Duty may cost several million dollars to produce, but its production cost is nowhere near the revenue it generates. The game made a half a billion dollars in 24 hours folks. If Activision had to spend a few extra million dollars to make this service capable of performing flawlessly on Day 1 then they should have done that and the fact that they didn’t is just plain arrogant. It shows a lack of appreciation for the customer to me. If Elite wasn’t ready for primetime as release date neared, they shouldn’t have brought it online.
I want to be clear that the purpose of this post is not to insult the hardworking people at Activision and Beachhead that built the service and are now working hard to fix it. The goal is to point out the fact that this didn’t have to happen his way and relay to other game companies that you can’t put out half-ass services when people have spent their hard earned money on your game and then keep saying my bad. Eventually Call Of Duty Elite will get fixed and gamers will forgive them and game on but I hope that they don’t forget.