Hey Hey Hey It's Magic, You Know..

Life is pretty hectic around here with multiple jobs and consulting gigs, as well as personal research to do. I find it’s pretty much a requirement to have something to go home to and relax and take some time off. In the past I’ve used lots of different games in order to accomplish that, but recently one of my labmates reminded me about Magic: The Gathering, the most popular CCG on the planet basically which I used to play a lot. I went to a local shop and played a draft, which was a lot of fun, but a huge hassle. Then I remembered that I still had an account on the online version of the same game. After some confusion over which email I had used to sign up for the service, I re-logged into the account to find that I still had a few cards left, and the game was pretty much just as I left it two years prior. Lately I have been playing it and amassing another collection of cards. Some people are concerned about paying for virtual objects, but I don’t have such qualms, as I’ve paid for virtual objects before (ever buy software?) and the fact that my account was still around so long after I had originally used it and with all the same cards intact is quite a good sign. I also have a small deal going where I am a minor dealer in the game, buying low and selling for slightly less low, making some tickets (the de-facto currency of MTGO) in order to fund my habit. So far I have made back the money that I initially put into the game and have a bunch more cards.

Soon after I started playing the game again, I discovered that there was a new client and server being developed. You see, the Magic: The Gathering Online servers have a problem - they don’t hold up to pressure very well. From what I have gleaned from the forums (which the developers actually read and respond sometimes) the architecture currently in use looks like the diagram here.

Anyone notice a scalability problem? Would it help to point out that every single client is connected to the “main” server, and absolutely everything that doesn’t involve logging in or gameplay is done through that server? This includes trading, chatting, and just navigating to other games. Apparently the previous company who created this server structure didn’t think it would grow too large, or they were using it as some type of insurance. Because of this horribleness, the servers crash a lot - sometimes close to daily. The developers at Wizards of the Coast have been working on stability lately and the uptimes have improved. Still, lag is horrendous when using the main server – at least it doesn’t affect games. I’m glad that they’re replacing this bad server design with something that is better. I’ve been playing in the beta the last few weeks, and the new servers held up to a stress test with a large number of actual users – around 700-800, depending on who you ask – and a bunch of bots which were simulating a much larger load than a normal user. There wasn’t even a blip on my radar. It gives me some hope for the future of the game.