Thursday, May 31, 2007

Magic Online Blues

It is May, 2007 and Magic Online 3 beta testing is currently going on now, but the final version will be out “later.” I’ll refer to Magic Online as MODO, which was the old name, which stood for Magic Online Digital Objects. MODO 2.5 has had major problems like the server crashing. MODO 3.0 was supposed to have a better user interface, with a bigger play area, as well as more features for clans but 3.0 is in trouble. The card text is hard to read, the server still seems to crash and the user interface is not a major upgrade. So what went wrong?

This is all conjecture, since I am on the outside like the rest of the world. First, supposedly Wizards rewrote the whole project, bad move. Rewriting the next version from scratch is always a waste of time. You should always be able to use part of the older version. Second, Wizards isn’t a software company. Yes they are becoming more software oriented and have started an online division that is planning on releasing other online games, but writing software is hard, even for the fulltime professionals. Future Sight is a great set of cards, but as a programmer it would make my hair stand on end.

Let me try to illustrate how difficult Magic would be to program. Hypothetical, let us say that Wizards programs the whole comprehensive rules. So all 8,828 current cards can be implemented and that is quite a good achievement. But unfortunately every time a new set of cards is released the rules are “updated,” in other words “patched.” Granted Magic is the biggest, best, and oldest but the rules are constantly in flux. The two biggest challenges for MODO are to be flexible enough for future cards and to be stable with thousands of users.

My two cents is that Wizards will have to use more than one server because online Magic is too big. You could also reduce the network traffic to and from the server by sending the game data directly to your opponent’s computer, bypassing the server. The server only lets you chat and setup a game, all in game information, like your opponent playing a card, is sent directly to your opponent’s computer. The server would ideally be independent from the client, let the client implement all of the rules. For example, the same server would be usable with MODO 2.5 and 3.

2 comments:

Anonymous said...

But the server is there because otherwise there is a possibility for desynch - where both players cannot agree on a consistent game state.
Say in a peer to peer game player one cheats and gives themselves an arbitrarily large amount of life. Player 2 then fireballs for what should've been lethal damage. Player 2 reports to the server that he won, player one reports that they are still playing.

The server needs to be involved in everthing to prevent these things from happening.

Cyrus said...

I completely agree with this post. It's hard to overstate how badly Wizards messed up with MTGO 3. If games like WoW are possible, MTG should be a breeze. Server traffic and database queries should be a breeze, but they somehow made it hard. From what I gather, they're having growing pains trying to develop the programming apparatus to take care of this kind of thing themselves, which is 10x harder when some other company (leaping lizard) did the first version. Your programmers take a look at the code and say, "WTH is going on here?" and basically have to start from scratch.

It would be funny if it weren't such a sad misfortune for Magic fans.