Wednesday, April 2, 2008

Firemox – Human vs Human

In case you didn’t know, you can play Magic against another human player over the Internet using the rules. The program is named Firemox (formerly the Magic-Project). It is Java based and runs on Windows, Mac, Linux, etc… It has thousands of cards and all 5 Planeswalkers. New cards are being added all the time and you can add your own cards by using XML.

6 comments:

Dr. Rodney McKay said...

Firstly I would really like to thank you for your efforts in creating a free game to play Magic with, I know what a colossal undertaking this is and think that you have really achieved a lot so far!

I am also trying to implement a trading card game that will allow free online play, If you are interested check out the beginnings of my Stargate TCG client.

Tim said...

Great game. Lots of fun.

A shame I can't play instants after the computer declares attackers - I wanted to use an ability to create some token creatures to block with but I couldn't.

On the other hand - when I finally did get round to creating lots of token creatures (returning all my land to my hand as part of the cost) the computer "responded" by playing Wrath of God :)

Needless to say, I conceded pretty soon afterwards.

Forge said...

Dr Mckay (If that is your real name, lol) your program looks nice. I have read that most open source program copy the graphic user interface of pre-existing programs. I try to mimic Magic Online, but that is like saying gray is almost black, lol. The key ingredient when programming is to make sure you love the game you are programming, it will make the hours seem to fly by.

Tim,

Yeah there is always more to do. Magic have a ton of phases and I hope to add all of them. I am working on version 2.0. I'm glad the computer intelligently played Wrath and destroyed your tokens and Meloku. Those make for some great game memories. The AI beat me good last night with Torax (Future Sight dragon) and Rorix the Bladewing from Onslaught.

Forge said...

Also Dr Mckay,

You said "To date this project has not generated a huge amount of interest, and I suspect that it is because the Stargate TCG is not as well knows as something like Magic The Gathering"

Starting out the interest in my project was like 2 downloads a day, if that. The key was to go on some forums and promote your program. Some forums don't like blatant advertising, so you can just briefly mention your program or have it part of your sig.

Dr. Rodney McKay said...

Hi Forge, thank you for the moral support and advice, it is much appreciated! Perhaps once I have a fully playable game I will also get that two downloads. he-he

I like the idea in MTG Forge of an AI player, conceptually it seems a little hard though to implement a good AI TCG player?

Forge said...

No problem, sometimes support is hard to find, lol.

"I like the idea in MTG Forge of an AI player, conceptually it seems a little hard though to implement a good AI TCG player?"

Well AI programming can be impossibly hard, so I took the easy route. Each card has a method called canPlayAI() and returns a boolean. If true, the AI plays it. So the AI is only as smart as each bit of canPlayAI() code.

Other parts of the AI were hard like paying mana for cards and deciding which creatures should attack or block.

I also simplified my code by making the resolve of each card the same, it didn't matter if the user or the AI played it. This was an important step, otherwise each card would be twice as long.

I don't have any idea how to make the AI of MTG Forge better. Yeah you can use a lot of fancy algorithms but programming them is a different story. I'm happy with the current behavior of MTG Forge's AI. It punishes mistakes, so it at least keeps me on my toes.

And feel free to e-mail me at
mtgrares yahoo com