Thursday, January 17, 2008

Magma

Magma is an interesting program that also lets you play Magic against the computer with the all of the rules, you can download it here (13 MB). Magma stands for Magic Machine and it shows a lot of effort. On the positive side it has 3,700 cards, a graphical user interface, and it even has lets user add new cards. Each card’s ability is a long string that is stored in the database. Obviously there is a very wide variety of Magic cards, so being able to represent cards as mere strings is pretty impressive.

This is an example of Magma’s string encoding. When Gravedigger comes into play, you may return a target creature from your graveyard to your hand. The string that represents that action is shown below

0000WHOPLY000514000000000064002 GrvHnd 00

WHOPLY is the person “who played” the card, the controller. 514 represents creatures and artifact creatures. (A different number is generated if only creatures are selected.) 64002 represents the graveyard. And “GrvHnd 00” is the action “move card from graveyard to hand.” The Magma card maker tool Made (Magma Database Designer) automatically generates the card’s effect string from the options that you select.

As much as I want to like Magma, it isn’t all that much fun to play. There are numerous phase stops that you have to click through. The user interface is cluttered and hard to understand. A popup box is used to mulligan as well as during combat. I was hoping the AI would be a little smarter but it wasn’t. I attacked with a 1/4 creature and it blocked with a 2/1 even when he was at 20 life. Another time Magma didn’t attack with his flyer when I only had ground creatures. While I wish Magma was more enjoyable, I do acknowledge the many hours of effort and dedication that it represents.

8 comments:

Anonymous said...

Looks nice. I tried to implement Spaceshift with MaDe, but didn't have much luck. How can I choose to sac any number of lands? How can I choose to search that many lands from the library and have them put into play tapped?

Anonymous said...

what's MaDe?

Nanocore said...

And, it only works on Windows, being written in visual basic (and Italian). I corresponded with the original author of Magma several years ago when he first started, and I was getting started with my attempt (Java version so I could run on Linux). His architecture for handling cards and the AI were good. With good being defined by the fact that cards could be added fairly quickly. Unfortunately, he got to a point where it fulfilled his purpose and he moved on opening it up (source) to others. The others are the ones that have put a lot effort into the user interface (for good or bad). There are some good ideas in there that I don't know how well it would translate to Java (ie, given that it is still written in VB and that Italian is used for the comments and variables). But certainly worth a look if source is available.

Rob Cashwalker said...

I'm somewhat impressed with the level of control offered in Magma. There are is almost too much going on on the screen.

Thanks for pointing this out to me, since I was on the road towards something like it, now I know what not to do.

Forge said...

I haven't used Magma or MaDe much. MaDe lets you add your own cards.

The forum where I found some information about Magma was at http://www.mwsdata.com/forum/viewforum.php?f=12&sid=94bc5d5e880ccb0eeb6ece955cfa0c9f

This forum is a little different since it discussions Magic programs other than just Magic Online, Apprentice, and Magic Workstation.

Nanocore said...

Do you have a link for MaDe?

Forge said...

The link for Magma includes Mada.

http://www.lachlanwilkinson.com/Magma/Magma.zip

Anonymous said...

http://www.magmamagicmachine.it/